Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
3,81 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN Báo cáo mơn học: Trí tuệ nhân tạo Đề tài: Ứng dụng kỹ thuật học máy nhận dạng biển số xe Giảng viên hướng dẫn : Th.S Đoàn Thị Thanh Hằng Nhóm - Lớp: 70DCTT23 Hà Nội, tháng 12 năm 2021 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CƠNG NGHỆ THƠNG TIN Báo cáo mơn học: Trí tuệ nhân tạo Đề tài: Ứng dụng kỹ thuật học máy nhận dạng biển số xe Giảng viên hướng dẫn : Th.S Đồn Thị Thanh Hằng Nhóm - Lớp: 70DCTT23 Thành viên Đỗ Trung Nghĩa Nguyễn Ngọc Ánh Hà Thị Ngọc Lan Phùng Quang Nhật Lê Văn Thao Hà Nội, tháng 12 năm 2021 MỤC LỤC CHƯƠNG 1: GIỚI THIỆU .3 1.1 Đặt vấn đề: 1.2 Bố cục đề tài: .4 CHƯƠNG 2: TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG BIỂN SỐ XE .5 2.1.Trạng thái toán: 2.2 Tổng quan bước thực hiện: .5 CHƯƠNG 3: QUY TRÌNH NHẬN DẠNG BIỂN SỐ XE 3.1 Tách biển số xe: 3.1.1 Tổng quan tách biển số: 3.1.2 Tìm vùng màu trắng: 3.1.3 Xác định vùng chứa biển số: 3.1.4 Khử nhiễu: 10 3.1.5 Chỉnh mức xám: 10 3.1.6 Cắt vùng chứa biển số: .11 3.1.7 Cắt biển số xác: 12 3.2 Định vị ký tự: 12 3.2.1 Tổng quan định vị kí tự: 12 3.2.2 Nhị phân biển số xe: 13 3.2.3 Chuẩn hóa biển số xe: 14 3.2.4 Phân đoạn ký tự 15 3.3.Nhận dạng ký tự(SVM) 18 3.1 SVM hoạt động 18 3.2 Margin SVM 19 3.3 Ứng dụng 20 CHƯƠNG 1: GIỚI THIỆU 1.1 Đặt vấn đề: Ngày giới bên cạnh việc tăng trưởng kinh tế phát triển ngành khoa học kỹ thuật nói chung, mà ngành cơng nghiệp sản xuất phương tiện giao thông lại ngành có tốc độ phát triển cực nhanh Sự phát triển ấy, thể rõ ràng thông qua hình ảnh phương tiện giao thơng giới ngày tăng cao đa dạng Tuy nhiên, điều lại gây áp lực người quan cấp quản lý, làm cho cơng tác quản lý giám sát khó khăn 1.2 Bố cục đề tài: Chương bao gồm trạng thái toán bước thực nhận diện biển số xe Chương bao gồm quy trình nhận dạng biển số xe Phần cuối kết luận tài liệu tham khảo CHƯƠNG 2: TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG BIỂN SỐ XE 2.1.Trạng thái tốn: Hình 2.1: Sơ đồ tổng qt 2.2 Tổng quan bước thực hiện: - Bao gồm bước để phát biển số: Bước 1: Định vị biển số hay gọi phát biển số: tìm khung chữ nhật gồm (x, y, width, height) bao lấy biển số ảnh Nếu tìm thấy cắt biển số để xử lý bước tiếp theo, kết bước ảnh biển số cắt Hình 2.2: Mẫu tách biển số Bước 2: Định vị ký tự hay cịn gọi tìm vị trí ký tự biển số cắt Kết bước ký tự màu đen, sau resize tất kích thước Bước dùng thuật tốn Hình 2.3: Mẫu tách kí tự Bước 3: Nhận dạng ký tự thuật toán Machine Learning, trường hợp SVM để phân lớp ký tự Hình 2.4: Mẫu nhận diện kí tự Cuối dùng SVM để nhận dạng ký tự Bước 4: Sắp xếp kết nhận dạng hiển thị ký tự theo định dạng biển số xe máy CHƯƠNG 3: QUY TRÌNH NHẬN DẠNG BIỂN SỐ XE 3.1 Tách biển số xe: 3.1.1 Tổng quan tách biển số: Bước 1: Định nghĩa vài thông số cho tốn như: Kích thước biển số lớn kích thước biển số nhỏ Tùy tốn mà định nghĩa Ví dụ tốn trơng xe vào bãi camera để gần, kích thước biển số to toán nhận diện xe qua cửa camera cao chẳng hạn kích thước biển số nhỏ Bước 2: Load ảnh thực resize(thay đổi) kích thước mong muốn Bước 3: Chuyển đen trắng thực thuật tốn tìm cạnh Bước 4: Tìm viền có hình Bước 5: Với viền tìm bước 4, lặp qua lượt chọn viền lớn hội đủ điều kiện: Có cạnh (sau approx): biển số đối tượng có cạnh Có kích thước nằm vùng kích thước định nghĩa bước Contour biển số cần tìm Bước 6: Tiến hành tìm điểm góc viền nói trích hình ảnh biển số khỏi hình ảnh xe Hình 3.1: Sơ đồ tổng quát xác định vùng chứa biển số xe Hình 3.2: Sơ đồ chi tiết khối tách biển số 3.1.2 Tìm vùng màu trắng: - Vì biển số màu trắng nên người thực nhị phân hóa ảnh cách gắn giá trị cho pixel trắng 1, ngược lại Đầu tiên, biến đổi ảnh gốc thành ảnh xám (có mức sáng từ đến 255), sau nhị phân hóa với ngưỡng thích hợp Nếu ảnh chụp vào ban đêm hay ban ngày ánh sáng mức ngưỡng 120 Còn ban ngày, nhiều ánh sáng 190 - Vấn đề nhận biết ảnh sáng hay ảnh tối? Người thực dựa vào lược đồ mức xám ( histogram – tần số xuất mức xám) ảnh Nếu tần số xuất pixel có giá trị khắc phục phép lọc 3.1.5 Chỉnh mức xám: - Nhằm khắc phục tính khơng đồng hệ thống gây Thơng thường có hai hướng tiếp cận: Giảm số mức xám: Thực cách nhóm mức xám gần thành bó trường hợp có mức xám chuyển ảnh đen trắng Tăng số mức xám: Thực nội suy mức xám trung gian kỹ thuật nội suy Kỹ thuật nhằm tăng cường độ mịn cho ảnh 3.1.6 Cắt vùng chứa biển số: - Sau xác định vùng chứa biển số, ta tiến hành cắt biển số ảnh màu RBG Do tương đồng ảnh nhị phân ảnh màu RBG nên toạ độ pixel ảnh nhị phân tương ứng tọa độ ảnh màu RBG Do xác định tọa độ ảnh nhị phân, ta dùng tọa độ để cắt ảnh màu RBG - Khi ta cắt biển số khỏi ảnh mà biển số bị nghiêng ta tiến hành cắt theo hình chữ nhật lớn hình chữ nhật lớn thực lượng biên an tồn để tránh việc thơng tin biển số Hình 3.7: Hình thể vùng ảnh cần tách với biên an tồn - Trong chương trình, người thực chọn vùng biên an toàn 30 pixel Trong bước này, ta không cắt biển số khỏi ảnh mà cắt vùng chứa biển số Việc cắt xem cắt thơ Hình 3.8: Ảnh chụp ban đầu Hình 3.9: Ảnh sau cắt thơ 3.1.7 Cắt biển số xác: - Sau xoay biển số phương thẳng đứng ta thực việc cắt biển số Đây việc quan trọng, kết định tới kết hệ thống nhận dạng biển số - Ta thực lại việc chọn vùng biển số với biên pixel điều kiện xác hơn: 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 3.10: Biển số sau cắt hoàn chỉnh - Sau cắt biển số ta tiến hành phân đoạn ký tự 3.2 Định vị ký tự: 3.2.1 Tổng quan định vị kí tự: Kết khối tách biển số ảnh màu RGB có chứa biển số xe Để nhận dạng ký tự biến số, ta tiến hành phân đoạn ký tự biến số Phân đoạn ký tự việc cắt ký tự biển số xe Sau nhận kết khối tách biển số, khối phân đoạn ký tự bắt đầu tiến hành tách ký tự biến số Trước phân đoạn ký tự, ảnh biến số chuyển thành ảnh nhị phân Ảnh nhị phân chuẩn hóa kích chuẩn, sau tiến hành cắt ký tự Kết trình phân đoạn ma trận chứa ảnh đen trắng ký tự Hình 3.11: Sơ đồ khối phân đoạn ký tự 3.2.2 Nhị phân biển số xe: - Đây bước quan trọng để nhận dạng biển số xe Bước 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 ( nhằm làm tăng độ tương phản ký tự với biển số) - Vì đơi biển số xe chụp có độ sáng khơng đồng mà chuyển dần từ sáng sang tối ngược lại Đây lý mà tách ngưỡng tồn phần (global thresholding) bị lỗi Chính lý mà em chọn tách ngưỡng thích ứng (adaptive thresholding) để nhị phân hóa ảnh đầu vào Tách ngưỡng thích ứng tốt tách ngưỡng toàn phần đa số trường hợp lại làm cho chương trình chậm có tính ngưỡng cục cho pixel - Nếu ảnh lớn, độ phân giải cao vấn đề Tuy nhiên biển số xe có kích thước nhỏ nên tốc độ chương trình khơng bị ảnh hưởng Hình 3.12: Ảnh qua trình nhị phân hóa 3.2.3 Chuẩn hóa biển số xe: Biển số xe chuẩn hóa sau lấy bù Hình 3.13: Hình sau chuẩn hóa Hình 3.14: Thuật tốn giải chuẩn hóa biển số 3.2.4 Phân đoạn ký tự Ma trận nhị phân biến số ngõ vào chương trình phân vùng ký tự Trước phân vùng ký tự, ta chia ma trận ảnh biển số thành hàng đưa hàng vào chương trình phân vùng Tuy nhiên đây, ta tiến hành nhận dạng ký tự hàng nên ta ngõ chương trình phân vùng ký tự ma trận hà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 ( mức màu trắng - màu ký tự, mức màu đen - màu ) Với ma trận hàng sau chia đôi, ký tự có pixel có mức ( trường hợp lý tưởng, mức ) Như cộng giá trị pixel theo cột, hình ta thấy giá trị vùng ký tự thấp ( tổng số pixel mức ) Từ đó, giải thuật phân vùng vùng vào giá trị nhỏ vùng lân cận phân chia theo vùng Ở đây, ta tìm phân vùng với ký tự Hình 3.15: Tổng số bit theo hàng biển số Chương trình có lựa chọn thơng số: Min_area digit_width Min_area diện tích cho phép nhỏ ký tự, tích giá trị cột lớn với độ rộng phân vùng Hình 3.16: Hình thể thơng số Min_area Digit_width độ rộng tối đa cho phép phân vùng ký tự Sau phân vùng ký tự ta tiến hành cắt ký tự khỏi biến số Hình 3.17: Hình thể thơng số Digit_width Hình 3.18: Các ký tự cắt khỏi biển số Dưới sơ đồ giải thuật phân vùng ký tự biển số xe: Hình 3.19: Giải thuật phân vùng ký tự 3.2.4.1 Chương trình chia đơi biển số Đây chương trình đơn giản, biến số sau chuẩn hóa kích thước [50 150] kích thước hàng sau chia đơi [25 150] 3.2.4.2 Chương trình phân vùng ký tự - Chương trình thực việc tìm vùng ranh ký tự, tương ứng vùng ranh giới liên tiếp vùng ký tự, chương trình trả vị trí vùng ký tự Tuy nhiên, chương trình trả vùng ký tự lớn ảnh hưởng môi trường Trường hợp ta tối ưu chương trình để tăng độ xác - Với kết trả nhỏ 9, ta xóa xá pixel vùng ranh giới ( gần giá trị ) Điều làm cho việc thực chương trình xác - Với kết trả lớn ( nghĩa có hay nhiều vùng không chứa ký tự ), ta lấy vùng có diện tích lớn ( thơng thường vùng khơng có ký tự nhỏ vùng có ký tự) 3.3.Nhận dạng ký tự(SVM) 3.1 SVM hoạt động - Ý tưởng SVM tìm siêu phẳng (hyper lane) để phân tách điểm liệu Siêu phẳng chia không gian thành miền khác miền chứa loại liệu Quy tắc 1: để chọn hyper-lane, chọn hyper-plane để phân chia hai lớp tốt Trong ví dụ đường B Quy tắc 2: xác định khoảng cách lớn từ điểm gần lớp đến đường hyper-plane Trong hình đường C SVM có khả mạnh việc chấp nhận ngoại lệ 3.2 Margin SVM Margin khoảng cách siêu phẳng đến điểm liệu gần tương ứng với phân lớp Trong ví dụ táo lê đặt mặt bàn, margin khoảng cách que hai táo lê gần Điều quan trọng phương pháp SVM ln cố gắng cực đại hóa margin này, từ thu siêu phẳng tạo khoảng cách xa so với táo lê Nhờ vậy, SVM giảm thiểu việc phân lớp sai (misclassification) điểm liệu đưa vào 3.3 Ứng dụng - Thuật toán: với ảnh 2D chuyển thành ảnh 1D Sau ghép ảnh 1D thành ảnh 2D dùng để huấn luyện - Ảnh ký tự 2D chuyển sang 1D