Với công nghệ này, biển số xe được nhận diện và kiểm soát một cách chính xác và nhanh chóng, đồng thời cũng thuận tiện cho các nhà quản lí giao thông trong quá trình vận hành. Đề tài tập trung nghiên cứu ứng dụng được thuật toán Adaboost trong bài toán phát hiện và nhận diện biển số xe. Lập trình mô phỏng quá trình nhận diện biển số xe..Mời các bạn tham khảo!
Trang 1NGHIÊN CỨU TÌM HIỂU THUẬT TOÁN HỌC MÁY ADABOOST
VÀ ỨNG DỤNG TRONG PHÁT HIỆN VÀ NHẬN DIỆN
BIỂN SỐ XE
Giảng viên hướng dẫn:
Sinh viên thực hiện:
Lớp:
Vũ Văn Hải Phong Lưu Minh An
Đỗ Minh Đức
Lê Huy Tiến
Kỹ thuật Thông tin và Truyền thông 1 K58
Tóm tắt: Giải pháp nhận dạng đối tượng trong ảnh nói chung và nhận dạng biển số
xe nói riêng trên cơ sở công nghệ xử lí ảnh đang ngày càng được sử dụng rộng rãi trên
Thế Giới và được coi là một trong những công nghệ tốt nhất để nhận dạng, quản lí và giám
sát phương tiện giao thông tại các trạm thu phí, trạm cân, bãi giữ xe tự động, kiểm soát
lưu lượng giao thông hay trong các vấn đề an ninh Với công nghệ này, biển số xe được
nhận diện và kiểm soát một cách chính xác và nhanh chóng, đồng thời cũng thuận tiện cho
các nhà quản lí giao thông trong quá trình vận hành Đề tài tập trung nghiên cứu ứng dụng
được thuật toán Adaboost trong bài toán phát hiện và nhận diện biển số xe Lập trình mô
phỏng quá trình nhận diện biển số xe
Từ khóa: Nhận dạng đối tượng, phát hiện đối tượng, nhận dạng kí tự, phát hiện
biển số xe
1 ĐẶT VẤN ĐỀ
Cùng với sự phát triển của khoa học kỹ thuật và sự bùng nổ của công nghệ thông tin, các hệ thống giao thông thông minh đang dần trở thành những công cụ hỗ trợ đắc lực cho
con người Một trong số đó là hệ thống nhận dạng biển số xe tự động Hệ thống này làm
đơn giản hóa việc nhận dạng biển số xe bằng cách áp dụng các kỹ thuật xử lý ảnh để xử lý
ảnh hoặc một đoạn video có chứa phương tiện giao thông
Ngoài việc hỗ trợ coi giữ xe ở những nơi công cộng, hệ thống nhận dạng biển số xe
còn được lắp đặt với nhiều mục đích khác nhau Hệ thống nhận dạng biển số xe được lắp
cùng với hệ thống tự động mở cổng, sẽ nhận dạng biển số xe của công ty, biển số xe của
khách để tiến hành mở cổng Trên các trạm thu phí người ta sử dụng hệ thống tự động nhận
Trang 2dạng biển số xe để thu lộ phí các phương tiện giao thông Hay trên các xa lộ, các trọng điểm giao thông, người ta lắp đặt hệ thống này để hỗ trợ công tác điều tra, truy bắt tội phạm…
2 CÁC NỘI DUNG CHÍNH
2.1 Cơ sở lý thuyết thuật toán Adaboost
Nhận dạng đối tượng (Object recognition) lĩnh vực thuộc “machine learning” nghiên
cứu việc tìm một đối tượng trong một ảnh hay video cho trước, đó là việc phát hiện lớp đối tượng cụ thể với các lớp đối tượng khác của hệ thống Đối tượng trong ảnh được chúng ta nhắc đến ở đây là biển số xe Ở Việt Nam, biển kiểm soát xe cơ giới (hay còn gọi tắt là biển số xe) là tấm biển gắn trên mỗi xe cơ giới, được cơ quan công an cấp khi mua xe mới hoặc chuyển nhượng xe Thông thường trên biển số xe ở Việt Nam thường có 8 tới 9 kí tự (từ ngày 6/12/2010), còn biển số xe ở nước ngoài thì có 7 kí tự
Adaboost là một cải tiến của tiếp cận boosting, sử dụng thêm khái niệm trọng số (weight) để đánh dấu các mẫu khó nhận dạng Trong quá trình huấn luyện, cứ mỗi bộ phân loại yếu được xây dựng, thuật toán sẽ tiến hành câp nhật lại trọng số để chuẩn bị cho việc xây dựng bộ phân loại yếu kế tiếp là: tăng trọng số của các mẫu bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng đúng bởi bộ phân loại yếu vừa xây dựng Bằng cách này, các bộ phân loại yếu tiếp theo có thể tập trung vào các mẫu mà các bộ phân loại yếu trước nó chưa làm tốt Sau cùng, các bộ phân loại yếu sẽ được kết hợp tùy theo mức độ
“tốt” của chúng để tạo dựng nên bộ phân loại mạnh Mô hình Cascade được xây dựng chính
là nhằm rút ngắn thời gian xử lý, giảm thiểu tỷ lệ nhận dạng sai của bộ nhận dạng:
Trang 3Hình 1 Mô hình Cascade
Mô hình Cascade phân tầng theo dạng hình cây, mỗi cây gồm nhiều tầng, mỗi tầng của cây sẽ là một bộ phân loại.Với cấu trúc này, những mẫu background dễ nhận diện sẽ
bị loại ngay từ những tầng đầu tiên, giúp đáp ứng tốt nhất đối với độ phức tạp gia tăng của các mẫu đưa vào, đồng thời giúp rút ngắn thời gian xử lý Một loại đặc trưng đơn giản được
sử dụng là đặc trưng Haar-like, là một loại đặc trưng thường được dùng cho bài toán nhận dạng trên ảnh Đặc trưng Haar-like được xây dựng từ các hình chữ nhật có kích thước bằng nhau, dùng để tính độ chênh lệch giữa các giá trị điểm ảnh trong các vùng kề nhau
Hình 2 Đặc trưng Haar-like cơ bản
Trang 42.2 Ứng dụng thuật toán Adaboost trong phát hiện và nhận dạng biển số xe a) Phát hiện và trích xuất biển số xe
Hình 3 Quy trình phát hiện biển số xe
Quá trình phát hiện biển số xe sẽ thực hiện khi chúng ta đưa ảnh gốc vào để xử lý, sau đó qua một vài kĩ thuật thích hợp sẽ đưa ra được đối tượng mà chúng ta cần phát hiện Tập huấn luyện (training) bao gồm các mẫu positive (đối tượng cần nhận dạng) và negative (mẫu không chứa đối tượng) Trong bộ nhận dạng, các mẫu positive là các hình chụp của đối tượng đó đã qua chuẩn hóa: kích thước và được chuyển về ảnh xám Các mẫu negative bao gồm tất cả các ảnh không chứa đối tượng cần nhận dạng (các hình background)
Hình 4 Kết quả phát hiện và trích xuất biển số xe
Kết thúc ( Báo không nhận diện được) Tách biển số xe
Training
haarcascade
file
Ảnh đầu vào
Tiền xử lý
Định vị biển số
Sai Đúng
Lọc nhiễu, chuẩn hóa histogram
Cascade
Trang 5b Nhận diện kí tự
Tiếp theo để thực hiện quá trình nhận dạng kí tự, chúng ta sử dụng thư viện Tesseract OCR Nhận dạng ký tự quang học (OCR) là một chương trình được xây dựng để chuyển đổi các hình ảnh của chữ viết tay hoặc chữ đánh máy thành các văn bản tài liệu số Tesseract là một thư viện nhận dạng ký tự quang học Nó có
mã nguồn mở, được công khai dưới giấy phép Apache, phiên bản 2.0, và được phát triển dưới sự tài trợ của Google từ năm 2006, Tesseract được đánh giá là một trong số ít những thư viện nhận dạng ký tự quang học mã nguồn mở tốt nhất hiện nay
Cũng giống như hầu hết các chương trình nhận dạng ký tự quang học, Tesseract có một kiến trúc điển hình từ trên xuống:
Hình 5 Kiến trúc nhận dạng văn bản chữ in trong Tesseract
Nhận dạng khoảng cách giữa chữ và số là một bài toán rắc rối Trong văn bản có nhiều phông chữ khác nhau dẫn tới khoảng cách giữa các từ và số khác nhau Tesseract khắc phục khó khăn trên bằng cách đo khoảng cách được chọn gần ngưỡng nào đó như
là giá trị mờ với sai số Bộ từ điển dùng để lưu trữ dữ liệu cho quá trình phân loại và nhận dạng Mỗi ngôn ngữ có một bộ từ điển chứa các ký tự theo các phông chữ khác nhau với thuộc tính như chuẩn – normal, đậm – bold, nghiêng – italic và thuộc tính kết hợp Từ điển cũng lưu trữ các từ hay sử dụng, từ chữ cái, từ số, từ chữ hoa, từ chữ thường
Trang 6Hình 6 Quy trình nhận diện ký tự - Biển số xe
c Chương trình mô phỏng nhận dạng đối tượng
Nền tảng xây dựng giao diện:
- OS: UBUNTU 18.04
- Python version 3.6.9
- GUi được làm trên tkinter
Hình 7 Giao diện xử lý phát hiện nhận dạng biển số xe
Trang 7Hình 8 Kết quả nhận dạng kí tự Bảng thống kê kết quả phát hiện nhận diện biển số xe
Kết quả
Yếu tố tác động
Nhận dạng biển số xe Chú thích
Nhận diện đúng Nhận diện sai
Độ phân
giải
(40 ảnh)
>= 720p (20 ảnh)
16 (80%) 4 (20%)
Khoanh được biển số
xe, không nhận diện
được
<=360p (20 ảnh)
14 (70%) 6 (30%)
Môi trường
(21 ảnh)
Ánh sáng tốt (18 ảnh) 14 (78.77%) 4 (21.23%) Ánh sáng kém
(3 ảnh) 2 (66.66%) 1 (33.34%)
Góc chụp
(20 ảnh)
Chính diện 16 (80%) 4 (20%)
Cắt được đúng biển số nhưng không nhận diện được kí tự
Từ việc xử lý dữ liệu từ hình ảnh chụp biển số xe, kết quả nhận diện kí tự nhận được chính xác khoảng hơn 80% với đầu vào ảnh chất lượng tốt Việc không nhận diện được kí tự hoặc nhận diện sai kí tự có thể là do bước tiền xử lý, việc thiết lập hệ số lặp hoặc hệ số hạt giãn nở chưa phù hợp, độ phân giải ảnh quá thấp hoặc do yếu tố môi trường (Ánh sáng quá sáng hoặc ảnh chụp biển số bị lóa)
Do thuật toán nhận diện ký tự OCR chưa được tối ưu hóa nên vẫn có trường hợp
đã phát hiện được biển số xe nhưng nhận diện sai từ một đến một vài ký tự
Trang 8Một hướng phát triển khác là áp dụng thuật toán AdaBoost nhưng với các đặc trưng khác như: đặc trưng local, garbor,…
3 KẾT LUẬN
Cùng với sự phát triển nhanh chóng của công nghệ thông tin, việc xử lý thông tin nhanh gọn, chính xác sẽ là những yếu tố cấp thiết cần nghiên cứu và phát triển Bởi vậy, nhận dạng đối tượng trong ảnh nói chung hay nhận dạng biển số xe nói riêng vẫn đã, đang và sẽ thu hút được nhiều sự chú ý, nghiên cứu và ứng dụng trên thế giới
Tài liệu tham khảo
[1] Nguyễn Hữu Công, ứng dụng mạng nơron trong nhận dạng hệ thống phi tuyến, Tạp chí Khoa học và Công nghệ Thái Nguyên, số 3 – 2007
[2] Thuật toán Adaboost và mạng Neural trong nhận dạng và bám đuổi biển số xe – Lê Đức Hạnh
[3] Vương Nhật Thủy (2010) Xử Lý Ảnh Bằng Thuật Toán Adaboost Nhận Dạng Biển
Số Xe Thông Minh Luận Văn Đại Học, Đại Học Bách Khoa TPHCM
[4] Võ Hồng Phong (2008) Nhận Dạng Xe Trên Cơ Sở Thị Giác Máy Tính Luận Văn Thạc Sĩ, Đại Học Bách Khoa TPHCM
[5] Nhận dạng đối tượng sử dụng thuật toán Adaboost – TS Nguyễn Đăng Bình