NHẬN DẠNG BIỂN SỐ XE THUẬT TOÁN TRÍCH RÚT ĐẶC TRƯNG LBP

31 3K 2
NHẬN DẠNG BIỂN SỐ XE THUẬT TOÁN TRÍCH RÚT ĐẶC TRƯNG LBP

Đ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

CHƯƠNG I THUẬT TOÁN TRÍCH RÚT ĐẶC TRƯNG LBP (LOCAL BINARY PATTERN) 1.1 Lý thuyết LBP LBP viết tắt Local Binary Pattern mẫu nhị phân địa phương Ojala trình bày vào năm 1996 cách đo độ tương phản cục ảnh Phiên LBP dùng với điểm ảnh xung quanh sử dụng giá trị điểm ảnh trung tâm làm ngưỡng Giá trị LBP xác định cách nhân giá trị ngưỡng với trọng số ứng với điểm ảnh sau cộng tổng lại Hình minh họa cách tính độ tương phản trực giao (C) hiệu cấp độ xám trung bình điểm ảnh lớn ngưỡng với điểm ảnh thấp ngưỡng Kể từ đưa ra, theo định nghĩa bất biến với thay đổi đơn điệu ảnh đen trắng Để cải tiến phương pháp, bổ sung thêm phương pháp tương phản trực giao địa phương Hình minh họa cách tính độ tương phản trực giao (C) ký hiệu cấp độ xám trung bình điểm ảnh lớn ngưỡng với điểm ảnh thấp ngưỡng Phân phối hai chiều mã LBP độ tương phản cục lấy làm đặc trưng gọi LBP/C Hình 2.7 Ví dụ LBP độ tương phản cục C Nguồn gốc: Dãy LBP Ojala trình bày vào năm 2002 Định nghĩa cấu trúc điểm ảnh T phân phối đại số cấp độ xám P +1 (P > 0) điểm ảnh T = t(gc,g0,…,gp-1) Với gc ứng với cấp độ xám điểm ảnh trung tâm P tt , gp (p = 0,…,1) tương ứng với P điểm ảnh xung quanh, P điểm ảnh nằm đường tròn bán kính R tâm Ptt Hình 2.8 Tập hợp điểm xung quanh Ptt Không thông tin, trừ gp lượng gc T = t(gc,g0 – gc ,…,gp – gc) Giả sử sai số gp gc độc lập với gc, ta nhân tử hóa gc sau: T = t(gc)t(g0- gc,…,gp-1- gc) t(gc) biểu thị xu hướng độ sáng tối ảnh nên không liên quan đến kết cấu ảnh cục bỏ qua T~t((g0 – gc),…,(gp-1 – gc)) Mặc dù tính bất biến ngược với độ thay đổi tỷ lệ xám điểm ảnh, khác biệt ảnh hưởng tỷ lệ Để thu đặc điểm bất biến với thay đổi ảnh đen trắng (gray scale) quan tâm đến dấu độ lệch: T~t(s(g0 – gc),…,s(gp-1 – gc)) Với s hàm dấu: Trọng số 2p dùng cho hàm dấu, s(g p – gc) để chuyển khác biệt điểm ảnh bên cạnh giá trị Với P pixel có 2p giá trị LBPP,R khoảng [0,2p-1 ] để đơn giản ta chọn số giá trị 2p giá trị ký hiệu Thuật toán LBP: Thông tin LBP pixel trung tâm khối ảnh tính dựa thông tin pixel lận cận Có thể tóm tắt bước tiến hành sau: Bước 1: Xác định bán kính làm việc Bước 2: Tính giá trị LBP cho pixel trung tâm (x c, yc) khối ảnh dựa thông tin pixel lân cận: Trong đó, (gp) giá trị grayscale pixel lân cận, (g c) giá trị grayscale trung tâm (s) hàm nhị phân xác định sau: s(z) = giá trị z ≥0 Ví dụ: 1*20 + 1*21 + 1*22 + 1*23 + 0*24 + 0*25 + 0*26 + 0*27 = 15 Hình 2.9 Các biến thể LBP LBP đồng dạng Một mẫu nhị phân gọi đồng dạng xét chuỗi bit xoay vòng có nhiều lần thay đổi (transitions) từ giá trị bit sang từ giá trị bit sang Ví dụ: 00000000 có transitions, 01110000 có transitions, 11001111 có transitions nên uniform LBP 11001001 có transitions, 01010011 có transitions nên uniform LBP Dựa định nghĩa này, bảng ánh xạ cho bán kính làm việc P -neighbours có P(P-1) + nhãn Có nghĩa có 59 nhãn trường hợp làm việc với 8-neighbour Hình vẽ sau thể 59 nhãn (mẫu) minh họa histogram đặc trưng LBP đồng dạng Hình 2.10 Bảng thống kê mẫu uniform LBP Nguyên lý phân lớp không tham biến: Trong phân lớp, khác biệt mẫu mô hình phân phối LBP đánh giả kiểm tra thống kê không tham biến Phương pháp tiếp cận có ưu điểm không cần phải có giả thiết phân phối đặc trưng Thông thường, kiểm tra thống kê chọn cho mục đích nguyên lý crossentropy giới thiệu Kullback (1968) Sau đó, Sokal Rohlf (1969) gọi cách đo thống kê G Với S, M kí hiệu phân phối mẫu mô hình mong muốn S b Mb xác suất để b thuộc vào phân phối mẫu mô hình B số phần tử phân phối Thống kê G sử dụng phân lớp viết lại sau: Kiến trúc mô hình xem xử lý ngẫu nhiên có đặc tính xác định phân phối LBP Trong phân lớp đơn giản , lớp biểu diễn mô hình phân phối đơn giản M i Tương tự , kiến trúc mẫu không xác định miêu tả phân phối S L giả ma trận đo khả mẫu S thuộc lớp i Lớp C mẫu không xác định xác định luật “hàng xóm gần nhất”: C = argminiL(S, Mi) Bên cạnh đó, thống kê log- likelihood xem đơn vị đo khác biệt sử dụng để liên kết nhiều phân lớp giống phân lớp k-NN self-oganizing map (SOM) Log-likelihood số trường hợp không ổn định mà cỡ mẫu nhỏ.Trong trường hợp Chisquare- distance thường cho kết tốt hơn: Để đạt độ xác cao sử dụng giao histogram Phép quay bất biến LBP bất biến với phép quay Giả sử Iα(x, y) ảnh quay góc (α) ảnh I(x, y) Với phép quay điểm ảnh (x, y) nằm vị trí (x', y') hình vẽ sau (hình trái) Trong ví dụ (hình phải): tất mẫu LBP bên ánh xạ mẫu LBP mẫu cho giá trị nhỏ Hình 2.11 Minh họa trường hợp LBP quay với góc 15 độ LBP đồng dạng có khả bất biến với phép quay Kết hợp mẫu LBP đồng dạng LBP bất biến với phép quay tạo nên dạng biến thể khác LBP (uniform rotation – invariant LBP) Dựa định nghĩa này, bảng ánh xạ cho bán kính làm việc P-neighbors có P + nhãn (label) Có nghĩa có 10 nhãn trường hợp làm việc với 8-neighbour Để không bị ảnh hưởng quay, giá trị LBP cần quay ngược lại vị trí ban đầu, cách tốt tạo tất trường hợp quay mẫu, quay định nghĩa sau: Trong ri viết tắt rotation invariant (quay bất biến), ROR(x,i) dịch vòng tròn số nhị phân P - bit (x) i lần theo chiều kim đồng hồ Độ tương phản kết cấu mẫu: Kết cấu coi tượng hai chiều đặc trưng hai đặc tính trực giao: cấu trúc không gian (mô hình) độ tương phản (độ mạnh mô hình) Quay bất biến tương phản địa phương đo hình tròn đối xứng xung quanh giống LBP: Trong đó: Tổng hợp lại ta có : 1.2 Ví dụ trích rút đặc trưng LBP ảnh số : Ví dụ với ảnh có kích thước 4x4 : 23 35 27 29 72 31 33 15 11 64 65 30 90 Chúng ta tính giá trị đặc trưng LBP sau: Hình 2.12 Ví dụ trình tính toán đặc trưng Ưu điểm: Thuật toán trích rút đặc trưng LBP cài đặt đơn giản, thời gian tính toán giá trị đặc trưng nhanh làm việc với giá trị nguyên Nhược điểm: Tuy nhiên độ xác không cao thuật toán Haarlike Ứng dụng: Được ứng dụng toán phát mặt người CHƯƠNG II THUẬT TOÁN HUẤN LUYỆN SVM Trên thực tế, việc xây dựng chương trình cho việc huấn luyện SVM khó khăn nhiều công sức, đa số thuật chương trình SVM xây dựng sẵn số công cụ lập trình cho nguyên hàm cần điền tham số, ta có kết đầu vào đầu Tuy nhiên, chương trình xây dựng số thuật toán sau: Những thuật toán thông dụng thiết kế để huấn luyện SVM, có ba thuật toán kinh điển cung cấp hầu hết ứng dụng SVM: thuật toán chặt khúc, thuật toán phân rã thuật toán SMO Ý tưởng thuật toán trình bày tóm tắt sau: • Thuật toán chặt khúc Thuật toán bắt đầu với tập (chunk) tập liệu huấn luyện, sau huấn luyện SVM theo phương án tối ưu tập liệu vừa chọn Tiếp đến, thuật toán giữ lại véc tơ hỗ trợ (các mẫu có  i>0) từ tập sau loại bỏ phần tử khác (tương ứng với i = 0) dùng véc tơ để kiểm tra phần tử phần lại tập liệu Công việc lặp lặp lại, việc khởi tạo lại  cho toán phụ thuộc vào giá trị đầu trạng thái trước tiếp tục tối ưu toán với tham số tối ưu lựa chọn Thuật toán dừng lại thỏa mãn điều kiện tối ưu Kích thước tập thay đổi, cuối số lượng i > (bằng số lượng véc tơ hỗ trợ) Phương pháp sử dụng ma trận Gram dùng để lưu tích vô hướng cặp véc tơ hỗ trợ phù hợp với kích thước nhớ Trong thực nghiệm, xẩy trường hợp số lượng véc tơ lớn, làm cho ma trận Gram vượt khả lưu trữ máy tính • Thuật toán phân rã Thuật toán khắc phục nhược điểm thuật toán chặt khúc cách cố định kích thước toán (kích thước ma trận Gram) Vì thời điểm, phần tử bổ sung vào tập làm việc phần tử khác bị loại Điều cho phép SVM có khả huấn luyện với tập liệu lớn Tuy nhiên, thực nghiệm cho thấy phương pháp hội tụ chậm • Thuật toán SMO SMO thuật toán đơn giản để giải toán QP cách nhanh chóng mà không cần sử dụng ma trận Gram không cần phải giải toán QP bước Thuật toán phân rã toán QP tổng quát thành toán con, sử dụng định lý Osuma để đảm bảo hội tụ Khác với thuật toán trước, SMO giải toán tối ưu với kích thước nhỏ Tại bước lặp, SMO chọn hai nhân tử Lagrange để giải, tìm giá trị tối ưu cho hai nhân tử cập nhật lại tham số SVM Ưu điểm thuật toán tối ưu hai nhân tử Lagrange giải pháp phân tích, không cần phải giải toán QP Hơn nữa, SMO không đòi hỏi lưu trữ ma trận Gram, toán huấn luyện SVM với số lượng mẫu lớn lưu trữ nhớ một máy tính cá nhân bình thường Thuật toán SMO thực hai công việc chính: Giải toán tối ưu cho hai nhân tử Lagrange phương pháp phân tích chọn hai nhân tử để tối ưu phương pháp lựa chọn heuristic CHƯƠNG III BÀI TOÁN NHẬN DẠNG BIỂN SỐ XE Ở VIỆT NAM 3.1 Giới thiệu toán nhận dạng biển số xe tự động 10 Sử dụng ngôn ngữ C++ để cài đặt demo Sử dụng mã nguồn mở Opencv-2.4.9 để tiến hành huấn luyện tìm đặc trưng LBP 3.5 Mô tả toán Nhận dạng biển số xe gồm nhiệm vụ phát biển số xe nhận dạng (xác định) biển số xe Nhận dạng biển số xe sử dụng đặc trưng LBP Nhận dạng biển số xe Phát biển số xe Trích rút đặc trưng LBP biển số xe Phát biển số xe Cắt sát biển Phân đoạn ký tự Nhận dạng ký tự Hình 4.4 Sơ đồ mô tả toán nhận dạng biển số xe 3.6 Phát biển số xe Phát biển số xe: việc phát vị trí biển camera biển hay không, kích cỡ, khoảng cách, góc 3.6.1 Trích rút đặc trưng Để tiến hành trích rút đặc trưng LBP biển số xe, sử dụng thư viện OpenCV để tiến hành huấn luyện liệu đầu vào với đặc trưng LBP, kết thúc trình thu tập tin cascade.xml, tập tin chứa tập đặc trưng LBP biển số xe 17 Hình 4.5 Sơ đồ mô tả trình huấn luyện liệu Như vậy, trình huấn luyện liệu để trích rút đặc trưng LBP thực qua bước sau: Bước 1: Vẽ hình chữ nhật bao quanh vùng biển số Với liệu mẫu chứa đối tượng, tiến hành tạo tập tin –info.txt với nội dung lưu trữ gồm dòng thư mục chứa hình ảnh/ tên hình ảnh 18 chứa đối tượng/ số đối tượng hình ảnh/ tọa độ (x, y) góc trái hình chữ nhật bao quanh biển số chiều rộng chiều cao hình chữ nhật bao quanh Ví dụ: rawdata/0001.jpg 451 235 73 73 rawdata/0002.jpg 452 268 100 100 Để vẽ hình chữ nhật bao quanh, sử dụng tool có sẵn opencv Tool_ObjectMaker, sau chạy tool này, nhập địa thư mục ảnh tiến hành vẽ hình chữ nhật bao quanh vùng biển ảnh một, thao tác thực tay hết số liệu ta cần Sau thực xong, ta nhận tập tin –info.txt Còn sưu tập không chứa đối tượng biển số xe, ta tạo tập tin -negative.txt chứa toàn tên hình ảnh Để tạo tập tin ta thực hình cmd, ta gõ câu lệnh: dir /b >negative.txt , lúc ta thu tập tin có tên negative, chứa tên hình ảnh Đưa tập tin negative.txt theo định dạng: img/0001.jpg img/0002.jpg Bước 2: Tạo tập tin vecto.vec Tập tin vector chứa số lượng mẫu ảnh, chiều rộng, chiều cao phần thân chứa ảnh thumbnail Như vậy, tập tin có phần mở rộng *.vec định dạng nhị phân, có hình ảnh Vậy, sau chuẩn bị liệu xong ta tiến hành tạo tập tin vec chứa hình ảnh mẫu dước dạng *.vec sử dụng opencv_createsamples cách chạy câu lệnh số cmd opencv_createsamples -info positive/info.txt -vec data/vector.vec -numPos 600 -w 33 -h 25 Bước 3: Quá trình huấn luyện phân loại thác Việc phân loại thác liệu gồm trình: huấn luyện phát đối tượng Trong OpenCV cung cấp hai ứng dụng để hỗ trợ việc huấn luyện phân loại thác: opencv_harrtraining opencv_traincascade 19 Tuy nhiên khác biệt hai ứng dụng là: opencv_harrtraining hỗ trợ huấn luyện đặc trưng Harr, opencv_traincascade hỗ trợ huấn luyện đặc trưng Harr đặc trưng LBP Như ta biết, đặc trưng LBP giá trị số nguyên, trái ngược với đặc trưng Harr, trình huấn luyện phát đối tượng với đặc trưng LBP nhanh đặc trưng Harr Về chất lượng phát đối tượng đặc trưng LBP đặc trưng Harr, việc phụ thuộc vào việc huấn luyện: trước hết chất lượng tập liệu huấn luyện tham số huấn luyện Việc huấn luyện phân loại dựa vào LBP mang lại chất lượng gần với Harr Do đó, sử dụng opencv_traincascade để tiến hành huấn luyện phân thác liệu opencv_traincascade -data data/cascade -vec data/vector.vec -bg negative/bg.txt -numPos 600 -numNeg 900 -numStages 12 -w 33 -h 25 -featureType LBP Một số tham số: -data Trường hợp phân loại đào tạo lưu -vec Tập tin vec với mẫu chứa đối tượng (được tạo opencv_createsamples) -bg Mô tả tập tin -numPos -numNeg Số đối tượng/mẫu không đối tượng sử dụng huấn luyện cho giai đoạn phân loại -numStages Số giai đoạn thác huấn luyện -precalcValBufSize 20 Kích thước đệm cho giá trị tính precalculated (trong Mb) -precalcIdxBufSize Kích thước đệm cho số tính precalculated (trong Mb) Các nhớ lớn trình huấn luyện nhanh -baseFormatSave Lập luận thực tế trường hợp tính Haar-like Nếu xác định, thác lưu định dạng cũ Thông số đẩy mạnh phân loại thác: -bt Loại phân loại tăng: DAB - AdaBoost rời rạc, RAB - Bất AdaBoost, LB LogitBoost, GAB - Gentle AdaBoost -minHitRate Tỷ lệ dự đoán tối thiểu mong muốn cho giai đoạn phân loại Tỷ lệ dự đoán tổng thể ước tính (min_hit_rate ^ number_of_stages) -maxFalseAlarmRate Tỷ lệ phát sai tối đa mong muốn cho giai đoạn phân loại Nhìn chung tỷ lệ phát sai ước tính (max_false_alarm_rate ^ number_of_stages) -weightTrimRate Dùng cho tối ưu tính toán, giảm thời gian huấn luyện chút chất lượng giảm Một lựa chọn xấp xỉ 0,95 -maxDepth Độ sâu tối đa nhánh Một lựa chọn 1, trường hợp nhánh gốc -maxWeakCount Lượng nhánh tối đa cho giai đoạn thác Bộ phân loại đẩy mạnh (sân khấu) có nhiều nhánh (

Ngày đăng: 13/07/2016, 06:07

Từ khóa liên quan

Mục lục

  • 1.1. Lý thuyết về LBP

  • 1.2. Ví dụ về trích rút đặc trưng LBP trên ảnh số :

Tài liệu cùng người dùng

Tài liệu liên quan