- Hình thức khóa luận: /
2.1.4 Tập huấn nhận diệnvùng biển số
Sử dụng đặc trưng LBP để tạo tập dữ liệu xml. Nhờ vào tập xml này mà chương trình có thể phát hiện được biển số xe trong ảnh.
2750 ảnh chứa biển số xe đã qua các bước tiền xử lý bên trên. Tập ảnh này là tập ảnh dương (positive)
Hình 15. Tập ảnh dương chưa biển số
4500 ảnh không chứa biển số xe (hình phong cảnh, vật dụng…bất kỳ) được lưu trong cùng một thư mục. Tập ảnh này là tập ảnh âm (negative)
Hình 16. Tập ảnh ấm không chứa biển số Lưu ý:
Càng nhiều ảnh thì càng phát hiện chính xác.
Bước 2: Trước hết cần phải thay đổi thông số trong file prepw.py cho phù hợp với kích thước biển số tại Việt Nam. Sau đó từ màn hình cmd của thư mục training nhập python prepw.py pos để chuẩn bị nội dung positive, sau khi hoàn tất sẽ xuất ra file chỉ mục positive.txt. Định dạng của file chỉ mục là:
<tên ảnh> <số biển số trong ảnh> x y w h ... x y w h ... <tên ảnh> <số biển số trong ảnh> x y w h ... x y w h Với:
Tên ảnh: chỉ ghi tên ảnh
x, y là tọa độ góc trên bên trái biển số xe w, h là chiều rộng và chiều cao biển số
Hình 17. Minh họa các tham số x, y, w, h
Tuy nhiên, trong bản đồ án này các ảnh đã được cắt sát biển nên nội dung bên trong file positive.txt sẽ có dạng:
1.jpg 1 0 0 366 108
Bước 3: Sử dụng chương trình opencv_createsamples (trong openCV) để tạo tập tin vector các biển số được dùng để huấn luyện. Tập tin vector kết quả sẽ được sử dụng tiếp để tạo mô hình. Cú pháp sử dụng như sau:
C:\opencv-3.0.0\bin/opencv_createsamples -vec C:\openalpr\train- detector\positive\vecfile.vec -w 35 -h 25 -info C:\openalpr\train- detector\positive\positive.txt -num 2750
Trong đó:
opencv_createsamples: tên chương trình tạo vector.
-vec C:\openalpr\train-detector\positive\vecfile.vec: file vector ouput được lưu với tên “vecfile.vec”.
-info C:\openalpr\train-detector\positive\positive.txt: tập tin chỉ mục tập ảnh chứa biến số xe đặt trong thư mục ảnh dương.
-num 2750: số ảnh dương là 2750.
-w 35 -h 25: tham số xác định kích thước ảnh tối thiểu. Các chỉ số này quan trọng ở tỉ lệ, không cần chính xác tuyệt đối.
Kết quả nhận được tập tin vecfile.vec
Tập tin vecfile.vec là tập tin vectơ chứa ảnh thumbnail với kích cỡ được chỉ ra trong tham số width và height của tập tin postive.txt. Dựa vào file này mà chương trình sẽ tìm ra các đặc trưng LBP của đối tượng, từ đó tạo bộ nhận diện dựa trên đặc trưng này.
Bước 4: Tạo chỉ mục tập ảnh không chứa biển số xe , sau đó lưu lại với tên negative.txt có nội dung:
<tên ảnh> ... <tên ảnh>
Hình 18. Minh họa bên trong file negative.txt
Bước 5: Huấn luyện nhận dạng. Sử dụng chương trình opencv_traincascade (đi kèm với openCV) để huấn luyện, thu được tập tin huấn luyện với tên cascade.xml:
C:\opencv-3.0.0\bin/opencv_traincascade -data C:\openalpr\train-detector\out// -vec C:\openalpr\train-detector\positive\vecfile.vec -bg C:\openalpr\train-
detector\negative\negative.txt -w 35 -h 25 -numPos 2750 -numNeg 4500
-maxFalseAlarmRate 0.45 -minHitRate 0.995 -featureType LBP -numStages 14 Với:
Opencv_traincascade: tên chương trình huấn luyện.
-data C:\openalpr\train-detector\out//: đường dẫn thư mục chứa các file thông số ngõ ra được cập nhật của tầng huấn luyện (cascade). Khi huấn luyện chương trình sẽ tạo ra các mục từ 0 nstages. Khi huấn luyện xong sẽ tạo ra file cascade.xml để sử dụng nhận vùng dạng biển số.
-vec C:\openalpr\train-detector\postive\vecfile.vec: chứa đường dẫn đến file vector đã tạo ra ở bước 3.
-bg C:\openalpr\train-detector\negative\negative.txt: đường dẫn đến file chứa danh sách các ảnh âm đặt chung thư mục với ảnh âm.
-numPos 2750: số lượng ảnh dương -numNeg 4500: số lượng ảnh âm
-maxFalseAlarmRate 0.45: tỉ lệ dự đoán sai tối đa -minHitRate 0.995: là tỉ lệ dự đoán đúng tối thiểu. -featureType LBP: thuật toán LBP
-numStages 14: số lượng giai đoạn (stage) huấn luyện. Số giai đoạn cao chỉ có ý nghĩa khi có tập ảnh lớn, nếu ảnh ít thì số giai đoạn nhiều không có tác dụng.
Hình 19. Quá trình huấn luyện định vị biển số
Kết quả: Tập tin cascade.xml
Tập tin cascade.xml là kết quả của quá trình huấn luyện, sử dụng trong chương trình. Nội dung của file cascade.xml là các bước nhận diện các đặc trưng của đối tượng, dựa vào đó mà chương trình có thể nhận biết đối tượng có tồn tại trong ảnh hay không.