Phần mở đầu Giới thiệu sơ lược về lý do chọn đề tài, lịch sử nghiên cứu, mục tiêu nghiên cứu, đối tượng và phạm vi nghiên cứu, phương pháp nghiên cứu từ đó đem lại cho mọi người một cái nhìn tổng quan nhất về đề tài. Phần nội dung Chƣơng 1: Phương pháp nhân dạng biển số xe Trình bày nội dung về trình tự các bước trong quá trình nhận dạng biển số. Đưa ra một số phương pháp rồi so sánh lựa chọn phương pháp tối ưu. Chƣơng 2: Công nghệ RFID Tìm hiểu phương pháp đọc và lưu trữ dữ liệu trên thẻ từ, thẻ RFID Chƣơng 3: Chương trình giữ xe tự động Giới thiệu phần mềm nhận dạng biển số xe SimpleLPR.
Giới thiệu về chương trình và kết quả đạt được sau khoảng thời gian nghiên cứu. Phần kết luận 5 CHƢƠNG 1: PHƢƠNG PHÁP NHẬN DẠNG BIỂN SỐ XE 1.1 Khái quát phƣơng pháp nhận dạng biển số xe Từ ảnh đầu vào (ảnh RGB) ta lọc ra vùng có chứa biển số xe, sau đó trích xuất những ký tự có trên biển số và lần lượt so sánh những ký tự vừa trích xuất với tập tin mẫu trong cơ sở dữ liệu để nhận dạng biển số. Chi tiết các bước của phương pháp nhận dạng được trình bày như sau: Ảnh đầu vào Chia biển số (RGB) thành 2 hàng Chuyển sang mô hình màu Tách riêng HSI từng ký tự trên mỗi hàng Xác định vùng chứa biển số xe Tính bảy mômen bất biến Tính góc nghiêng biển số Nhận dạng ký tự theo phân lớp Bayes Quay biển số Nhị phân biển số theo ngưỡng Sơ đồ 1. Trình tự các bước trong phương pháp nhận dạng biển số xe 6 1.2 Xác định vùng chứa biển số xe 1.1 Phân vùng màu Bằng mắt thường ta dễ dàng nhận biết vùng chứa biển số xe vì nó có sự khác biệt về màu sắc với vùng khác trong toàn bộ ảnh.
Từ đó, ta sử dụng mô hình màu HSI để phân vùng màu tại vùng chứa biển số với vùng khác trong ảnh hay nói cách khác thì mô hình màu HSI đổi tất cả vùng có giá trị tương tự với giá trị vùng chứa biển số thành 1 (màu trắng) và vùng còn lại thành 0 (màu đen). Những thông số của mô hình màu được sử dụng để phát hiện vùng ứng viên và những đặc tính hình học của biển số xe để giảm số lượng vùng ứng viên có khả năng chứa biển số xe đều dựa trên những khảo sát thực tế. Trước đây để phát hiện vùng ứng viên chứa biển số xe, ta thường đặt ra những giá trị mặc định để phân vùng, công thức cơ bản R(x, y) >R; G(x, y) >G; B(x, y) >B R(x, y) - G(x, y) >RG; R(x, y) - B(x, y) >RB (1.1) Trong đó R, G, B : Red, Green, Blue. , : là một số cho trước.
Tuy nhiên, phương pháp trên chỉ tốt khi ảnh đầu vào được chụp trong điều kiện ánh sáng tốt, nếu ảnh được chụp trong thời tiết xấu, ánh sáng không đồng đều thì tỉ lệ chính xác rất thấp. Trong phần này, đề tài đưa ra hai thông số là giá trị trung bình (mean) và độ lệch chuẩn (standard deviation) để phát hiện vùng ứng viên chứa biển số xe. Điều thuận lợi là phương pháp này không phụ thuộc hoàn toàn vào điều kiện thời gian (sáng, trưa, chiều, tối) và môi trường xung quanh. Công thức tổng quát [3] 1, S ( x, y ) ( S S ) & I ( x, y ) I 1.2) 0, otherwise Trong đó: S(x, y) : độ bão hòa (Saturation) tại điểm x, y.
S, I : giá trị trung bình của S và I. S, I: độ lệch chuẩn của S và I. Ảnh chuyển từ RGB sang HIS 1.2 Gán nhãn và lọc vùng ứng viên Sau khi phân vùng màu, ảnh xuất hiện rất nhiều đốm trắng và những vùng trắng nhỏ không có khả năng chứa biển số xe, điều này làm cho bức ảnh bị nhiễu và tăng thời gian tính toán của chương trình. Ở bước này, ta sẽ giảm nhiễu, lọc những vùng ứng viên không chứa biển số và loại chúng ra.
Để giảm nhiễu ảnh, chúng ta sử dụng một phép toán hình thái học là phép mở (Opening). Phép mở sử dụng để làm mịn đường viền của đối tượng, cắt những đường biên hẹp, loại bỏ những điểm lồi lõm. Phép mở sử dụng mặt nạ B (B là ma trận vuông m x m) để xác định kích thước tối đa vùng sẽ bị lọc. Do đó m càng lớn thì vùng bị lọc càng lớn, điều này có thể ảnh hưởng đến kích thước của những vùng còn lại do mặt nạ B quét trên toàn bộ ảnh.
Ở đây, ta cài đặt ma trận mặt nạ B có kích thước 3x3 làm mặt nạ chuẩn trong phép mở. Ảnh sau khi lọc nhiễu 1.1 Gán nhãn vùng ứng viên Ảnh nhận được ở bước trên chỉ còn lại một vài vùng ứng viên có khả năng chứa biển số, ta sử dụng thuật toán gãn nhãn thành phần liên thông để tính những thông số cần thiết cho việc xác định vùng chứa biển số. Một trong những thuật toán phù hợp với ma trận ảnh có kích thước lớn là thuật toán tô màu theo đường biên không đệ qui. Ý tưởng thuật toán như sau: Cho trước điểm s nằm bên trong đường cong bất kỳ khép kín.
Loang sang phải và lưu hoành độ bên nhất vào stack. Lặp cho đến khi stack rỗng o Lấy trong stack ra o Tô sang trái và gọi hoành độ bên trái là xmin o Đi lên và loang sang phải, sang trái để tìm các hoành độ bên phải và lưu vào stack o Đi xuống và loang sang phải, sang trái để tìm các hoành độ bên phải và lưu vào stack o Quay về đầu vòng lặp. 9 Bắt đầu f(x,y) = = 255 Stack = LoangPhai(f,x,y,BC) S IsEmpty (Stack)==0 p = Pop(Stack) Đ Xmin = ToTrai (f,p.y,FC,BC) TimCacXBenPhaiNhat( stack,f,p.y-1,xmin,FC,BC) TimCacXBenPhaiNhat( stack,f,p.y+1,xmin,FC,BC) Kết thúc Sơ đồ 1. Thuật toán tô màu theo đường biên không đệ qui Hình 1.
Ảnh sau khi tô màu theo đường biên không đệ qui 10 1.2 Lọc vùng ứng viên Trong bước này, ta dựa vào những đặc tính hình học quan trọng của một biển số xe khi quan sát bằng mắt thường và tính toán, ta có được bốn giá trị cần thiết từ mỗi thành phần liên thông được gán nhãn gồm cmax, cmin, rmax,. Rmax Cmin Cmax Rmin Hình 1. Bốn giá trị vùng ứng viên Sau đó xác định vùng ứng viên chứa biển số xe dựa trên hai thông số diện tích vùng ứng viên và tỉ lệ cạnh. Diện tích là số lượng điểm ảnh của vùng ứng viên.3-1) Tỉ lệ cạnh là tỉ lệ giữa chiều dài với chiều rộng hình chữ nhật ngoại tiếp vùng ứng viên.
cmax cmin 1 PA (1.3-2) rmax rmin 1 Trong đó: S : diện tích PA : tỉ lệ cạnh cmax : tọa độ điểm lớn nhất theo trục X cmin : tọa độ điểm nhỏ nhất theo trục X rmax : tọa độ điểm lớn nhất theo trục Y rmin : tọa độ điểm nhỏ nhất theo trục Y Quy định đối với kích thước biển số xe gắn máy ở Việt Nam có chiều cao 140mm, chiều dài 190mm. Do đó ta có tỉ lệ PA đối với kích thước thât của biển số là 1. Giới 11 hạn của đề tài là hình chụp từ ảnh đến biển số có khoảng cách từ 0.5m nên PA có tỉ lệ 0. Bắt đầu S i < M && f(x,y) == i = i +1; j<N 255 j = j + 1; S Đ Đ ToMauKhongDeQui(f,x,y); Rectangle(f,x,y,BC,cmax,cmin, rmax,rmin); Pa=(cmax.y) IsCandid S ate()==1 Đ Kết thúc Sơ đồ 1.
Lọc vùng ứng viên Hình 1. Ảnh vùng chứa biển số xe sau khi lọc.1 Sơ lƣợc về thuật toán quay ảnh Từ vùng chứa biển số thu được từ bước trên ta chuyển ảnh thành ảnh nhị phân, tiếp theo ta tách biên ảnh để xác định góc lệch của biển số. Sau khi có góc quay ta quay ảnh theo góc tìm được rồi làm mịn để có ảnh chất lượng tốt. Chi tiết các bước để quay ảnh được trình bày như sau Hình 1.
Các bước quay ảnh 1.2 Tách biên ảnh Tách biên là một trong những bước quan trọng của quá trình quay ảnh. Theo định nghĩa, biên là phần ranh giới nằm giữa hai vùng ảnh có sự khác biệt về mức xám. Biên cũng được định nghĩa là các điểm mà tại đó có sự thay đổi đột ngột về giá trị. Dò biên (Edge Detector) là tập hợp các phương pháp xử lý dùng để xác định các biến đổi về góc cạnh trong ảnh nhằm đưa ra biên của vật thể.
Có nhiều phương pháp tách biên nhưng ở đây ta chỉ xem xét đến phương pháp bào mòn ảnh. 13 Ở đây ta có A là ảnh nhị phân của vùng chứa biển số, ta cài đặt B là ma trận mặt nạ có kích thước 3x3 1 1 1 B 1 1 1 1 1 1 Hình 1. Ảnh sau khi tách biên 1.3 Phép biến đổi Hough Ảnh sau khi tách biên chỉ còn những đoạn thẳng có giá trị 1 (màu trắng) với độ rộng một pixel. Mục đích của ta là tìm ra phương trình đường thẳng đi qua nhiều điểm nhất trên ảnh này.
Dễ nhận ra đường thẳng có nhiều điểm đi qua nhất chính là cạnh ngang của biển số. Và góc mà cạnh ngang tạo ra với trục hoành chính là góc lệch ta cần tìm. Phương trình đường thẳng ảnh sau khi tách biên 14 1.4 Quay ảnh Ý tưởng quay ảnh là từng điểm ảnh sẽ lần lượt quay theo góc lệch tính được theo phép biến đổi Hough. Theo đặt Source là điểm gốc và Dest là điểm sau khi xoay một góc độ.
Do đó, việc chúng ta cần làm ở đây là được tọa độ của Dest. Do lấy điểm (0, 0) là trục quay nên 1 số trường hợp ảnh bị mất. Ta tịnh tiến ảnh 1 khoảng (2M*sin(),2N*sin()). Với M là chiều rộng, N là chiều dài.
Sau khi khảo sát thực tế và thử nghiệm trên 50 hình biển số xe bị nghiêng, chúng ta chia ra hai trường hợp đối với biển số bị nghiêng. a) Trƣờng hợp biển số nghiêng về phía bên trái Hình 1. Biển số bị nghiêng bên trái Ta thấy > 0 nên ảnh xoay theo chiều kim đồng hồ, giá trị góc lệch cần tìm là: = θm - 90o. Mô tả những thông số quay ảnh bị nghiêng bên trái 15 DW = R*cos(a3) = R*cos(a1 + a2) = R*(cos(a1)*cos(a2) - sin(a1)*sin(a2)) DH = R*sin(a3) = R*sin (a1 + a2) = R*(sin(a1)*cos(a2) + cos(a1)*sin(a2)) => DW = cos(a1)*SW - sin(a1)*SH (1.4-1) DH = sin(a1)*SW + cos(a1)*SH (1.
Ảnh bị nghiêng bên trái sau khi quay b) Trƣờng hợp biển số nghiêng về phía bên phải Hình 1.