1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng hệ thống nhận diện biển số xe

34 1 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống nhận diện biển số xe
Tác giả Nguyén Thi Lé Vi, V6 Quéc Duong, Trần Thiện Nhã, Duong Vi Khang, Trinh Tam Nguyén, Đồng Phước An, Lé Truong Cao Thang, Mai Phan Huy
Người hướng dẫn NGUYÊN THỊ LỆ VI, Đặng Như Phú
Trường học ĐẠI HỌC NGUYÊN TÁT THÀNH
Chuyên ngành Công nghệ thông tin
Thể loại Dự án
Năm xuất bản 2023
Định dạng
Số trang 34
Dung lượng 11,33 MB

Nội dung

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 Gausian

Noise đượ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 được

cạ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ỆU

3.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 THONG

Tac 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 cung

cấ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ùng

Nhậ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ận

Nhậ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

Ngày đăng: 04/09/2024, 17:14

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w