Dựa theo lựa chọn thiết kế ban đầu, cấu trúc thiết kế mô hình của nhóm gồm 2 làn cho xe ra – vào, có 1 nhà quản lý bãi giữ xe, 2 động cơ servo, các vị trí để xe trong bãi. Formex là vật liệu chính làm nên mô hình.
Chương 4 : HỆ THỐNG NHẬN DẠNG BIỂN SỐ XE MÁY 4.1 Mô hình tổng quát nhận dạng biển số xe máy
Mục đích của đề tài xây dựng một chương trình đọc biển số xe tạo một vị trí cố định, ví dụ lối vào của khu vực bãi đậu xe, hệ thống xây dựng dựa vào một máy tính PC thông thường có giao tiếp với một máy ghi hình (camera hay webcam) nhằm đáp ứng trạng thái chụp ảnh, hay một máy ảnh được chụp từ máy ảnh, để tạo ra một ảnh (ảnh gốc) được đưa vào máy tính PC. Từ những hình ảnh thu được có chứa biển số xe thì phần mền sẽ tự xử lý và kết quả đưa ra biển số xe. Một khi biển số xe được phát hiện (nhận dạng), các chữ số của nó được đọc và xuất ra trên giao diện người dung và đối chiếu lại cơ sở dữ liệu.
Quá trình nhận dạng biển số xe từ ảnh thu được thực hiện theo từng giai đoạn khác nhau, có thể tóm tắt theo sơ đồ khối như sau:
Hình 4. 1: Sơ đồ hệ thống nhận dạng biển số xe máy
Trích vùng biển số: khối này có chức năng tách biển số từ ảnh chụp bằng các phương pháp xử lý ảnh. Kết quả của nó là ảnh biển số cắt ra từ ảnh chụp. Đây là một công việc rất khó khăn vì ta không biết được vị trí chính xác của biển số. Ngoài ra còn phụ thuộc vào độ sáng ảnh chụp.
Tách kí tự: sau khi trích biển số, chúng ta bắt đầu phân đoạn kí tự. Khối này thực hiện tách kí tự có trong biển số, tạo thành tập ảnh riêng biệt các ký tự phục vụ việc nhận dạng kí tự. Ảnh của lỗi kí tự là ảnh trắng đen.
Nhận dạng kí tự: sau khi phân đoạn, tách được ký tự trong biển số và tạo thành một chuỗi ký tự. Chuỗi này đưa vào khối nhận dạng để tiến hành nhận dạng từng ký tự. Sau khi nhận dạng ký tự, hệ thống sẽ hiển thị thông báo trên giao diện của máy tính quản lý hệ thống, đồng thời lưu lại dữ liệu vừa nhận được.
4.2 Ảnh đầu vào
Ảnh được chụp là ảnh chụp phía sau xe 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 xử lý là mô phỏng các ký tự tự tạo.
4.3 Tiền xử lý
Ảnh chụp vào thường là ảnh màu, ta tiến hành chuyển ảnh màu thành ảnh xám, tiếp tục nhị phân hóa thành ảnh trắng đen, sau đó tiến hành trích vùng biển số dựa vào các vùng liên thông.
Việc xác định ngưỡng sáng rất quan trọng nó quyết định đến khả năng chọn đúng vùng biển số. Chọn chính xác vùng biển số thật sự rất khó ta chỉ có thể xác định chính xác trong một khoảng nào đó. Thông qua lược đồ xám ta nhận thấy vùng biển số thường sẽ có độ sáng tương đối lớn, vì vậy ta sẽ xác định lược đồ xám lớn nhất trong khoảng này và ngưỡng xám cần chọn sẽ thuộc vùng này nhờ nó ta sẽ giảm được thời gian lặp tìm ngưỡng xám. Kết quả này có được nhờ vào quá trình khảo sát thống kê trên nhiều ảnh và đây là kết quả tối ưu nhất mà ta có thể tìm được.
Ảnh nhị phân là ảnh mà giá trị các điểm ảnh chỉ có hai giá trị 0 và 1 (trắng và đen). Để chuyển từ ảnh xám về ảnh nhị phân ta đặt một ngưỡng thích hợp để so sánh. Mức xám của ảnh sẽ được dùng để so sánh với giá trị ngưỡng này.
Biếu thức f(u) = { 0, 𝑢 < 𝑛1, 𝑥 ≥ 𝑛
Hình 4. 2: Quá trình tiền xử lý
4.3 Phân vùng ảnh và tách biển số 4.3.1 Phân vùng ảnh 4.3.1 Phân vùng ảnh
Phân vùng ảnh là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm phân tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các vùng liên thông có thể là cùng mức xám, cùng màu,…
Nếu phân vùng dựa trên các vùng liên thông ta gọi là kỹ thuật phân vùng miền đồng nhất. Nếu ta phân vùng dựa theo biên gọi là kỹ thuật phân vùng biên. Ngoài ra còn có các kỹ thuật khác như phân vùng dựa theo biên độ, phân vùng dựa theo kết cấu. Để phân tích các đối tượng trong ảnh, chúng ta cần phải phân biệt được các đối tượng cần quan tâm với phần còn lại của ảnh. Những đối tượng này có thể tìm được nhờ các kỹ thuật phân đoạn ảnh, theo nghĩa tách phần tiền ảnh ra hậu ảnh.
Có thể hiểu phân vùng là tiến trình chia ảnh thành nhiều vùng, mỗi vùng chứa một đối tượng có thể biểu diễn một hai từ đoạn thẳng tiếp xúc nhau. Ta có phương pháp phân vùng ảnh như sau:
Thuật toán gán nhãn thành phần liên thông:
Kỹ thuật này gán cho mỗi thành phần liên thông của ảnh nhị phân một nhãn riêng biệt. Nhãn thường là các số tự nhiên bắt đầu từ một đến tổng số các thành phần liên thông có trong ảnh. Giải thuật quét ảnh từ trái sang phải và từ trên xuống dưới.
Trong dòng thữ nhất của các pixel, một nhãn duy nhất được gán cho mỗi đường chạy liên tục pixel đen. Với mỗi pixel đen của các dòng tiếp theo, các pixel lân cận trên dòng trước và pixel bên trái được xem xét. Nếu bất kì pixel lân cận nào được gán nhãn, nhãn tương tự được gán cho pixel đen hiện thời, ngược lại nhãn tiếp theo chưa được sử dụng được chọn, thủ tục này tiếp tục cho tới dòng cuối của ảnh.
Ảnh được nhận về là ảnh nhị phân, trong đó có nhiều đối tượng khác nhau ta tiến hành chọn ra đối tượng nào là biển số còn đối tượng nào không phải là biển số. Dựa vào thuật toán gán nhãn liên tiếp các đối tượng cụ thể như sau:
Thuật toán phân vùng ảnh dựa trên kỹ thuật đánh nhãn liên tiếp: Mặt nạ ảnh với 4 điểm lân cận
Mặt nạ ảnh với 8 điểm lân cận
Mặt nạ ảnh với 4 điểm lân cận và 8 điểm lân cận Quy ước khi quét ảnh:
Nếu điểm ảnh có giá trị là 0 thì gọi là điểm ảnh nền Nếu điểm ảnh có giá trị là 1 thì gọi là điểm ảnh nổi Ta chỉ đánh nhãn các điểm ảnh nổi
4.3.2 Trích vùng biển số
Trích ra các đối tượng đem so sánh với điều kiện cụ thể của biển số xe về chiều cao, chiều rộng, tỉ lệ các cạnh, diện tích, trọng tâm,… để thu về vùng biển số.
Dựa vào các thực nghiệm ta thấy chỉ có cùng biển số mới thỏa điều kiện tích nhất định, cong những vùng khác sẽ nhỏ hơn, nhưng trong điều kiện ánh sáng quá chói việc
xác định ngưỡng xám không chính xác sẽ dẫn đến có nhiều vùng có diện tích thỏa điều kiện đưa ra, dẫn đến nhận dạng sai, hoặc không cắt được chính xác vùng biến số, đây cũng là mặt hạn chế của đồ án.
4.4 Phân đoạn biển số
Nhị phân biển số xe là bước quan trọng để nhận dạng biển số xe. Bước này sẽ tìm mức ngưỡng tối ưu, sau đó tiến hành nhị phân hóa ảnh với ngưỡng vừa tìm được (nhằm làm tăng độ tương phản của ký tự với nền biển số).
Hình 4. 3: Nhị phân biển số xe
Biển số được chuẩn hóa về kích thước [240 NaN], sau đó được lấy bù, sau đó chuẩn hóa về hai ảnh có kích thước [120 NaN] để tìm kí tự.
Hình 4. 4: Chuẩn hóa và tìm ký tự
4.5 Nhận dạng biển số 4.5.1 Tạo mẫu ký tự 4.5.1 Tạo mẫu ký tự
Nhận dạng các ký tự có trong ảnh đối tượng. Mô hình nhận dạng biển số xe, dựa vào phương pháp đối sánh mẫu dựa trên đặc trưng.
Xây dựng các mẫu vào các lớp khác nhau, sau đó gán cho các lớp này.
Trích chọn đặc trưng: Đây là bước biểu diễn các mẫu bằng các đặc trưng của đối tượng. Trong quá trình, số liệu ảnh sẽ được thu gọn lại, điều này hết sức cần thiết cho việc tiết kiệm bộ nhớ trong việc lưu trữ và thời gian tính toán. Một phương pháp trích chọn đặc trưng tốt nếu như nó trích chọn các đặc trưng của đối tượng mà các đặc trưng đó sẽ giúp cho việc phân biệt được các lớp mẫu khác nhau, đồng thời nó cũng
biến đổi được các thuộc tính cố hữu của đối tượng hay do các thiết bị thu nhận ảnh tạo ra.
Việc chọn các đối tượng đặc trưng của đối tượng là việc lựa chọn ra các yếu tố hình học. Sự biến đổi từng yếu tố riêng có thể làm thay đổi trật tự các đại lượng, điều này có thể làm ảnh hưởng đến việc phân lớp. Vấn đề này thường được giải quyết bằng một phép biến đổi tuyến tính thích hợp với các thành phần của vector đặc trưng.
Qua thực nghiệm đã cắt ra từng ký tựcủa biển số và cho ra kích thước ảnh chuẩn của một ký tự là 24x42. Tiến hành lấy tất cả 15 mẫu ký tự thường được dùng trong biển số xe và 10 mẫu ký tự số. Tổng cổng có 24 mẫu ký tự (24x42) được lưu vào trong hai ma trận mẫu “kytu” va “kyso”. Màu đen tương ứng với bit 0, màu trắng tương ứng với bit 1, như hình 4.5.
Hình 4. 6: Thuật toán tạo mẫu ký tự
4.5.2 Nhận dạng ký tự bằng phương pháp tương quan
Các ký tự sau khi đã cách ly ta mang chúng phân thành các lớp giống như cách tạo ra các lớp mẫu. Như vậy, ta lựa chọn các lớp ký tự này so sánh lần lượt với các lớp có trong mẫu. Kết quả của mỗi lần so sánh tìm ra hệ số tương quan sau đó tiến hành lưu chúng cùng các lớp khác. Sau khi hoàn tất xong ta tiếp tục chọn trong các lớp xem lớp nào có hệ số tương quan lớn nhất, lớp này có tên gì tương ứng với ký tự nào ta xuất ra màn hình ký tự đó.
Phương pháp này đòi hỏi cần phải có hai ảnh cùng kích thước. Thuật toán so sánh mẫu:
Chuẩn hóa ảnh ký tự vừa cắt ra về kích thước 24x42.
Dùng công thức tính hệ số tương quan để tính lần lượt với các mẫu. Lưu các kết quả vừa tìm được vào trong một lớp.
Tìm hệ số tương quan gần bằng 1 nhất trong lớp. Xuất ra ký tự tương ứng với lớp đó.
Hình 4. 7: Thuật toán so sánh mẫu và xuất ký tự Công thức xác định hệ số tương quan:
𝑟 = ∑ ∑ (𝐴𝑚𝑛−𝐴′)(𝐵𝑚𝑛−𝐵′)𝑚 𝑛
√(∑ ∑ (𝐴𝑚𝑛−𝐴′)𝑚 𝑛 2(∑ ∑ (𝐵𝑚𝑛−𝐵′)𝑚 𝑛 2) (4.1)
Trong đó: Amn là giá trị pixel tại cột m và hàng n Bmn là giá trị pixel tại cột m và hàng n
A’ và B’ là giá trị trung bình của ma trận A và B. Ma trận A và B giống nhau khi và chỉ khi r = 1.
Ví dụ: Gọi A là ma trận ảnh chứa ký tự cần nhận dạng là số 1, B là ma trận mẫu số 1, C là ma trận mẫu số 2.
Hình 4. 8: Mẫu ký tự số 1, 2 (42 hàng, 24 cột) Kết quả hệ số tương quan giữa ma trận A với B và A với C: Corr2(A,B) = 1
Corr2(A,C) = 0.3677
Suy ra A và B là 2 ảnh giống nhau, khi đó dựa vào ma trận mẫu là B là ký tự nào thì xuất ký tự đó ra. Hoàn tất quá trình nhận dạng.
Chương 5: KẾT QUẢ - NHẬN XÉT – ĐÁNH GIÁ 5.1 Kết quả thực hiện
Sau quá trình thiết kế và thi công nhóm đã hoàn thành được mô hình và giao diện quản lý hệ thống trên PC.
Hình 5. 1: Giao diện trên PC và mô hình hệ thống
Và sau khi đã có mô hình và hệ thống, ta sẽ nói về hoạt động và chức năng của hệ thống có thể làm được:
Ở giao diện mới khởi động này thì sẽ không có thông tin nào của xe vì bãi xe chưa hoạt động và chưa có xe trong bãi. Chỉ có 2 camera ngõ ra và ngõ vào hoạt động bình thường thôi.
Tiếp theo, khi có xe vào hệ thống sẽ chụp ảnh của xe ở ngõ vào, phân tích xử lý và đọc đúng biển số xe của khách hàng, đồng thời hiển thị lên dòng chữ “MỜI XE VÀO” và lưu dữ liệu của xe (bao gồm: mã thẻ, biển số xe, thời gian xe vào) vào trong PC.
Hình 5. 3: Giao diện khi có xe vào
Khi có xe ra, hệ thống sẽ chụp ảnh của xe ra, đọc lại biển số của khách hàng, sau đó truy xuất lại dữ liệu tương ứng với mã thẻ, so sánh có đúng với biển số xe hay không, nếu đúng thì mở servo cho xe ra, hiển thị trên màn hình LCD dòng chữ “MỜI XE RA”, “TẠM BIỆT QUÝ KHÁCH, THƯỢNG LÔ BÌNH AN”.
Hình 5. 4: Giao diện khi có xe ra
Trường hợp khi quẹt thẻ, biển số xe ra không giống với dữ liệu ban đầu khi xe vào thì servo sẽ không mở, giữ xe của khách hàng lại và hiển thị dòng chữ “KHÔNG HỢP LỆ”, sau đó chờ nhân viên tới xử lý.
Hình 5. 5: Giao diện khi xe ra không hợp lệ
5.2 Nhận xét – Đánh giá
Sau khi hoàn thiện ta tiến hành chạy thử toàn bộ hệ thống để kiểm tra độ ổn định, cũng như tính chính xác và độ trễ khi điều khiển của hệ thống. Sau quá trình thực nghiệm thì cho thấy hệ thống khi sử dụng một thời gian dài thì mạch điều khiển vẫn chưa ổn định, có thời gian trễ và dễ bị nhiễu.
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận
Sau thời gian thực hiện đề tài đến nay nhóm đã hoàn thành được các yêu cầu đề ra, đã thiết kế và thi công thành công mô hình bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh, nhận dạng biển số xe trên phần mềm matlab, có giao diện quản lý với những phương pháp và chức năng như sau:
Lập trình Arduino để đọc dữ liệu từ RFID, nhận dữ liệu về để hiển thị LCD và điều khiển động cơ Servo cho xe ra vào.
Sử dụng các chuẩn và phương thức giao tiếp thường gặp là UART. Sử dụng các thuật toán xử lý ảnh để xử lý, tách và nhận dạng biển số.
Ứng dụng công nghệ RFID để đọc và ghi hình ảnh, biển số xe trước và sau khi tách biển số.
Điều khiển động cơ servo để mở thanh barie cho xe ra vào. Ứng dụng phần mểm hỗ trợ xử lý ảnh là matlab.
Tuy nhiên do kiến thức còn hạn hẹp nên không thể tránh khỏi những thiếu xót và nhóm vẫn còn hạn chế về phần thời gian trễ khi quẹt thẻ RFID. (cách vận hành hệ thống nhóm sẽ nêu kỹ trong phần phụ lục 2).
Một số ưu điểm của hệ thống:
Giải quyết cơ bản về vấn đề kẹt xe, mất vé gửi xe, đánh tráo thẻ xe trong các bãi xe truyền thống trước đó.
Giảm rất nhiều thời gian, các khoản chi phí thuê nhân viên quản lý, bảo vệ, thu về được lợi nhuận cao hơn.
Khả năng đọc và ghi lại được dữ liệu nhiều lần. (khi khách hàng trả thẻ và lấy xe ra khỏi bãi có thẻ tái sử dụng lại thẻ với khách hàng mới).
Thẻ RFID rất bền, có thể hoạt động tốt trong các môi trường không thuận lợi như nóng, ẩm, bụi bẩn, ăn mòn, hay có sự va chạm,… tạo được độ tin cậy cao khi sử dụng.
Lưu trữ, kiểm soát được các đội tượng (thông tin của khách hàng) mà không cần phải sắp xếp.
Một số nhược điểm của hệ thống:
Chi phí triển khai cao hơn các bãi xe truyền thống trước đó. Thẻ RFID dễ bị nhiễu sóng trong môi trường nước và kim loại.
Thời gian trễ còn khá lớn (khoảng 2 – 3s), còn trong thực tế các bãi xe lớn thì thời gian trễ rất nhỏ. Vì ở đây là mô hình nên nhóm sử dụng thẻ RFID RC-522
6.2 Hướng phát triển
Để mô hình có thể phát triển trong tương lai nhóm có một số phương án đề xuất sau: