2.1. Những điểm chung của đa số các phương pháp
Thông thường luồng xử lý của các phương pháp được mô tả như hình dưới đây:
Nhìn vào hình trên ta có thể thấy để giải quyết được bài toán nhận diện biển số xe thì chúng ta phải đi giải quyết ba bài toán con.
Bạn đang xem: Tìm hiểu kiến trúc mạng WPOD cho bài toán phát hiện biển số xe
- Bài toán thứ nhất: Định vị vùng chứa biển số xe và tách ra được biển số.
- Bài toán thứ hai: Định vị ký tự.
- Bài toán thứ ba: Nhận dạng ký tự.
2.2. Định vị vùng chứa biển số xe
2.3. Định vị ký tự
Sau khi đã xác định được vùng biển số xe thì việc tiếp theo là định vị và tách riêng từng vùng của các ký tự trên biển số ra. Để định vị và tách riêng được từng vùng ký tự trên biển số xe được tốt nhất thì ảnh thu được từ bước Định vị biển số xe phải là ảnh với góc nhìn chính diện tới biển số xe, hạn chế có các chi tiết thừa từ thân xe.
2.4. Nhận dạng ký tự
Các vùng ký tự của bước trước sẽ được xử lý ở bước này để ra đưa ra được ký tự tương ứng với từng vùng và gộp lại trả về thông tin của biển số xe.
Hiện nay ta có thể gộp 2 bài toán Định vị ký tự và Nhận dạng ký tự thành một bài toán chung đó là OCR(Optical Character Recoginition)
Nội dung bài viết của mình hôm nay sẽ tập trung giới thiệu với các bạn một kỹ thuật được sử dụng để giải quyết bài toán thứ nhất đó chính là sử dụng mạng WPOD.
Và WPOD ra đời để giải quyết vấn đề đó !
Hình 4 là kết quả detect khi sử dụng WPOD, ta có thể thấy vùng biển số xe detect ra không có các chi tiết thừa từ thân xe và WPOD đã chuyển đổi vùng biển số xe này về hướng chính diện.
Xem thêm : Sau 15-8, bán xe không nộp lại biển số, đăng ký sẽ bị phạt
Vậy nó hoạt động như thế nào để làm được điều đó ?
3.1. Chi tiết về kiến trúc mạng WPOD
Kiến trúc của mạng bao gồm 21 lớp convolutional trong đó có 14 lớp là nằm trong các khối residual. Tất cả các lớp đều dùng filter với kích thước 3×3 và dùng hàm kích hoạt là Relu ngoại trừ khối Detection. Khối Detection là khối đáng chú ý nhất trong kiến trúc mạng này.
3.2. Loss function
Hàm loss của mạng bao gồm 2 thành phần gồm độ sai lệch giữa 4 điểm góc của biển số dự đoán và thực tế và thành phần liên quan đến xác suất có/không có đối tượng.
Thành phần thứ nhất của hàm loss được tính như sau:
- pi=[xi,yi]Tmathbf{p}_i ={[{x_i, y_i}]}^mathbf{T}pi=[xi,yi]T với i=1,2,3,4i=1,2, 3,4i=1,2,3,4 lần lượt là toạ độ của 4 góc thực tế của biển số đã được gán nhãn lần lượt theo chiều kim đồng hồ từ góc trên cùng bên trái.
- q1=[−0.5,−0.5]Tmathbf{q_1} =[-0.5, -0.5]^Tq1=[−0.5,−0.5]T, q2=[0.5,−0.5]Tmathbf{q_2} =[0.5, -0.5]^Tq2=[0.5,−0.5]T, q3=[0.5,0.5]Tmathbf{q_3} =[0.5, 0.5]^Tq3=[0.5,0.5]T, q4=[−0.5,0.5]Tmathbf{q_4} =[-0.5, 0.5]^Tq4=[−0.5,0.5]T lần lượt là toạ độ của 4 đỉnh của hình vuông xung quanh 1 cell của output features map.
Để tính được sai lệch giữa 4 góc thực tế (pimathbf{p_i}pi) và 4 góc mạng dự đoán đựa trên qimathbf{q_i}qi mạng sẽ xây dựng 1 ma trận tranform các điểm qimathbf{q_i}qi về 4 điểm mới để so sánh với 4 điểm pimathbf{p_i}pi góc thực tế đã được gán nhãn.
trong đó vimathbf{v_i}vi là chiều thứ iii tại một điểm trên ouput features map, (m,n)(m, n)(m,n) là toạ độ điểm đang xét trên output features map.
Để có thể tính toán sai lệch giữa 4 điểm góc dự đoán Tmn(q)T_{mn}(mathbf{q})Tmn(q) và 4 điểm góc thực tế thì ta cần đưa 4 điểm góc thực tế trên ảnh input về các toạ độ tương ứng trên output features map do trong quá trình lan truyền tiến qua mạng kích thước output của mạng đã bị giảm xuống so với kích thước input.
Trong đó α=7.75alpha =7.75α=7.75, Ns=4N_s = 4Ns=4, NsN_sNs là tỉ lệ kích thước của output features map và ảnh input.
Xem thêm : Hướng dẫn tra cứu biển số xe ô tô tỉnh Hải Dương chi tiết nhất
Như vậy thành phần thứ nhất của hàm loss tại một điểm (m,n)(m, n)(m,n) sẽ là:
Thành phần thứ 2 của hàm loss liên quan tới xác suất có/không có đối tượng: xét một cell (m,n)(m, n)(m,n) trên output features map ta có:
với logloss(a,b)=−a∗log(b)logloss(a, b)=-a*log(b)logloss(a,b)=−a∗log(b), Iobj=1mathbb{I}_{obj} =1Iobj=1 khi tại cell (m,n)(m, n)(m,n) có đối tượng và Iobj=0mathbb{I}_{obj} =0Iobj=0 khi tại cell đó không có đối tượng.
Tổng hợp 2 thành phần ta có hàm loss của mạng là :
3.3. Huấn luyện mô hình
Dữ liệu dùng để huấn luyện mô hình gồm 196 ảnh từ các tập dataset khác nhau liên quan đến phương tiện giao thông. Với mỗi ảnh, vùng biển số xe sẽ được gán nhãn bằng cách xác định 4 góc của vùng biển số đó.
Biển số xe trong tập dữ liệu là biển số của Mỹ, Brazil, Đài Loan và một số nước ở châu Âu. Tuy nhiên khi sử dụng pretrained model này với biển số xe Việt Nam thì nó vẫn hoạt động rất tốt
Ngoài ra tác giả còn sử dụng một số các phương pháp tăng cường dữ liệu cho việc huấn luyện mô hình (các bạn có thể xem chi tiết các phương pháp tăng cường dữ liệu mà tác giả sử dụng ở trong bài báo nhé).
Nội dung bên trên mình đã trình bày cho các bạn về kiến trúc mạng WPOD để phục vụ cho bài toán phát hiện biển số xe. Bài viết này mình chưa đề cập đến code của phương pháp này, trong bài viết tiếp theo mình đi vào coding một hệ thống nhận diện biển số xe sử dụng kiến trúc mạng WPOD này. Các bạn có thể tham khảo code của tác giả bài báo tại đây. Cảm ơn mọi người đã đọc bài viết của mình
- License Plate Detection and Recognition in Unconstrained Scenarios
Nguồn: https://thegioiso.edu.vn
Danh mục: Biển Số Xe