CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NHẬN DIỆN BIỂN SỐ XE 1.1 Tổng quan về đề tài Hệ thống nhận diện biển số xe là một lĩnh vực nghiên cứu quan trọng với nhiều ứng dụng thực tiễn trong quản lý giao thông, bảo mật, và tự động hóa. Biển số xe chứa các ký tự đặc biệt giúp nhận dạng phương tiện, vì vậy việc tự động hóa quá trình nhận diện này sẽ mang lại hiệu quả cao trong các hệ thống giám sát và quản lý. Hệ thống nhận diện biển số xe thường bao gồm hai bước chính: Phát hiện biển số: Xác định vị trí của biển số trong hình ảnh. Nhận diện ký tự: Trích xuất và phân loại các ký tự trên biển số.
Công nghệ YOLO (You Only Look Once) đã chứng minh được tính hiệu quả trong việc phát hiện đối tượng thời gian thực, là một lựa chọn phù hợp để giải quyết bài toán này.2 Phạm vi mục tiêu của đề tài - Phạm vi: Nghiên cứu và ứng dụng YOLO để nhận diện biển số xe. Đề xuất giải pháp để khắc phục những thách thức như nhiễu nhiễu điều kiện ngoại cảnh không thuận lợi. - Mục tiêu: Xây dựng mô hình phát hiện biển số xe dựa trên YOLO5. Triển khai một hệ thống có thể nhận diện biển số xe với độ chính xác cao trong các điều kiện môi trường khác nhau (ánh sáng, góc nhìn, vật cản).3 Khái niệm 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 kiểm soát, 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 (đối với xe quân sự do Bộ Quốc phòng cấp) khi mua xe mới hoặc chuyển nhượng xe.
Biển số xe được làm 10 bằng hợp kim nhôm sắt, có dạng hình chữ nhật hoặc hơi vuông, trên đó có in số và chữ (biển xe dân sự không dùng các chữ cái I, J, O, Q, W. Chữ R chỉ dùng cho xe rơ- moóc, sơ-mi rơ-moóc) cho biết: Vùng và địa phương quản lý, các con số cụ thể khi tra trên máy tính còn cho biết danh tính người chủ hay đơn vị đã mua nó, thời gian mua nó phục vụ cho công tác an ninh, đặc biệt trên đó còn có hình Quốc huy Việt Nam dập nổi. Tiêu chuẩn về kích thước: Ở mỗi nước thường có tiêu chuẩn về kích thước nhất định, còn riêng Việt Nam tỉ lệ kích thước giữa các biển số là gần như giống nhau. Biển số xe có 2 loại, kích thước như sau: Loại biển số dài có chiều cao 110 mm, chiều dài 470 mm; loại biển số ngắn có chiều cao 200 mm, chiều dài 280 mm nên ta sẽ giới hạn tỉ lệ cao/rộng là 3.
Số lượng kí tự trong biển số xe nằm trong khoảng [7,9]. Chiều cao của chữ và số: 80mm, chiều rộng của chữ và số: 40mm. Từ những đặc điểm trên ta có thể thiết lập nhưng thông số, điều khiển để lọc chọn những đối tương phù hợp mà ta cần1”.4 Hướng giải quyết bài toán Ngày nay, có rất nhiều cách tiếp cận đề tài khác nhau, tuy nhiên lần này trong phạm vi đồ án này em sẽ giải quyết vấn đề theo các bước chính: - Phát hiện vị trí và tách biển số xe từ một hình ảnh có sẵn từ đầu vào là camera, hình ảnh hoặc video - Cắt biển số phát hiện - Phân loại biển ( 1 dòng hay 2 dòng ) - Nhận diện kí tự bằng yolo 1 Websiate “https://www.vn/m/tintuc/10770/Che-lap-bien-so-xe-bi-phat-len-den-mot-trieu-d%C3%B4ng.html” 11 CHƯƠNG 2: CƠ SỞ LÍ THUYẾT 2.1 Tổng quan về Deep Learning 2.1Deep Learning là gì? “Trong những năm gần đây, AI (Trí Tuệ Nhân Tạo), đặc biệt là Machine Learning, đã đạt được những thành tựu vượt trội. AI hiện diện trong hầu hết các lĩnh vực của cuộc sống, với các ứng dụng tiêu biểu như xe tự hành hay hệ thống chơi cờ Deep Blue.
Thay vì dựa vào lập trình cứng theo từng bước, Machine Learning học hỏi từ dữ liệu, cho phép hệ thống đưa ra dự đoán chính xác, mang lại sự tiện lợi và hiệu quả cao cho người dùng.1 Deep learning AI hiện đang thu hút sự chú ý mạnh mẽ từ các nhà đầu tư và phát triển nhanh chóng với tốc độ vượt bậc. Trong số các đột phá của AI, Deep Learning nổi bật là công nghệ then chốt, đưa khả năng của máy tính tiến gần hoặc thậm chí vượt qua hiệu suất của con người ở một số lĩnh vực.1 minh họa rõ rằng Deep Learning là 12 một tập hợp con của Machine Learning, nhưng vượt trội hơn Machine Learning truyền thống ở khả năng xử lý và giải quyết các vấn đề phức tạp. Nhờ khai thác hiệu quả các tập dữ liệu lớn (Big Data) với độ chính xác cao, Deep Learning đã mở ra những ứng dụng mạnh mẽ, giải quyết những thách thức mà trước đây chưa thể thực hiện được.2 Cách hoạt động của Deeplearning “Deep Learning là một phương pháp của Machine Learning. Mạng nơ-ron nhân tạo trong Deep Learning được xây dựng để mô phỏng khả năng tư duy của bộ não con người.
Một mạng nơ-ron bao gồm nhiều lớp (layer) khác nhau, số lượng layer càng nhiều thì mạng sẽ càng “sâu”. Trong mỗi layer là các nút mạng (node) và được liên kết với những lớp liền kề khác. Mỗi kết nối giữa các node sẽ có một trọng số tương ứng, trọng số càng cao thì ảnh hưởng của kết nối này đến mạng nơ-ron càng lớn. Mỗi nơ-ron sẽ có một hàm kích hoạt, về cơ bản thì có nhiệm vụ “chuẩn hoá” đầu ra từ nơ-ron này.
Dữ liệu được người dùng đưa vào mạng nơ-ron sẽ đi qua tất cả layer và trả về kết quả ở layer cuối cùng, gọi là output layer.2 Deeplearning hoạt động Trong quá trình huấn luyện mô hình mạng nơ-ron, các trọng số sẽ được thay đổi và nhiệm vụ của mô hình là tìm ra bộ giá trị của trọng số sao cho phán đoán là tốt nhất. Các hệ thống Deep Learning yêu cầu phần cứng phải rất mạnh để có thể xử lý được lượng dữ liệu lớn và thực hiện các phép tính phức tạp. Nhiều mô hình Deep Learning có thể mất nhiều tuần, thậm chí nhiều tháng để triển khai trên những phần cứng tiên tiến nhất hiện nay.2 Giới thiệu về YOLO.1 Khái niệm về YOLO: YOLO (You Only Look Once) dùng để nhận dạng đối tượng được thiết kế để nhận diện các vật thể real-time. Cách thức hoạt động của YOLO theo cơ chế phát hiện vật thể theo từng vùng trên ảnh.
Ảnh sẽ được YOLO chia thành S x S ô. Nguyên lý hoạt động: Yolo được tạo ra từ việc kết hợp giữa các convolutional layers và connected layers: Convolution network có chức năng tiến hành trích xuất đặc trưng ảnh Extra layers (fully connected layers) phân tích, phát hiện vật thể. Trả về output là một matrix AA có kích thước: SxS x(5xB+C) Trong đó, B là số bound box, mỗi bound box gồm 5 số liệu: (x,y,w,h, confidence_score) với (x, y ) là tọa độ tâm của bounding box còn (w, h) lần lượt là chiều rộng và chiều cao. Confidence score là xác suất tại ô đó có đối tượng hay không.
Cuối cùng là C - đại diện cho phân bố xác suất về loại đối tượng. Non-max suppression: NMS (Non-Maximum Suppression) là một kỹ thuật để loại bỏ các bounding box dư thừa khi có nhiều bounding box dự đoán cho cùng một vật thể. 14 Nguyên lý hoạt động: Lựa chọn: Chọn bounding box có xác suất cao nhất. Loại bỏ: Loại bỏ các bounding box khác có độ chồng lấn lớn với bounding box đã chọn.
Độ chồng lấn được đo bằng chỉ số Intersection over Union (IoU). Lặp lại: Tiếp tục quá trình này với bounding box còn lại cho đến khi không còn bounding box nào vượt quá ngưỡng IoU định trước.3 Non-maximal suppression trong YOLO Hàm tính IoU: Là hàm đánh giá độ chính xác của object detection- Đánh giá định lượng sự giống nhau giữa ground truth box và predicted box. - IoU có giá trị trong khoảng [0, 1]. 15 - IoU càng lớn thì dự đoán càng chính xác.4 Minh hoạ hàm tính IoU Hàm mất mát(Loss Function) Hình 2.5 Các hàm loss function trong YOLO Classification loss: tính toán sai số trong việc dự đoán loại nhãn của object.
Hàm này chỉ tính trên những ô lưới có xuất hiện object, những ô khác không cần quan tâm Localization loss: hàm mất mát dùng để tính giá trị lỗi cho bounding box được dự đoán (predicted box) bao gồm x, y, w, h so với vị trí thực tế từ dữ liệu huấn luyện của mô hình (ground truth box). Tại mỗi ô chứa object, ta chọn 1 bounding box có IoU tốt nhất rồi sau đó tính loss theo các bounding box này. 16 Confidence loss: hàm mất mát giữa dự đoán bounding box đó có chứa object nào so với label thực tế tại ô vuông đó, được tính trên cả những ô vuông chứa object và không chứa object Anchor box Anchor box là ý tưởng của FasterRCNN. Người ta nhận thấy rằng trong hầu hết các bộ dataset, các bbox thường có hình dạng tuân theo những tỷ lệ và kích cỡ nhất định.
Bằng việc dùng Kmean để phân cụm, ta sẽ tính ra được B anchor box đại diện cho các kích thước phổ biến. thay vì predict trực tiếp (x,y,w,h), ta predict ra bộ offset - tức độ lệch giữa groundtruth_bbox với các anchor box.Tìm hiểu về mô hình YOLO5.2 Kiến trúc của YOLO Bao gồm: base network là các mạng convolution làm nhiệm vụ trích xuất đặc trưng. Phần phía sau là những Extra Layers được áp dụng để phát hiện vật thể trên feature map của base network. Base network của YOLO sử dụng chủ yếu là các convolutional layer và các fully conntected layer.
Các kiến trúc YOLO cũng khá đa dạng và có thể tùy biến thành các version cho nhiều input shape khác nhau. 17 Thành phần Darknet Architechture được gọi là base network có tác dụng trích suất đặc trưng. Output của base network là một feature map có kích thước 7x7x1024 sẽ được sử dụng làm input cho các Extra layers có tác dụng dự đoán nhãn và tọa độ bounding box của vật thể.7 Sơ đồ kiến trúc mạng Yolo 2. Output của YOLO Output của mô hình YOLO là một véc tơ sẽ bao gồm các thành phần: T y =[ p0 , ⟨ t x , t y , t w , t h ⟩ , ⟨ p 1 , p2 ,.
, p c ⟩] ¿ ¿ Trong đó p0 là xác suất dự báo vật thể xuất hiện trong bounding box. ⟨ t x ,t y ,t w ,t h ⟩giúp xác định bounding box. Trong đó t x ,t y là tọa độ tâm và t w ,t hlà ¿ kích thước rộng, dài của bounding box. ⟨ p1 , p2 , … , p c ⟩là véc tơ phân phối xác suất dự báo của các classes.