theo vết đối tượng dùng particle filter
Trang 1Our thesis’ topic is object tracking using Particle Filter, which we will doresearch 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 ofobject 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 experimentalapplication in the situation of tracking moving objects – selecting from the first frame
or a specific object (face, pedestrian .) and build the performace assessment todemonstrate the effectiveness of the object tracking method
Trang 2LỜ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ụngPartcle 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 đốitượ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ủaParticle 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áccủ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ồngốc
Trang 3LỜ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ảngdạ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 trongtươ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.HCáp Phạn Đình Thăng- hai Thầy đã tận tình giúp đỡ, đôn đốc, truyền đạt những kinhnghiệ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ênChu Hoàng Nhật
Hà Thị Minh Phương
Trang 4NHẬN XÉT (Giảng viên hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5NHẬN XÉT (Giảng viên phản biện)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 6MỤC LỤC
LỜI MỞ ĐẦU
Trang 7DANH MỤC CÁC HÌNH, BẢNG, SƠ ĐỒ HÌNH
Trang 8BẢNG
Trang 9ĐỊNH NGHĨA THUẬT NGỮ
1
Khoảng cáchBhattacharyya(Bhattacharyyadistance)
Dùng để đo lường sự giống nhau của hai phân phối xácsuấ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ẫuthống kê Hệ số được sử dụng để xác định sự gần nhautương đối của hai mẫu đang được xem xét
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ợpmẫu Từ đó sẽ xác định trạng thái của mẫu nào “giống” vớitrạ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àicác giá trị x, y – tọa độ của đối tượng, thường trạng thái đốitượng có thêm giá trị scale (phụ thuộc vào sự thay đổi kíchthước của đối tượng)
Trang 107 Mẫu (particle)
Nhằm ước lượng trạng thái đối tượng trong bài toán theovết, ta xây dựng một tập mẫu trong đó mỗi mẫu chứa mộtgiá 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
Trang 11Chươ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 visionapplications) bao gồm các ứng dụng trong lĩnh vực an ninh như hệ thống cameratheo 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ảitrự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áthiện các tình huống bất thường dựa trên nhận dạng cử động như ẩu đả, cướpngân hàng, nguy cơ chết đuối; hay như một ứng dụng phổ biến hiện nay là theodõ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ậncá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ụngcao là điều khiển xe tự hành - hệ thống camera ghi nhận hình ảnh xung quanhkhi 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ậtcả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 chongườ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).
Trang 12Hì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 đốitượng Do đó, đã có nhiều kĩ thuật được phát triển để giải quyết các vấn đề củabà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ínhchung 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ườitrong thời gian thực Background được loại trừ để lấy được phần foreground Cáckhu vực foreground sau đó được chia thành các đốm màu dựa trên màu sắc Cáchnà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 đốitượ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âydựng các mô hình hình dạng (đường viền), mô hình đường viền động học và cácthông số hình ảnh khác trong quá trình theo dõi Điển hình nghiên cứu Yezzi andSoatto (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.Ngược lại, Particle Filter có thể ứng dụng trong các hệ thống phi tuyến và phi
Trang 13Bayesian 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 ranhiề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ệuquan 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 phiGauss và phi tuyến lúc bấy giờ Thuật toán EKF hoạt động dựa trên ý tưởngtuyến tính hóa (Linearization) các quan sát thu được bằng cách ước lượng các đạilượ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ânphố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ốixá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 theovết trên:
cứu liên quan
Theo vết dựa trên hình ảnh
Blob-tracker Intille et al.
(1997)Skin color and elliptical
edges
Huang andTrivedi(2004)Continuous density
Markovhidden model (CDHMM)
Rabiner(1989)
Trang 14Multi-color model
Bhandarkarand Luo(2005)Level-set method or
geometricpartial differential
Gan et al.(2005)
Skin color filtering
Chen andTiddeman(2005)2D human appearance
model
Thome andMiguet(2005)
Theo vết dựa trên đường viền
(1987)
Active contour
Blake andIsard (1998)Isard(1998)MacCormick(2000)
Level set technique
Sethian(1989)Yezzi andSoatto (2003)Jackson et al.(2004) Rathi
et al (2005)
Theo vết dựa trênKalman-filtering Kalman filter (KF)
Rehg andKanade(1994)
Trang 15KF with ellipse and color
Zhao et al.(2004)Girondel et
al (2004)
KF with elastic matching
Luo andBhandarkar(2005)Theo vết dựa trên
Partilce Filter Condenstaion algorithm Isard (1998)
PF with partitionedsampling
MacCormickand Isard(2000)
PF with optimal proposaldistribution(OPD)
Doucet et al.(2001)
Kalman Particle Filter(KPF) and unscentedParticle Filter (UPF)
Li et al.(2003)
PF with Markovrandomfield(MRF)
Wang andCheong(2005)Kernel Particle Filter Chang et al
(2005)
Trang 16PF with geometric active
contours
Rathi et al.(2005)
Multiple-blob tracker(BraMBLe)
Isard andMacCormick(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ậndạ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ánphá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ônmặ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ạngkhuôn mặt đã khá hoàn thiện: phát hiện khuôn mặt bằng cách sử dụng phươngphá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ếnhà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ăm2004), mô hình Markov ẩn (Rabiner và Jung, năm 1993), và phân loại Bayes(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ệncao Li et al (2002) đề xuất các thuật toán FloatBoost, một phiên bản cải tiến củaAdaBoost, 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
Trang 17trong việc phát hiện mô hình và phân loại Rowley et al.(1996) đã thực hiện cácnghiên cứu quan trọng nhất trong số tất cả các phương pháp nhận diện khuônmặ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ằngcá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 đahó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ệnphâ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ìmkiế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ộnglớ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ương thức dựa trên
các đặc trưng Facial features with edges
McKenna et al (1998) Naseemand Deriche (2005)
Trang 18Multiple facial features Huang 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 templates Kwon and Lobo (1994)Gunn and Nixon (1996)
Silhouettes Samal and Iyengar (1995)Phương
AdaBoost with look-up-tabletype weak classifiers Wu et al (2004)
AdaBoost with Gabor features Yanget al (2004)
Mạng nơ-ron
Multilayer neural networks Rowleyet al (1996; 1998) Curran et al
(2005)
NN and ConstrainedGenerativeModel Féraud et al.(2001)Support
VectorMachines
(SVM)
SVM with polynomial kernel Osuna et al.(1997)
SVM with Orthogonal Fourierand Mellin Moments (OFMM) Terrillon et al (2000)SVM with Discriminating
Feature Analysis Shih and Liu (2004)
Trang 19Cá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 độngtheo 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 đốitượng (detect) sau đó theo vết (track) và sau một khoảng thời gian sẽ tiến hànhnhậ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 đốitượ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 theovế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 songsong 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ếnhà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êncứ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” baogồ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 độngcamera, sự xuất hiện đối tượng và đặt ra, quy mô đối tượng, quan điểm, mức độ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 “UCFSports Action” liệu gồm các video ở độ phân giải 720x480, mô tả các hoạt độngthể thao đặc trưng trong một loạt các ngoại cảnh khác nhau…
Trang 20Bả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 haigiớ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 đốitượng được áp dụng trong ứng dụng thực nghiệm; chương bốn giới thiệu về haithư viện OpenCV và GSL - hỗ trợ chính trong việc xây dựng ứng dụng thựcnghiệ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ôngthức để đánh giá, dữ liệu đánh giá đánh giá hiệu quả của thuật toán và chươngnăm đưa ra kết quả đáng giá thực nghiệm dựa trên các công thức đã được chứngminh trong các hội nghị khoa học
Trang 21Chương 2 BÀI TOÁN THEO VẾT ĐỐI TƯỢNG.
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í trongkhô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ênkhung 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 đứngchuyển sang tư thế ngồi; xe đang đi thẳng quẹo sang trái …) hay sự biến dạngcủ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ưngtổ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”
Trang 22Hì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ụngParticle Filter giới thiệu trong khóa luận này cũng thuộc nhóm các phương pháptop-down
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:
Trang 23• Nhóm các đối tượng có một tập đặc tính chung như xe hơi, người, khuônmặ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ộtthuộ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 dichuyể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ựcthi so sánh (similarity measure) thuật toán tìm (localize) vùng nào mà gầngiố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áttriển sẽ có các biến thể và các cách thức áp dụng riêng
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 đốitượng như các mẫu gray-level, mô hình đường viền, và cách thường dùng nhấttrong các ứng dụng theo vết đối tượng là dùng mô hình màu (color model), tuynhiê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ịuthêm một giả sử là chúng ta chỉ theo vết được các đối tượng trên ảnh màuchứ 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ấtnhạ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)
• 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
Trang 24như histogram Ứng dụng thực nghiệm đang sử dụng mô hình phân bốhistogram.
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 thamchiếu (reference model) trong mỗi khung hình đầu vào (input frame), chúng taphả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 đốitượ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àmSSD (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)
2.3 Cơ sở toán học.
2.3.1 Ước lượng Bayes
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 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.
Trang 25• 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
eq 1
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):
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
Đối với quá trình quan sát (được xác định dựa trên các thông tin từ video):
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ỗiquan 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:
eq 2
với là vectơ nhiễu (ngẫu nhiên), xác suất chuyển trạng thái 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:
(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
Trang 26(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) qua hai bước:
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ếtquan trọng nhất – phương pháp Monte Carlo – của Particle Filter Không mấttí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ềuchiều (High-Dimensional Intergral) như sau:
eq 7
Trong đó, là một hàm- khả tích Giả sử ta có thể sinh ngẫu nhiên N mẫungẫu nhiên phân phối độc lập và đồng nhất từ phân phối xác suất Như vậy,phân phối xác suất có thể được ước lượng như sau:
eq 8
Trong đó, ký hiệu hàm delta-Dirac có tâm tại Vậy, có thể được xấp xỉ
Trang 27eq 11
Trong đó ký hiệu cho hội tụ trong phân phối xác suất Từ những lập luậntrên, suy ra dùng tập các mẫu ngẫu nhiên có thể dễ dàng ước lượng được Dựavà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 Carlocò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 taphải tính (eq.7) bằng phương pháp xấp xỉ tích phân Riemann, trong đó khônggian 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áccủ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à đố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ỉ càng giảm khi số chiều củaphép tính tích phân càng tăng Trong khi đó, áp dụng phương pháp tích phânMonte Carlo, phương pháp mô phỏng ngẫu nhiên không gian trạng thái từ phânphối xác suất của nó, độ chính xác của phép xấp xỉ là và không phụ thuộc vào sốchiều của dữ liệu Điều này có nghĩa là, phương pháp tích phân Monte Carlo độclậ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ânMonte 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 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 vì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
Trang 28định mà chúng ta có thể biết trước (dạng của 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
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ạibằng Mật độ hậu nghiệm (posterior density) cung cấp tất cả các thông tin cầnthiế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:
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 đâychính là tạo N mẫu từ mô hình tham chiếu Sau đó, trọng số của mỗi mẫu trongtậ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ạngthá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 theochuỗi thời gian, trọng số tại bất kỳ thời điểm t là:
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
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ấtnhỏ, 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:
Trang 29Trong đó, 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ó:
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ệntượ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)
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 mà chỉ có nhữngphần từ trong tập hợp mẫu tương đối gần với kỳ vọng 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
Trang 30đề 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
2.4 Particle Filter.
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ựatrên xác suất, sử dụng các phương trình dự đoán (prediction) để dự đoán trạngthái của đối tượng và phương trình cập nhật (updation) dựa trên những tri thứcthu 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
Trang 31Hì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âydự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
Trang 32Cũng như các phương pháp Filtering, Particle Filter cũng tính xấp xỉ hàmmật độ hậu nghiệm tuy nhiên không như các phương pháp khác dựa vào giảití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ềuphươ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àydựa trên các trạng thái trước đó của đối tượng để dự đoán vị trí đối tượng trongkhung 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 videotạ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)
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ộtvectơ xt = (x, y, s) trong đó x, y chính là tọa độ của khung hình chữ nhật chứa đốitượ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ượngthông qua một mô hình hồi qui động cấp 2 (a second order autoregressivedynamic model) Công thức chuyển động cụ thể như sau::
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 đạidiệ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ẫuhọc hoặc có thể gán bằng tay là xác suất nhiễu Gauss
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
Trang 33khả 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àohoặc dữ liệu quan sát Trong ứng dụng thực nghiệm, chúng tôi sử dụng mô hìnhquan 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áchthô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áchchỉ sử dụng các điểm ảnh với hai giá trị Saturation và Value lớn hơn hai ngưỡngtươ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 N s + N v.
Tại thời điểm t, mô hình histogram thuộc vectơ trạng thái sẽ so sánh với môhình tham chiếu 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 moduledetector để phát hiện đối tượng tự động Do đó,
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 Dtrên phân bố màu HSV Khoảng cách D được tính dựa trên khoảng cáchBhattacharyya như sau:
Trang 34với số bin của histogram sử dụng thiết lập mặc định Nh =N s =N v =10 (10 bin cho mỗi hệ màu Hue, Saturation và Value) do tổng N=10x10+10 = 110 bins.
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:
Trang 35Khở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