Upload
pharaoh-doan
View
141
Download
7
Tags:
Embed Size (px)
Citation preview
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
i
ABSTRACT
Our thesis’ topic is object tracking using Particle Filter, which we will do
research how to track an object using Partcle Filter, building demo applications.
Object tracking in computer vision has been done research for many years, but
so far it is still considered an “open” problem. However, currently there is a method of
object tracking that its effectiveness has been proven in many studies around the world,
it is recognized as a "State of the art" - that is the Particle filte. So, we have carried out
to do resrearch interesting subject based on the guidance of teachers and the materials
of the university, the seminar on this subject.
In this thesis, we limit to introduce the theoretical basis of the Particle Filter,
and base on open source of the other research to improve of its experimental
application in the situation of tracking moving objects – selecting from the first frame
or a specific object (face, pedestrian ...) and build the performace assessment to
demonstrate the effectiveness of the object tracking method.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
ii
LỜI MỞ ĐẦU
Đề tài luận văn của chúng tôi là theo vết đối tượng dùng Particle Filter, trong đó
chúng tôi sẽ nghiên cứu cách thức theo dõi một đối tượng bằng phương pháp sử dụng
Partcle Filter sau đó xây dựng một ứng dụng thực nghiệm.
Các phương pháp theo vết đối tượng trong công nghệ cảm quan máy tính
(computer vision) đã được nghiên cứu trong nhiều năm, nhưng cho tới nay nó vẫn
được xem là một vấn đề mở. Tuy nhiên, hiện nay đã có một phương pháp theo vết đối
tượng mà tính hiệu quả của nó đã được chứng minh trong nhiều nghiên cứu trên thế
giới, nó được công nhận là một “State of the art” – đó chính là Particle Filter. Vì vậy,
chúng tôi đã tiến hành nghiên cứu đề tài thú vị này dựa trên sự hướng dẫn của thầy cô
và các tài liệu của các trường đại học, các hội nghị chuyên đề về đề tài này.
Trong khóa luận này, chúng tôi giới hạn trong việc giới thiệu cơ sở lý thuyết của
Particle Filter, dựa trên cơ sở mã nguồn mở cải tiến một số điểm làm tăng độ chính xác
của thuật toán, sau đó dựa trên cơ sở dữ liệu thực nghiệm xây dựng các bảng đánh giá
kết quả để chứng minh tính hiệu quả của các cải tiến trong thuật toán so với mã nguồn
gốc.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
iii
LỜI CẢM ƠN
Giai đoạn làm đồ án tốt nghiệp là giai đoạn cuối cùng của quá trình học đại học.
Giai đoạn này có ý nghĩa vô cùng quan trọng trong quá trình rèn luyện tại môi trường
đại học, đánh dấu bước chuyển từ việc đi học sang đi làm.
Chúng em xin chân thành cám ơn Thầy Cô trong Khoa Công nghệ Phần mềm –
Trường Đại học Công Nghệ Thông Tin – Đại học Quốc gia TPHCM đã tận tình giảng
dạy, tạo điều kiện tốt nhất cho chúng em học tập, làm khóa luận tốt nghiệp, tạo cơ hội
để chúng em có được những thực nghiệm và kiến thức thực tế trong công việc trong
tương lai.
Em xin chân thành gửi lời cám ơn sâu sắc đến Th.S Nguyễn Hữu Thương và C.H
Cáp Phạn Đình Thăng- hai Thầy đã tận tình giúp đỡ, đôn đốc, truyền đạt những kinh
nghiệm bản thân để chúng em thực hiện tốt khóa luận tốt nghiệp này
TP Hồ Chí Minh, ngày 30 tháng 12 năm 2011
Sinh viên
Chu Hoàng Nhật
Hà Thị Minh Phương
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
iv
NHẬN XÉT
(Giảng viên hướng dẫn)
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
v
NHẬN XÉT
(Giảng viên phản biện)
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
vi
MỤC LỤC
LỜI MỞ ĐẦ
U
Chương 1. GIỚI THIỆU............................................................................................1
Chương 2. BÀI TOÁN THEO VẾT ĐỐI TƯỢNG.................................................11
2.1. Tổng quan về bài toán theo vết đối tượng........................................................11
2.2. Cách tiếp cận chung của bài toán theo vết đối tượng.......................................12
2.2.1. Mô hình tham chiếu (Reference model)...........................................................13
2.2.2. Hàm thực thi sự so sánh (similarity measure)..................................................14
2.3. Cơ sở toán học..................................................................................................14
2.3.1. Ước lượng Bayes..............................................................................................14
2.3.2. Phương pháp Monte Carlo...............................................................................17
2.3.3. Yếu tố lấy mẫu..................................................................................................19
2.3.4. Các vấn đề trong việc chọn mẫu......................................................................19
2.3.5. Phương pháp tái chọn mẫu (Sequential Importance Resampling)...................20
2.4. Particle Filter....................................................................................................21
2.4.1. Định nghĩa........................................................................................................21
2.4.2. Mô hình động (Dynamics Model):...................................................................23
2.4.3. Mô hình quan sát (Observation model)............................................................24
2.4.4. Thuật toán tái chọn mẫu:..................................................................................25
2.4.5. Các bước thực hiện...........................................................................................26
Chương 3. PHÁT HIỆN ĐỐI TƯỢNG (DETECTOR)...........................................29
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
vii
3.1. Bài toán phát hiện đối tượng............................................................................29
3.2. Đặc trưng Haar-like..........................................................................................29
3.3. Giới thiệu về AdaBoost....................................................................................32
3.4. Thuật toán phát hiện đối tượng.........................................................................33
Chương 4. CÁC THƯ VIỆN TÍCH HỢP TRONG ỨNG DỤNG...........................35
4.1. Thư viện OpenCV............................................................................................35
4.2. Thư viện GSL...................................................................................................37
Chương 5. ỨNG DỤNG THỰC NGHIỆM.............................................................38
5.1. Xây dựng ứng dụng theo vết đối tượng bằng thuật toán Particle Filter...........38
5.1.1. Mô tả mã nguồn tham khảo..............................................................................38
5.1.2. Xây dựng ứng dụng theo vết đối tượng dựa trên mã nguồn tham khảo...........39
5.1.3. Kết hợp nhận dạng và theo vết đối tượng.........................................................40
5.2. Chương trình demo...........................................................................................41
5.2.1. Bảng điều khiển................................................................................................42
5.2.2. Màn hình thực thi.............................................................................................44
Chương 6. ĐÁNH GIÁ THỰC NGHIỆM...............................................................49
6.1. Công thức đánh giá thực nghiệm......................................................................49
6.2. Cơ sở dữ liệu thực nghiệm...............................................................................52
6.2.1. YouTube action dataset....................................................................................52
6.2.2. UCF Sports Action Dataset..............................................................................53
6.2.3. Face dataset......................................................................................................54
6.3. Kết quả định lượng...........................................................................................56
6.3.1. Cấu hình máy dùng để đánh giá thực nghiệm..................................................56
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
viii
6.3.2. Đánh giá thực nghiệm chức năng theo dõi vật thể chọn bởi người dùng.........56
6.3.3. Đánh giá thực nghiệm chức năng theo dõi khuôn mặt.....................................58
6.3.4. Đánh giá thực nghiệm chức năng theo dõi người đi bộ...................................59
KẾT LUẬN....................................................................................................................60
DANH MỤC TÀI LIỆU THAM KHẢO.......................................................................62
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
ix
DANH MỤC CÁC HÌNH, BẢNG, SƠ ĐỒ
HÌNH
Hình 1.1: Theo dõi khách bộ hành...................................................................................1Hình 1.2: Hệ thống camera điều khiển xe tự hành SCABOR..........................................2Hình 2.1: Phương pháp theo vết sử dụng “Blob Detection”..........................................12Hình 2.4: Tính toán trọng số..........................................................................................20Hình 2.5: Sơ đồ giải thích quá trình từ tín hiệu thực tế tới ước lượng thuật toán..........22Hình 2.6: Mô hình xác suất của Particle Filter..............................................................22Hình 2.7: Ba bước chính trong thuật toán Particle Filter...............................................27Hình 2.8: Ví dụ cụ thể các bước tính toán trên một video.............................................28Hình 3.1: Đặc trưng Harr-like cơ bản............................................................................30Hình 3.2: Đặc trưng cạnh...............................................................................................30Hình 3.3: Đặc trưng đường............................................................................................30Hình 3.4: Đặc trưng xung quanh tâm.............................................................................30Hình 3.5: Giá trị integral image tại điểm (x, y) là tổng các điểm ảnh ở phía trên, bên trái..................................................................................................................................31Hình 3.6: Ví dụ cách tính nhanh các giá trị mức xám cùa vùng D trên ảnh..................31Hình 3.7: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh................................33Hình 3.8:Quá trình phát hiện đối tượng.........................................................................33Hình 4.1: Quá trình phát triển của OpenCV..................................................................36Hình 4.2: Cấu trúc cơ sở của OpenCV..........................................................................37Hình 5.1: Minh họa ứng dụng theo vết đối tượng..........................................................39Hình 5.2: Bảng điều khiển.............................................................................................41Hình 5.3: Màn hình thực thi...........................................................................................42Hình 5.4: Flow xử lý của bảng điều khiển.....................................................................43Hình 5.5: Flow xử lý của màn hình thực thi..................................................................44Hình 5.6: Flow xử lý của quá trình theo vết đối tượng sử dụng thuật toán Particle Filter...............................................................................................................................45Hình 5.7: Class Diagram của màn hình thực thi............................................................46Hình 6.1:Hình ảnh của bộ dữ liệu Youtube action........................................................53Hình 6.2:Hình ảnh của bộ dữ liệu UCF Sports Action..................................................54Hình 6.3: Hình ảnh của bộ dữ liệu khuôn mặt...............................................................55
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
x
BẢNG
Bảng 1:Các phương thức theo vết và các nghiên cứu tiêu biểu.......................................6Bảng 2: Các phương thức nhận dạng khuôn mặt và các nghiên cứu tiêu biểu................9Bảng 3: Kết quả đánh giá sơ lược..................................................................................10
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
xi
ĐỊNH NGHĨA THUẬT NGỮ
STT Tên thuật ngữ Định nghĩa
1.
Khoảng cách
Bhattacharyya
(Bhattacharyya
distance)
Dùng để đo lường sự giống nhau của hai phân phối xác
suất rời rạc hay liên tục. Nó liên quan đến hệ số
Bhattacharyya dùng để đo sự chồng chéo giữa hai mẫu
thống kê. Hệ số được sử dụng để xác định sự gần nhau
tương đối của hai mẫu đang được xem xét.
2.Mô hình ứng viên
(candidate model)
Là mô hình của một vùng ảnh có khả năng chứa đối tượng
cần theo vết.
3.
Mô hình
histogram ứng
viên (candidate
histogram model)
Là mô hình sử dụng histogram để mô hình hóa vùng ảnh có
khả năng chứa đối tượng cần theo vết.
4. Likelihood
Là xác suất đánh giá mức độ tín cậy của mẫu trong tập hợp
mẫu. Từ đó sẽ xác định trạng thái của mẫu nào “giống” với
trạng thái đối tượng theo vết nhất.
5.
Xác suất chuyển
trạng thái hay xác
suất chuyển tiếp
Là xác suất của trạng thái hiện tại so với trạng thái tại thời
điểm trước đó.
6.Trạng thái đối
tượng
Là một vectơ đại diện cho vị trí đối tượng theo vết. Ngoài
các giá trị x, y – tọa độ của đối tượng, thường trạng thái đối
tượng có thêm giá trị scale (phụ thuộc vào sự thay đổi kích
thước của đối tượng).
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
xii
7. Mẫu (particle)
Nhằm ước lượng trạng thái đối tượng trong bài toán theo
vết, ta xây dựng một tập mẫu trong đó mỗi mẫu chứa một
giá trị về trạng thái đối tượng, sau đó dùng thuật toán để
xác định là mẫu nào “giống” đối tượng => giá trị trạng thái
đối tượng là giá trị chứa trong mẫu.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
1
Chương 1. GIỚI THIỆU.Theo vết đối tượng thông qua từng khung hình của một chuỗi hình ảnh là
một chức năng quan trọng trong các ứng dụng thị giác máy tính (computer vision
applications) bao gồm các ứng dụng trong lĩnh vực an ninh như hệ thống camera
theo dõi - đảm nhận vai trò theo dõi và cảnh báo, giúp giám sát viên không phải
trực tiếp quan sát 24/24, phát hiện chuyển động và cảnh báo xâm phạm, phát
hiện các tình huống bất thường dựa trên nhận dạng cử động như ẩu đả, cướp
ngân hàng, nguy cơ chết đuối; hay như một ứng dụng phổ biến hiện nay là theo
dõi xe lưu thông trên các tuyến đường - cảnh báo sớm tình trạng ùn tắc, ghi nhận
các trường hợp phóng nhanh lạng lách, chụp và lưu số xe vi phạm để xử lí ...;
hay một ứng dụng khác đang được nghiên cứu phát triển, có khả năng ứng dụng
cao là điều khiển xe tự hành - hệ thống camera ghi nhận hình ảnh xung quanh khi
xe di chuyển, bằng cảm quan máy tính, định vị làn đường, phát hiện các vật cản
và xe khác, nhận biết các bảng chỉ dẫn , từ đó đưa ra các thông báo cho người
điều khiển xe; ngoài ra còn một số ứng dụng khác tương tác giữa người và máy
thông qua cử động.
Hình 1.1: Theo dõi khách bộ hành
(nguồn: IEEE Computer Vision and Pattern Recognition, 2007).
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
2
Hình 1.2: Hệ thống camera điều khiển xe tự hành SCABOR
(nguồn: Technological University of Cluj Napoca).
Các nghiên cứu liên quan:
Hiện nay còn nhiều vấn đề phức tạp cần xử lý trong bài toán theo vết đối
tượng. Do đó, đã có nhiều kĩ thuật được phát triển để giải quyết các vấn đề của
bài toán, được phân loại thành các nhóm kĩ thuật sau:
Theo vết dựa trên hình ảnh: phương pháp này trích xuất ra các đặc tính
chung và sau đó nhóm chúng lại dựa trên thông tin ngoại cảnh ở mức cao hơn.
Điển hình, Intille et al. (1997) đề xuất một blob-tracker để theo dõi con người
trong thời gian thực. Background được loại trừ để lấy được phần foreground. Các
khu vực foreground sau đó được chia thành các đốm màu dựa trên màu sắc. Cách
này nhanh, nhưng nó có một bất lợi lớn về kết hợp các đốm màu khi các đối
tượng tiến lại gần nhau.
Theo vết dựa trên đường viền (contour): với giả thiết rằng các đối tượng
được xác định bởi các đường bao quanh với một số thuộc tính xác định. Xây
dựng các mô hình hình dạng (đường viền), mô hình đường viền động học và các
thông số hình ảnh khác trong quá trình theo dõi. Điển hình nghiên cứu Yezzi and
Soatto (2003), Jackson et al. (2004), và Rathi et al. (2005). Yezzi and Soatto
(2003) đề xuất một định nghĩa cho sự biến dạng về chuyển động và hình dạng có
thể áp dụng cho đối tượng biến dạng hay di chuyển.
Theo vết dựa trên Filtering: phương pháp Kalman Filter và Particle Filter
được nghiên cứu. Kalman Filter giải quyết với việc theo dõi hình dạng và vị trí
theo thời gian trong các hệ thống tuyến tính (non-linear) và có xét nhiễu Gauss.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
3
Ngược lại, Particle Filter có thể ứng dụng trong các hệ thống phi tuyến và phi
Gasuss, ý tưởng cơ bản của Particle Filter là ước lượng xác suất trong định lý
Bayesian bằng một tập hợp của mẫu có trọng số. Đối với Kalman Filter thì chỉ có
thể áp dụng khi hệ tuyến tính và có xét nhiễu Gauss, điều này thực sự gây ra
nhiều trở ngại trong việc giải quyết nhiều vấn đề trong thực tế vì các tín hiệu
quan sát thu được thường là các đại lượng phi tuyến và có phân phối phi Gauss.
Do đó, Anderson và Moore (1979) đưa ra thuật toán Extended Kalman Filter
(EKF) - thuật toán này là một trong những thuật toán tốt nhất để giải bài toán phi
Gauss và phi tuyến lúc bấy giờ. Thuật toán EKF hoạt động dựa trên ý tưởng
tuyến tính hóa (Linearization) các quan sát thu được bằng cách ước lượng các đại
lượng này bằng một chuỗi khai triển Taylor. Tuy nhiên, trong nhiều trường hợp,
chuỗi ước lượng trong EKF mô hình hóa rất kém những hàm phi tuyến và phân
phối xác suất cần quan tâm và kết quả là thuật toán sẽ không hội tụ. Julier và
Uhlmann (1996) đề xuất một thuật toán theo hướng xấp xỉ một hàm phân phối
xác suất dạng Gauss chứ không xấp xỉ một hàm phân phối phi tuyến bất kỳ -
thuật toán này được đặt tên là Unscented Kalman Filter (UKF). Thuật toán này
đã được chứng minh là có kết quả tốt hơn EKF. Tuy nhiên, giới hạn của UKF là
nó không thể được áp dụng trong các bài toán có phân phối phi Gauss tổng quát.
Do vậy, phương pháp tổng quát nhất hiện nay là phương pháp Particle Filter.
Bảng dước đây là các nghiên cứu có liên quan đến các phương pháp theo
vết trên:
Phân loại Đặc điểm chínhCác nghiên
cứu liên
quanTheo vết dựa trên hình ảnhBlob-tracker
Intille et al.
(1997)
Skin color and elliptical
edges
Huang and
Trivedi
(2004)
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
4
Continuous density
Markov
Rabiner
(1989)
Multi-color model
Bhandarkar
and Luo
(2005)
Level-set method or
geometric
partial differential
Gan et al.
(2005)
Skin color filtering
Chen and
Tiddeman
(2005)
2D human appearance
model
Thome and
Miguet
(2005)
Theo vết dựa trên đường viền
SnakesKass et al.
(1987)
Active contour
Blake and
Isard (1998)
Isard(1998)
MacCormick
(2000)
Level set technique
Sethian
(1989)
Yezzi and
Soatto (2003)
Jackson et al.
(2004) Rathi
et al. (2005)
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
5
Theo vết dựa
trên Filter
Theo vết dựa trên
Kalman-filtering
Kalman filter (KF)
Rehg and
Kanade
(1994)
Extended Kalman Filter
(EKF)
Jebaraet al.
(1998)
KF with ellipse and color
Zhao et al.
(2004)
Girondel et
al. (2004)
KF with elastic matching
Luo and
Bhandarkar
(2005)
Theo vết dựa trên
Partilce Filter Condenstaion algorithm Isard (1998)
PF with partitioned
sampling
MacCormick
and Isard
(2000)
PF with optimal proposal
distribution(OPD)
Doucet et al.
(2001)
Kalman Particle Filter
(KPF) and unscented
Particle Filter (UPF)
Li et al.
(2003)
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
6
PF with Markov
randomfield(MRF)
Wang and
Cheong
(2005)
Kernel Particle FilterChang et al.
(2005)
PF with geometric active
contours
Rathi et al.
(2005)
Multiple-blob tracker
(BraMBLe)
Isard and
MacCormick
(2001)
Boosted Particle Filter
(BPF)
Okuma et al.
(2004)
Bảng 1:Các phương thức theo vết và các nghiên cứu tiêu biểu.
Ngoài ra, trong khóa luận này sẽ có sử dụng bài toán phát hiện hay nhận
dạng đối tượng cụ thể (điển hình quan trọng là khuôn mặt); do đó chúng ta sẽ
giới thiệu về bài toán nhận dạng – để chi tiết hơn ta sẽ xem xét cụ thể bài toán
phát hiện/nhận dạng khuôn mặt. Cũng tương tự bài toán theo vết đối tượng thì
phát hiện và nhận dạng một đối tượng cụ thể cũng có ý nghĩ quan trọng trong
ứng dụng thị giác máy tính, ta thấy rõ ràng nhất là ứng dụng nhận dạng khuôn
mặt phổ biến trên một số dòng máy tính xách tay. Hiện tại các kĩ thuật nhận dạng
khuôn mặt đã khá hoàn thiện: phát hiện khuôn mặt bằng cách sử dụng phương
pháp máy học và dự toán thống kê đã chứng minh kết quả xuất sắc trong tất cả
các phương pháp nhận dạng khuôn mặt hiện có. Nhiều nghiên cứu đã được tiến
hành trong khu vực kỹ thuật nhận diện khuôn mặt, chẳng hạn như AdaBoost
(Viola và Jones, 2001a; Viola và Jones, 2001b), FloatBoost (Li et al, 2002.), S-
AdaBoost (Jiang và Loe, năm 2003), mạng nơ-ron (Rowley et al, 1996; Curran et
al, 2005), Support Vector Machines (SVM) (Osuna et al, 1997, Shih và Liu, năm
2004), mô hình Markov ẩn (Rabiner và Jung, năm 1993), và phân loại Bayes
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
7
(Schneiderman và Kanade năm 1998; Schneiderman, 2004). Viola và Jones
(2001a, 2001b) đề xuất một thuật toán nhận dạng khuôn mặt AdaBoost, có thể
phát hiện khuôn mặt trong một cách nhanh chóng và mạnh mẽ với tỷ lệ phát hiện
cao. Li et al. (2002) đề xuất các thuật toán FloatBoost, một phiên bản cải tiến của
AdaBoost, cải thiện khả năng học các lớp phân loại tăng nhằm giảm tỉ lệ lỗi.
Jiang và Loe (2003) đề xuất S-AdaBoost, một biến thể của AdaBoost, xử lý
trong việc phát hiện mô hình và phân loại. Rowley et al.(1996) đã thực hiện các
nghiên cứu quan trọng nhất trong số tất cả các phương pháp nhận diện khuôn
mặt dựa trên các mạng nơ-ron. Họ sử dụng một mạng lưới nơ-ron đa lớp để học
mô hình face và non-face từ các bộ hình ảnh về face và non-face. Một nhược
điểm của phương pháp này là mặt phải nhìn thẳng về phía trước mới có thể phát
hiện. Mặc dù Rowley et .al. cải tiến phương thức để có thể phát hiện hình ảnh
khuôn mặt khi xoay chuyển, tuy nhiên kết quả không tốt vì tỉ lệ nhận dạng khá
thấp. Support Vector Machines (SVMs) (Osuna et al, 1997, Shih và Liu, 2004)
sử dụng cấu trúc giảm thiểu rủi ro để giảm thiểu trên ràng buộc của các lỗi dự
kiến tổng quát. Những khó khăn chính của SVMs là tính toán nhiều và yêu cầu
bộ nhớ cao. Mô hình Hidden Markov (HMM) (Rabiner và Jung, 1993) cho rằng
các dạng face và non-face có thể được mô tả như là tham số ngẫu nhiên. Mục
đích của HMM là để ước tính các thông số thích hợp trong HMM nhằm tối đa
hóa khả năng quan sát dữ liệu được huấn luyện. Schneiderman và Kanade (1998)
trình bày một lớp phân loại Bayes thuần, trong đó dự tính xác suất xuất hiện và
vị trí của một mô hình khuôn mặt ở quy mô nhiều. Tuy nhiên, việc thực hiện
phân loại Bayes thuần là thấp. Để giải quyết vấn đề này, Schneiderman (2004) đề
xuất một mạng Bayesian hạn chế để phát hiện đối tượng. Phương pháp này tìm
kiếm các cấu trúc của một phân loại dựa trên mạng Bayes trong không gian rộng
lớn của cấu trúc mạng có thể xảy ra.
Bảng sau là các nghiên cứu có liên quan đến bài toán phát hiện đối tượng:
Phân loại Đặc điểm Nghiên cứu tiêu biểu
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
8
Phương thức dựa trên các đặc trưng
Facial features with edges and lines
Herpers et al. (1996) Song et al. (2002)
Gray scaleYang and Huang (1994) Graf et al. (1995)
Skin color and elliptical edges
Huang and Trivedi (2004)McKenna et al. (1998) Naseemand Deriche (2005)
Multiple facial featuresHuang et al.(2004)Wang and ertMariani (2000)
Phương thức dựa trên mẫu
Elastic bunch graph matching Wiskott et al. (1997)
Snakes and templatesKwon and Lobo (1994)Gunn and Nixon (1996)
Silhouettes Samal and Iyengar (1995)
Phương thức
dựa trên hình ảnh
Học máy
AdaBoost
Viola and Jones (2001a; 2001b)Lienhart and Maydt (2002)Wang et al. (2004)
FloatBoost Li et al.(2002a; 2002b)
S-AdaBoost Jiang and Loe (2003)
AdaBoost and PCA Zhang et al.(2004b)
AdaBoost with look-up-tabletype weak classifiers
Wu et al. (2004)
AdaBoost with Gabor features Yanget al. (2004)
Mạng nơ-ronMultilayer neural networks
Rowleyet al. (1996; 1998) Curran et al.(2005)
NN and Constrained Generative
Model
Féraud et al.(2001)
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
9
Support Vector
Machines (SVM)
SVM with polynomial kernel Osuna et al.(1997)
SVM with Orthogonal Fourierand Mellin Moments (OFMM)
Terrillon et al. (2000)
SVM with DiscriminatingFeature Analysis
Shih and Liu (2004)
Các thuật toán khác
Hidden Markov Model (HMM) Rabiner and Jung (1993)
Naive Bayes classifier Schneiderman and Kanade(1998)
Restricted Bayesian network Schneiderman (2004)
Face Probability Gradient Ascent(FPGA) Park et al.(2005)
Bảng 2: Các phương thức nhận dạng khuôn mặt và các nghiên cứu tiêu biểu.
Trong khóa luận này, chúng tôi sẽ tiếp cận bài toán theo vết chuyển động
theo hướng kết hợp việc nhận dạng đối tượng và theo dõi đối tượng cụ thể là hai
đối tượng khuôn mặt (face) và người đi bộ (pedestrian) tiến hành nhận dạng đối
tượng (detect) sau đó theo vết (track) và sau một khoảng thời gian sẽ tiến hành
nhận dạng đối tượng nhằm làm tăng hiệu quả theo vết; cải tiến số lượng đối
tượng theo vết cụ thể là cùng một thuật toán nhưng áp dụng cho các nhóm mẫu
(Particle Filter) khác nhau - mỗi nhóm tương ứng với một đối tượng được theo
vết; ngoài ra cải thiện tốc độ xử lý của thuật toán bằng kĩ thuật lập trình song
song và sử dụng thread tăng hiệu quả của thuật toán. Bên cạnh đó, chúng tôi tiến
hành đánh giá hiệu quả của các cải tiến bằng các dữ liệu lấy từ bài báo nghiên
cứu có tiếng (nhằm đảm bảo tính hợp lệ và tính đúng đắn của dữ liệu), các bộ dữ
liệu có các đặc trưng và độ phức tạp phong phú: dữ liệu “YouTube action” bao
gồm các video có cùng chung một số điểm như ngoại cảnh, cùng góc quan sát…,
độ phức tạp của cơ sở dữ liệu bao gồm: sự thay đổi lớn trong chuyển động
camera, sự xuất hiện đối tượng và đặt ra, quy mô đối tượng, quan điểm, mức độ
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
10
phức tạp của khung cảnh nền, điều kiện chiếu sáng, v.v; hay bộ dữ liệu “UCF
Sports Action” liệu gồm các video ở độ phân giải 720x480, mô tả các hoạt động
thể thao đặc trưng trong một loạt các ngoại cảnh khác nhau…
# Tên video Số frame Kết quả (%)
Đối
tượng
bất kỳ
v_jumping_01_04 201 94.03
v_jumping_02_03 201 48.76
v_jumping_02_04 201 51.74
v_jumping_03_01 201 84.08
Khuôn
mặt
jam1 199 83.42
jim2 199 95.48
ssm1 199 100
Người
đi bộ
v_walk_dog_01_04 151 74.83
walk002 100 56
walk008 101 11.88
walk014 100 100
Bảng 3: Kết quả đánh giá sơ lược.
Trong các phần sau của bài luận văn được tổ chức như sau: chương hai
giới thiệu chung về bài toàn theo vết đối tượng: cách tiếp cận chung của bài, lý
thuyết về Particle Filter; chương ba giới thiệu về phương pháp phát hiện đối
tượng được áp dụng trong ứng dụng thực nghiệm; chương bốn giới thiệu về hai
thư viện OpenCV và GSL - hỗ trợ chính trong việc xây dựng ứng dụng thực
nghiệm; ứng dụng thực nghiệm được mô tả cụ thể trong chương năm, cuối cùng,
chương năm là phần đánh giá tính hiệu quả của ứng dụng thực nghiệm, công
thức để đánh giá, dữ liệu đánh giá đánh giá hiệu quả của thuật toán và chương
năm đưa ra kết quả đáng giá thực nghiệm dựa trên các công thức đã được chứng
minh trong các hội nghị khoa học.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
11
[Chương 2.] BÀI TOÁN THEO VẾT ĐỐI TƯỢNG.
1.1.[2.1.] Tổng quan về bài toán theo vết đối tượng.Mục tiêu của bài toán theo vết đối tượng là để “hiểu” được những chuyển
động của đối tượng. “Hiểu” những thông tin về đối tượng như vị trí trong không
gian, vận tốc chuyển động và những đặc trưng vật lý khác.
Hầu hết khó khăn của bài toán theo vết đối tượng là do khả năng biến
động của ảnh video. Khi một đối tượng chuyển động qua một vùng quan sát trên
khung hình, hình ảnh về đối tượng có thể thay đổi rất nhiều. Sự thay đổi này đến
từ 3 nguồn chính: sự thay đổi tư thế đối tượng đích (như người đang đứng
chuyển sang tư thế ngồi; xe đang đi thẳng quẹo sang trái …) hay sự biến dạng
của đối tượng đích, sự thay đổi về độ sáng, và sự che khuất một phần hay toàn bộ
đối tượng đích (như khi hai người hay xe đi ngang qua nhau).
Mỗi phương pháp tiếp cận bài toán có các ưu nhược điểm riêng nhưng
tổng quát có thể chia ra thành hai hướng chủ yếu:
Hướng top-bottom: xuất phát từ các quan sát, thực hiện rút trích, phân
đoạn các hình ảnh hay các khung hình đầu vào để tìm ra đối tượng cần theo vết.
Ví dụ, phương pháp theo vết dùng “Blod detection”
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
12
Hình 2.3: Phương pháp theo vết sử dụng “Blob Detection”.
Hướng bottom-up: cách tiếp cận này sử dụng các giả thuyết về đối tượng
và cố gắng kiểm tra chúng bằng cách sử dụng các dữ liệu có được từ hình ảnh, ví
dụ: phương pháp so khớp với mẫu (template matching). Phương pháp sử dụng
Particle Filter giới thiệu trong khóa luận này cũng thuộc nhóm các phương pháp
top-down.
1.2.[2.2.] Cách tiếp cận chung của bài toán theo vết đối tượng.Đối tượng theo vết có thể chia thành ba nhóm đối tượng chính:
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
13
Nhóm các đối tượng có một tập đặc tính chung như xe hơi, người, khuôn
mặt.
Nhóm các đối tượng có tập đặc tính chung trên nhưng kết hợp với một
thuộc tính cụ thể khác như xe ô tô chạy, người đi bộ.
Nhóm các đối tượng có chung một thuộc tính cụ thể như các đối tượng di
chuyển, đối tượng bất kỳ được người dùng chọn trong khung hình đầu tiên.
Thuật toán theo vết đối tượng thực chất làm tìm một vùng ảnh di chuyển
từ khung hình này sang khung hình khác nên mỗi nhóm đối tượng sẽ có các đặc
điểm riêng nhưng tống quát ta có các bước chính như sau:
Thứ nhất, ta cần xây dựng một “mô hình tham chiếu” (reference
model) để mô tả cho đối tượng cần theo vết.
Sau đó trên mỗi khung hình đầu vào (input frame), dựa trên các
hàm thực thi so sánh (similarity measure) thuật toán tìm (localize) vùng
nào mà gần giống với “mô hình tham chiếu” (reference model) nhất.
Dựa trên cách tiếp cận chung thì mỗi phương pháp kĩ thuật được phát
triển sẽ có các biến thể và các cách thức áp dụng riêng.
1.2.1.[2.2.1.] Mô hình tham chiếu (Reference model).
Mô hình tham chiếu là mô hình mô tả các thông tin về “vẻ bề ngoài” của
đối tượng cần theo vết. Có nhiều cách xây dựng mô hình tham chiếu cho đối
tượng như các mẫu gray-level, mô hình đường viền, và cách thường dùng nhất
trong các ứng dụng theo vết đối tượng là dùng mô hình màu (color model), tuy
nhiên có một số vấn đề đặt ra:
Hệ màu nào được dùng? RGB hay HSV, ... Lưu ý rằng khi chúng
ta dùng mô hình màu để làm mô hình tham chiếu có nghĩa là chúng ta đã
chịu thêm một giả sử là chúng ta chỉ theo vết được các đối tượng trên ảnh
màu chứ không phải là ảnh bất kì. Ngoài ra, cũng cần chọn kĩ hệ màu vì
nó rất nhạy cảm với độ sáng, khung cảnh. Hiện tại trong ứng dụng thực
nghiệm đang sử dụng với hệ màu Hue-Saturation-Value (HSV).
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
14
Mô hình phân bố (distribution) như thế nào? Có nhiều cách để tạo
mô hình phân bố như Gaussian, hoặc Mixture Gaussian, hoặc chỉ đơn giản
như histogram. Ứng dụng thực nghiệm đang sử dụng mô hình phân bố
histogram.
1.2.2.[2.2.2.] Hàm thực thi sự so sánh (similarity measure).
Để so sánh giữa mô hình ứng viên (candidate model) và mô hình tham
chiếu (reference model) trong mỗi khung hình đầu vào (input frame), chúng ta
phải cần phải có một hàm tính toán sự gần nhau/giống nhau (similarity measure).
Hàm này có nhiệm vụ sẽ tính toán mức độ tượng đồng/giống nhau giữa hai đối
tượng trên từ đó xác định được trạng thái của đối tượng cần theo vết. Ví dụ, hàm
SSD (Sum of Squared Differences) được dùng trong trường hợp thỏa điều kiện
độ sáng không đổi nghĩa là giá trị ánh sáng của các điểm ảnh không thay đổi từ
khung hình này sang khung hình khác; hàm SAD (Sum of Absolute Differences).
1.3.[2.3.] Cơ sở toán học.
1.3.1.[2.3.1.] Ước lượng Bayes.
1.3.1.1.[2.3.1.1.] Định nghĩa theo khía cạnh toán học.
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A
khi biết sự kiện liên quan B đã xảy ra. Xác suất này được ký hiệu là P(A|B), và
đọc là "xác suất của A nếu có B". Đại lượng này được gọi xác suất có điều kiện
hay xác suất hậu nghiệm vì nó được rút ra từ giá trị được cho của B hay phụ
thuộc vào giá trị đó.
Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:
Xác suất xảy ra A của riêng A, không quan tâm đến B. Kí hiệu là
P(A) và đọc là “xác suất của A”. Đây được gọi là xác suất biên duyên hay
xác suất tiên nghiệm, nó là "tiên nghiệm" theo nghĩa rằng nó không quan
tâm đến bất kỳ thông tin nào về B.
Xác suất xảy ra B của riêng B, không quan tâm đến A. Kí hiệu là
P(B) và đọc là "xác suất của B". Đại lượng này còn gọi là hằng số chuẩn
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
15
hóa (normalising constant), vì nó luôn giống nhau, không phụ thuộc vào
sự kiện A đang muốn biết.
Xác suất xảy ra B khi biết A xảy ra. Kí hiệu là P(B|A) và đọc là
"xác suất của B nếu có A". Đại lượng này gọi là khả năng (likelihood) xảy
ra B khi biết A đã xảy ra.
Khi biết ba đại lượng này, xác suất của A khi biết B cho bởi công thức
P ( A|B )=P (B|A ) P( A)
P(B)eq. 1
1.3.1.2.[2.3.1.2.] Định nghĩa theo khía cạnh ứng dụng.
Trước hết ta định nghĩa một số kí hiệu sau:
Đối với trạng thái đối tượng (mục tiêu cần xác định):
x t: trạng thái của đối tượng ở thời điểm t. Các đại lượng vật lý đại
diện cho trạng thái của đối tượng thường là tọa độ x, y của trọng tâm
khung chữ nhật chứa đối tượng cần theo vết.
X t: chuỗi các trạng thái của đối tượng từ thời điểm ban đầu đến
thời điểm t.
Đối với quá trình quan sát (được xác định dựa trên các thông tin từ video):
z t: các quan sát tại thời điểm t.
Z t: chuỗi các quan sát từ thời điểm ban đầu đến thời điểm t.
Mục tiêu của phương pháp Bayes là ước lượng trạng thái xt dựa trên chuỗi
quan sát Zt. Để ước lượng trạng thái xt cho một hệ thống, ta cần có 2 mô hình:
Mô hình động: mô hình sự tiến hóa của trạng thái theo thời gian:
x t=f t−1(xt−1 , v t−1) eq. 2
với v t−1 là vectơ nhiễu (ngẫu nhiên), xác suất chuyển trạng thái p(x t , x t−1) tính
được từ mô hình này.
Mô hình quan sát: mô tả mối quan hệ giữa các quan sát và trạng thái của
đối tượng tại một thời điểm:
z t=ht(x t ,wt) eq. 3
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
16
với w t là vectơ nhiễu (ngẫu nhiên), mô hình này được sử dụng để tính
likelihoodp(zt∨x t).
Tại một thời điểm t bất kỳ, hàm phân phối xác suất hậu nghiệm được cho
bởi quy tắc Bayes như sau:
p ( x t|Z t )⏟(1)
∝ p( zt∨x t)⏟(2)
∫x t−1
❑
p (x t∨x t−1)⏟(3)
p(x t−1∨Z t−1)⏟(4 )
d x t−1 eq. 4
(1): xác suất hậu nghiệm tại thời điểm t hiện tại.
(2): đại lượng likelihood được xác định dựa trên mô hình quan sát.
(3): xác suất chuyển trạng thái xác định dựa trên mô hình động.
(4): xác suất hậu nghiệm tại thời điểm t-1.
Giải pháp Bayes cho rằng chúng ta có thể đạt được xác suất hậu nghiệm
(posterior density) p(x t∨Z t)qua hai bước:
Dự đoán:
p ( x t|Z t−1 )=∫ p ( x t|x t−1 ) p ( x t−1|Zt−1 ) d x t−1 eq. 5
Cập nhật:
p ( x t|Z t )=p ( z t|x t ) p ( x t|Z t−1 )
∫ p ( zt|x t ) p ( x t|Z t−1 ) d x t
eq. 6
Tuy nhiên ước lượng này chỉ mang tính lý thuyết vì không có phương
pháp tổng quát để tính tích phân trong công thức (eq.5) và (eq.6) trong trường
hợp liên tục và nhiều chiều. Vì lí do đó, các phương pháp lọc phi tuyến như
Kalman Filter, Kalman Filter mở rộng, lọc tổng hợp Gauss, … ra đời nhằm mục
đích xấp xỉ hàm mật độ hậu nghiệm. Nhưng nếu các phương pháp Kalman Filter,
Kalman Filter mở rộng, lọc tổng hợp Gauss, … dựa vào giải tích, tìm kiếm lời
giải cho các phương trình (eq.5) và (eq.6) bằng một hay nhiều phương trình khác
với giả sử rằng môi trường thỏa mãn một số yêu cầu, còn phương pháp Monte
Carlo lại dựa vào sự mô phỏng và xấp xỉ các hàm phân phối và các tích phân
bằng một tập các dữ liệu được sinh ra bằng chính hàm phân phối.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
17
1.3.2.[2.3.2.] Phương pháp Monte Carlo.
Trong phần này, chúng ta sẽ xem xét một trong những nền tảng lý thuyết
quan trọng nhất – phương pháp Monte Carlo – của Particle Filter. Không mất
tính tổng quát, ta xem xét bài toán tính tích phân trong đó dữ liệu rất lớn, nhiều
chiều (High-Dimensional Intergral) như sau:
I ( f )=∫ f ( x ) p ( x|z ) dx eq. 7
Trong đó,f (∘ ) là một hàmp ( x|z )- khả tích. Giả sử ta có thể sinh ngẫu nhiên
N mẫu ngẫu nhiên phân phối độc lập và đồng nhất {x i ;i=1, …, N } từ phân phối
xác suất p ( x|z ). Như vậy, phân phối xác suất p ( x|z ) có thể được ước lượng như
sau:
Pn ( x )= 1N∑i=1
N
δ x (i ) (dx) eq. 8
Trong đó, δ x (i )(dx ) ký hiệu hàm delta-Dirac có tâm tại x (i ). Vậy, I ( f ) có thể
được xấp xỉ bằng tích phân Monte Carlo (Monte Carlo Integration) như sau:
I N ( f )=∫ f (x ) Pn (x )= 1N∑i=1
N
f ( x(i)) eq. 9
Biểu thức ướng lượng trong (eq.9) hợp lệ vì theo luật mạnh số lớn, nếu
phương sai của f ( x ) thỏa δ f2≜E p (x|z ) [ f 2 ( x ) ]−I 2 (f )<+∞ thì phương sai của I ( f ) được
cho bởi var ( I N (f ) )=δ f
2
N. Vậy ta có:
I N ( f )a . s
N →+∞→ I (f ) eq. 10
Trong đóa . s→
là ký hiệu của “hội tụ hầu chắc chắn” (Almost Sure
Convergence). Hơn nữa, vì δ f2<+∞ (hữu hạn) nên định lý giới hạn trung tâm
được thỏa, nghĩa là:
√ N [I N ( f )−I ( f ) ] N →+∞⇒
N (0 , δ f2) eq. 11
Trong đó ⟹ ký hiệu cho hội tụ trong phân phối xác suất. Từ những lập
luận trên, suy ra dùng tập các mẫu ngẫu nhiên {x i ;i=1, …, N } có thể dễ dàng ước
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
18
lượng đượcI ( f ). Dựa vào ước lượng này, kết hợp với phương trình (eq.11) ta
cũng có thể dễ dàng tính được mức độ hội tụ của phép ước lượng, hay mức độ lỗi
của nó.
Không những thế, điểm mạnh của phương pháp tích phân Monte Carlo
còn nằm ở chỗ nó không phụ thuộc vào số chiều của dữ liệu. Thật vậy, nếu ta
phải tính (eq.7) bằng phương pháp xấp xỉ tích phân Riemann, trong đó không
gian trạng thái được mô hình hóa bằng một phương trình giải tích, độ chính xác
của phép xấp xỉ sẽ là đối với tích phân trên miền dữ liệu có số chiều là , nghĩa là
mức độ hội tụ của phép xấp xỉ sẽ là O(N−1n x ) đối với tích phân trên miền dữ liệu
có số chiều là nx, nghĩa là mức độ hội tụ của phép xấp xỉ càng giảm khi số chiều
của phép tính tích phân càng tăng. Trong khi đó, áp dụng phương pháp tích phân
Monte Carlo, phương pháp mô phỏng ngẫu nhiên không gian trạng thái từ phân
phối xác suất của nó, độ chính xác của phép xấp xỉ là O(N−12 ) và không phụ
thuộc vào số chiều nx của dữ liệu. Điều này có nghĩa là, phương pháp tích phân
Monte Carlo độc lập với số chiều của phép tính tích phân.
Tuy nhiên, một vấn đề gặp phải khi áp dụng phương pháp tích phân
Monte Carlo chính là làm sao để có thể tạo ra một tập các mẫu ngẫu nhiên từ
phân phối xác suất đích p(x∨z ) bất kỳ một cách hiệu quả. Tuy nhiên thường
không có cách nào để sinh ra tập mẫu này một cách trực tiếp từ phân phối xác
suất đích p(x∨z ) vì p(x∨z ) trong trường hợp tổng quát, thường là đa biến và
không có một dạng chuẩn nhất định mà chúng ta có thể biết trước (dạng của
p(x∨z ) có thể biến đổi theo thời gian). Do đó, ta phải dùng phương pháp gián
tiếp để sinh ra tập các mẫu dữ liệu này.
1.3.3.[2.3.3.] Yếu tố lấy mẫu.
Lấy mẫu là một yếu tố quan trọng trong thuật toán Particle Filter vì nó
giải quyết được trường hợp các tín hiệu quan sát là phi Gauss trong chuỗi ảnh.
Trọng số (weight) của mỗi mẫu trong tập hợp mẫu hiện tại có ý nghĩa quan trọng
vì căn cứ vào đó ta dự đoán trạng thái của đối tượng xt tại thời điểm t hiện tại
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
19
bằng p ( x t|zt−1 , zt−2 , …, z1 ). Mật độ hậu nghiệm (posterior density) p(x∨z ) cung
cấp tất cả các thông tin cần thiết về trạng thái x của đối tượng. Điều này thu được
bằng cách áp dụng định lý Bayes như sau:
p ( x|z )=kp ( z|x ) p( x) eq. 12
Trong đó, k là hằng số không phụ thuộc vào x. Đầu tiên, một tập N mẫu
{s1, s2, ..., sN} được khởi tạo ra dựa trên phân bố đầu tiên p(x0) – thực chất đây
chính là tạo N mẫu từ mô hình tham chiếu. Sau đó, trọng số của mỗi mẫu trong
tập mẫu được xác định. Dựa vào trọng số này, mẫu có nhiều “khả năng” là trạng
thái đối tượng (có xác suất cao hơn) sẽ được lựa chọn. Mở rộng ý tưởng này theo
chuỗi thời gian, trọng số tại bất kỳ thời điểm t là:
w t=p ( zt|xt )=p ( zt|sn ,t )
∑j=1
N
pz ( zt|s j , t )eq. 13
Tại mỗi thời điểm t+1 thì trọng số của mỗi phần tử trong tập hợp mẫu sẽ
được cập nhật lại.
1.3.4.[2.3.4.] Các vấn đề trong việc chọn mẫu.
Có một vấn đề thường gặp trong thuật toán chọn mẫu chính là hiện tượng
thoái hóa mẫu (Degeneracy of SIS), trong đó sau một vài vòng lặp, ngoại trừ một
mẫu duy nhất trong tập mẫu, tất cả những mẫu còn lại đều có trọng số rất nhỏ,
không đáng kể.
Sự thoái hóa của trọng số: phương sai không điều kiện của trọng số thực
sự tăng dần theo thời gian:
varπ ( x0 :t−1 , z1: t−1 ) [ wt−1¿ ]≤ var π ( x0: t−1 , z1 :t−1) [w t
¿] eq. 14
Trong đó, chỉ số dưới dòng ở biểu thức phương sai chỉ ra rằng những giá trị kỳ
vọng là được tính tương ứng với chuỗi độ đo và chuỗi trạng thái tương ứng.
Hơn nữa, ta lại có:
varπ ( x0 :t−1 , z1: t−1 ) [ wt¿ ]=Ep (z1: t) [var π ( x0 :t−1 , z1:t −1 ) [ wt
¿∨z1: t ] ] eq. 15
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
20
nghĩa là, với một chuỗi quan sát cho trước z1 :t, phương sai có điều kiện của trọng
số có xu hướng tăng dần.
Sự thoái hóa này là không tránh khỏi trong các bộ lọc dựa trên phương
pháp Monte Carlo. Do đó, vấn đề của chúng ta là làm sao giảm bớt ảnh hưởng
của hiện tượng này.
1.3.5.[2.3.5.] Phương pháp tái chọn mẫu (Sequential Importance Resampling).
Trong phần này trình bày về phương pháp để giảm bớt tác dụng của hiện
tượng thoái hóa mẫu hay thoái hóa trọng số, đó là phương pháp tái chọn mẫu
(Resampling).
Hình 2.4: Tính toán trọng số.
Trong những phần trên, ta đã biết:
p̂N(x t∨z1 : t)=∑i=1
N~w eq. 16
chính là một ước lượng rời rạc của hàm mật độ p(x t∨z1: t). Sau một vài lần thực
hiện, tất cả các mẫu đều có trọng số rất nhỏ, ngoại trừ một mẫu duy nhất trong
tập hợp mẫu có trọng số bằng 1. Tuy nhiên, ta nhận thấy không phải tất cả các
mẫu đều thực sự góp phần quyết định vào giá trị của hàm mật độ hậu nghiệm
p(x t∨z1: t) mà chỉ có những phần từ trong tập hợp mẫu tương đối gần với kỳ
vọng I (f ) mới có đóng góp đáng kể trong việc quyết định giá trị của hàm.
Phương pháp tái chọn mẫu giải quyết vấn đề này bằng cách sắp xếp và điều
chỉnh lại N mẫu trong tập hợp mẫu đã có sẵn để xấp xỉ tốt hơn hàm mật độ này.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
21
Gọi ~x t(i) là vector trạng thái trước khi tái chọn mẫu và x t
(i)là vector trạng
thái sau khi bước tái chọn mẫu được thực hiện. Vậy thủ tục tái chọn mẫu chính là
ánh xạ:
{~x t( i) ,~wt
( i)}i=1
N→ {x t
(i) ,1N }
i=1
N
eq. 17
Sao cho:
Pr ( x t(i)=~x t
(i))=~w t(i) eq. 18
Bằng cách sắp xếp lại N phần tử trong mẫu và đặt lại các trọng số mới,
thuật toán tránh được hiện tượng thoái hóa (tại mỗi thời điểm, trọng số của các
phần tử trong mẫu đều như nhau và bằng 1/N).
1.4.[2.4.] Particle Filter.
1.4.1.[2.4.1.] Định nghĩa.
Theo vết đối tượng bằng phương pháp Particle Filter là phương pháp dựa
trên xác suất, sử dụng các phương trình dự đoán (prediction) để dự đoán trạng
thái của đối tượng và phương trình cập nhật (updation) dựa trên những tri thức
thu thập được từ các quan sát (observation) trên đối tượng để hiệu chỉnh lại các
dự đoán trước đó về trạng thái của đối tượng.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
22
Hình 2.5: Sơ đồ giải thích quá trình từ tín hiệu thực tế tới ước lượng thuật toán.
Hình 2.6: Mô hình xác suất của Particle Filter.
Phương pháp này dùng ước lượng Bayes hồi quy làm giải pháp lý thuyết,
và ý tưởng của phương pháp Monte Carlo kết hợp với yếu tố lấy mẫu để xấp xỉ
cho giải pháp lý thuyết này. Cách thức thực hiện của phương pháp này là xây
dựng mô hình động và mô hình quan sát, áp dụng mô hình xác suất này dựa mô
hình tham chiếu của đối tượng để phân tích các dòng dữ liệu từ video.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
23
Cũng như các phương pháp Filtering, Particle Filter cũng tính xấp xỉ hàm
mật độ hậu nghiệm tuy nhiên không như các phương pháp khác dựa vào giải
tích, cố gắng tìm một lời giải cho các phương trình trên thông qua một hay nhiều
phương trình khác, thì Particle Filter lại sử dụng một tập lớn các mẫu dữ liệu
được phát sinh từ bời chính các hàm phân phối trong các tích phân này.
Dựa vào định nghĩa trên, ta xác định được kỹ thuật theo vết đối tượng này
dựa trên các trạng thái trước đó của đối tượng để dự đoán vị trí đối tượng trong
khung hình tiếp theo và các thuật ngữ sau được định nghĩa:
xt: trạng thái của đối tượng vào thời điểm t.
zt: các tín hiệu quan sát từ dữ liệu từ khung hình hiện tại trong
chuỗi video tại thời điểm t.
Tập hợp các trạng thái của đối tượng từ trước tới thời điểm t (x1, x2,
…xt).
Tập hợp các dữ liệu quan sát được tính tới thời điểm t (z1, z2, ... zt).
1.4.2.[2.4.2.] Mô hình động (Dynamics Model):
Mô hình động của đối tượng chính là những phương trình xác suất mô tả
chuyển động, biến đổi của trạng thái đối tượng trong hệ.
Trong ứng dụng thực nghiệm thì trạng thái đối tượng được mô tả bằng một
vectơ xt = (x, y, s) trong đó x, y chính là tọa độ của khung hình chữ nhật chứa đối
tượng, s là độ scale của đối tượng.
Chúng tôi lan truyền tập mẫu và ước lượng sự chuyển động của đối tượng
thông qua một mô hình hồi qui động cấp 2 (a second order autoregressive
dynamic model). Công thức chuyển động cụ thể như sau::
x t+1=A x t+B x t−1+C v t , v t N (0 , σ t)
y t+1=A y t+B y t−1+C v t , v t N (0 , σ t)
st+1=A st +B st−1+C v t , v t N (0 , σ t)
eq. 19
Trong đó ma trận A, B đại diện cho thành phần bất biến và ma trận C đại
diện cho thành phần ngẫu nhiên. Những thành phần này có thể chọn từ tập mẫu
học hoặc có thể gán bằng tay. σ t là xác suất nhiễu Gauss.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
24
1.4.3.[2.4.3.] Mô hình quan sát (Observation model).
Mô hình quan sát chính là cơ sở cho những phép đo và tính toán xác suất
trong các phương trình xác suất của hệ. Mục đích của bước quan sát để đo lường
khả năng mỗi mẫu được dự đoán khớp như thế nào (likelihood) so với các dữ
liệu quan sát – điều này được đặc trưng qua trọng số của mẫu. Mô hình quan sát
sử dụng các đặc tính của hình ảnh, chẳng hạn như cạnh, màu sắc, biểu đồ
(histogram), v.v, để xác định trạng thái dự đoán dựa trên mẫu các dữ liệu đầu vào
hoặc dữ liệu quan sát. Trong ứng dụng thực nghiệm, chúng tôi sử dụng mô hình
quan sát dựa vào mô hình màu trong hệ màu Hue-Saturation-Value (HSV)
Áp dụng mô hình màu:
Mô hình màu thu được bằng kỹ thuật histogram trong hệ màu HSV để tách
thông tin màu sắc từ các hiệu ứng đổ bóng. Tuy nhiên, thông tin màu sắc này chỉ
đáng tin cậy khi hai giá trị Saturation và Value không phải là quá nhỏ. Do đó,
trong ứng dụng chúng tôi xây dựng một histogram HS với bins Nh Ns bằng cách
chỉ sử dụng các điểm ảnh với hai giá trị Saturation và Value lớn hơn hai ngưỡng
tương ứng là 0,1 và 0,2. Tuy nhiên, các điểm ảnh "colorless" còn lại có thể là
thông tin rất quan trọng khi theo vết những khu vực có màu chủ yếu là màu đen
và trắng. Kết quả histogram thu được bao gồm số bin là N = Nh x Ns + Nv.
Tại thời điểm t, mô hình histogram h( xt) thuộc vectơ trạng thái x t sẽ so sánh
với mô hình tham chiếu h0={h0(n)}n=1 … N. Mô hình tham chiếu được xây dựng tại
thời điểm bắt đầu t0 có thể cho người dùng chọn đối tượng cần theo vết hoặc kết
hợp với module detector để phát hiện đối tượng tự động. Do đó,
h0=h(x t 0) eq. 20
Để tính được đại lượng likelihood ta cần xác định mức độ “gần nhau” giữa
mô hình histogram ứng viên và mô hình tham chiếu thông qua khoảng cách D
trên phân bố màu HSV. Khoảng cách D được tính dựa trên khoảng cách
Bhattacharyya như sau:
D [h0 , h(x t)]=1−∑n=1
N
√h0 (n ) h(n; x t) eq. 21
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
25
Công thức tính trọng số:
w t=p ( zt ¿ x t )∝ e−λ D 2[h0 , h( xt )] eq. 22
Thiếu cách để ước tính tham số λ nhưng dựa trên các đánh giá thực nghiệm
của các bài báo khóa học thì giá trị λ được đánh giá là tốt nhất là 20; do đó, λ=20
. Đối với số bin của histogram sử dụng thiết lập mặc định Nh=Ns =Nv=10 (10 bin
cho mỗi hệ màu Hue, Saturation và Value) do tổng N=10x10+10 = 110 bins.
1.4.4.[2.4.4.] Thuật toán tái chọn mẫu:
Từ lý thuyết về phương pháp tái chọn mẫu, ta có thuật toán tái chọn mẫu như
các bước sau:
Tại khung hình đầu tiên, khởi tạo một tập N mẫu với trọng số là 0.
Tại các khung hình k tiếp theo:
Chuẩn hóa (Normalize) giá trị trọng số theo công thức:
w t(i)=
~wt(i)
∑j=1
N
~wt( j)
;1 ≤i ≤ Neq. 23
Tính toán số mẫu ước lượng theo công thức sau:
~N eff =1
∑i=1
N
(w t(i))2 eq. 24
Nếu ~N eff <N thr thì tạo mới một tập mẫu từ N mẫu hiện tại với trọng số
w k(i)= 1
N;;1 ≤ i≤ N eq. 25
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
26
1.4.5.[2.4.5.] Các bước thực hiện.
Các bước trong quá trình xác định trạng thái của đối tượng thông qua
Particle Filter:
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
Khởi tạo trạng thái đối tượng x0 từ khung hình đầu tiên
Tạo ra một tập hợp mẫu gồm N mẫu {sit}i=1...N
Dự đoán x, y, s cho mỗi mẫu bằng cách sử dụng mô hình động.
Tính toán trọng số cho mỗi mẫu bằng mô hình quan sát
Tái chọn mẫu
Xác định trạng thái đối tượng tại thời điểm hiện tại dựa vào trung bình của N/2 particle có trọng số
lớn nhất.
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
27
Hình 2.7: Ba bước chính trong thuật toán Particle Filter
Trong đó thì ba bước sau là quan trọng:
Predict: dự đoán trạng thái đối tượng tại thời điểm t dựa trên mô hình
động.
Measure: tính toán trọng số các mẫu trong tập hợp dựa trên các quan sát
(tín hiệu từ video – so sánh các histogram của các mẫu) tại thời điểm t hiện tại,
từ đó suy ra mẫu nào “giống” với đối tượng nhất.
Resample: tái chọn mẫu, để tránh hiện tượng thoái hóa mẫu từ tập hợp
mẫu hiện tại ta tạo một tập mẫu mới với trọng số không quá nhỏ.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
28
Hình 2.8: Ví dụ cụ thể các bước tính toán trên một video.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
x t−1(i)
x t(i)
p(zt∨x t)
p(x t∨x t−1)
h0 ht(i)
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
29
Chương 2.[Chương 3.] PHÁT HIỆN ĐỐI TƯỢNG (DETECTOR).Trong chương này, chúng ta sẽ tìm hiểu về phương pháp phát hiện đối
tượng được áp dụng trong ứng dụng thực nghiệm trên hai đối tượng là khuôn mặt
và người đi bộ.
2.1.[3.1.] Bài toán phát hiện đối tượng.Hiện nay có rất nhiều phương pháp phát hiện đối tượng, dựa vào các tính
chất của các phương pháp, ta có thể chia ra làm bốn hướng tiếp cận chính như
sau:
Hướng tiếp cận dựa trên tri thức: mã hoá hiểu biết của con người về các
loại đối tượng và tạo ra các tập luật để xác định đối tượng.
Hướng tiếp cận dựa trên các đặc tả không thay đổi: mục tiêu các thuật
toán tìm ra các đặc trưng mô tả cấu trúc đối tượng (các đặc trưng không thay đổi
so với tư thế, vị trí đặt thiết bị thu hình hay khi độ sáng tối thay đổi ...).
Hướng tiếp cận dựa trên so khớp mẫu: dùng các mẫu chuẩn của đối
tượng, sau đó tiến hành so khớp trên dữ liệu đầu vào.
Hướng tiếp cận dựa trên diện mạo: phương pháp học từ một tập ảnh huấn
luyện mẫu để xác định đối tượng.
Ứng dụng thử nghiệm trong khóa luận này sử dụng hướng tiếp cận dựa
trên diện mạo, sử dụng bộ phân loại mạnh (strong classifier) AdaBoost là sự kết
hợp của các bộ phân loại yếu (weak classifier) dựa trên các đặt trưng Haar-like
để xác định đối tượng. Mã nguồn cài đặt trong ứng dụng thực nghiệm dựa trên
thư viện mã nguồn mở OpenCV của Intel.
2.2.[3.2.] Đặc trưng Haar-like.Do Viola và Jones công bố, gồm 4 đặc trưng cơ bản để xác định đối
tượng. Mỗi đặc trưng Haar–like là sự kết hợp của hai hay ba hình chữ nhật
"trắng" hay "đen" như trong hình sau:
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
30
Hình 3.9: Đặc trưng Harr-like cơ bản.
Để sử dụng các đặc trưng này vào việc xác định khuôn mặt người, 4 đặt
trưng Haar-like cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như
sau:
a. Đặc trưng cạnh (edge features):
Hình 3.10: Đặc trưng cạnh.
b. Đặc trưng đường (line features):
Hình 3.11: Đặc trưng đường.
c. Đặc trưng xung quanh tâm (center-surround features):
Hình 3.12: Đặc trưng xung quanh tâm.
Dùng các đặc trưng trên, ta có thể tính được giá trị của đặc trưng Haar-
like là sự chênh lệch giữa tổng của các điểm ảnh (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−tổng vùng trắng eq. 26
Sử dụng giá trị này, so sánh với các giá trị của điểm ảnh thô, các đặc trưng
Haar-like có thể tăng/giảm sự thay đổi in-class/out-of-class (bên trong hay bên
ngoài lớp đối tượng), do đó sẽ làm cho bộ phân loại dễ hơn.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
31
Như vậy ta có thể thấy rằng, để tính các giá trị của đặc trưng Haar-like, ta
phải tính tổng của các vùng điểm ảnh trên ảnh. Nhưng để tính toán các giá trị của
các đặc trưng Haar-like cho tất cả các vị trí trên ảnh đòi hỏi chi phí tính toán khá
lớn, không đáp ứng được cho các ứng dụng thời gian thực. Do đó Viola và Jones
đưa ra một khái niệm gọi là 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, với 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ó. Bắt đầu từ vị trí trên, bên trái đến vị trí dưới, phải của ảnh,
việc tính toán này đơn thuần chỉ đựa trên phép cộng số nguyên đơn giản, do đó
tốc độ thực hiện rất nhanh.
Hình 3.13: Giá trị integral image tại điểm (x, y) là tổng các điểm ảnh ở phía trên, bên trái.
Công thức tính Intergral image:
ii ( x , y )= ∑x '≤ x , y' ≤ y
i(x ' , y ' ) eq. 27
Trong đó P(x, y): là Intergral image, i(x’, y’): là ảnh gốc (original image).
Sau khi đã tính được Integral Image, việc tính tổng các giá trị mức xám
của một vùng bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau:
Hình 3.14: Ví dụ cách tính nhanh các giá trị mức xám cùa vùng D trên ảnh.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
32
Giả sử ta cần tính tổng các giá trị mức xám của vùng D như trong hình 11,
ta có thể tính như sau:
D=A+B+C+D−( A+B )−( A+C )+ A eq. 28
Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự như
vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại điểm
P1. Vậy ta có thể viết lại biểu thức tính D ở trên như sau:
D= ( x4 , y 4 )⏟A+B+C +D
−( x2 , y2 )⏟(A+B)
−( x3 , y 3 )⏟(A+C )
+(x 1 , y1)⏟A
eq. 29
Tiếp theo, để chọn các đặc trưng Haar-like dùng cho việc thiết lập
ngưỡng, Viola và Jones sử dụng một phương pháp máy học được gọi là
AdaBoost. AdaBoost sẽ kết hợp các bộ phân loại yếu để tạo thành một bộ phân
loại mạnh.
2.3.[3.3.] Giới thiệu về AdaBoost.AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp
cận boosting được Freund và Schapire đưa ra vào năm 1995 [2]. Adaboost cũng
hoạt động trên nguyên tắc kết hợp tuyến tính các bộ phân loại yếu (weak
classifiers) để hình thành một bộ phân loại mạnh (strong classifier).
Là một cải tiến của tiếp cận boosting, AdaBoost 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. Trong quá trình huấn
luyện, cứ mỗi bộ phân loại yếu được xây dựng, thuật toán sẽ tiến hành cập nhật
lại trọng số để chuẩn bị cho việc xây dựng bộ phân loại yếu kế tiếp: tăng trọng số
của các mẫu bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng
đúng bởi bộ phân loại yếu vừa xây dựng. Bằng cách này bộ phân loại yếu sau có
thể tập trung vào các mẫu mà các bộ phân loại yếu trước nó làm chưa tốt. Sau
cùng, các bộ phân loại yếu sẽ được kết hợp tùy theo mức độ tốt của chúng để tạo
nên bộ phân loại yếu mạnh.
AdaBoost kết hợp các bộ phân loại yếu sử dụng các đặc trưng Haar-like
theo mô hình phân tầng (cascade) để tạo thành một bộ phân loại mạnh như sau:
H ( x )=sign(a1 h1 ( x )+a2h2 ( x )+…+anhn ( x )) eq. 30
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
33
Với: at>= 0 là hệ số chuẩn hoá cho các bộ phân loại yếu
Hình 3.15: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh.
2.4.[3.4.] Thuật toán phát hiện đối tượng.
Hình 3.16:Quá trình phát hiện đối tượng.
Như trong hình trên, từ ảnh gốc ban đầu tính được Integral Image - là
mảng 2 chiều với phần tử (x, y), mục đích là để tính nhanh tổng của các giá trị
mức xám của một vùng hình chữ nhật bất kỳ trên ảnh gốc. Các vùng ảnh con này
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
34
sẽ được đưa qua các hàm Haar cơ bản để ước lượng đặc trưng, kết quả ước lượng
sẽ được đưa qua bộ điều chỉnh AdaBoost để loại bỏ nhanh các đặc trưng không
có khả năng là đặc trưng của đối tượng. Chỉ có một tập nhỏ các đặc trưng mà bộ
điều chỉnh AdaBoost cho là có khả năng là đặc trưng của khuôn mặt người mới
được chuyển sang cho bộ quyết định kết quả (là tập các bộ phân loại yếu). Bộ
quyết định sẽ xác nhận đây là đối tượng cần xác định nếu kết quả của các bộ
phân loại yếu xác nhận đây là đối tượng cần xác định.
Mỗi bộ phân loại yếu sẽ quyết định kết quả cho một đặc trưng Haar-like,
được xác định ngưỡng đủ nhỏ sao cho có thể vượt được tất cả các bộ dữ liệu mẫu
trong tập dữ liệu huấn luyện. Trong quá trình xác định đối tượng, 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 xác nhận là đối tượng cần xác định 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ố (weight) của đặc trưng đó do AdaBoost
quyết định dựa vào số lần và thứ tự xuất hiện của các đặc trưng Haar-like.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
35
Chương 3.[Chương 4.] CÁC THƯ VIỆN TÍCH HỢP TRONG ỨNG DỤNG.
Để hỗ trợ cho việc xây dựng và thiết kế ứng dụng thực nghiệm trong khóa
luận này, chúng ta sẽ tìm hiểu về hai thư viện OpenCV và GSL - OpenCV hỗ trợ
trong việc xử lý ảnh, GSL hỗ trợ các hàm toán học.
3.1.[4.1.] Thư viện OpenCV.OpenCV là viết tắt của Open Source Computer Vision Library. Nó chứa
hơn 500 hàm sử dụng trong thị giác máy (computer vision). OpenCV là một thư
viện mã nguồn mở (open source) http://sourceforge.net/. Thư viện được viết
bằng ngôn ngữ C và C++ có thể chạy trên các hệ điều hành Linux, Window và
Mac OS X. OpenCV được thiết kế để nâng cao hiệu suất tính toán và nhấn mạnh
đến hệ thống thời gian thực. Một điều tuyệt vời của OpenCV là nó đưa ra một hệ
thống đơn giản, dễ sử dụng giúp mọi người nhanh chóng xây dựng các ứng dụng
trong thị giác máy, kể cả các hệ thống kiểm tra trong nhà máy, bức ảnh trong lĩnh
vực y học, bảo mật, rô bốt học v..v. Nó chứa các lập trình xử lý ảnh rất đơn giản,
kể cả thực thi các hàm bậc cao như dò tìm khuôn mặt, theo dõi khuôn mặt, nhận
dạng khuôn mặt.
Kể từ khi được giới thiệu vào tháng 1 năm 1999, OpenCV đã được sử
dụng trong rất nhiều ứng dụng, các sản phẩm và các nghiên cứu. Ví dụ trong lĩnh
vực hàng không vũ trụ, bản đồ web, sử dụng giảm nhiễu trong y học, phân tích
đối tượng, an ninh, hệ thống dò tìm, theo dõi tự động và hệ thống bảo mật, quản
lý hệ thống sản xuất, xử lý camera, ứng dụng trong quân sự, hệ thống hàng
không không người lái, trên mặt đất, các tàu ngầm.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
36
Hình 4.17: Quá trình phát triển của OpenCV.
Cấutrúc của OpenCV được chia thành các phần sau:
CV (computer vision): là cung cấp các hàm liên quan trực tiếp đến
Computer Vision, trong đó tập trung ở các thao tác cấp thấp trên ảnh và
camera cụ thể là các thao tác trong xử lý ảnh như lọc ảnh, trích biên, phân
vùng, tìm contour, biến đổi Fourier.
MLL (machine learning library): là thư viện machine learning,
cái này bao gồm rất nhiều lớp thống kê và gộp các công cụ xử lý.
HighGUI: l à t h à n h p h ầ n c h ứ a c ác thao tác lên những file
ảnh và file video như đọc ảnh, hiển thị ảnh, chuyển đổi định dạng.
CXCore: chứa đựng rất nhiều các thành phần cơ bản cấu thành nên
toàn bộ OpenCV. CxCore bao gồm các cấu trúc dữ liệu cơ bản, các thao
tác lên array, các cấu trúc động, các hàm vẽ, các hàm tác động lên dữ liệu,
các hàm quản lý lỗi và sự kiện và một số hàm cần thiết khác. Số lượng
hàm chứa đựng trong CxCore là rất lớn.
IPP (Integrated Performance Primitives): là một thư viện của Intel
gồm các hàm tối ưu mức thấp trong các lĩnh vực khác nhau, đây chỉ là
một option của OpenCV, OpenCV tự động gọi các hàm trong IPP nếu nó
được cài đặt.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
37
Hình 4.18: Cấu trúc cơ sở của OpenCV.
3.2.[4.2.] Thư viện GSL.GSL là viết tắt của GNU Scientific Library, là một thư viện khoa học mã
nguồn mở theo giấy phép công cộng GNU (GNU General Public Lisence –
GPL), được viết bằng ngôn ngữ C và C++. Đây là phần mềm miễn phí theo giấy
phép. Thư viện này cung cấp một loạt các hàm toán học chẳng hạn như hàm phát
sinh số ngẫu nhiên, các hàm làm tròn số. Thư viện được thiết kế hướng đối
tượng. Các giao diện (interface) giao tiếp được thiết kế đơn giản, dễ dàng nối kết
với các ngôn ngữ khác. Các thuật toán khác nhau có thể được cài đặt dễ dàng
hoặc thay đổi trong quá trình chạy (run-time) mà không cần biên dịch lại chương
trình. Hiện có hơn 1000 hàm trong tổng số với các phiên bản được thử nghiệm
rộng rãi. Nó bao gồm các chức năng toán học sau: số phức, đa thức, vectơ và ma
trận, đại số tuyến tính, phân phối số ngẫu nhiên, thống kê, biểu đồ, hoán vị, ước
lượng Monte Carlo, ...
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
IPP
Mã nguồn đã được tối ưu trên kiến trúc của Intel.
CVCORECấu trúc cơ sở và các thuật toán, hỗ trợ XML, các hàm vẽ.
CV
Xử lý ảnh và thuật toán về thị giác máy
MLL
Thống kế và tập hợp các công cụ xử lý
HighGUI
Giao diện, truy xuất ảnh và video
Các mã nguồn ví dụ và ứng dụng thực nghiệm
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
38
Chương 4.[Chương 5.] ỨNG DỤNG THỰC NGHIỆM.
4.1.[5.1.] Xây dựng ứng dụng theo vết đối tượng bằng thuật toán Particle Filter.
4.1.1.[5.1.1.] Mô tả mã nguồn tham khảo.
Giáo sư Rob Hessthuộc đại học Oregon State - Mỹ, năm 2002 đã cho ra
một ứng dụng về tracking đối tượng với các đặc điểm sau:
Áp dụng thuật toán Particle Filter để theo vết đối tượng trên video.
Sử dụng thư viện OpenCV trong việc xử lý ảnh.
Tuy đây là một bước đột phá mới, nhưng vẫn có một số hạn chế như:
Sử dụng ngôn ngữ C thuần và xây dựng theo hướng thủ tục.
Việc tính toán và hiển thị kết quả lên màn hình được thực hiện chung
trong một tiến trình, làm cho tốc độ bị giảm đi đáng kể.
Chỉ tracking được một đối tượng do người dùng chỉ định.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
39
Hình 5.19: Minh họa ứng dụng theo vết đối tượng.
4.1.2.[5.1.2.] Xây dựng ứng dụng theo vết đối tượng dựa trên mã nguồn tham khảo.
Mục tiêu là tạo một ứng dụng hữu ích và mang tính thực tế dựa trên mã
nguồn tham khảo:
- Áp dụng thuật toán Particle Filter để theo vết đối tượng trên video
và camera.
- Theo vết đối tượng và lưu lại đường đi của nó, làm resource cho
các nghiên cứu khác như: phân tích hướng di chuyển của các cầu thủ, theo
dõi một người trong đám đông trong thời gian dài…
- Nhận dạng khuôn mặt và người đi bộ, kết hợp với theo vết đối
tượng bằng camera quan sát.
Cách thực hiện:
- Xây dựng ứng dụng dựa trên mã nguồn thao khảo.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
40
- Thêm chức năng theo vết nhiều đối tượng do người dùng chỉ định,
dựa trên chức năng theo vết một đối tượng của mã nguồn tham khảo.
- Tham khảo các ví dụ mẫu của thư viện OpenCV về nhận dạng
(nhận dạng khuôn mặt và người đi bộ). Sau đó, kết hợp nhận dạng với
theo vết nhiều đối tượng bằng cách thay thế việc chọn đối tượng do người
dùng chỉ định bằng nhận dạng.
- Sử dụng ngôn ngữ C++ kết hợp lập trình hướng đối tượng.
- Chia tách việc tính toán và hiển thị kết quả lên màn hình thành các
tiến trình độc lập.
- Áp dụng lập trình song song để tận dụng tối đã bộ vi xử lý.
4.1.3.[5.1.3.] Kết hợp nhận dạng và theo vết đối tượng.
Bên cạnh việc cải tiến về việc tracking, chúng tôi còn áp dụng thêm thuật
toán nhận dạng khuôn mặt và người đi bộ. Thay vì phải chọn đối tượng xác định
để tracking thì nhận dạng sẽ hỗ trợ chúng ta trong việc đó.
Nhận dạng khuôn mặt và người đi bộ do mã nguồn OpenCV cung
cấp.Việc nhận dạng được thực hiện dựa vào file training có sẵn định dạng xml:
Nhận dạng khuôn mặt: haarcascade_frontalface_alt_tree.xml.
Nhận dạng người đi bộ: haarcascade_fullbody.xml.
Quá trình nhận dạng khuôn mặt tương đối chính xác do file training đã
đương đối đầy đủ, nhưng ngược lại việc nhận dạng người đi bộ lại cho kết quả
rất thấp: chỉ nhận dạng được người đi bộ nhìn theo phương vuông góc với mặt và
lưng. Điều đó dẫn đến một số kết quả không như mong đợi.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
41
4.2.[5.2.] Chương trình demo.Chương trình demo tracking gồm có 2 phần chính:
Bảng điều khiển:
o Ngôn ngữ: C#.
o Chức năng:
Cho phép người dùng tùy chỉnh trước khi chạy màn hình thực
thi.
Vật Thể Do Người
Dùng ChọnKhuôn Mặt Người Đi Bộ
Video x x x
Camera - x x
Chạy các ứng dụng hỗ trợ như: ObjectLocation (dùng để tạo
GroundTruth) và Performance Evaluation (dùng để tính độ
chính xác của thuật toán).
Hình 5.20: Bảng điều khiển.
Màn hình thực thi:
o Ngôn ngữ: C++.
o Chức năng: dựa vào các tùy chình ở Bảng Điều Khiển, màn hình
thực thi sẽ tracking vật thể, đồng thời xuất ra vị trí của vật thể lên
màn hình và ra file text.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
42
Hình 5.21: Màn hình thực thi.
4.2.1.[5.2.1.] Bảng điều khiển.
Sau đây là flow xử lý của bảng điều khiển:
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
43
Hình 5.22: Flow xử lý của bảng điều khiển.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
44
4.2.2.[5.2.2.] Màn hình thực thi.
Sau đây là flow xử lý của màn hình thực thi:
Hình 5.23: Flow xử lý của màn hình thực thi.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
45
Hình 5.24: Flow xử lý của quá trình theo vết đối tượng sử dụng thuật toán Particle Filter.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
46
Và sơ đồ Class Diagram:
CameraCaptureClass
VideoCapture
CameraCapture
Class
UtilityClass
MyApp
CWinApp
Class
APPTYPEEnum
ArgumentClass
FrmMain
CDialog
Class
DRAW_TYPEEnum
ViewPortClass
DrawingThread
IRunnable
Class
IRunnableClass
ThreadClass
ThreadExceptionClass
ParticleClass
HistogramClass
ParamsClass
AnyObjectTracking
IRunnable
Class
IdentifyObjectTracking
AnyObjectTracking
Class
publicpublicpublic
public
Hình 5.25: Class Diagram của màn hình thực thi.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
47
Sơ lược thông tin các class như sau:
Tên class Class cha Mô tả
CameraCapture -
Cung cấp các phương
thức để lấy frame từ
camera, tính toán FPS.
VideoCapture CameraCapture
Cung cấp các phương
thức để lấy frame từ
video, đường dẫn và kích
thước frame của video.
IRunnable -
Interface cung cấp các
phương thức Run và
Stop.
AnyObjectTracking IRunnable
Trong phương thức Run,
sẽ tình toán và tìm vị trí
của object (do người
dùng chọn).
DrawingThread IRunnable
Hiển thị hình ảnh lên
màn hình – hình ảnh ở
đây là kết quả sau khi đã
được tính toán trong
phương thức Run.
IdentifyObjectTraking AnyObjectTracking
Trong phương thức Run,
sẽ tình toán và tìm vị trí
của object (khuôn mặt,
người đi bộ).
FrmMain CDialog
Màn hình chính: hiển thị
hình ảnh, vị trí của
object.
Histogram - Là mảng một chiều kiểu
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
48
fload để chứa giá trị màu
của object.
Particle -
Đây là lớp quan trọng
nhất, thực hiện các thao
tác như tạo particle,
resample, tính toán
khoảng cách giữa các
particle…
Utility -
Lớp chức năng, cung cấp
các phương thức tiện ích
dùng chung.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
49
Chương 5.[Chương 6.] ĐÁNH GIÁ THỰC NGHIỆM.
5.1.[6.1.] Công thức đánh giá thực nghiệm.Phần này sẽ đưa ra cơ sở về số liệu và công thức để phân tích và đánh giá
hiệu quả của thuật toán phát hiện và theo vết đối tượng. Trước hết ta cần biết hai
định nghĩa sau: thông tin của ground truth chính là khung chứa đối tượng theo
vết ở mỗi khung hình; tương tự, kết quả của thuật toán chính là khung chứa đối
tượng theo vết ở mỗi khung hình.
Kỹ thuật đánh giá trong tài liệu tham khảo [2] xác định giới hạn từ ma
trận khoảng cách giữa các trọng tâm của khung xác định đối tượng giữa ground
truth và kết quả theo vết của thuật toán. Mức giới hạn này được sử dụng để tìm
sự tương ứng giữa kết quả theo vết của thuật toán và ground truth tính toán các
đại lượng False Positive Track Error, False Negative Track Error, Average
AreaError, và Task Incompleteness Factor. Tuy nhiên, các số liệu lại này không
đo lường hiệu suất của thuật toán theo vết trong trường có sự chồng chéo giữa
các đối tượng.
Việc thực hiện các số liệu đánh giá trong tài liệu tham khảo [1] được chia
thành các số liệu dựa trên khung hình và đối tượng. Đối với số liệu dựa trên
khung hình: true positive, true negative, false positive, and false negative được
tính toán cho tất cả các khung hình, và được sử dụng để tính toán Tracker
Detection Rate, False Alarm Rate, Detection Rate, Specificity, Accuracy,
Positive Prediction, Negative Prediction, False Negative Rate và False Positive
Rate. Đối với các số liệu dựa trên đối tượng, mỗi đối tượng riêng biệt được sử
dụng để tính toán true positive, false positive và tổng số ground truth để tính toán
Tracker Detection Rate, False Alarm Rate, và Object Tracking Error (OTE). Số
liệu dựa trên khung hình cung cấp thông tin về cách thuật toán theo vết xử lý các
đối tượng trong một khung hình, và các số liệu dựa trên đối tượng cho phép đo
hiệu suất của thuật toán theo vết trên mỗi đối tượng trong thời gian của chuỗi
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
50
video. Trong phạm vi của đề tài luận văn này thì chúng tôi đang áp dụng số liệu
dựa khung hình trong việc đánh giá hiệu suất của thuật toán theo vết.
Để thực hiện đánh giá ta cần xác định mức độ chồng lấp giữa ground truth
và kết quả của thuật toán. Trong đó cách đơn giản nhất là xem xét nếu trọng tâm
của một trong hai khung nằm trong khung còn lại; từ đó các giá trị sau được xác
định:
- TN (True Negative): số lượng frame trên ứng dụng và ground truth
đối tượng không xuất hiện.
- TP (True Positive): số lượng frame trên ứng dụng và ground truth
đối tượng xuất hiện và khung chứa đối tượng trùng khớp nhau.
- FN (False Negative): số lượng frame trên ground truth đối tượng
xuất hiện, còn ứng dụng theo vết sai đối tượng.
- FP (False Positive): số lượng frame trên ứng dụng đối tượng có
xuất hiện nhưng ground truth thì không.
- TG (Total ground truth): tổng số frame mà đối tượng có xuất hiện
trên ground truth.
- TF (Total frame): tổng số frame của chuỗi video.
Tracker Detection Rate (TRDR )=TGFP
False Alarm Rate= FPTP+FP
Detection Rate= TPTP+FN
Specificity= TNFP+TN
Accuracy=TP+TNTF
Positive Prediction= TPTP+FP
Negative Prediction= TNFN+TN
eq. 31
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
51
False Negative Rate= FNFN +TP
False Positive Rate= FPFP+TN
Trong các giá trị trên thì ba giá trị Specificity, Accuracy (độ chính xác),
Positive Prediction (mức độ dự đoán đúng) là các chỉ số cần quan tâm hơn cả.
Trong các phần đánh giá thực nghiệm tiếp theo chúng tôi chỉ sử dụng chỉ số
Accuracy (độ chính xác) để thể hiện cho kết quả của mỗi dữ liệu (video).
Việc đánh giá một hệ thống theo dõi dựa trên đo lường hiệu suất của thuật
toán theo dõi liên quan đến các tính năng của hệ thống. Các nguyên tắc cơ bản
của một hệ thống theo dõi là phát hiện các đối tượng và khai thác quỹ đạo đối
tượng trong một cảnh quay video. Đối với một thuật toán theo dõi để giám sát,
xuất đường quỹ đạo của nhiều đối tượng, các thuật toán theo dõi có thể phân biệt
giữa các đối tượng.
Các tiêu chuẩn để đánh giá thế nào một thuật toán theo vết tốt:
a. Thuật toán theo vết phát hiện được tất cả vào và ra chuyển trong
cảnh.
b. Thuật toán theo vết phân biệt giữa các đối tượng hiển thị trong một
cảnh tại một thởi điểm.
c. Theo dõi và trích xuất các quỹ đạo của tất cả các đối tượng, được
gán cho từng đối tượng phải được duy trì cho tất cả các đối tượng theo
dõi.
d. Sự chuyển động hoặc ngưng sự chuyển động của đối tượng không
làm mất dấu đối tượng.
e. Các thuật toán theo dõi xử lý sự chồng chéo lên nhau giữa các đối
tượng và tiếp xúc mà vẫn giữ được dấu của đối tượng.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
52
5.2.[6.2.] Cơ sở dữ liệu thực nghiệm.
5.2.1.[6.2.1.] YouTube action dataset.
Bao gồm 11 danh mục: ném bóng rổ, đạp xe, lặn, đánh goft, cưỡi ngựa,
tung hứng bóng, đánh đu, đánh tennis, nhảy trampoline, đánh bóng chuyền, và đi
bộ với chó…
Đối với mỗi thể loại,các đoạn video được nhóm lại thành 25. Các video
clip trong cùng một nhóm có cùng chung một số điểm như ngoại cảnh, cùng
view quan sát…
Độ phức tạp của cơ sở dữ liệu: sự thay đổi lớn trong chuyển động camera,
sự xuất hiện đối tượng và đặt ra, quy mô đối tượng, quan điểm, nền lộn xộn, điều
kiện chiếu sáng, v.v
Các nghiên cứu khoa học liên quan:
Jingen Liu, Jiebo Luo and Mubarak Shah, Recognizing Realistic
Actions from Videos "in the Wild", IEEE International Conference on
Computer Vision and Pattern Recognition(CVPR), 2009.
Jingen Liu, Yang Yang and Mubarak Shah, Learning Semantic
Visual Vocabularies using Diffusion Distance, IEEE International
Conference on Computer Vision and Pattern Recognition(CVPR), 2009.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
53
Hình 6.26:Hình ảnh của bộ dữ liệu Youtube action.
5.2.2.[6.2.2.] UCF Sports Action Dataset.
Tập dữ liệu này bao gồm một tập hợp các hoạt động thu thập được từ các
môn thể thao khác nhau trên các kênh truyền hình như BBC và ESPN.
Cơ sở dữ liệu gồm các video ở độ phân giải 720x480, mô tả các hoạt động
thể thoa đặc trưng trong một loạt các ngoại cảnh khác nhau.
Các nghiên cứu khoa học liên quan:
Mikel D. Rodriguez, Javed Ahmed, nd Mubarak Shah Action
MACH: A Spatio-temporal Maximum Average Correlation Height Filter
for Action Recognition.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
54
Hình 6.27:Hình ảnh của bộ dữ liệu UCF Sports Action.
5.2.3.[6.2.3.] Face dataset.
Tập dữ liệu này được thực hiện trong phòng thí nghiệm, mỗi video có thời
lượng khoảng 6s và ghi lại khuôn mặt với tất cả các trạng thái bao gồm: di
chuyển, đeo kính, ngước lên xuống và với ánh sáng môi trường thay đổi....
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
55
Hình 6.28: Hình ảnh của bộ dữ liệu khuôn mặt.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
56
5.3.[6.3.] Kết quả định lượng.
5.3.1.[6.3.1.] Cấu hình máy dùng để đánh giá thực nghiệm.
# Thông Tin Giá Trị
1 Operating SystemWindows 7 Ultimate 32-bit (6.1, Build
7600)
2 Language English
3 System Manufacturer Dell Inc.
4 System Model Vostro 1088
5 ProcessorIntel(R) Core(TM)2 Duo CPU T6570
@ 2.10GHz (2 CPUs)
6 Memory 2048MB
7 Available OS Memory 2046MB
8 DirectX Version DirectX 11
9 Card name ATI Mobility Radeon HD 4300 Series
10 Display Memory 1275 MB
11 Dedicated Memory 508 MB
12 Shared Memory 767 MB
13 Current Mode 1366 x 768 (32 bit) (60Hz)
5.3.2.[6.3.2.] Đánh giá thực nghiệm chức năng theo dõi vật thể chọn bởi người dùng.
# Video Số frame
Độ chính xác (%)
Ứng Dụng
Phát Triển
Ứng Dụng
Baseline
1 v_biking_01_02 151 100 97.35
2 v_biking_01_03 151 88.08 93.38
3 v_biking_03_03 179 91.62 88.83
4 v_biking_03_04 191 91.62 74.35
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
57
5 v_biking_06_05 169 87.57 80.47
6 v_biking_12_04 201 100 97.51
7 v_biking_16_04 151 80.13 99.34
8 v_jumping_01_03 201 88.06 87.06
9 v_jumping_01_04 201 94.03 98.51
10 v_jumping_02_03 201 48.76 48.26
11 v_jumping_02_04 201 51.74 63.18
12 v_jumping_03_01 201 84.08 67.16
13 v_jumping_03_04 201 100 100
14 RunSide001 64 100 100
15 RunSide002 64 100 100
16 RunSide005 64 100 100
17 RunSide006 64 100 100
18 RunSide007 64 100 100
19 SkateBoard001 69 100 100
20 SkateBoard002 69 100 100
21 SkateBoard004 69 100 100
22 SkateBoard011 69 100 100
23 v_spiking_07_02 87 75.86 3.45
24 v_spiking_07_04 67 100 16.42
25 v_spiking_07_06 57 42.11 19.3
26 v_spiking_07_07 67 79.1 86.57
27 v_shooting_13_02 101 94.06 88.83
28 v_shooting_13_04 111 54.95 74.35
29 v_shooting_14_05 75 97.33 97.33
30 v_shooting_16_01 141 33.33 32.62
31 v_shooting_16_02 103 91.35 78.85
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
58
32 v_shooting_19_07 120 90.83 90.0
33 v_walk_dog_05_03 201 100 18.41
34 v_walk_dog_05_04 121 100 100
35 v_walk_dog_05_05 113 100 100
36 v_walk_dog_09_01 173 98.27 100
37 v_walk_dog_09_02 201 95.52 100
38 v_walk_dog_10_03 201 100 100
39 v_walk_dog_10_04 201 100 100
40 v_walk_dog_10_05 201 100 100
41 v_walk_dog_13_02 201 100 97.01
42 v_walk_dog_14_03 181 100 93.92
Total 5718 89.49 75.25
5.3.3.[6.3.3.] Đánh giá thực nghiệm chức năng theo dõi khuôn mặt.
# Video Số frame
Độ chính xác (%)
Ứng Dụng
Phát Triển
Ứng Dụng
Baseline
1 jam1 199 83.42 N/A
2 jam2 199 100 N/A
3 jam4 199 100 N/A
4 jam5 199 100 N/A
5 jim1 199 100 N/A
6 jim2 199 95.48 N/A
7 ssm1 199 100 N/A
Total 1393 96.99 N/A
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
59
5.3.4.[6.3.4.] Đánh giá thực nghiệm chức năng theo dõi người đi bộ.
# Video Số frame
Độ chính xác (%)
Ứng Dụng Phát
Triển
Ứng Dụng
Baseline
1 v_walk_dog_01_04 151 74.83 N/A
2 walk002 100 56 N/A
3 walk003 100 69 N/A
4 walk008 101 11.88 N/A
5 walk010 102 76.47 N/A
6 walk014 100 100 N/A
Total 654 64.7 N/A
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
60
KẾT LUẬN.Ưu điểm:
Đã khắc phục được những hạn chế của mã nguồn tham khảo như: tăng tốc
độ theo dõi bằng cách tách xử lý và hiển thị thành các tiến trình; theo dõi nhiều
đối tượng cùng lúc; kết hợp module phát hiện và module theo dõi khuôn
mặt/người đi bộ.
Việc theo dõi vật thể và khuôn mặt tương đối chính xác.
Hạn chế:
Đối với việc theo dõi các đối tượng có kích thước lớn sẽ làm cho tốc độ
xử lý chậm đi do việc tính toán histogram.
Việc kết hợp module phát hiện và module theo dõi người đi bộ có độ
chính xác không cao do quá trình phát hiện còn hạn chế.
Hướng phát triển:
Khắc phục việc tốc độ xử lý chậm khi đối tượng theo dõi có kích thước
lớn bằng cách: giảm kích thước của khung hình (trong một phạm vi nhất định) để
làm giảm kích thước của vật thể.
Nghiên cứu sâu hơn về vấn đề detection, từ đó tìm ra phương pháp để việc
nhận dạng trở nên chuẩn xác hơn.
Tiến bộ đáng kể đã được thực hiện trong việctheo dõi đối tượng trong vài
năm qua. Nhiều thuật toán theo vết mạnh mẽ đã được phát triển có thể theo dõi
các đối tượng theo thời gian thực trong các giả thiết để làm giảm bớt tính phức
tạp của bài toán. Các giả thiết được sử dụng để làm cho hạn chế các vấn đề trong
quá trình theo dõi, ví dụ, độ mịn của chuyển động, số lượng tối thiểu của chồng
chéo giữa các đối tượng, độ sáng ổn định, độ tương phản cao so với khung cảnh
xung quanh, v.v , tuy nhiên các tình huống trong thực tế phức tạp hơn và do đó
hạn chế tính hữu dụng của bài toán theo vết trong các ứng dụng như giám sát tự
động, máy tính tương tác của con người, thu hồi video, theo dõi giao thông, và
chuyển hướng xe. Như vậy, theo dõi và liên quan đến vấn đề lựa chọn tính năng,
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
61
đối tượng đại diện, hình dáng năng động, và dự đoán về chuyển động là khu vực
rất tích cực nghiên cứu và các giải pháp mới liên tục được đề nghị.
Bài toán theo vết đối tượng còn nhiều vấn đề để mở, chưa giải quyết được
như theo vết trên nhiều camera; trên nhiều loại video (các video về tin tức; video
chứa nhiều nhiễu, không có định dạng cấu trúc, chứa nhiều view,…). Vì vậy, sẽ
còn tiếp tục được phát triển trong các năm tới.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
62
DANH MỤC TÀI LIỆU THAM KHẢO.Tài liệu tham khảo:
[1]. Alper Yilmaz, Omar Javed và Mubarak Shah, “Object Tracking: A
Survey”.
[2]. Dieter Koller, Joseph Weber and Jitendra Malik, “Robust Multiple Car
Tracking with Occlusion Reasoning”.
[3]. Douc, R. and Cappe, O. and Moulines, E., "Comparison of Resampling
Schemes for Particle Filtering", Image and Signal Processing and Analysis,
2005.
[4]. F. Bashir and F. Porikli, “Performance evaluation of object de-tection
and tracking systems” IEEE International Workshop on Performance Evaluation
of Tracking and Surveillance, pp. 7–14, 2006.
[5]. James Black, Tim Ellis và Paul Rosin “A Novel Method for Video
Tracking Performance Evaluation”.
[6]. Katja Nummiaro, Esther Koller-Meier, and Luc Van Gool, “Objects
tracking with an Adaptive Color-based Particle Filter”.
[7]. Keni Bernardin, Alexander Elbs, Rainer Stiefelhagen “Multiple Object
Tracking Performance Metrics and Evaluation in a Smart Room Environment”.
[8]. Michael Isard và Andrew Blake, “Condensation – conditional density
propagation for visual tracking”.
[9]. Michael Isard and Andrew Blake, “Conditional Density Propagation for
Visual Tracking”, 1997.
[10]. Md. Zahidul Islam, Chi-Min Oh và Chil-Woo Lee,“Video Based Moving
Object Tracking by Particle Filter”.
[11]. P. P´erez, C.Hue, J. Vermaak, and M. Gangnet, “Color-Based
Probabilistic Tracking”, 2002.
[12]. Rickard Karlsson, “Particle Filtering for Positioning and Tracking
Applications”.
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương
GVHD: ThS. Nguyễn Hữu Thương
CH Cáp Phạm Đình Thăng
63
[13]. Rob Hess, “Object Tracking with Particle Filtering”.
[14]. S. Muller-Schneiders, T. Jager, H. S. Loos, and W. Niem, “Per-formance
evaluation of a real time video surveillance systems”, IEEE International
Workshop on Visual Surveillance and Per-formance Evaluation of Tracking and
Surveillance, pp. 137–143, 2005
[15]. Shai Avidan, MobilEye Vision Technologies, 24 Mishol Hadkalim,
Jerusalem, Israel, “Support Vector Tracking”.
[16]. Srisumakanth Kambhampati, “Target/object tracking using Particle
Filtering”.
[17]. Viola, P. and Jones, M., Dec. 2001, Rapid object detection using a
boosted cascade of simple features, Proc. IEEE Conf. on Computer Vision and
Pattern Recognition.
[18]. Wenlong Zheng, “Face Detection and Tracking using a boodtes adaptive
Partilce Filter”.
Web tham khảo:
[1]. http://blogs.oregonstate.edu/hess/
[2]. http://en.wikipedia.org/wiki/Particle_filter
[3]. http://en.wikipedia.org/wiki/Bhattacharyya_distance
[4]. http://cvpapers.com/datasets.html
[5]. http://imagelab.ing.unimore.it/visor/video_categories.asp
[6]. http://opencv.willowgarage.com/wiki/FaceDetection
SVTH: Chu Hoàng Nhật & Hà Thị Minh Phương