XÂY DỰNG MÔ HÌNH HỆ THỐNG GIỮ XE TỰ ĐỘNG Các bãi giữ xe hiện nay còn có vấn đề bất cập như: Tốn nhiều nhân công; An toàn chưa cao, vẫn còn xảy ra hiện tượng mất xe; Vé xe bằng giấy, dễ bị mất hay nhàu nát. Do đó cần có một hệ thống bãi giữ xe tự động. Đề tài này xây dựng một mô hình bãi giữ xe tự động.
Trang 1Chương 1 TỔNG QUAN
1.1 Lý do chọn đề tài:
Các bãi giữ xe hiện nay còn có vấn đề bất cập như: Tốn nhiều nhân công; Antoàn chưa cao, vẫn còn xảy ra hiện tượng mất xe; Vé xe bằng giấy, dễ bị mất hay nhàunát Do đó cần có một hệ thống bãi giữ xe tự động Đề tài này xây dựng một mô hìnhbãi giữ xe tự động
1.2 Mục tiêu
Xây dựng mô hình hệ thống giữ xe tự động như Hình 1.1
Dựa trên mô hình này, chúng ta tiếp tục đầu tư kinh phí để nâng cấp thành Hệthống bãi giữ xe tự động ứng dụng cho bãi giữ xe trường Đại học Lạc hồng, Đồng nai
Hình 1.1: Mô hình hệ thống giữ xe tự động 1.3 Tình hình trong và ngoài nước
Hệ thống bãi giữ xe tự động được quan tâm nghiên cứu nhiều, cụ thể sản phẩmmắt thần 2.0 của Phòng thí nghiệm, Học viện Kỹ thuật Quân sự, Bộ quốc phòng, Việtnam đã tung ra thị trường
Trang 21.4 Giới hạn đề tài:
Đề tài này chỉ thực hiện một mô Mô hình Hệ thống giữ xe tự động, với điềukiện ảnh biển số xe không quá mờ, ánh sáng không quá chói, những thông số này sẽảnh hưởng đến độ tin cậy của hệ thống
Trang 3Chương 2 NỘI DUNG THỰC HIỆN
2.1 Thu nhận ảnh bằng camera
Dùng một camera quan sát cĩ độ phân giải lớn hơn 2Mpixels để thu nhận ảnhbiển số xe vào/ra bãi xe
2.2 Tách biển số xe:
Sơ đồ thuật tốn tách biển số xe
Hình 2.1: Sơ đồ chi tiết của khối tách biển số 2.3 Nhị phân hĩa biển số xe và xác định vùng màu trắng:
Việc xử lý hình ảnh BSX thu nhận được với ảnh đen trắng sẽ làm đơn giản bàitốn nhận dạng hơn so với xử lý ảnh màu Ví dụ cho hai ảnh gốc cĩ biển số như sau:
Xác định vùng
chứa biển số
Cắt vùng chứa
Cắt chính xác biển số Ảnh RGB
Ảnh RGB
chỉ chứa biển
số
Dò tìm các cạnh của biển số
Tính tỷ lệ của chiều cao trên chiều ngang.Chọn vùng có tỷ lệ phù hợp
Biến đổi ảnh RGB ảnh đen trắng
Đánh số các vùng màu trắng
Tìm các vùng có diện tích phù hợp
Cắt vùng lớn hơn biển số trong ảnh RGB.Biến đổi sang ảnh xám (Gray)
Xử lý tăng độ tương phản
Biến đổi ảnh xám đen trắng
Dùng biến đổi Randon tìm góc nghiêng
Xoay ảnh tuyến tính
Phân tích giản đồ ngang dọc
Xác định tọa độ cắt ngang, dọc
Cắt chính xác biển số
Trang 4Ảnh góc Ảnh trắng đen
Hình 2.2: Chuyển ảnh GRB sang ảnh BW
Sơ đồ thuật giải của bước tìm và tách vùng màu trắng:
Hình 2.3: Sơ đồ thuật giải tìm và tách vùng màu trắng
Trang 5Hình 2.4: Hình dạng biển số khi bị nghiêng
Hình 2.5: Biển số sau khi nhị phân 2.5 Cắt vùng chứa biển số
Hình 2.6: Hình thể hiện vùng ảnh cần tách ra với biên an toàn
Trong chương trình, người thực hiện chọn vùng biên an toàn là 30 pixel
Ở đây, chúng ta có thể thấy các điều kiện trên chưa chặt chẽ, vì vậy ta lưu tất
cả các thông số “ x, y, W, H ” của vùng chứa biển số vào biến “ r ”
Trang 6Lưu đồ thuật giải của bước xác định vùng chứa biển số và cắt thô:
Hình 2.7: Sơ đồ thuật giải của bước xác định vùng chứa biển số và cắt thô
Trang 72.6 Tìm góc nghiêng và xoay ảnh
2.6.1 Dùng phép biến đổi Radon:
Dùng để biến đổi các ảnh trong không gian 2 chiều với các đường thẳng thànhmiền Radon, trong đó mỗi đường thẳng trong ảnh sẽ cho 1 điểm trong miền Radon
Công thức toán học của biến đổi Radon:
R , cos sin , sin cos
Phương trình trên biểu diễn việc lấy tích phân dọc theo đường thẳng s trên ảnh,
trong đó ρ là khoảng cách của đường thẳng so với gốc tọa đô O, và θ là góc lệch so với
phương ngang
Hình 2.8: Phương pháp biến đổi Radon
Trong xử lý ảnh số, biến đổi Radon tính toán hình chiếu của ma trận ảnh dọctheo 1 hướng xác định Hình chiếu của 1 hàm số 2 chiều là f(x,y) la tập hợp các tíchphân đường Hàm Radon tính toán tích phân đường dọc theo các tia song song theocác p hương khác nhau ( bằng cách xoay hệ trục tọa độ xung quanh O theo các giá trị
θ khác nhau ), chiều rộng của các tia là 1 pixel Hình dưới đây biểu diễn 1 hình chiếu
đơn giản theo 1 giá trị của góc θ
Hình 2.9: Hình chiếu đơn giản theo góc θ
Công thức tổng quát trên có thể viết lại như sau:
Trang 8sin cos
'
'
Hình sau sẽ biễu diễn phương pháp biến đổi Radon dưới dạng hình học:
Hình 2.10: Phương pháp biến đổi Radon dưới dạng hình học 2.6.2 Các bước thực hiện biến đổi radon:
B1 Biến đổi ảnh về ảnh nhị phân
B2 Thực hiện biến đổi Radon trên ảnh biên với θ = 0:179
Giá R của biến đổi Radon được biểu diễn như sau:
Trang 9B3 Tìm giá trị lớn nhất của R trong biến đổi Radon.
Vị trí các giá trị lớn nhất này tương ứng với các giá trị của đường thẳng trongảnh ban đầu
2.6.3 Tìm góc nghiêng và xoay ảnh
Ảnh góc Ảnh trắng đen Ảnh có kích
thước nhỏ hơn5000pixels
Ảnh được xoaynằm ngang
Hình 2.11: Ảnh biển số sau khi xoay về phương ngang.
Trang 10Hình 2.12: Thuật giải tìm góc nghiêng biển số 2.6.4 Cắt biển số chính xác
1600 < diện tích vùng trắng < 6100
0.73 < width/height < 0.77
0.6 < số pixel trắng / số pixel đen < 0.7
Hình 2.13: biển số sau khi cắt hoàn chỉnh
Trang 11Hình 2.14 lưu đồ thuật toán cắt chính xác biển số xe
Trang 12Chuẩn hĩa biển
số xe
Phân đoạn ký tự dùng phân tích giản đồ
Phân đoạn ký tự dùng phân tích giản đồ
Ma trận chứa các ảnh của từng ký tự
Nhị phân biển
số xe
Nhị phân biển
số xe
Trang 13Hình 2.17: Giải thuật nhị phân biển số
Trang 142.7.2 Chuẩn hóa biển số
Biển số được chuẩn hóa về kích thước [50 150], sau đó được lấy bù
Hình 2.16: Ảnh biển số sau khi được chuẩn hóa
Hình 2.17: thuật giải chuẩn hóa biển số 2.7.3 Phân đoạn ký tự
Ma trận binary của biển số chính là ngõ vào của chương trình phân vùng ký tự.Trước khi phân vùng ký tự, ta chia ma trận ảnh biển số thành từng hàng và lần lượtđưa từng hàng vào chương trình phân vùng
Để phân chia thành nhiều ma trận ký tự từ ma trận biển số, ta dựa vào tổng sốpixel mức 1 ( mức 1 là màu trắng- màu của ký tự, mức 0 là màu đen – màu củanền).Với ma trận của hàng 2 sau khi đã chia đôi, giữa 2 ký tự có rất ít pixel có mức 1( trong trường hợp lý tưởng, thì sẽ là 0 ) Như vậy khi cộng giá trị các pixel theo từngcột, như hình sau, ta thấy gía trị tại các vùng giữa 2 ký tự rất thấp ( đây cũng là tổng
số pixel mức 1) Từ đó, giải thuật phân vùng sẽ những vùng này dựa vào giá trị của nó
Trang 15nhỏ hơn những vùng lân cận và sẽ phân chia thành từng vùng Ở đây, ta sẽ tìm 4 phânvùng tương ứng với 4 ký tự.
Hình 2.18: Tổng số các bít theo 1 hàng của biển số
Chương trình có lựa chọn 2 thông số: Min_area và digit_width
Min_area là diện tích cho phép nhỏ nhất của 1 ký tự, là tích của giá trị cột lớnnhất với độ rộng của phân vùng đó
Hình 2.19: Hình thể hiện thông số Min_area
Digit_width là độ rộng tối đa cho phép của 1 phân vùng ký tự
Hình 2.20: Hình thể hiện thông số Digit_width
Kết quả phân vùng các ký tự
Trang 16Hình 2.21: các ký tự được cắt khỏi biển số Lưu đồ thuật toán phân vùng từng ký tự:
Hình 2.22: thuật giải phân vùng từng ký tự
2.8 Tìm vị trí cực tiểu
Begin
Ma trận ảnh BSXChia đôi BSX
Ma trận ảnh Hàng 1Hàng 2Phân vùng ký tự
Ký tự 1
Ký tự2
Ký tự7
Ký tự8
End
……
Tính số phân vùng
Chọn 8 phân vùng có diện tích lớn nhất
Kết quả
Tính số phân vùng
Số vùng < 8
Số vùng > 8
Trang 17Chương trình quét toàn bộ ma trận ảnh đầu vào, tìm vị trí “ khả nghi ”, xóa các
vị trí mà khoảng cách với vị trí kế tiếp khá lớn ( lớn hơn khoảng cách cho phép ) thì sẽthực hiện lại chương trình này trong khoảng 2 vị trí đó để tiếp tục phân thành nhiềuvùng nhõ hơn
Hình 2.23: tìm vị trí cực tiểu
Trang 182.9 Nhận dạng ký tự
Sau khi thực hiện phân vùng ta sẽ được 8 ma trận tương ứng với 8 ký tự trên 1hàng biển số Lần lượt từng ma trận ký tự sẽ được đưa vào chương trình nhận dạng.Kết quả cuối cùng sẽ là 8 ký tự số và chương trình sẽ hiển thị ký tự này
Thực chất, quá trình nhân dạng là quá trình đổi ma trận điểm ảnh của các ký tựthành mã ASCII tương ứng với ký tự đó Để làm được điều này người ta đem so sánh
ma trận của ký tự với tất cả các ma trận trong tập mẫu, ma trận mẫu nào có khả nănggiống nhiều nhất thì có chính là ký tự cẩn tìm
Lưu đồ thuật toán nhận dạng ký tự:
i = 1
Input = ma trận thứ i
Nhận dạng ký tự thứ iNoron network
Kết quả gán vào Num1, Num2
i > 8
Trang 192.10 Mạch điều khiển động cơ
Mạch điều khiển động cơ đóng mở barie dùng chuẩn giao tiếp RS232
Trang 20Chương 3 KẾT QUẢ ĐẠT ĐƯỢC VÀ KẾT LUẬN
3.1 Kết quả đạt được
Mô hình hệ thống bãi giữ xe thông minh bao gồm: Phần cứng là 2 Webcam,board giao tiếp máy tính dùng điều khiển động cơ DC; Phần mềm được thiết kếtrên Malab 2008a
Giao diện chính
Kết quả đạt được với ảnh load từ cơ sở dữ liệu ảnh
Trang 21Kết quả đạt được với ảnh lấy trực tiếp từ camera
Trang 223.2 Kết luận
Kết quả cho thấy, với ảnh tĩnh, người thực hiện đã xử lý nhận dạng đúng ký tự
“số”, việc nhận dạng ký tự “chữ” còn sai sót, sẽ hoàn thiện việc nhận dạng ký tự
“chữ”, và đọc mã vạch (hoặc ứng dụng công nghệ RFID) và hoàn thiện mô hình hệthống giữ xe tự động lần sau