Cung cấp các thông tin cơ bản cho người dùng: Hình ảnh thời gian thực từ camera, hinh anh sau khi ghi hoặc doc tir thé chip, số biên số sau khi quét được, thời gian hiện tại và thời gian
Giảm nhiễu bằng bộ lọc GausianNoise được hiểu cơ bản là các dạng chấm hạt nhỏ phân bố trên hình ảnh Noise có thê làm biến dạng các chỉ tiết trong ảnh khiến cho chất lượng ảnh thấp
Bộ lọc Gaussian được cho là bộ lọc hữu ích nhất, được thực hiện bằng cách nhân chập ảnh đầu vào với một ma tran loc Gaussian , sau dé cộng chúng lại dé tao thanh anh dau ra
Xây dựng hệ thống nhận diện bản số xe Trang 12/34
Trong hình ảnh, các thành phần như vùng trơn, góc/cạnh và nhiễu đều quan trọng Cạnh thường mang thông tin đặc trưng, liên quan đến đối tượng trong ảnh Đề phát hiện cạnh, có nhiều giải thuật, và trong trường hợp này, tôi chọn giải thuật Canny.Giải thuật Canny được ưa chuộng vì ít bị ảnh hưởng bởi nhiễu và có khả năng phát hiện cạnh yếu Phương pháp này bao gồm 4 bước chính:
-_ Bước l ; Giảm nhiễu Thông thường đề giảm nhiễu dùng bộ lọc gaussian kích thước 5x5 Bước 2 : Tính toán Gradient
Vì đường biên trong ảnh là nơi phân cách giữa các đối tượng khác nhau, nên tại đó gradIien của nó sẽ có biến đổi mạnh mẽ nhất Đề tính toán eradien trong ảnh, ta có thê sử dụng bộ lọc Sobel, hoặc trực tiếp nhân chập ma trận ảnh với các mặt nạ theo hướng x và y, chăng hạn:
Tim gradient và hướng được làm tròn về 4 hướng: hướng ngang (0 độ), hướng chéo bên phải (45 độ), hướng dọc (90 độ) và hướng chéo trái (135 độ)
Bước 3 : Loại bỏ những điểm không phải là cực đại
Bước này sẽ tìm ra những điểm ảnh có khả năng là biên ảnh nhất bằng cách loại đi những giá trị không phải là cực đại trong bước tìm gradien ảnh ở trên Ta thấy rằng, với giá trị của góc 9 ở trên thì biên của đối tượng có thê tuân theo bốn hướng, và ta có bốn khả năng sau:
- Nếu9=0, khi đó điểm A sẽ được xem xét là một điêm trên biên độ nếu độ lớn gradien tại A lớn hơn gradien của các điểm tại A3, A7
Xây dựng hệ thống nhận diện bản số xe Trang 13/34
- Nếu8E, khi đó điểm A được xem là một điểm trên biên độ néu độ lớn gradien tại A lớn hơn độ lớn ứradien của cỏc điểm tại A4, A8
- - Nếu0, khi đó điểm A sẽ được coi là một điểm nằm trên biên độ néu độ lớn gradien tại A lớn hơn độ lớn ứradien của cỏc điểm tại A1, A5
- Néu6@ = 135, khi đó điểm A được xem là một điểm nằm trên biên độ nếu độ lớn gradien tại A lớn hơn độ lớn ứradien của cỏc điểm tại A2, A6
INCLUDEPICTURE "“https://codelearn.io/Media/Default/Users/NTN/IMG3/04 png" \*
"https://codelearn.io/Media/Default/Users/NTN/IMG3/04 png" \* MERGEFORMATINET INCLUDEPICTURE "https://codelearn.io/Media/Default/Users/NTN/IMG3/04.png" \*
"https://codelearn.io/Media/Default/Users/NTN/IMG3/04 png" \* MERGEFORMATINET
Bước 4: Lọc ngưỡng Lọc ngưỡng là quy trình quan trọng trong việc phát hiện cạnh trong hình ảnh Ở bước này, chúng ta tập trung vào các pixel dương trên mặt nạ nhị phân tạo ra từ bước trước Nếu giá trị gradient vượt quá ngưỡng max val, pIxel đó được xác định là một phần của cạnh, một thông tin quan trọng
Ngược lai, néu gia trị gradient nhỏ hơn ngưỡng min val, chúng ta loại bỏ pixel đó, giả sử đó có thể là nhiễu hoặc không đáng chú ý
Các pixel năm giữa hai ngưỡng trên được kiêm tra kỹ lưỡng Nếu chúng liền kể với các pixel được đánh dấu là "chắc chắn là cạnh," chúng được giữ lại Ngược lại, nếu chúng không liền kề với bất kỳ pixel cạnh nào, chúng bị
Xây dựng hệ thống nhận diện bản số xe Trang 14/34 loại bỏ Sau bước này, đề loại bỏ nhiều, có thê thực hiện thêm bước hậu xử lý, tập trung vào việc loại bỏ những pixel cạnh rời rạc hoặc cạnh ngắn ơh Fan" minVal
Sau khi sử đụng phát hiện biên canny, dù đã trích xuất được những chi tiết cạnh của biến số, tuy nhiên vẫn còn quá nhiều chỉ tiết thừa trong hình ảnh, từ đây chúng ta sẽ vẽ contour, áp đụng nhưng đặc điểm của biến số để lọc lây ra biên số chính xác
Có thê hiểu Contour là tập hợp các điểm tạo thành đường cong kín bao quanh một đối tượng nào đó Thường dùng đề xác định vị trí, đặc điểm của đối tượng
Hàm trong OpenCV được biêu diễn như sau: findContours(InputOutputArray image, OutputArratOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset = Point() )Cactham
Xây dựng hệ thống nhận diện bản số xe Trang 15/34
SỐTừ 2 đỉnh có tọa độ lần lượt là A(xI, yL) và B(xy2) ta có thê tính đượccạnh đối và cạnh kề của tam giác ABC
BAC = tan (=) = tan (=) canh ke AC 3 Ta tinh được góc quay
4 Xoay anh theo goc quay da tinh Néu nguoc lai diém A nam cao hon điểm B ta cho g6c quay 4m
Từ hình ảnh nhị phân, chúng ta lại tìm thấy đường viền của các ký tự (phần màu trắng) Sau đó vẽ các hình chữ nhật xung quanh các ký tự này Tuy nhiên, việc tìm kiếm theo đường viền này cũng gây nhiễu, khiến máy xử lý kém và tìm thấy những hình ảnh không phải là ký tự Chúng ta sẽ áp dụng các đặc điểm về tỷ lệ chiều cao/chiều rộng của ký tự, điện tích của ký tự so với biển số xe, các đường màu vàng là đường viền và có nhiều nhiễu so với ảnh nhị phân .như mép biển số, đường kẻ, cham Sau khi ap dung cac điều kiện, các hình chữ nhật màu xanh sẽ được vẽ xung quanh các ký tự
Xây dựng hệ thống nhận diện bản số xe Trang 18/34
2.1.15 Tìm và tách kí tự Sau khi đã nhận dạng từng kí tự bằng hình chữ nhật và cũng đã có tọa độ vị trí 4 đỉnh của hình đó, ta lúc này có thể cắt hình ảnh ki tự đó ra phục vụ cho giai đoạn sau “Nhận diện kí tự” Lưu ý ở đây ta cắt ảnh nhị phân chứ không cắt từ ảnh gốc
KNN là một trong những thuật toán học có giám sát đơn giản nhất trong học máy, có thê được sử dụng cho cả bài toán phân loại và hồi quy Ví dụ, để phân biệt các giống chó khác nhau bằng cách so sánh các đặc điểm về mắt, long, tai, v.v., chung ta có thế biết nó thuộc giống nào từ những giống chó mà chúng ta đã thấy
KNN hoạt động theo quy trình gồm 4 bước chính:
L Xác định tham số K (số lân cận gần nhất)
2.Tính khoảng cách từ điểm đang xét đến tất cả các điểm trong tập dữ liệu đã cho 3 Sắp xếp các khoảng cách này theo thứ tự tăng đần
4 Xét trong tập hợp K điểm gần điểm đang xét nhất nếu số đó là ước lượng của Hạng mục nào cao hơn thi điêm xét vào được coi là thuộc hạng mục này
Xây dựng hệ thống nhận diện bản số xe Trang 19/34 Điểm đang xét Loại A Loại B
Loại điểm được xem xét phụ thuộc vào hệ số K hoặc trọng số khoảng cách mả người dùng đặt ra tùy theo vấn đề đang xem xét Ví dụ, trong hình trên, nếu chúng ta xét K =3 thi điểm đang xét thuộc loại B, trong khi tại K = 6 thì nó thuộc loại A.Ngoài ra, khi sử dụng K = I, các điểm gần hơn hoặc gần hơn có thê được tính trọng số nhiều hơn dé dam bảo kết quả tối ưu
Thông thường việc tính khoảng cách đến các điêm sẽ theo công thức Euclid: dœy)= |ệ)@œi- y0”
Khi thực hiện so sánh có thê bỏ qua dấu căn bậc 2 Ngoài ra nếu như khoảng cách giữa các biến quá lớn như biến x lớn hơn xấp xỉ 1000000 lần thì ta cũng cần chuân hóa lại dữ liệu theo công thức:
Xây dựng hệ thống nhận diện bản số xe Trang 20/34
THIẾT KẺ DỮ LIỆU3.1 Danh mục chỉ tiết dữ liệu
Dữ liệu các nguồn chứa video và hình ảnh biên sô xe Việt Nam, được thu thập từ các nguôn đáng tin cậy Đây là đữ liệu thô gôm các ảnh có chứa biên sô xe chưa gán nhãn
Xây dựng hệ thống nhận diện bản số xe Trang 21/34
3.2 Lược đồ tổng quát của dữ liệu
| Đầu vào là file video/ảnh |
| Tách ra từng frame ảnh
Giảm nhiêu băng bộ lọc Gauss
HE Đầu tiên, chúng tôi cắt từng khung hình từ video đầu vào đề xử lý việc tách biển số xe Sau đó, chúng tôi chuyên đổi hình ảnh sang thang độ xám Sở dĩ cần chuyên sang ảnh xám là vì ảnh xám cung cấp ít thông tin hơn cho từng pixel, giảm lượng thông tin nhằm tăng tốc độ xử lý, đơn giản hóa thuật toán mà vẫn đảm bảo các tác vụ cần thiết
Trong bài viết này, chúng tôi chuyển đổi ảnh thang độ xám từ hệ thống HSV mau thay vi RGB, vì trong không gian màu HSŠV chúng ta có ba giá trị chính: vùng mau (hue), d6 bao hoa (saturation), cwong dé anh sang (value) Vi ly do này, không gian màu HSV phu hop hon với những thay đổi đưới ánh sáng của môi trường bên ngoài Khi chuyên đôi, chúng ta cần một hình ảnh màu xám gồm một chuỗi các giá trị cường độ ánh sáng được tách biệt khỏi hệ màu HSYV
Tiếp theo, chúng tôi tăng độ tương phản bằng cách sử đụng hai thao tác hình thái Top Hat va Black Hat để làm nổi bật biển số xe ở chế độ nền và sau đó hỗ trợ xử ly nhị phân Sau đó, chúng tôi giảm nhiễu bằng bộ lọc Gaussian đề loại bỏ các chỉ tiết nhiễu có thê ảnh hưởng đến quá trình nhận đạng đồng thời tăng tốc độ xử lý
Xây dựng hệ thống nhận diện bản số xe Trang 22/34
MOTA TONG QUAN HE THONGTac nhan ® Người dùng ® Hệ thông
Mục đích ® Nhận dạng biên số xe ® - Hiên thị thông tin chị tiệt về chủ sở hữu của xe dựa trên biên số đã nhận diện Điêu kiện ® - Người dùng phải có hình ảnh hoặc video về biên sô xe
Luỗng sự kiện chính ® - Người dùng mở chương trình ® - Người dùng tải lên hình ảnh hoặc video về biên số xe e Hệ thống nhận dạng biên số xe e Hệ thống hiển thị biển số xe đã được nhận dạng
Luỗng sự kiện thay thế e - Nếu hình ảnh hoặc video về biển số xe không rõ ràng, hệ thống sẽ thông báo cho người dùng và yêu câu họ tải lên lại
Luông sự kiện ngoại lệ e - Nếu hệ thống không thể nhận dạng biến số xe, nó sẽ thông báo cho người dùng
4.2 Danh sách các tác nhần và mo ta
Tácnhân | Mô tả tác nhân Ghi chú
Xây dựng hệ thống nhận diện bản số xe Trang 23/34
Người dùng Là tác nhân chính thực hiện xác nhận kết quả và yêu câu hiện thị thông tin chỉ tiết
Hệ Thống Tác nhân này thực hiện truy vấn cơ sở dữ liệu và hiển thị thong tin chi tiết
4.3 Danh sách Use case và mô tả a Tén Use case Mô tả ngắn gọn Use Chức năng Ghi chú case ÚC 001 | Nhận — Diện Người dùng đưa vào | nhân dạng và hiển
Biến Số Xe ảnh hoặc video Hệ thị biển sO xe thong dua ra két qua sau khi nhan dang va in lén anh sốc
UC 002 | Hiển Thị Kết | Hiến thị thông tin chỉ | hiển thị thông tin Quả tiết về chủ sở hữu của | chỉ tiết về chủ sở xe dựa trên biên số đã | hữu của xe nhận diện
4.4 Các điều kiện phụ thuộc
- - Chương trình chạy trên hệ điều hành windows - _ Chương trình được viết trên Visua Studio Code - _ Phiên ban python 3.7.8
Xây dựng hệ thống nhận diện bản số xe Trang 24/34
ĐẶC TẢ CÁC YÊU CÂU CHỨC NĂNG (FUNCTIONAL)5.1 UC_001_Nhận Diện Biên Số Xe
Use case: /001_ Nhận Diện Biên Số Xe }
Mục đích: Nhận điện và đọc chính xác biển số xe từ hình ảnh được cungcấp bởi camera hoặc thiết bị ghi hình
M6 tả: Người sử dụng khởi dong camera hoặc thiét bi ghi hình để bắt dau qua trình nhận điện biến số xe
Hệ thống sử dụng mô hình học mmáy và thuật toản ÓCR đề nhận điện ký tự trên biên sô xe
Sau khi nhận diện thành công, hệ thông truyền thông tin về biên SỐ xe đến hệ thông xử ly
Tác nhân: Người sử dụng: Camera hoặc thiết bị ghỉ hình
Hệ thống nhận diện biến số Điều kiện trước: Camera hoặc thiết i ghi hinh da duoc kich hoat va cung cap hình ảnh chất lượng du.
Luong sự kiệnBiểu đồHệ Thống Nhận Diện Biên Số
Người Sử Dụng ( Camera, Thiết
Xây dựng hệ thống nhận diện bản số xe Trang 26/34
52 UC 002 Hỗ Trợ Đa Ngôn Ngữ
5.3 Use case: /002 Hỗ Trợ Da Ngôn Ngữ ¿
Muc dich: Hỗ trợ nhận điện biển số xe ở nhiễu ngôn ngữ khác nhau
Mô tả: Hệ thống nhận diện biên số được thiết kế đề xứ lý và nhận diện ngôn ngữ theo yêu cẩu
Cưng cấp khả năng mở rộng đề hỗ trợ thêm ngôn ngữ dựa trên nhu cấu
Tác nhân: Hệ thống nhận diện biển số Điều kiện trước: Hệ thống đã được cấu hình đề hỗ trợ một danh sách các ngôn ngữ
Luong sự kiện chính (Basic flows)
Hệ thống nhận diện biến số xe từ hình ảnh
Xác định ngôn ngữ trên biên số và chuyên đên bước nhận diện
Luéng su kién phu (Alternative Flows):
Nếu ngôn ngữ không được hỗ trợ:
-Hệ thông thông báo lỗi
-Người quản trị có thê cấu hình hệ thông đề hỗ trợ ngôn ngữ moi Điều kiện sau: Thông tin về biên số xe với ngôn ngữ đã được xác định được
Chuyên đên hệ thông xử ly
Xây dựng hệ thống nhận diện bản số xe Trang 27/34
THIET KE GIAO DIENNHAN DANG BIEN SO XE VIET NAMGiao diện người dùngNhận Dạng Biển Số Xe
Xây dựng hệ thống nhận diện bản số xe Trang 29/34
DEMO KÉTQUÁSau khi nhắn nút chọn ảnh từ thư mục tùy ý, ảnh sẽ hiện lên ở khung label góc trên bên phải Tiếp theo ta nhắn nút nhận dạng đề tiến hành nhận dạng biển số và ¡n lên label chính giữa Nút thông tin dùng đề hiển thị các thông tin của biển số xe như : tên, tỉnh,
Hinh 3.19 Anh demo nhén dang biển số xe từ ảnh
Ta nhắn nút bắt đầu đề tiễn hành chạy video và nhận dạng ảnh, các thông tin trích xuất từ ảnh sẽ hiện ra ở các label bên phải như : biến số, tỉnh, tên, Ta có thê nhấn nút đừng để đừng video và quá trình nhận đạng Ở phía dưới em cho hiển thị thêm anh vé contour dé chung ta hiểu rõ hơn bản chất
Xây dựng hệ thống nhận diện bản số xe Trang 30/34
KIEM THU PHAN MEM 1 Kiểm thử bộ phậnNhận Dạng Biển Số Xe
Xây dựng hệ thống nhận diện bản số xe Trang 31/34
Nhận Dạng Biển Số Xe
Xây dựng hệ thống nhận diện bản số xe Trang 32/34
8.3 Kiem thir hé thong ® | Frame = n x
Nhận Dạng Biển Số Xe
Xây dựng hệ thống nhận diện bản số xe Trang 33/34
BO MON TINT NHOM 21DTHIC-Nhom-3