Tải bản đầy đủ (.pptx) (15 trang)

Phát hiện đối tượng trong ảnh, video sử dụng công cụ học máy HaarTraining

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.51 MB, 15 trang )

Đồ án
Phát hiện đối tượng trong ảnh/video sử dụng công cụ
học máy HaarTraining
Giáo viên hướng dẫn Trần Nguyên Ngọc
Sinh viên thực hiện Lê Quốc Mạnh
Lớp: Tin 8B Dương Anh Tuấn
Trần Hoàng Nam
Mục lục

Tổng quan Opencv Haartraining

Cơ sở lý thuyết

Cấu trúc bộ lọc phân tầng

Boosting

Đặc trưng Haar

Thuật toán AdaBoost

Tiến hành thực tế

Chuẩn bị

Tạo mẫu

Huấn luyện

Thử nghiệm
Tổng quan Opencv Haartraining



OpenCV = Open Source Computer Vision

Là thư viện mã nguồn mở - của Intel viết cho xử lý ảnh, với hơn 500 thuật toán dành cho việc xử lý thị giác máy thời
gian thực (real time computer vision)

Hỗ trợ ngôn ngữ C++ và Python

Thư viện OpenCV cung cấp phương pháp đào tạo, phát hiện đối tượng bằng mô hình Cascade of Boosted Classi[ers
dựa trên tính năng Haar-like

Kết quả việc đào tạo là [le dạng xml
Cơ sở lý thuyết

Cascade of Boosted Classi[ers là một cấu trúc cây mà ở mỗi tầng là một bộ phân loại (classi[er), được xây dựng
bằng thuật toán AdaBoost

Mô hình Cascade of Boosted Classi[ers được sử dụng dựa trên Haar-like Feature – là một loại đặc trưng thường
được dùng cho bài toán nhận dạng trên ảnh.

Boosting là kỹ thuật dùng để tăng độ chính xác cho các thuật toán học (Learning algorithm) bằng cách kết hợp các
bộ phân loại yếu (weak classiers) thành một bộ phân loại mạnh (strong classier). Trong đó, weak classi[er là
các bộ phân loại đơn giản chỉ cần có độ chính xác trên 50%.
Cơ cở lý thuyết

Haar Feature là một loại đặc trưng thường được dùng cho bài toán nhận dạng trên ảnh, được xây dựng từ các hình
chữ nhật có kích thước bằng nhau, dùng để tính độ chênh lệch giữa các giá trị điểm ảnh trong các vùng kề nhau.

4 đặc trưng Haar-like cơ bản


Đặc trưng cạnh

Đặc trưng đường

Đặc trưng quanh tâm

Giá trị của đặc trưng Haar-like = sự chênh lệch giữa tổng của các pixel của các vùng đen và các vùng trắng như
trong công thức sau:
f(x) = Tổng
vùng đen
(các mức xám của pixel) - Tổng
vùng trắng
(các mức xám của pixel)
 Tuy nhiên, khối lượng tính toán lớn  mất nhiều thời gian
Đặc trưng Haar-like

Viola và Jones đã đưa ra khái niệm Integral Image để tính toán nhanh hơn cho các đặc trưng cơ bản.

Integral Image: là một mảng 2 chiều với kích thước bằng với kích của ảnh cần tính các đặc trưng Haar-like.

Mỗi phần tử của mảng này được tính bằng cách tính tổng
của điểm ảnh phía trên (dòng-1) và bên trái (cột-1) của nó.

Tính toán dựa trên phép cộng  cải thiện tốc độ

Sau khi đã tính được Integral Image, dễ dàng tính được
gía trị mức xám trên vùng nào đó:

Lienhart kế thừa Integral Image (gọi là SAT – Summed Area Table) và đưa ra thêm khái niệm RSAT – Rotated
Summed Area Table để tính toán nhanh hơn cho các đặc trưng xoay 1 góc 45º.

Cơ sở lý thuyết

Sử dụng AdaBoost để thiết lập ngưỡng

Adaboost (Adaptive Boost - Freund và
Schapire, 1995) được cải tiến từ boosting,
sử dụng thêm khái niệm trọng số
(weight) để đánh dấu các mẫu khó nhận
dạng ở weak classi[er (WC).

Sau mỗi WC, tăng trọng số ở mẫu sai và
ngược lại.

Các WC sau sẽ tập trung vào các mẫu
chưa tốt.

Kết hợp các WC ở mức độ tốt nào đó 
Strong classi[er
Cơ sở lý thuyết

Tính Integral Image đ xác đ nh nhanh giá tr m c ể ị ị ứ
xám c a 1 vùng trên nhủ ả

Đ a qua hàm Haar c b n ư ơ ả  c l ng đ c tr ng ướ ượ ặ ư

Đ a qua b đi u ch nh Adaboost ư ộ ề ỉ  lo i b nhanh ạ ỏ
các đ c tr ng không có kh năngặ ư ả

M i b phân lo i y u s quy t đ nh k t qu cho ỗ ộ ạ ế ẽ ế ị ế ả
m t đ c tr ng Haar-likeộ ặ ư


Trong quá trình xác đ nh, m i vùng nh con s đ c ki m tra v i các đ c tr ng trong chu i các đ c tr ng Haar-likeị ỗ ả ẽ ượ ể ớ ặ ư ỗ ặ ư

N u có m t đ c tr ng Haar-like nào cho ra k t qu thì các đ c tr ng khác không c n xét n aế ộ ặ ư ế ả ặ ư ầ ữ

Th t xét các đ c tr ng trong chu i các đ c tr ng Haar-like s đ c d a vào tr ng s và s l n xu t hi n c a các đ c tr ng ứ ự ặ ư ỗ ặ ư ẽ ượ ự ọ ố ố ầ ấ ệ ủ ặ ư
Haar-like.
Cơ sở lý thuyết

Trong huấn luyện, tốc độ xử lý còn tùy vào mức độ đơn giản của các mẫu được đưa vào.

Mô hình Cascade of Classi[ers được xây dựng chính là nhằm rút ngắn thời gian xử lý, giảm thiểu false alarm cho
bộ phân loại.

Mô hình là một cây Cascade (Cascade tree) bao gồm nhiều stage (hay còn gọi là layer), mỗi stage của cây sẽ là
một stage classi[er.

Một mẫu để được phân loại là đối tượng thì nó cần phải đi qua hết tất cả các stages của cây.

Nhờ sự kết hợp các stage classi[ers này lại sẽ giúp bộ phân loại có false alarm thấp.
Tiến hành thực tế - Huấn luyện nhận dạng xe máy

Chuẩn bị:

Các mẫu dương (Positive) chứa đối tượng cần nhận dạng và [le mô tả ảnh Positive (đánh dấu tọa độ của đối tượng trong ảnh gốc)

Các mẫu âm (Negative) không chứa đối tượng cần nhận dạng, như nhà cửa, cây cối, mặt người Và [le mô tả ảnh Negative

Trong quá trình huấn luyện, các weak classi[ers sẽ học từ các mẫu positive trong tập huấn luyện và các mẫu negative là các vùng ảnh (sub
window) trích ra từ các mẫu Negative trong tập huấn luyện


C:/OpenCV2.2/bin/negative>dir /b /s >Negative.txt
Tiến hành thực tế - Huấn luyện nhận dạng xe máy

opencv_createsamples –info <File mô tả Positive> –vec <File vector> –w <rộng> –h
<cao> -num <số mẫu có>

Kiểm tra: opencv_createsamples –vec <File vector> -show

Opencv_createSamples có chức năng tạo
[le dữ liệu cho các mẫu (positive lẫn
negative) từ các [le ảnh (bmp, jpg ), đồng
thời cho phép phát sinh thêm các ảnh từ một
hay nhiều ảnh ban đầu bằng cách áp dụng
các phép xử lý ảnh như rotate, dilate, lên
các ảnh này.
Tiến hành thực tế - Huấn luyện nhận dạng xe máy
haartraining -data <thư mục Cascade> -vec <File vector> -bg <File mô tả ảnh Negative> -nstages <số giai đoạn>
-minhitrate <0 ~1> -maxfalsealarm <0 ~1> -npos <số mẫu Positive> -nneg <Số mẫu Negative> -w <rộng> -h <cao>
-nonsym -mem <bộ nhớ được cấp>
Kết quả đạt được
Hit Missed Failed Hit rate Fail rate
1197 139 271
83% 30%
Tiến hành thực tế - Huấn luyện nhận dạng xe máy

File XML được tạo thành
sau khi huấn luyện có cấu
trúc như hình bên


Cảm ơn thầy giáo và các bạn đã quan
tâm theo dõi.

×