Mô tả:
1
Chương 1. GIỚI THIỆU
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; 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.
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.2.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ẩm
mắ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ệt
nam đã tung ra thị trường.
2
1.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ều
kiệ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.
3
Chươ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 ảnh
biển số xe vào/ra bãi xe.
2.2. Tách biển số xe:
Sơ đồ thuật toán tách biển số xe
AÛnh RGB
Tìm vuøng maøu
traéng
Bieán ñoåi aûnh RGB J aûnh ñen traéng.
Ñaùnh soá caùc vuøng maøu traéng.
Tìm caùc vuøng coù dieän tích phuø hôïp.
Xaùc ñònh vuøng
chöùa bieån soá
Doø tìm caùc caïnh cuûa bieån soá.
Tính tyû leä cuûa chieàu cao treân chieàu
ngang.
Caét vuøng chöùa
bieån soá
Caét vuøng lôùn hôn bieån soá trong aûnh
RGB.
Bieán ñoåi sang aûnh xaùm (Gray).
Tìm goùc
nghieâng vaø xoay
Caét chính xaùc
bieån soá
Bieán ñoåi aûnh xaùm J ñen traéng.
Duøng bieán ñoåi Randon tìm goùc nghieâng.
Xoay aûnh tuyeán tính.
Phaân tích giaûn ñoà ngang doïc.
Xaùc ñònh toïa ñoä caét ngang, doïc.
Caét chính xaùc bieån soá.
AÛnh RGB
chæ chöùa bieån
Hình 2.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ài
toá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:
4
Ảnh góc
Ảnh trắng đen
Hình 2.3.1: 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.2: Sơ đồ thuật giải tìm và tách vùng màu trắng
5
2.4. Xác định vùng chứa biển số
Ảnh nhận được sau khi nhị phân hóa sẽ có nhiều vùng màu trắng, và biển số sẽ
nằm trong vùng màu trắng thỏa điều kiện theo quan sát bằng mắt thường:
• 0.75 < chiều cao / chiều ngang < 0.91
• 16000 ≤ S_pixel_trắng ≤ 61000
• ≤ S_pixel_trắng / S_biển số ≤ 0.7
Hình 2.4.1. Hình dạng biển số khi bị nghiêng
Hình 2.4.2. Biển số sau khi nhị phân
2.5. Cắt vùng chứa biển số
Hình 2.5.1. 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 ”.
6
Lư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.5.2. Sơ đồ thuật giải của bước xác định vùng chứa biển số và cắt thô
7
2.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ành
miề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(θ , ρ ) =
+∞
∫ A(ρ cosθ − s sin θ , ρ sin θ + s cosθ )ds
−∞
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.6.1.1. 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ọc
theo 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ích
phân đường. Hàm Radon tính toán tích phân đường dọc theo các tia song song theo
cá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.6.1.2. Hình chiếu đơn giản theo góc θ
8
Công thức tổng quát trên có thể viết lại như sau:
∞
Rθ =
∫ f ( x' cos θ − y' sin θ , x' sin θ + y ' cos θ )dy '
−∞
Với
⎡ x'⎤ ⎡ cosθ
⎢ y '⎥ = ⎢− sin θ
⎣ ⎦ ⎣
sin θ ⎤ ⎡ x ⎤
cosθ ⎥⎦ ⎢⎣ y ⎥⎦
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.6.1.3. 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:
9
B3. 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
Ảnh được xoay
thước nhỏ hơn
nằm ngang
5000pixels
Hình 2.6.3.1. Ảnh biển số sau khi xoay về phương ngang.
10
Hình 2.6.3.2. 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.6.4.1. Biển số sau khi cắt hoàn chỉnh
11
Hình 2.6.4.2. Lưu đồ thuật toán cắt chính xác biển số xe
12
2.7. Phân đoạn ký tự
AÛnh RGB
cuûa bieån soá
Nhị phân biển
số xe
Ma traän chöùa
caùc aûnh cuûa
töøng kyù töï
Hình 2.7.1. Sơ đồ khối phân đoạn ký tự
2.7.1. Nhị phân biển số xe:
Hình 2.7.2. Ảnh sau khi được nhị phân.
Chuẩn hóa biển
số xe
Phaân ñoaïn kyù töï
duøng phaân tích
giaûn ñoà
13
Hình 2.7.3. Giải thuật nhị phân biển số
14
2.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ù.
Ảnh nhị phân
Ảnh chuẩn hóa
Hình 2.7.2.1. Ảnh biển số sau khi được chuẩn hóa
Hình 2.7.2.2. 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ủa
nề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ừng
cộ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
15
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ó
nhỏ 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ân
vùng tương ứng với 4 ký tự.
Hình 2.7.3.1. 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ớn
nhất với độ rộng của phân vùng đó.
Hình 2.7.3.2. 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.7.3.3. Hình thể hiện thông số Digit_width
16
Kết quả phân vùng các ký tự
Hình 2.7.3.4. 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ự:
Begin
Ma trận ảnh BSX
Chia đôi BSX
Ma trận ảnh
Hàng 1
Hàng 2
Phân vùng ký tự
Ký tự
1
Ký tự
2
……
Ký tự
7
Số vùng < 8
Tính số phân vùng
Tính số phân vùng
Số vùng > 8
Chọn 8 phân vùng có
diện tích lớn nhất
Kết quả
End
Hình 2.7.3.5. thuật giải phân vùng từng ký tự
Ký tự
8
17
2.8. Tìm vị trí cực tiểu
Chươ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ều
vùng nhõ hơn.
Hình 2.8.1. tìm vị trí cực tiểu
18
2.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 1
hà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ăng
giố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ự:
Begin
Num1=[ ]
Num2=[ ]
Input=[ ]
i=1
Input = ma trận thứ i
Nhận dạng ký tự thứ i
Noron network
Kết quả gán vào Num1,
N 2
i=i+1
i>8
End
Hình 2.9.1. thuật giải nhận dạng ký tự
19
2.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
Hình 2.10.1. Mạch điều khiển động cơ đóng mở barie dùng chuẩn giao tiếp
RS232
20
Chươ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
- Xem thêm -