3. Ngày giao nhiệm vụ luận văn:
5.4 Thi công hệ thống quản lí bãi xe
5.4.1 Sơ đồ khối dạng biển số
Hình 55 Lưu đồ nhận dạng biển số. (1) Thu nhận ảnh (2) Trích ảnh chứa (3) Tách ký tự (4) Nhận dạng (5) Xử lý kết Chụp ảnh xe Kết thúc
5.4.1.1 Thu nhận ảnh
Thiết bị chụp ảnh được điều khiển bởi chương trình thực hiện tại máy tính.
Ảnh chụp nhận được là ảnh chụp phía sau xe, có độ phân giải là 640x480 (theo cấu hình thiết bị camera) chứa một phần xe và ảnh biển số.
Ảnh biển số: trong phạm vi của đề tài này sẽ xử lý các dạng biển số lưu thông do cơ quan cảnh sát giao thông qui định.
Dạng biển số Hình chữ nhật bao gồm 2 d ng chữ
Ký tự trên biển số Gồm có 10 ký tự số in: 0,… và 21 ký tự chữ in hoa gồm {A …Z} \ {I, J, O, Q, W}
Miền kích thước của biển số. Cao = 40 Rộng = 50
Màu ảnh nền và màu chữ ảnh có nền sáng chữ tối Vị trí tương đối của biển số trong
ảnh
Thường nằm khoảng giữa ảnh.
Chiều rộng, cao của một ký tự trên biển số.
Rộng = 7 Cao = 10
Bảng 7 Bảng mô tả thông tin ảnh biển số xe mô tô
Các điều kiện trình bày ở trên sẽ được tham số hóa trong hệ thống nhận dạng của đề tài và mang tính chất tăng cường ràng buộc ảnh đầu vào.
5.4.1.2 Trích biển số, xử lý ảnh biển số và tách ký tự chữ số xe mô tô
Thuật toán trích biển số dùng phương pháp phân tích phổ tần số (Fast Fourier Transform): Kỹ thuật phân tích phổ Fourier được sử dụng rộng rãi trong lĩnh vực xử lý ảnh, và thường được áp dụng để tăng cường chất lượng ảnh (ví dụ như làm trơn và làm sắc nét cho ảnh). Các ảnh có thể xem như là các hàm rời rạc của thời gian, mà phép biến đổi Fourier một chiều hay hai chiều có thể áp dụng được. Đối với xử lý ảnh số, luôn luôn tồn tại phép biến đổi Fourier và biến đổi ngược của nó. Phép biến đổi Fourier F(u), thu được t hàm ngõ vào f(x), với x là biến không gian số rời rạc và u là biến tần số rời rạc trong miền tần số. Phép biến đổi Fourier rời rạc một chiều được trình bày trong biểu thức (2.1) và phép biến đổi Fourier rời rạc 2 chiều được cho trong biểu thức (2.2).
1 0 2 ) ( 1 ) ( M x M ux j e x f M u F với u=0,1,…,M-1 (2.1)
1 0 1 0 2 ) , ( 1 ) ( M x N y N vy M ux j e y x f MN u F với u=0,1,…,M-1 (2.2) và v=0,1,…,N-1
Do biến đổi Fourier phức tạp, cho nên sẽ thuận tiện hơn nếu ta dùng phổ biên độ của nó, còn được gọi là phổ Fourier, cho bởi biểu thức 2.3. Dạng phổ thường được dùng là phổ năng lượng hay phổ mật độ, bằng bình phương của phổ Fourier, cho bởi biểu thức 2.4
2 1 2 2 ) ( ) ( | ) ( |F u R u I u (2.3) ) ( ) ( | ) ( | ) (u F u 2 R2 u I2 u P (2.4)
Chúng ta cũng cần chú ý đến mối liên hệ giữa miền không gian và miền tần số:
x M u 1 (2.5) y N v 1 (2.6)
Do các mối liên hệ này mà các mẫu có sự thay đổi cường độ (tỉ lệ thay đổi mức xám) trong ảnh có thể liên quan tới các tần số trong phép biến đổi Fourier, bởi vì tần số liên hệ trực tiếp đến tỉ lệ thay đổi.
Do đặc điểm biển số xe mô tô ở Việt Nam hầu hết là nền màu trắng, chữ màu đen, nên quá trình trích biển số trong ảnh có nền phức tạp trở nên dễ dàng hơn. Muốn trích được biển số xe trong ảnh, chúng ta phải làm thế nào đó lấy được tọa độ (trên, dưới, trái, phải ) tương ứng (top, bottom, left, right) của biển số
Để cực đại hóa xác suất tìm các hàng đi qua trong ảnh đi qua biển số xe, chúng ta tính trung bình biểu đồ cho các tần số trong khoảng [u1, u2] mà chúng ta dự đoán các ký tự trong biển số xe chiếm ưu thế. Sau khi phân tích biểu đồ ta lấy được vị trí đỉnh (top) và đáy (bottom) của biển số. T giá trị của top và bottom, ta có thể tách được dòng chứa biển số như hình 56
Input= ảnh thu được t camera.
Output= ảnh biển số trích được.
Với h: ngưỡng cao w: ngưỡng rộng.
Hình 56 Lưu đồ tách biển số t ảnh
Ảnh t nhập t Camera
Biến đổi Fourier phương ngang
Biến đổi Fourier phương dọc
So sánh ngưỡng w lấy Top và Bottom
So sánh ngưỡng h lấy Left và Right
Xén ảnh tại Left và Right Xén ảnh tại Top và
Bottom
Hình 57 Phân tích phổ ngang cho ảnh chứa biển số.
Hình 58 Tách dòng chứa biển số.
Khi dãy ngang có chứa biển số xe đã được tách ra, ta cần tìm các giới hạn dọc cho biển số. Để thực hiện việc này, biểu đồ cho mỗi hàng được tính và tất cả tần số được tính trung bình trên mỗi cột. Cách thực hiện cũng giống như cách làm với các hàng và thu được các giá trị cạnh trái (left), cạnh phải (right). Sau đó tiến hành cắt biển số theo giá trị (top, bottom, left, right) v a nhận được như hình 59.
Hình 59 Phân tích phổ ngang cho ảnh chứa biển số.
Hình 60 Tách biển số
Tổng kết thuật toán trích biển số:
Theo thuật toán này thì kết quả nhận được là một biển số, tốn nhiều thời gian xử lý. Nếu ảnh đầu vào thỏa điều kiện như đã nêu trong phần chụp ảnh, thì thời gian xử lý sẽ nhanh do kích thước ảnh nhỏ.
Tiền xử lý:
Sau khi nhận được ảnh biển số, thì công việc xử lý ảnh trên biển số cũng không kém phần quan trọng, vì không phải tất cả các biển số đều rõ ràng mà nó còn tùy thuộc vào thời gian tồn tại của biển số, do ảnh hưởng của điều kiện chụp ảnh (sáng, tối,…), ảnh hưởng do đinh ốc,…
Hình 62 Ảnh bảng số
Chuyển ảnh sang ảnh Gray Level:
Hình 63 Ảnh bảng số (Gray level)
Xử lý ảnh bằng giải thuật K-means:
Đảo ngược màu (Invert ): Hình 65 Ảnh bảng số (Invert) Lọc Median: Hình 66 Ảnh bảng số (Median) Bộ lọc BlobsFiltering: Hình 67 Ảnh bảng số (BlobsFiltering)
Thuật toán tách ký tự:
Input: ảnh biển số đã qua tiền xử lý.
Output: mảng ảnh các ký tự.
Với h: ngưỡng cao w: ngưỡng rộng.
Hình 68 Lưu đồ tách kí tự t biển số
Sau bước tiền xử lý ảnh, ta tiến hành tách t ng ký tự đơn trong biển số.
Phân tích Histogram theo chiều ngang H(r): ta đánh dấu được 2 vị trí tách dòng trên bảng số. Do mỗi dòng trên biển số có một độ cao nhất định đó là độ cao của ký tự trên bảng số, nên ta chọn ngưỡng để tách d ng là độ cao tối thiểu của 1 ký tự trên biển số.
Ảnh t nhập t Camera Histogram theo phương ngang Histogram theo phương dọc So sánh ngưỡng w và đánh dấu vị trí So sánh ngưỡng h và đánh dấu vị trí Giao giữa các vị ngang và dọc Trích mảng ảnh các kítự
Hình 69 Lược đồ chiếu ngang để tách dòng
Phân tích Histogram theo chiều dọc V(c): ta sẽ đánh dấu được vị trí tách t ng ký tự trên bảng số, mỗi ký tự có một độ rộng nhất định và ta lấy ngưỡng là độ rộng của số 1 (số 1 có độ rộng nhỏ nhất).
Hình 70 Lược đồ chiếu dọc để tách ký tự.
Hình 72 Một số hình ảnh tách ký tự.
Tách được t ng ký tự ra khỏi bảng số ta bắt đầu chuẩn hóa các ký tự về cùng một kích thước. Trong luận văn này ta chọn kích thước chuẩn là 20 x 10. Ảnh ký tự là ảnh nhị phân với pixel trắng có giá trị tương ứng là 1, pixel đen có giá trị tương ứng là 0. Đây là dữ liệu để đưa vào mạng Neural huấn luyện.
(a) ký tự được tách ra (b) ký tự được chuẩn hóa. Hình 73 Chuẩn hóa ký tự về 20 x 10
5.4.1.3Nhận dạng ký tự đơn trên biển số bằng mạng Neural nhân tạo
Mô hình mạng:
Mô hình mạng Neural nhân tạo được sử dụng để huấn luyện ở đây là mạng tiến đa mức lan truyền ngược sai số ( Back – Propagation Neural Network) với 3 lớp: một lớp vào, một lớp ẩn và một lớp ra.
Ký tự được tách ra t bảng số, chuẩn hóa kích thước thành 20 x 10, sau đó ta sẽ chuyển nó thành mảng 1 chiều 200 x 1, tương ứng với 200 pixel với các giá trị 0 hoặc 1. Vậy mạng Neural được thiết kế với 200 nút ở lớp vào (tương ứng 200 pixel) 100 nút ở lớp ẩn, 10 nút ở lớp ra đối với mạng nhận dạng số và 21 nút đối với mạng nhận dạng chữ. Hàm kích hoạt: 1 1 2 x e y (Bipolar) Chọn = 0.05
Qui tắc hiệu chỉnh trọng số: áp dụng phương pháp giảm Gradiant với qui tắc học thích nghi.
Chọn k=5, =0.5, =0.7
Huấn luyện mạng:
Quá trình huấn luyện mạng là quá trình xác định trọng số của mạng để xấp xỉ một hàm đích cho trước.
Đầu tiên mạng sẽ được huấn luyện với các ảnh mẫu chuẩn với sai số khoảng 10-7. Sau đó, mạng tiếp tục được huấn luyện với các ảnh mẫu có nhiễu với sai số lớn hơn ( khoảng 10-5) để trọng số mới không ảnh hưởng nhiều đến việc nhận dạng các ảnh mẫu chuẩn. Sau khi đã huấn luyện mạng với các ảnh nhiễu này, ta cần phải huấn luyện lại mạng với ảnh chuẩn ban đầu để đảm
bảo chất lượng của mạng. Nếu thu thập được nhiều mẫu ký tự để huấn luyện cho mạng thì khả năng nhận dạng sẽ tăng. Tuy nhiên nếu đưa các mẫu có chất lượng quá thấp thì mạng sẽ không nhận dạng được. Khi đó cần thông báo cho hậu xử lý hay đánh dấu để người sử dụng khắc phục.
Sơ đồ khối của mạng Neural
Dùng cho nhận diện số
Hình 74 Cấu trúc mạng nhận diện số
Dùng cho nhận diện chữ
Hình 75 Cấu trúc mạng nhận diện chữ
5.4.2 Dữ liệu thử nghiệm:
Chúng em đã thu thập dữ liệu chụp ảnh xe mô tô hai bánh trong các điều kiện khác nhau. Sau đây là mô tả tập ảnh và máy tính thử nghiệm:
Tập ảnh IMG_TEST: chụp ban ngày và buổi tối
Loại máy chụp Logitech HD Pro Webcam C920
Độ phân giải 15 Mega Pixel
Vị trí chụp ảnh thẳng đứng, chính diện
Kích thước ảnh 720x480 Pixel
Số lượng ảnh chụp 40
Bảng 8 Mô tả điều kiện tập ảnh IMG_TEST
Máy tính thử nghiệm thuật toán
CPU Core i5, 2.5 GHz
Bộ nhớ 6GB
Hệ điều hành Windows 7
Ngôn ngữ lập trình Csharp 2012
Bảng 9 Cấu hình máy tính chạy thử nghiệm
5.4.3 Kết quả thử nghiệm:
Bảng thống kê thử nghiệm:
Tập dữ liệu / kết quả Tập IMG_TEST
Số lượng mẫu thử nghiệm 40
Kích thước ảnh chụp 720x480 Pixel Số lượng trích biển số đúng 37
Số lượng trích biển số sai 3
Tỉ lệ nhận dạng đúng 92.5%
Tốc độ xử lý <1s
Bảng 10 Bảng thống kê kết quả thử nghiệm trên tập dữ liệu.
Tóm lại các kết quả nhận dạng cuối cùng vẫn chưa thực sự tốt, do xử lý nhiễu chưa được tốt trên biển số.
5.5 Kết quả thi công hệ thống quản lí bãi xe
5.5.1 Hướng dẫn và mô tả hoạt động chương trình
Hướng dẫn
Chạy file .exe
Hệ thống => Tải nhận dạng => chọn character_weight.ann và number_weight.ann: mở file huấn luyện.
Hệ thống => Chọn Camera: mở camera
Tác vụ đọc thẻ => Read/Unread Card: Điều khiển Polling lien tục ID t thẻ RFID
Tác vụ đọc thẻ => Kết nối: Mở cổng COM để thực hiện lấy ID thẻ vào cổng COM máy tính
Lúc này chương trình đã sẵn sàng hoạt động Chú thích:
- Double – Click vào “Đơn giá” để thực hiện thay đổi giá tiền trên một đơn vị thời gian
- Click vào ComboBox “Tính theo ngày” sẽ có lựa chọn cách tính tiền là “Tính theo ngày” hay “Tính theo giờ”
Mô tả hoạt động
Khi chương trình đã sẵn sàng hoạt động lúc xe vào đến đúng vị trí (ngữ cảnh là trong bãi giữ xe với xe và camera có một khoảng cách nhất định), nhân viên giữ xe sẽ quét thẻ nếu người giữu xe không phải là nhân viên công ty hoặt là nhân viên công ty, sau tác vụ quét thẻ thì người giữ xe nhấn nút Enter. Lúc này chương trình chụp ảnh sau xe có biển số và xử lí nhận dạng biển số này, đồng thời lấy: ID thẻ, biển số, ngày giỡ xe vào và ảnh của biển số lưu vào cơ sở dữ liệu được lưu trên máy Server. Khi xe ra, các thao tác sẽ được thực hiện tương tự lú xe vào, tuy nhiên lúc này là chương trình sẽ lấy ID và biển sổ đã đươc lưu trên cơ sở dữ liệu so sánh, nếu trùng khớp thì “Cho xe ra” c n c n không thì sẽ hiện thong báo “STOP” và “Nhầm xe rồi”
Chương trình sẽ tính tiền cho người giữ xe không phải là nhân viên công ty và thông báo là “Khách”. C n nếu là nhân viên công ty thì chương trình cũng báo tên của nhân viên và ảnh của nhân viên này.
5.5.2 Giao diện chương trình
Giao diện chính lúc khởi động chương trình
Hình 76 Giao diện chương trình quản lí bãi xe Chương trình lúc xe vào bãi
Chương trình lúc xe ra có biển số và ID thẻ trùng khớp
Hình 78 Hoạt động khi ID thẻ và biển số xe trùng khớp Chương trình lúc xe ra có biển số và ID thẻ không trùng khớp
Chương 6
6.1 Công việc hoàn thành 6.2 Hạn chế 6.2 Hạn chế 6.2 Hạn chế 6.3 Hướng phát triển KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chươn g 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
6.1 Công việc hoàn thành
Nội dung của luận văn là : “Ứng dụng cộng nghệ RFID vào quản lí bãi giữ xe và quản lí nhân viên”. Như vậy trong mục tiêu luận văn đã giải quyết được các vấn đề sau:
Xây dựng các kết quả nghiên cứu trên nền Visual Studio Dot Net (CSharp).
Ứng dụng được thư viện Aforge.NET trong xử lý ảnh.
Hoàn thành truyền nhận dữ liệu giữ reader và thẻ qua máy tính.
Hoàn thành truyền nhận dữ liệu giữ reader và thẻ qua vi điều khiển.
Hoàn thành giao tiếp giữa vi điều khiển và máy tính qua mạng LAN
Hoàn thành chương trình “quản lí bãi giữ xe”.
Hoàn thành chương trình “ quản lí nhân viên”.
6.2 Hạn chế
Chương trình “Quản lí bãi giữ xe” phần nhận diện biển số chưa chưa xử lí được biển số nền khác màu trắng.
Chương trình “Quản lí nhân viên” chưa có nhiều hạng mục cụ thể và chi tiết hơn để quản lý them các thông tin khác.
6.3 Hướng phát triển
Với những mặt hạn chế như trên, chúng em xin đề ra các hướng phát triển đề tài:
- Xây dựng ứng dụng tổng quát hơn cũng như xử lý với một số trường hợp biển số đặc biệt như: nền xanh chữ trắng, hay nền đỏ chữ trắng,… để chương trình quản lí bãi xe có thể được thương mại hóa tốt nhất với mọi loại biển số
- Phát triển thêm các hạng mục trong chương trình “Quản lý nhân viên” như quản lý tiền lương nhân viên, thưởng, kỷ luật, nghỉ phép…
TÀI LIỆU THAM KHẢO
GIÁO TRÌNH
[1]. Jerry Banks et al, (2007). RFID Applied. John Wiley & Sons, Hoboken, New Jersey. [2]. Shahram Moradpour, Manish Bhuptani, (2005). RFID Field Guide: Deploying Radio Frequency Identification Systems. Prentice Hall PTR.
[3]. Andrew Kirillov (2005), ”Image Processing Lab”, AForge.NET framework [4]. Andrew Kirillov (2005), ”Neural Network OCR”, AForge.NET framework