Tải bản đầy đủ (.doc) (22 trang)

XÂY DỰNG MÔ HÌNH HỆ THỐNG GIỮ XE TỰ ĐỘNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.17 MB, 22 trang )

Chươ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; 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.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.

Trang 1


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.

Trang 2


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 tốn tách biển số xe
Ảnh
RGB
Tìm vùng
màu trắng

Xác đònh
vùng chứa
biển số

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ù
Dò tìm các cạnh của biển số.
hợp.
Tính tỷ lệ của chiều cao trên
chiều ngang.
Chọn vùng có tỷ lệ phù hợp.

Cắt vùng
chứa biển
số

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.

Tìm góc
nghiêng và
xoay

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.

Cắt chính
xác biển
số

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ố.

Ảnh RGB
chỉ
chứa biển
số

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ài
tố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:


Trang 3


Ả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 4


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: 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 5


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.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 6


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.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ọ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.9: Hình chiếu đơn giản theo góc θ
Trang 7


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.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 8


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.11: Ảnh biển số sau khi xoay về phương ngang.

Trang 9


Hì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 10


Hình 2.14. lưu đồ thuật toán cắt chính xác biển số xe

Trang 11


2.7. Phân đoạn ký tự
Ảnh RGB
của
biển số

Nhị phân biển
số xe

Ma trận
chứa
các ảnh
của
từng ký tự
Hình 2.15: Sơ đồ khối phân đoạn ký tự
2.7.1. Nhị phân biển số xe:


Hình 2.16: Ảnh sau khi được nhị phân.

Trang 12

Chuẩn hóa biển
số xe

Phân đoạn
ký tự dùng
phân tích
giản đồ


Hình 2.17: Giải thuật nhị phân biển số

Trang 13


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.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ủ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
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 14


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.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ớn
nhấ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 15


Hì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ự:
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.22: thuật giải phân vùng từng ký tự

2.8. Tìm vị trí cực tiểu

Trang 16

Ký tự
8


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.23: tìm vị trí cực tiểu

Trang 17


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, Num2

i=i+1

i>8

End

Hình 2.24: thuật giải nhận dạng ký tự

Trang 18


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

Trang 19


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

Trang 20


Kết quả đạt được với ảnh lấy trực tiếp từ camera

Trang 21


3.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.

Trang 22



×