TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ TRI THỨC

LÊ NGUYỄN TƯỜNG VŨ - NGUYỄN MINH TRANG

ỨNG DỤNG LỌC PARTICLE

TRONG

BÀI TOÁN THEO VẾT ĐỐI TƯỢNG

KHOÁ LUẬN CỬ NHÂN TIN HỌC

TP. HCM, 2005

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ TRI THỨC

LÊ NGUYỄN TƯỜNG VŨ - 0112082

NGUYỄN MINH TRANG - 0112159

ỨNG DỤNG LỌC PARTICLE

TRONG

BÀI TOÁN THEO VẾT ĐỐI TƯỢNG

KHOÁ LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

T.S LÊ HOÀI BẮC

NIÊN KHÓA 2001 - 2005

LỜI CẢM ƠN

Đầu tiên, chúng tôi xin chân thành gửi lời tri ân đến Thầy Lê Hoài Bắc. Luận này này

sẽ không thể hoàn thành nếu không có sự hướng dẫn, tin tưởng và tạo cơ hội của thầy.

Chúng em xin chân thành cảm ơn sự chỉ bảo của thầy.

Chúng tôi cũng xin chân thành gửi lời tri ân đến Thầy Phạm Nam Trung. Thầy đã

tận tình hướng dẫn, giúp đỡ, góp ý cho chúng em trong thời gian qua, cũng như tiếp

thêm động lực và ý chí, giúp chúng em hoàn thành được luận văn.

Chúng em xin trân trọng cảm ơn quý Thầy cô trong Khoa Công nghệ thông tin

trường Đại học Khoa học Tự nhiên Tp.Hồ Chí Minh đã tận tình giảng dạy, truyền đạt

những kiến thức quý báu và tạo điều kiện cho chúng em được thực hiện luận văn này.

Đề tài này thuộc về một lĩnh vựa nghiên cứu mới trên thế giới là lại rất mới ở Việt

Nam cộng thêm năng lực hạn chế của người thực hiện cho nên đề tài chắc chắn là chưa

hoàn thiện và có nhiều sai sót. Chúng tôi mong nhận được nhiều ý kiến đóng góp và

giúp để đề tài hoàn thiện hơn và được ứng dụng trong thực tiễn…

Tp.HCM, 7/2005

Sinh viên thực hiện

Lê Nguyễn Tường Vũ

Nguyễn Minh Trang

i

Nhận xét của giáo viên hướng dẫn

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

ii

Nhận xét của giáo viên phản biện

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

.......................................................................................................................................

iii

TÓM TẮT LUẬN VĂN

Lọc Particle là một phương pháp thành công trong bài toán theo vết đối tượng theo thời

gian thực. Nó là một phương pháp mới đang là sự tập trung của nhiều nghiên cứu hiện

nay bởi nó khắc phục được nhược điểm của các phương pháp cổ điển như lọc Kalman,

so khớp mẫu (Template Matching)…

Trong luận văn này, chúng tôi sẽ trình bày cơ sở lý thuyết của phương pháp lọc

Particle, cũng như hai phương pháp mở rộng của lọc Particle: lọc Particle kết hợp với

Mean shift ứng dụng cho bài toán theo vết 1 đối tượng, lọc Particle ứng dụng cho bài

toán theo vết nhiều đối tượng. Qua khảo sát và cài đặt thử nghiệm cho thấy, hai

phương pháp này thật sự là hai phương pháp mạnh mẽ và hiệu quả có thể là giải pháp

cho các bài toán theo vết đối tượng thực tế.

Một số từ khóa: lọc Particle (Particle Filter), theo vết đối tượng (object tracking),

phát hiện chuyển động (motion detection), ước lượng Bayesian (Bayesian Estimation).

iv

MỞ ĐẦU

Theo dõi đối tượng theo thời gian thực (real-time object tracking) là một công đoạn

quan trọng trong rất nhiều ứng dụng thị giác máy tính (computer vision applications).

Những hệ thống thuộc loại này có thể kể ra như là: hệ thống quan sát – theo dõi đối

tượng, hệ thống giao diện người dùng dựa vào cảm nhận (perceptual user interface),

những căn phòng thông minh, hệ thống nén video dựa vào đối tượng (object-based

video compression) và những hệ thống thông minh hỗ trợ tài xế lái xe tự động.

Mặc dù đã được nghiên cứu nhiều năm, bài toán “theo dõi đối tượng” vẫn là một

vấn đề nghiên cứu mở cho đến ngày nay. Mức khó khăn của vấn đề này phụ thuộc

nhiều vào đối tượng được phát hiện và theo vết như thế nào. Hiện nay, có rất nhiều

phương pháp theo vết như: So khớp mẫu (Template Matching), Mean shift, lọc

Kalman, lọc Particle … Mỗi phương pháp có điểm mạnh và điểm yếu riêng, tuy nhiên

phương pháp lọc Particle có thể khắc phục được những nhược điểm của các phương

pháp khác như: theo vết đối tượng theo thời gian thực, theo vết tốt các đối tượng trong

trường hợp phi tuyến và không phải nhiễu Gauss …

Với mong muốn tiếp cận một hướng nghiên cứu mới trên thế giới và có nhiều ứng

dụng thực tế ngay tại Việt Nam, chúng tôi đã đầu tư thực hiện đề tài “ỨNG DỤNG

LỌC PARTICLE TRONG BÀI TOÁN THEO VẾT ĐỐI TƯỢNG” với hai mục đích:

• Tìm hiểu phương pháp theo vết mới “lọc Particle”

• Ứng dụng phương pháp này trong bài toán theo vết đối tượng

Luận này được trình bày gồm bốn chương:

• Chương 1: Tổng quan về bài toán theo dõi đối tượng, giới thiệu chung về

bài toán theo dõi đối tượng bao gồm: giới thiệu, các ứng dụng, các thách

thức cùng với các hướng tiếp cận. Đồng thời đưa ra vấn đề mà đề tài tập

trung: các phương pháp theo vết thông dụng.

v

• Chương 2: Lọc Particle, giới thiệu phương pháp mà đề tài hướng đến: lọc

Particle. Trong chương này, sẽ trình bày từ tổng quan cho đến các cơ sở lý

thuyết của phương pháp lọc Particle.

• Chương 3: Ứng dụng lọc Particle trong bài toán theo vết đối tượng, giới

thiệu về áp dụng phương pháp lọc Particle trong bài toán theo vết đối tượng

thực tế, với hai phuơng pháp mở rộng của lọc Particle mà đề tài hướng đến:

áp dụng phương pháp lọc Particle kết hợp với Mean shift trong bài toán theo

vết một đối tượng; áp dụng phương pháp lọc Particle trong bài toán theo vết

nhiều đối tượng (thuật toán ODAPF).

• Chương 4: Kết luận, tổng kết lại những phần đã nghiên cứu, tóm tắt lại kết

quả đạt được, đồng thời đưa ra một số hướng phát triển cho việc giải quyết

bài toán.

vi

MỤC LỤC

LỜI CẢM ƠN .............................................................................................................i

Nhận xét của giáo viên hướng dẫn.............................................................................ii

Nhận xét của giáo viên phản biện ............................................................................ iii

TÓM TẮT LUẬN VĂN ...........................................................................................iv

MỞ ĐẦU ...................................................................................................................v

MỤC LỤC ...............................................................................................................vii

Danh mục hình vẽ ......................................................................................................x

Danh mục bảng biểu ................................................................................................xii

1. Tổng quan về bái toán theo dõi đối tượng .............................................................1

1.1. Giới thiệu ........................................................................................................1

1.2. Hệ thống theo dõi đối tượng ...........................................................................3

1.2.1. Phát hiện đối tượng ..................................................................................3

1.2.2. Phân đoạn.................................................................................................5

1.2.3. Theo vết đối tượng...................................................................................6

1.3. Các phương pháp theo vết thông thường........................................................6

1.3.1. So khớp mẫu (Template matching)..........................................................6

1.3.2. Theo vết Meanshift ..................................................................................7

1.3.3. Tiếp cận Bayesian ....................................................................................9

1.4. Kết luận .........................................................................................................14

2. Lọc Particle ..........................................................................................................15

2.1. Giới thiệu ......................................................................................................15

2.2. Nền tảng toán học .........................................................................................17

2.2.1. Phương pháp Monte Carlo.....................................................................19

2.2.2. Phương pháp hàm tích lũy xác suất nghịch đảo ....................................22

vii

2.2.3. Phương pháp lấy mẫu loại trừ................................................................23

2.2.4. Phương pháp Metropolis-Hasting..........................................................24

2.2.5. Phương pháp lấy mẫu quan trọng ..........................................................27

2.3. Phương pháp lấy mẫu quan trọng tuần tự .....................................................31

2.4. Giả lập thuật toán SIS ...................................................................................34

2.5. Các vấn đề về thuật toán SIS ........................................................................37

2.5.1. Sự thoái hóa của thuật toán SIS .............................................................37

2.5.2. Vấn đề chọn hàm mật độ đề xuất...........................................................40

2.5.3. Tái chọn mẫu..........................................................................................43

2.6. Thuật toán lọc Particle ..................................................................................50

2.7. Giả lập thuật toán lọc Particle.......................................................................52

2.8. Nhận xét ........................................................................................................56

3. Mở rộng của lọc Particle và ứng dụng trong theo vết đối tượng dựa vào video .58

3.1. Mở rộng của lọc Particle...............................................................................58

3.1.1. Multi-modal Particle Filter ....................................................................60

3.1.2. Thuật toán ODAPF ................................................................................66

3.1.3. Thuật toán MeanShift Particle ...............................................................70

3.2. Ứng dụng ......................................................................................................75

3.2.1. Phát hiện đối tượng ................................................................................76

3.2.2. Theo vết đối tượng.................................................................................81

3.3. Kết quả ..........................................................................................................84

3.3.1. Kết quả định tính....................................................................................84

3.3.2. Kết quả định lượng ................................................................................90

3.4. Kết luận .........................................................................................................92

4. Kết luận và hướng phát triển................................................................................93

4.1. Kết luận .........................................................................................................93

viii

4.2. Hướng phát triển ...........................................................................................94

DANH MỤC TÀI LIỆU THAM KHẢO.................................................................96

ix

Danh mục hình vẽ

Hình 1 Ví dụ về phương pháp lấy mẫu loại trừ .......................................................23

Hình 2 Thuật toán Sequential Importance Sampling...............................................34

Hình 3 Dữ liệu giả lập thuật toán SIS ......................................................................35

Hình 4 Kết quả lọc bằng SIS....................................................................................36

Hình 5 Sự thoái hóa của thuật toán SIS ...................................................................37

Hình 6 Ví dụ về trường hợp dẫn đến sai lầm khi chọn hàm mật độ đề xuất tối ưu.43

Hình 7 Thuật toán tái chọn mẫu hệ thống................................................................47

Hình 8 Ví dụ về thuật toán tái chọn mẫu với 3 mẫu ................................................48

Hình 9 Thuật toán Particle Filter .............................................................................51

Hình 10 Dữ liệu giả lập thuật toán lọc Particle........................................................53

Hình 11 Kết quả lọc bằng Particle Filter .................................................................53

Hình 12 Hiện tượng thoái hóa mẫu đã được loại bỏ................................................54

Hình 13 Mật độ đề xuất kết hợp ..............................................................................67

Hình 14 Thuật toán ODAPF Tracker.......................................................................70

Hình 15 Thuật toán Mean Shift kết hợp Particle Filter ...........................................72

Hình 16 Kết quả lọc Particle qua các frame 2, 3, 4, 5, 6 (từ trái qua phải, từ trên

xuống dưới) ....................................................................................................................73

Hình 17 Kết quả lọc MS+Particle qua các frame 2, 3, 4, 5, 6 (từ trái qua phải, từ

trên xuống dưới).............................................................................................................73

Hình 18 Kết quả lọc Particle qua các frame 12, 13, 14, 15, 15 (từ trái qua phải, từ

trên xuống dưới).............................................................................................................74

Hình 19 Kết quả lọc MS+Particle qua các frame 12, 13, 14, 15, 16 (từ trái qua phải,

từ trên xuống dưới).........................................................................................................74

Hình 20 Hình nền và mặt nạ vùng chuyển động......................................................78

Hình 21 Kết quả học nền .........................................................................................79

x

Hình 22 Kết quả phát hiện đối tượng.......................................................................80

Hình 23 Thuật toán phát hiện đối tượng dựa trên luật.............................................81

Hình 24 Mô hình màu đa vùng ................................................................................83

Hình 25 Một kết quả thành công của ODAPF.........................................................86

Hình 26 Một kết quả thành công của ODAPF.........................................................87

Hình 27 Một kết quả theo dõi đa đối tượng.............................................................88

Hình 28 Thuật toán ODAPF bù lỗi cho thuật toán phát hiện đối tượng..................88

Hình 29 Thuật toán ODAPF bù lỗi cho thuật toán phát hiện đối tượng..................89

Hình 30 Thuật toán ODAPF bù lỗi cho thuật toán phát hiện đối tượng..................89

Hình 31 Trường hợp lỗi của ODAPF ......................................................................89

Hình 32 Trường hợp lỗi của ODAPF ......................................................................90

Hình 33 Trường hợp lỗi của ODAPF ......................................................................90

xi

Danh mục bảng biểu

Bảng 1 Kết quả so sánh Mean Square Error của SIS và thuật toán lọc Particle (N =

50 mẫu)...........................................................................................................................54

Bảng 2 Kết quả so sánh Mean Square Error của SIS và thuật toán lọc Particle (N =

100 mẫu).........................................................................................................................55

Bảng 3 Kết quả so sánh Mean Square Error của SIS và thuật toán lọc Particle (N =

150 mẫu).........................................................................................................................55

Bảng 4 Kết quả so sánh Mean Square Error của SIS và thuật toán lọc Particle (N =

200 mẫu).........................................................................................................................55

Bảng 5 Kết quả phát hiện và theo dõi đối tượng dùng thuật toán ODAPF đối với

những đoạn video ở góc quay 1 .....................................................................................91

Bảng 6 Kết quả phát hiện và theo dõi đối tượng dùng thuật toán ODAPF đối với

những đoạn video ở góc quay 2 .....................................................................................91

xii

Luận văn tốt nghiệp

1. Tổng quan về bài toán theo dõi đối tượng

1.1. Giới thiệu

Theo dõi đối tượng theo thời gian thực (real-time object tracking) là một công đoạn

quan trọng trong rất nhiều ứng dụng thị giác máy tính (computer vision applications).

Những hệ thống thuộc loại này có thể kể ra như là: hệ thống quan sát – theo dõi đối

tượng, hệ thống giao diện người dùng dựa vào cảm nhận (perceptual user interface),

những căn phòng thông minh, hệ thống nén video dựa vào đối tượng (object-based

video compression) và những hệ thống thông minh hỗ trợ tài xế lái xe tự động.

Một trong những mục tiêu quan trọng nhất của theo dõi đố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, một hệ thống

thông minh có thể thực hiện các bước xử lý khác ở cấp cao hơn như nhận dạng đối

tượng, nhận dạng chuyển động, lý luận (reasoning) và tính toán trên những đặc trưng

vật lý này.

Mặc dù đã được nghiên cứu nhiều năm, bài toán “theo dõi đối tượng” vẫn là một

vấn đề nghiên cứu mở cho đến ngày nay [Guo2001]. Mức khó khăn của vấn đề này

phụ thuộc nhiều vào đối tượng được phát hiện và theo vết như thế nào. Nếu như chỉ có

một vài đặc trưng thị giác, chẳng hạn như màu sắc … được dùng để biểu diễn đối

tượng, thì khá dễ dàng để xác định tất cả các pixel cùng màu với đối tượng. Nhưng

thực tế lại hoàn toàn khác, ví dụ như khuôn mặt của một người cụ thể sẽ có đầy đủ các

chi tiết tri giác và thông tin nhiễu chẳng hạn như các tư thế và sự chiếu sáng khác nhau,

rất khó để mà phát hiện, nhận diện và theo vết. Hầu hết các khó khăn này nảy sinh từ

khả năng biến động của ảnh video bởi vì các đối tượng video thường là các đối tượng

chuyển động. Khi một đối tượng chuyển động qua vùng quan sát của camera, hình ảnh

1

Luận văn tốt nghiệp

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 hay sự biến dạng của đối tượng đích, sự thay đổi về độ chiếu

sáng, và sự che khuất (occlusion) một phần hay toàn bộ đối tượng đích.

Có rất nhiều phương pháp giải quyết bài toán này, ta có thể phân loại thành bốn

cách tiếp cận chính: tiếp cận dựa trên mô hình, tiếp cận dựa trên miền, tiếp cận dựa trên

đường viền và tiếp cận dựa trên đặc trưng.

• Tiếp cận dựa trên mô hình

Cách tiếp cận dựa trên mô hình bao gồm việc tạo mô hình hình học cấu

trúc của đối tượng. Các ràng buộc trên việc mô hình được cho phép biến

dạng như thế nào có thể được kết hợp vào quá trình so khớp. Vấn đề với

cách tiếp cận này là quá trình khởi tạo tự động thì khó và chi phí tính toán

cao do độ phức tạp của mô hình.

• Tiếp cận dựa trên miền

Cách tiếp cận dựa trên miền bao gồm việc kết hợp một miền với mỗi đối

tượng đang được theo vết. Miền được theo vết qua thời gian bằng phép đo

độ tương tự. Lợi ích của cách tiếp cận này là khởi tạo khá dễ dàng, chỉ có vị

trí và kích thước của cửa sổ cần được định nghĩa. Các tham số của thuật toán

cũng có ý nghĩa vật lý, dễ dàng khái niệm hóa.

• Tiếp cận dựa trên đường viền

Cách tiếp cận dựa trên đường viền bao gồm tìm đường viền bao của một

đối tượng và sau đó cố gắng làm khớp đường viền với các đối tượng trong

các frame sau. Nơi khớp nhất sẽ là đường viền hiện tại, mô hình sẽ cập nhật

đường viền hiện tại để phản ánh hình dáng của đối tượng trong frame hiện

tại. Quá trình này được lặp lại với mô hình đường viền được cập nhật. Ưu

điểm của cách tiếp cận này là là khả năng xử lý hiệu quả sự che khuất một

2

Luận văn tốt nghiệp

phần (partial occlusion). Tuy nhiên vấn đề với mô hình là nó yêu cầu sự khởi

tạo chính xác, và điều này thì khó để thực hiện tự động.

• Tiếp cận dựa trên đặc trưng

Khác với các cách tiếp cận trên đều theo vết toàn bộ đối tượng, cách tiếp

cận dựa trên đặc trưng chỉ theo vết một tập các đặc trưng của đối tượng. Ví

dụ như chỉ theo vết các điểm ở góc của đối tượng, vị trí của đối tượng trong

frame sau sẽ được tìm thấy bằng cách tìm các điểm góc mà khớp với các

điểm của mô hình nhất. Ưu điểm của cách tiếp cận này là xử lý được sự che

khuất một phần. Khi đối tượng bị che khuất, một số các đặc trưng vẫn còn

thấy được và có thể được dùng trong quá trình theo vết. Khuyết điểm của

phương pháp này là chất lượng theo vết phụ thuộc nhiều vào việc chọn các

đặc trưng. Các đặc trưng phải được chọn sao cho chúng cung cấp sự nhận

diện duy nhất cho đối tượng, nó thì không phải là một nhiệm vụ dễ.

1.2. Hệ thống theo dõi đối tượng

Một hệ thống theo dõi đối tượng thông thường gồm 3 phần:

• Phát hiện đối tượng (Object Detection)

• Phân đoạn (Segmentation)

• Theo vết đối tượng (Object Tracking)

Dưới đây, sẽ mô tả nhiệm vụ của mỗi phần và một số cách tiếp cận để giải quyết

các phần trên. Các hệ thống theo dõi hiệu quả thường kết hợp nhiều phương pháp khác

nhau.

1.2.1. Phát hiện đối tượng

Phát hiện đối tượng trong video [Guo2001] là xác minh sự hiện diện của một đối tượng

trong chuỗi ảnh và cũng có thể định vị chính xác. Các hệ thống theo dõi đối tượng

3

Luận văn tốt nghiệp

thường bắt đầu bằng quá trình phát hiện đối tượng, ngoài ra phát hiện đối tượng được

lặp lại trong chuỗi ảnh sau thường cần thiết hỗ trợ và xác minh cho quá trình theo vết.

Một số cách tiếp cận phát hiện đối tượng thông dụng:

a) Phát hiện đối tượng dựa trên đặc trưng

Tùy vào đặc trưng được chọn, ta có các cách tiếp cận khác nhau như:

dựa trên hình dáng, dựa trên màu sắc. Trong đó, cách tiếp cận dựa trên màu

sắc được xem là thông dụng nhất vì đặc trưng màu sắc thì dễ dàng lấy được

và chi phí tính toán thấp.

b) Phát hiện đối tượng dựa trên mẫu

Nếu như có một mẫu mô tả đối tượng, thì việc phát hiện đối tượng trở

thành quá trình so khớp các đặc trưng giữa mẫu và chuỗi ảnh dưới sự phân

tích. Phát hiện đối tượng với việc so khớp chính xác thường tốn nhiều chi

phí và chất lượng so khớp phụ thuộc vào chi tiết và mức độ chính xác của

mẫu đối tượng. Có hai kiểu so khớp mẫu, so khớp mẫu cố định và so khớp

mẫu biến dạng.

c) Phát hiện đối tượng chuyển động

Phần lớn các nghiên cứu về cách giải quyết bài toán theo dõi đối tượng

được tập trung trên vấn đề phát hiện đối tượng chuyển động trong thập kỷ

qua. Bởi hầu hết các hệ thống theo dõi thì quan tâm đến các đối tượng đang

chuyển động. Có rất nhiều thuật toán phát hiện chuyển động đã được đề

nghị. Chúng được phân loại tương đối thành các nhóm sau.

• Dựa trên các kỹ thuật lấy ngưỡng

Cách tiếp cận này dựa trên việc phát hiện những thay đổi theo

thời gian tại mức pixel hay khối. Kỹ thuật lấy ngưỡng được sử dụng

nhằm chống nhiễu, gia tăng hiệu quả của thuật toán. Một số phương

4

Luận văn tốt nghiệp

pháp theo cách tiếp cận này như: phát hiện chuyển động dựa trên sự

khác biệt theo thời gian, phát hiện chuyển động dựa trên trừ nền.

• Dựa trên các kiểm tra thống kê

Sự khác biệt giữa các frame được mô hình như hỗn hợp của phân

bố Gaussian và Laplacian.

• Dựa trên việc xây dựng hàm chi phí toàn cục

Vấn đề phát hiện chuyển động được đưa vào công thức nhằm

giảm thiểu hàm mục tiêu toàn cục. Mô hình được sử dụng rộng rãi là

các trường ngẫu nhiên Markov theo không gian (Spatial Markov

Random Fields) qua phân bố Gibbs. Phương pháp này thì mạnh,

nhưng cũng tốn khá nhiều chi phí.

1.2.2. Phân đoạn

Phân đoạn các chuỗi ảnh [Smith1997] thành các đối tượng chuyển động khác nhau là

bước kế tiếp sau khi phát hiện đối tượng. Việc phân đoạn này thường dựa trên thông tin

vận tốc chuyển động ví dụ như từ các đối tượng ở giai đoạn đầu, ta kết hợp các đối

tượng có cùng vận tốc chuyển động theo một ràng buộc nào đó chẳng hạn là tính lân

cận.

Ta có các cách tiếp cận sau:

• Phân đoạn dựa trên các phép đo cục bộ (Local Measurements)

• Phân đoạn dựa trên phân cụm đơn giản (Simple Clustering) hay sự mâu

thuẫn với vận tốc nền (Inconsistency with Background Flow)

• Phân đoạn dựa trên các phép biến đổi ảnh phân tích (Analytic Image

Transformations)

• Phân đoạn dựa trên quá trình quy tắc hóa (Regularization)

5

Luận văn tốt nghiệp

• Phân đoạn dựa trên phân cụm có sắp xếp toàn cục (Globally Organized

Clustering)

1.2.3. Theo vết đối tượng

Theo vết đối tượng [Guo2001] là giám sát các thay đổi theo không gian và thời gian

của đối tượng trong suốt chuỗi video, bao gồm sự hiện diện, vị trí, kích thước, hình

dáng… của đối tượng.

Một số phương pháp theo vết thông thường:

• So khớp mẫu

• Theo vết Meanshift

• Tiếp cận Bayesian (lọc Kalman, lọc Particle)

1.3. Các phương pháp theo vết thông thường

1.3.1. So khớp mẫu (Template matching)

Thủ tục trong so khớp mẫu như sau: một miền nhỏ chung quanh điểm cần được theo

vết sẽ được dùng làm mẫu. Mẫu này sau đó dùng để tìm ra frame ảnh kế tiếp bằng cách

sử dụng các kỹ thuật tương quan [Krattenthaler1994]. Vị trí với kết quả cao nhất sẽ là

so khớp tốt nhất giữa mẫu và ảnh.

Bằng cách cập nhật các mẫu theo chuỗi ảnh, các biến dạng lớn cũng có thể được

theo vết [Jain1996]. Sử dụng một trong 3 luật cập nhật cơ bản như sau:

1. Nếu có một sự thay đổi lớn giữa vị trí mẫu ban đầu và vị trí mới thì vị trí

mẫu mới được chọn. Trong trường hợp này, các mẫu được hoán đổi hoàn

toàn bởi hình dạng mới của chúng.

2. Nếu có các thay đổi nhỏ giữa vị trí ban đầu và mới của mẫu, một phiên bản

trung bình giữa mẫu mới và cũ sẽ được tính và được cập nhật như mẫu mới.

6

Luận văn tốt nghiệp

Bằng cách này, các đạo hàm nhỏ liên quan đến nhiễu sẽ là trung bình, do đó

gia tăng được khả năng theo vết tránh nhiễu.

3. Nếu chỉ có các thay đổi quá nhỏ giữa các vị trí ban đầu và mới, thì mẫu cũ sẽ

được sử dụng. Điều này rất quan trọng cho các đối tượng tịnh tiến bởi các

lượng nhỏ hơn một pixel: nếu như ta cập nhật lại thì sẽ bị mất các thông tin

dịch pixel nhỏ.

• Ưu điểm: không chịu ảnh hưởng bởi nhiễu và hiệu ứng chiếu sáng, theo vết

được các đối tượng biến dạng.

• Khuyết điểm: độ phức tạp tính toán cao, chất lượng so khớp phụ thuộc vào chi

tiết và độ chính xác của mẫu đối tượng.

1.3.2. Theo vết Meanshift

Dorin Comaniciu đã giới thiệu phương pháp theo vết màu Meanshift [Comaniciu2003].

Đây là một phương pháp theo vết tối ưu hóa tối thiểu cục bộ. Mỗi vị trí xi trong miền

ứng viên của theo vết sẽ tương ứng với một trọng số

. iw

m

)

u

=

,

(1)

( ( xb δ

)

w i

i

u

1 =

ˆ q u )ˆ(ˆ yp u 0

là giá trị tại màu u của mô hình đích, và

Với b(xi) là giá trị màu tại xi và

uqˆ

)ˆ(ˆ 0ypu

là giá trị tại màu u của mô hình ứng viên.

Vị trí mới của đối tượng là vị trí mà khoảng cách nhỏ nhất giữa mô hình đích và

mô hình ứng viên và được tính bởi:

7

Luận văn tốt nghiệp

2

x

y

i

0

gwx i i

− h

i

⎞ ⎟ ⎟ ⎠

⎛ ⎜ ⎜ ⎝

(2)

=

1ˆ y

2

x

y

0

i

gw i

− h

i

⎞ ⎟ ⎟ ⎠

⎛ ⎜ ⎜ ⎝

xg )(

xk )('

−=

Với

và k(x) là một hàm nhân (kernel function).

Quá trình được lặp lại cho đến khi không có sự thay đổi trong vị trí mới.

Các bước tính toán cơ bản trong phương pháp theo vết Meanshift:

và vị trí của nó trong frame trước

.

Cho trước mô hình đích { }

ˆu q

0ˆy

=

1...

u

m

1. Khởi tạo vị trí của đích trong frame hiện tại với

, tính mô hình ứng viên

0ˆy

m

và tính

ρ [

ˆ q , ]

)

{

( ˆ ˆ p y

ˆ ˆ( p y u

}0 )

)0

ˆ ˆ ˆ p y q ( u u 0

u

= m 1...

= ∑

u

= 1

theo (1)

2. Tính được các trọng số

iw

3. Tìm vị trí đích ứng viên kế tiếp theo (2)

tính

được

4. Tính

ra

hình

mới

{

ˆ ˆ( p y u

}1 )

u

= m 1...

m

ρ [

ˆ q , ]

)

( )1 ˆ ˆ p y

ˆ ˆ ˆ p y q ( u u 1

= ∑

u

= 1

ˆ y

+

ρ

<

ρ

5. Trong khi

, thực hiện

(

( ˆˆ[ yp

) ]ˆ, q

ˆ y 1

ˆ y 1

)0

) ( ˆˆ[ ]ˆ, qyp 1

0

1 2

ε<

6. Nếu

thì dừng, nếu không

ˆ y ← , tiếp tục bước 2. 0

ˆ y 1

ˆ y 1

ˆ y − 0

Meashift là một phương pháp đơn giản và hiệu quả cho theo vết thời gian thực.

Nhưng nó chỉ tối ưu hoá cục bộ chứ không toàn cục. Khi màu nền và màu đối tượng

giống nhau, phương pháp này sẽ không còn tác dụng.

8

Luận văn tốt nghiệp

1.3.3. Tiếp cận Bayesian

1.3.3.1. Ước lượng Bayesian

Tiếp cận theo phương pháp Bayesian [Morrell2003] 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) - hay còn gọi là hàm trơn (smoothing) - để hiệu chỉnh

lại các dự đoán trước đó về trạng thái của đối tượng 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.

Quy ước một số ký hiệu sau:

Đối với trạng thái (quá trình không được biết):

=

• Chuỗi các trạng thái từ thời điểm 0 đến k:

X

0:k

X , X ,...,X 1

0

k

=

• Chuỗi các giá trị trạng thái từ thời điểm 0 đến k:

x

0:k

x , x ,..., x 1

0

k

• Hàm mật độ của

: kX

)k ( p x

đến

:

• Hàm mật độ ghép từ

=

( p x

)

)

0X

kX

0:k

( p x , x ,..., x 1

0

k

Tương tự, đối với quá trình quan sát

=

• Chuỗi các quan sát từ thời điểm 1 đến k:

Z

1:k

Z , Z ,..., Z 2

1

k

• Giá trị quan sát tại thời điểm k:

kz

• Hàm mật độ của

: kZ

)kp z (

=

đến

:

• Hàm mật độ ghép từ

)

( p z

)

1Z

kZ

1:k

( p z ,z ,...,z 2

1

k

Mục tiêu của phương pháp Bayesian là ước lượng trạng thái

dựa trên

. Ta

kX

1:kZ

ký hiệu, giá trị ước lượng

dựa trên

.

ˆX

kX

1:kZ

k|k

Dễ thấy, giá trị ước lượng trên là một hàm phụ thuộc các quan sát:

ˆX

( g Z=

)

k|k

1:k

9

Luận văn tốt nghiệp

Lỗi ước lượng:

.

(cid:4) X

ˆ X

= − X k

k|k

k|k

Hàm chi phí như là bình phương cho lỗi ước lượng:

T

=

x

ˆ x

x

− ˆ x

)

(

) (

)

( ˆ C x , x k|k

k

k

k|k

k

k|k

Mục tiêu của ước lượng Bayesian là tìm dạng hàm

sao cho giảm thiểu chi phí

( )g .

kỳ vọng:

=

E

E

C g Z ,X

(

)

(

k

1:k

k

( ˆ C X ,X k|k

,Z

X

⎡ ⎢ ⎣

⎤ ) ⎥ ⎦

⎡ ⎢ ⎣

⎤ ) ⎥ ⎦

X ,Z 0:k

1:k

1:k

0:k

sao cho giảm

Ta có thể giảm thiểu chi phí kỳ vọng toàn thể bằng cách chọn

( )g .

thiểu kỳ vọng điều kiện cho mỗi giá trị

. Chi phí kỳ vọng này có thể được viết như

1:kz

sau:

E

E

, X

)

( ( C g z

1:k

k

Z

⎡ ⎢ ⎣

⎤ ) ⎥ ⎦

Z

1:k

X | 0:k

1:k

= z 1:k

⎡ ⎢ ⎢ ⎣

⎤ ⎥ ⎥ ⎦

Lúc này, hàm

sẽ tối ưu khi

.

=

g

E

X

[

]

( g Z

)

1:k

k

X |z k

1:k

Đó là nguồn gốc cho việc tính mật độ xác suất sau (posterior density) (

)

p x | z k

1:k

trong phương pháp lọc Bayesian.

qua hai bước:

Phương pháp lọc Bayesian được thực hiện đệ quy đối với (

)

p x | z k

1:k

Dự đoán:

| z

xd

)

) ( p x

)

( p x | z k

− 1:k 1

( p x | x k

− k 1

− k 1

− 1:k 1

− k 1

= ∫

Cập nhật:

) (

)

( p z | x p x | z k

k

k

− 1:k 1

=

)

( p x | z k

1:k

xd

) (

)

( p z | x p x | z k

k

k

− 1:k 1

k

10

Luận văn tốt nghiệp

1.3.3.2. Một số phương pháp dựa trên ước lượng Bayesian

Một số phương pháp theo vết thông dụng dựa trên ước lượng Bayesian là:

• Lọc Kalman

• Lọc HMM

• Lọc Particle

Lọc Kalman đã được biết như là một phương pháp cổ điển, nổi tiếng được phát

minh từ năm 1960 bởi R.E.Kalman. Nó là một thuật toán theo vết tối ưu nhất trong

trường hợp hệ là tuyến tính và nhiễu có phân phối Gauss. Extended Kalman và

Unscented Kalman tuy giải quyết được trường hợp phi tuyến và không phải nhiễu

Gauss nhưng cũng chỉ giải quyết tốt bài toán trong trường hợp phương trình biến đổi

có bậc 2.

Lọc HMM (Hidden Markov Model) là thuật toán lọc tối ưu rời rạc. Nó không đòi

hỏi những yêu cầu về tuyến tính cũng như phân phối của hệ. Tuy nhiên, lọc HMM chỉ

có thể được áp dụng trong trường hợp hệ có trạng thái hữu hạn và xác định.

Lọc Particle được phát minh nhằm giải quyết tốt hơn bài toán lọc, đặc biệt là nó có

thể khắc phục được mọi nhược điểm của lọc Kalman và cũng không yêu cầu hệ phải có

tập trạng thái hữu hạn.

1.3.3.3. Lọc Kalman

m

Vấn đề chung của Kalman Filter [Welch2003] là cố gắng ước lượng trạng thái

x ∈R

của một quá trình được kiểm soát theo thời gian rời rạc theo phương trình “stochastic

difference” tuyến tính

x

Ax

Bu

w

=

+

+

k

k

k

− 1

− 1

− 1k

m

với phép đo

z ∈R

z Hx =

k

k

vk +

11

Luận văn tốt nghiệp

Các tham số ngẫu nhiên

thể hiện nhiễu của quá trình và nhiễu của phép

kw

kv

đo. Chúng được giả định là độc lập với nhau, trắng và với phân bố chuẩn.

p w N Q ) ) ~ (0,

(

p v

( ) ~ (0,

N R )

và hiệp biến nhiễu phép đo

Thực tế, các ma trận hiệp biến nhiễu quá trình

Q

R có

thể thay đổi theo thời gian và phép đo, tuy nhiên chúng ta giả định rằng chúng là hằng

số.

Lưu ý rằng các ma trận

,A B H có thể thay đổi theo mỗi bước, nhưng ta giả định

,

rằng chúng là không đổi.

Thuật toán Discrete Kalman Filter:

Tóm lại, thuật toán Discrete Kalman Filter là quy trình lặp lại hai bước sau:

Bước 1: Time Update (Dự đoán)

Ta dự đoán trạng thái và hiệp biến lỗi ước lượng tại bước k từ bước k-1.

ˆ x

ˆ Ax

Bu

=

+

k

k

k

1 −

1 −

T

P

=

AP A Q +

k

k

1 −

Bước 2: Measurement Update (Hiệu chỉnh)

Nhiệm vụ đầu tiên trong suốt quá trình cập nhật là tính “gain” Kalman,

kK .

1 −

T

T

K

P H HP H (

R

)

=

+

k

k

k

, và sau đó phát sinh ước lượng trạng

Kế tiếp, ta đo lường thực tế để đạt được

kz

thái posteriori

ˆkx như sau:

(

)

ˆ x

ˆ x

ˆ K z Hx

=

+

k

k

k

k

k

Cuối cùng là ta tính hiệp biến lỗi posteriori:

P

I K H P −

)

(

=

k

k

k

12

Luận văn tốt nghiệp

Sau mỗi bước Dự đóan_Hiệu chỉnh, quá trình “sử dụng ước lượng posteriori trước

” lặp lại. Tính chất đệ quy này là một

1ˆkx − để dự đoán một ước lượng priori mới ˆkx −

trong những đặc điểm hấp dẫn của Kalman Filter_ dễ thực hiện hơn bởi vì nó không

phải ước lượng trạng thái mới dựa trên tất cả các dữ liệu trước đó.

1.3.3.4. Lọc Kalman mở rộng(Extended Kalman)

Lọc Kalman ban đầu không thể áp dụng được cho trường hợp phi tuyến tính. Vì thế

một số nghiên cứu mở rộng được thực hiện trên lọc Kalman nhằm giải quyết các các

vấn đề phi tuyến và không phải nhiễu Gauss. Phương pháp thông dụng nhất đã được

biết là lọc Extended Kalman [Welch2003] (Gelb 1996; Grewal và Andrew 1993;

Jazwinski 1970). Đây là hệ thống phi tuyến tính được định nghĩa bởi:

) ,u ,w

( x = f x k

k -1

k -1

k

)

( z = h x ,vk

k

k

thể hiện nhiễu của quá trình và nhiễu của phép

Các tham số ngẫu nhiên

kw

kv

đo như trong thuật toán lọc Kalman trên.

Trong thực tế, dĩ nhiên ta không biết các giá trị nhiễu tại mỗi bước. tuy nhiên, ta có

thê tính xấp xỉ vector trạng thái và phép đo mà không cần giá trị nhiễu.

( (cid:4)k ˆ x = f x

k -1

) ,u ,0 k

( ) (cid:4) (cid:4)k z = h x ,0 k

k

).

Với ˆkx là ước lượng posterior của trạng thái (từ thời điểm trước bước

Thuật toán Extended Kalman Filter:

Thuật toán Extended Kalman là quy trình lặp lại của hai bước sau:

Bước 1: Time Update (Dự đoán)

Ta dự đoán trạng thái và hiệp biến lỗi ước lượng tại bước k từ bước k-1.

( (cid:4)k ˆ x = f x

k -1

) ,u ,0 k

13

Luận văn tốt nghiệp

=

− 1

− 1

P k

T A P A W Q W k

+T k

k

k

k

k

k

là các Jocobian quá trình tại bước

là hiệp biến nhiễu quá trình

,

Với

kA

kW

kQ

k

tại bước

.

Bước 2: Measurement Update (Hiệu chỉnh)

Nhiệm vụ đầu tiên trong suốt quá trình cập nhật là tính “gain” Kalman,

kK .

− 1

=

+

K

)

k

P H H P H ( k

k

k

T k

T k

V R V T k k

k

Kế tiếp, ta đo lường thực tế để đạt được

, và sau đó phát sinh ước lượng trạng

kz

thái posteriori

ˆkx như sau:

ˆ x

ˆ h x (

,0

))

k

ˆ = + x k

K z ( k

k

k

Cuối cùng là ta tính hiệp biến lỗi posteriori:

= − (

)

P k

I K H P k

k

k

k

là các Jacobian phép đo tại bước

,

là hiệp biến nhiễu phép đo

Với

kH

kV

kQ

k

.

tại bước

Tuy phương pháp Extended Kalman Filter khắc phục được nhược điểm của phương

pháp lọc Kalman, nhưng nó cũng thường không chính xác trong giai đoạn khởi tạo và

thiếu mạnh mẽ.

1.4. Kết luận

Trong các phương pháp theo vết hiện nay, mỗi phương pháp có điểm yếu và điểm

mạnh của nó. Tuy nhiên, phương pháp lọc Particle có thể khắc phục được các nhược

điểm đó. Nó được biết như là phương pháp theo vết tốt nhất hiện nay. Các chương sau,

sẽ đưa ra chi tiết về phương pháp lọc Particle cũng như ứng dụng lọc Particle vào bài

toán theo dõi đối tượng.

14

Luận văn tốt nghiệp

2. Lọc Particle

2.1. Giới thiệu

Lọc (Filtering) là bài toán ước lượng trạng thái của hệ thống ngay khi một tập các quan

sát về hệ thống đó được thu nhận và có hiệu lực [Merwe2000]. Các quan sát này có thể

bao gồm các tín hiệu thu nhận từ: ra-đa, hệ thống định vị bằng sóng âm, thiết bị thu

nhận hình ảnh (video), từ kế, gia tốc kế,… Bài toán này đóng vai trò cực kỳ quan trọng

trong rất nhiều lĩnh vực khoa học, công nghệ và kinh tế, tài chính. Để giải bài toán này,

chúng ta thực hiện mô hình hóa sự biến đổi của hệ thống và nhiễu trong các phép đo

(quan sát). Kết quả thu được từ quá trình này thường là các đại lượng phi tuyến và có

phân phối phi Gauss (Non-Gaussian).

Như ta đã biết, hai phương pháp tối ưu đã được áp dụng là lọc Kalman và lọc

HMM. Những phương pháp này cho chúng ta một giải pháp hoàn chỉnh bằng giải tích

(Analytical Solution). Tuy nhiên, để áp dụng, hệ cần phải thỏa những ràng buộc sau

• Đối với lọc Kalman: Hệ tuyến tính và nhiễu Gauss.

• Đối với lọc HMM: Hệ có tập trạng thái là xác định và hữu hạn.

Đ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ì như đã nói ở trên, các độ đo thu được thường là các đại lượng phi tuyến và

có phân phối phi Gauss.

Vào năm 1979, Anderson và Moore đưa ra thuật toán lọc Kalman mở rộng

(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 này 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ụ.

15

Luận văn tốt nghiệp

Vào năm 1996, Julier và Uhlmann đề xuất một thuật toán lọc dựa trên quan điểm

rằng để xấp xỉ một hàm phân phối xác suất dạng Gauss thì dễ hơn là phải 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, một lần nữa, 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.

Các bộ lọc kể trên đều hoạt động dựa vào nhiều giả định của hệ nhằm đảm bảo về

khả năng giải quyết bài toán bằng các phương trình giải tích. Tuy nhiên, như trên đã

nói, dữ liệu trong thực tế có thể rất phức tạp, thông thường bao gồm nhiều thành phần

phi Gauss, phi tuyến và rất lớn (theo nghĩa dữ liệu có rất nhiều chiều). Điều này làm

cho việc tìm ra một giải pháp hợp lý bằng phương pháp giải tích là hầu như không thể.

Vào khoảng năm 1998, cùng với sự ra đời của thuật toán CONDENSATION

[Blake1998], một loạt các thuật toán lọc tổng quát dựa vào phương pháp Monte Carlo

Tuần Tự (Sequential Monte Carlo – SMC) với nhiều tên gọi khác nhau như lọc

Bootstrap (Bootstrap Filters), lọc Particle (Particle Filters), lọc Monte Carlo (Monte

Carlo Filters) được ra đời, đã giúp giải quyết bài toán lọc tổng quát một cách triệt để.

Các phương pháp này không đòi hỏi phải đặt ra bất kỳ giả định nào về hệ, ngoài ra,

chúng còn rất linh động, mềm dẻo, dễ cài đặt, có khả năng mở rộng để thực hiện trong

môi trường tính toán song song và đặc biệt là hoạt động rất hiệu quả trong trường hợp

bài toán tổng quát. Gần đây, các phương pháp này được thống nhất gọi với tên lọc

Particle.

Lọc Particle hiện đang được áp dụng trong rất nhiều lĩnh vực như mô hình hóa tài

chính, kinh tế lượng (Econometrics), theo dõi đối tượng, dẫn đường cho tên lửa (Missle

Guidance), di chuyển dựa vào địa hình (Terrain Navigation), thị giác máy tính, mạng

neuron, máy học, robot,... Ứng dụng của lọc Particle trong thị giác máy tính đang được

16

Luận văn tốt nghiệp

rất nhiều người quan tâm, đặc biệt là trong lĩnh vực theo vết đối tượng dựa vào thông

tin thị giác.

2.2. Nền tảng toán học

Trước khi tiếp tục xem xét về lọc Particle, sẽ là cần thiết nếu chúng ta nhắc lại một số

các quy ước toán học và phát biểu của bài toán lọc cần quan tâm. Không mất tính tổng

quát, ta xét một hệ (có thể là một hệ tín hiệu; hệ cơ học trong đó có các đại lượng vị trí, vận tốc, gia tốc;...) có không gian trạng thái được mô hình hóa bởi một hàm phân phối1

phi tuyến, phi Gauss, thỏa 2 giả định của bài toán lọc Bayes đệ quy như sau

(2.1)

p

p

=

|t x x

| x x t

• Chuỗi trạng thái (xích trạng thái) của hệ thỏa giả định về hệ Markov bậc I )

(

)

(

t

t 0: 1 −

1 −

bất kỳ chỉ phụ thuộc vào trạng thái

• Các giá trị độ đo có được tại một thời điểm

t

của hệ tại thời điểm đó

t

p

|

p

(2.2)

(

z x ) |

t

t

(

)

z t 1:

x t 1:

= ∏

i

1 =

x

X của hệ có phân phối xác suất ban đầu

;

t ∈

Các trạng thái {

} x(cid:96) ,

t

t

)0 ( p x và

xác suất chuyển trạng thái

z

Y là các quan sát tương ứng

p

;

t ∈

, {

} z(cid:96) * ,

|t x x

t

t

(

t

)1

với các thời điểm. Đồng thời, ta định nghĩa

x

x

(cid:22) … và ,

(cid:22) … lần , z

t

t

{

}

}

{

tx 0:

0,

tz 1:

1, z

lượt là chuỗi trạng thái và chuỗi quan sát cho đến thời điểm t .

Vậy hệ đang xét có thể được đặc trưng bởi các hàm phân phối xác suất sau

1 Kể từ phần này trở đi, để tiện cho việc ký hiệu và nếu không có gì quá nhầm lẫn về ngữ nghĩa, chúng ta sẽ

trong trường hợp không gian trạng thái rời

dùng qua lại giữa thuật ngữ phân phối xác suất

Pr

X

x

|

Z

z

=

=

(

)

trong trường hợp không gian trạng thái liên tục. Bên cạnh đó, các ký hiệu

rạc và mật độ xác suất

|

( p x z

)

( )p i

của mật độ xác suất sẽ được sử dụng như ký hiệu chung của hai khái niệm này.

17

Luận văn tốt nghiệp

p

x

0

) ,

1

p

t

,

1

( p

t

) )

( | x x t t 1 − ( | z x t

t

Mục tiêu của bài toán lọc là tìm được lời giải cho phân phối xác suất posterior

, các đại lượng đặc trưng của nó (quan trọng nhất là phân phối lề

( p x

)

|t 0:

z 1: t

, còn được gọi là mật độ lọc – filtering distribution) và kỳ vọng toán học

p x z ) ( |t

1: t

(cid:22)

I

f

f

x

f

x

p

x

|

= Ε

(

)

t

t

t

(

)

(

)

(

)

0: t

0: t

0: t

z 1: t

tx d 0:

x

|

p

(

)

⎡ ⎣

⎤ ⎦

z 1: t

t 0:

n

(

ft

với

(cid:92) là hàm khả tích bất kỳ, tương ứng với

. Các ví dụ

:

)1 t + →X

tf

( p x

)

|t 0:

z 1: t

về hàm này bao gồm trung bình có điều kiện (Conditional Mean)

x

x hoặc

f

=

t

(

)0:

t

t 0:

hiệp

phương

sai

điều

kiện

(Conditional

Covariance)

x

x

x

f

E

E

.

=

(

)

t

t

T x x t t

t

t

p

T p

⎡ ⎣

⎤ ⎦

⎡ ⎣

⎤ ⎦

(

)

(

)

x z | t t 1:

x z | t t 1:

t

Tại một thời điểm

bất kỳ, hàm phân phối xác suất posterior được cho bởi quy tắc

Bayes như sau

|

x

x

t 0:

p

x

|

=

t 0:

z 1: t

(

)

z t 1: x |

) p

( x

p

p (

)

p (

)

( z 1: t

t 0:

t 0:

) t 0: x td 0:

Và phương trình đệ quy để tính phân phối xác suất đồng thời

được

x

p

|

(

)

0: 1 t +

z 1: 1 t +

cho bởi

p

|

z

x

t

(

)

)

t

t

1 +

p

|

p

|

x

x

=

(

)

(

)

t 0:

z t 1:

t 0: 1 +

z t 1: 1 +

| 1 + p

x t 1 + ( z

x )

t

( p | z t 1:

1 +

Ta cũng có thể tính hàm phân phối lề

bằng các phương trình đệ quy như

( p x z |t

t

)1:

sau

• Phương trình dự đoán

p

p

p

x

|

x z | t

x x | t

(

)

(

)

(

)

t

t

1: 1 t −

1 −

1 −

z 1: 1 t −

x − td 1

= ∫

• Phương trình cập nhật

18

Luận văn tốt nghiệp

1: 1 t −

p

=

x z | t 1: t

(

)

) p )

( z x | t t ( z x | p t

t

( x z | t ( x z | p t

) )

1: 1 t −

p ∫

Những phương trình và biểu thức đệ quy ở trên tuy có vẻ đơn giản nhưng trong

thực tế, chúng ta không thể tính được chúng bởi để tính được

p

p

(

)

z x | t

t

x z | t

(

)

1: 1 t −

, đòi hỏi phải thực hiện phép tính tích phân trong đó dữ liệu có

x

p

p

x

(

)

(

)

t 0:

z |t 1:

x td 0:

t 0:

∫ số chiều rà rất lớn và rất phức tạp.

Không giống như các phương pháp dựa vào giải tích, trong đó mỗi phương pháp

luôn cố gắng tìm kiếm một lời giải cho các phương trình trên thông qua một hoặc nhiều

phương trình khác, các phương pháp Monte Carlo 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 trên bằng một tập các mẫu dữ liệu được sinh ra bởi

chính các hàm phân phối trong các tích phân này. Đây là lý do chính giúp cho các thuật

toán lọc dựa vào phương pháp Monte Carlo, cụ thể là lọc Particle, có thể giải quyết

được vấn đề phi tuyến và phi Gauss một cách triệt để và rất hiệu quả.

2.2.1. 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 lọc Particle. 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

(2.3)

I

f

f

x

p

x z |

d

x

(

)

(

)

(

)

N

Trong đó,

|

f

= ∫ )

( ) i là một hàm

( p x z - khả tích. Giả sử ta có thể sinh ngẫu nhiên

mẫu ngẫu nhiên phân phối độc lập và đồng nhất (Independent and Identically

( ) i

Distributed – i.i.d)

;

1,

… N từ phân phối xác suất

,

i =

|

( p x z . Như vậy, phân phối

)

{ x

}

có thể được ước lượng như sau

xác suất

p x z) ( |

19

Luận văn tốt nghiệp

N

x

(2.4)

i

(

)

( ) (

) x d

P N

1 = ∑ x δ N

i

1 =

Trong đó,

( )ix . Vậy,

có thể được

I

f

) x ký hiệu hàm delta-Dirac có tâm tại

(

)

( ) ( i dδ x

xấp xỉ bằng tích phân Monte Carlo (Monte Carlo Integration) như sau

( ) i

(2.5)

I

f

f

x

x

f

x

=

(

)

(

)

(

)

N

P N

)

(

1 N = ∑ N = i 1

Biểu thức ướng lượng trong (2.5) hợp lệ vì theo luật mạnh số lớn, nếu phương sai

2

2

(cid:22)

x

f

I

f

< +∞

được cho

thì phương sai của

của

f

(

)

(

)

) ( f x thỏa

(

)

NI

2 δ f

pE

| x z

(

)

⎡ ⎣

⎤ ⎦ −

var

f

=

bởi

. Vậy ta có

(

)

NI

(

)

2 δ f N

I

f

I

f

, với xác suất 1.

(2.6)

(

)

(

)

N

N

.a s → →+∞

là ký hiệu của “hội tụ hầu chắc chắn” (Almost Sure Convergence).

Trong đó

.a s →

2

Hơn nữa, vì

fδ < +∞ (hữu hạn) nên định lý giới hạn trung tâm được thỏa, nghĩa là

f

I

f

(2.7)

(

)

(

)

N

)20, ( N δ f

⎡ N I ⎣

⎤ ⎦

N

⇒ →+∞

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,

( ) i

ta thấy, dùng tập các mẫu ngẫu nhiên

;

1,

… N , ta có thể dễ dàng ước lượng

,

i =

{ x

}

. Dựa vào ước lượng này, kết hợp với phương trình (2.7), ta cũng có thể dễ

được

I

f

(

)

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 (2.3) bằng

1/ n x

hóa bằng một phương trình giải tích, độ chính xác của phéwp xấp xỉ sẽ là

phương pháp xấp xỉ tích phân Riemann, trong đó không gian trạng thái được mô hình )

( O N −

đố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

nx

20

Luận văn tốt nghiệ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

1/ 2

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 −

)

của dữ liệu. Điều này có nghĩa là, phương pháp tích

không phụ thuộc vào số chiều

nx

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

bất kỳ một cách hiệu quả. Thật không may là chúng ta thường không có

p x z) ( |

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 , |

, 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

p x z) ( |

nhất định (non-standard) mà chúng ta có thể biết trước (dạng của

có thể biến

|

( p x z

)

đổi theo thời gian).

Vì vậy, nhiều phương pháp gián tiếp để sinh ra tập các mẫu dữ liệu này đã được

phát triển. Trong đó có các phương pháp chính yếu sau

• Phương pháp hàm tích lũy xác suất nghịch đảo (Inversed CDF).

• Phương pháp lấy mẫu loại trừ (Rejection Sampling).

• Thuật toán Metropolis-Hastings (Metropolis Hastings Algorithm).

• Phương pháp lấy mẫu quan trọng (Importance Sampling - IS).

Trong đó, phương pháp lấy mẫu quan trọng chính là phương pháp được sử dụng

trong lọc Particle. Chúng ta sẽ xem xét một cách tóm tắt các phương pháp trên, phân

tích các điểm mạnh điểm yếu của chúng, và tại sao IS lại được sử dụng trước khi đi vào

nội dung chính của phương pháp lọc Particle.

21

Luận văn tốt nghiệp

2.2.2. Phương pháp hàm tích lũy xác suất nghịch đảo

Phương pháp này (Inversed CDF - ICDF) là phương pháp cổ điển và đơn giản nhất

được sử dụng để sinh một mẫu ngẫu nhiên từ một hàm mật độ (phân phối) xác suất bất

kỳ. Phương pháp này được phát biểu như sau. Cho trước một biến ngẫu nhiên X , có

hàm mật độ xác suất

. Bài toán đặt ra là sinh các giá trị ngẫu nhiên tương ứng

x

(

)

Xf

với biến ngẫu nhiên nói trên.

Gọi

là hàm tích lũy xác suất của

x

(

)

(

) x dx

(

) x . Giả sử tồn tại hàm

F X

X

Xf

1

nghịch đảo

f= ∫ ) (

XF − x của hàm tích lũy xác suất này. Vậy mẫu ngẫu nhiên có thể được

sinh ra bằng thuật toán sau

.

• Bước 1: Sinh ngẫu nhiên

∼ u U ⎡

0,1 ⎤ ⎦

1

.

• Bước 2: Giải

)

( u−=x XF

x

thu được từ thuật toán chính là mẫu ngẫu nhiên được sinh

Bằng cách này, giá trị

ra từ hàm mật độ xác suất

x

(

)

(

) x dx , tương ứng

(

) x và tích lũy xác suất

Xf

F X

X

f= ∫

với biến ngẫu nhiên X .

Thoạt nhìn, phương pháp ICDF có thể được sử dụng trong nhiều ứng dụng và bài

toán thực tế vì sự ngắn gọn của thuật toán. Tuy nhiên, vấn đề lại nằm ở chính sự đơn

giản của nó. Trong thực tế, ngoại trừ một vài trường hợp đơn giản trong đó hàm tích

lũy xác suất

có dạng đơn giản và có thể giải được, ngoài ra, việc giải

)

( XF x

1

thường dẫn đến nhiều bài toán giải tích và xấp xỉ nghiệm phức tạp khác khi

)

( u−=x XF

là một hàm tổng quát, phức tạp và hàm nghịch đảo

của nó không có

)

( 1 u−

)

XF

( XF x

dạng đủ đơn giản để có thể tính toán hiệu quả.

22

Luận văn tốt nghiệp

2.2.3. Phương pháp lấy mẫu loại trừ

Cho trước một hàm mật độ xác suất

|π x z , giả sử chúng ta có thể tìm được một hằng

(

)

số C sao cho

C

| x z

p

( π

)

(

) x z |

x

với mọi

. Như vậy, thuật toán lấy mẫu loại trừ được thực hiện như sau:

( )ix từ

• Bước 1: sinh mẫu

) |π x z và tính

(

( ) i

p

|

z

r

1

=

( ) i

|

x

) z

)

( x ( Cπ

, trong đó

là phân phối đều trên

• Bước 2: Sinh số ngẫu nhiên

∼ u U ⎡

0,1U ⎡

0,1 ⎤ ⎦

⎤ ⎦

.

khoảng đóng

0,1⎡ ⎤ ⎦ ⎣

u

, chọn

( )ix ; ngược lại, loại trừ

( )ix .

r≤

• Bước 3: nếu

( )ix được sinh ra đều tuân

Chúng ta có thể chứng minh được, các mẫu ngẫu nhiên

theo mật độ xác suất

( p x z . |

)

Hình 1 Ví dụ về phương pháp lấy mẫu loại trừ

23

Luận văn tốt nghiệp

Hình 1 cho chúng ta thấy một ví dụ đơn giản về phương pháp lấy mẫu loại trừ.

Trong ví dụ này, hàm mật độ xác suất

|

( p x z có miền xác định

)

. Rõ ràng, mẫu

|

0,

:

|

0,

>

=

( x p x z

)

( π

) x z U

(

x max

)max x

{

} 0

⎡⎣

⎤⎦ ; ta chọn hàm mật độ

đã chọn. Trong

ngẫu nhiên

|

0,

( )ix được sinh ra từ hàm mật độ

( π

) x z U

(

)max x

trường hợp này, xác suất để chấp nhận một mẫu

( ) ix

max

( U x 0,

)

( ) i

.

r

|

=

x max

) z C

( p x

Trong trường hợp tổng quát, xác suất chấp nhận mẫu là

accept z

accept x z

Pr

|

Pr

,

|

|

=

=

(2.8)

(

)

(

) ( π

) x z dx

1 C

Dễ thấy, khi C càng tăng, phương pháp này càng trở nên kém hiệu quả vì xác suất

chấp nhận một mẫu là rất nhỏ, thuật toán phải thực hiện nhiều lần thì mới có thể chọn

C

được một mẫu mong muốn. Ngoài ra, để tìm được giá trị hợp lý của

, thuật toán đòi

max

hỏi phải tính được

| |

) )

( ⎧ p x z ⎪ ⎨ ( x zπ ⎪ ⎩

⎫ ⎪ ⎬ . Bài toán này lại dẫn đến bài toán tìm nghiệm, trong ⎪ ⎭

đó đòi hỏi nhiều tính toán xấp xỉ phức tạp vì

|

( p x z thường là phi tuyến và có dạng

)

bất kỳ. Hơn nữa, nếu áp dụng phương pháp tìm C tăng dần, ta cũng không thể đảm

bảo được tính hiệu quả của thuật toán. Một cách tổng quát, cũng như thuật toán tích lũy

xác suất nghịch đảo, thuật toán lấy mẫu loại trừ cũng gặp phải nhiều vấn đề về chi phí

tính toán mà không thể được áp dụng trong những ứng dụng thời gian thực, trong đó

đòi hỏi dữ liệu phải được xử lý cực nhanh, ngay khi dữ liệu về quan sát được thu nhận.

2.2.4. Phương pháp Metropolis-Hasting

Thuật toán Metropolis-Hasting, thuật toán dựa vào phương pháp Monte Carlo xích

Markov (Markov Chain Monte Carlo - MCMC), được đề xuất bởi Metropolis năm

1953 và được Hasting cải tiến vào năm 1970. Ý tưởng chính của thuật toán này dựa

24

Luận văn tốt nghiệp

x

, sao cho mật

trên việc mô phỏng một xích Markov trong không gian trạng thái của

độ (phân phối) xác suất tĩnh (Stationary Distribution) của xích là

.

|

( p x z

)

Trong hầu hết các bài toán dựa vào mô phỏng (Simulation), vấn đề cần quan tâm là

ước lượng biểu thức

,

(

) x ⎤

} x… độc n

1, x

XfE

g⎡ ⎣

⎦ . Nếu đã có một tập mẫu ngẫu nhiên {

lập, đồng nhất từ biến ngẫu nhiên có mật độ xác suất

( ) i , ta có thể ước lượng biểu

Xf

thức này bằng

n

E

g

x

g

(2.9)

(

)

(

) x i

f

X

i

1 =

⎡ ⎣

1 ⎦ = ∑ ⎤ n

Như những phần trên đã đề cập, theo luật mạnh số lớn, ước lượng trong (2.9) là

hợp lý. Trong thực tế, từ

( ) i khó có thể trực tiếp sinh ra các mẫu độc lập và đồng

Xf

nhất. Nhưng bằng cách giảm bớt ràng buộc về tính độc lập giữa các mẫu dữ liệu, thuật

toán Metropolis-Hasting vẫn đảm bảo tính đúng đắn của ước lượng này.

Cho một xích Markov được đặc trưng bởi

x , trong đó, tại mỗi thời điểm

t

)

1 |

( tπ +x

t

,

được sinh ra phụ thuộc vào

trước đó và

là giá trị khởi tạo của xích (hàm

tx

0x

1t+x

( )π i còn được gọi là hàm mật độ đề xuất như sẽ được đề cập trong phần sau). Để sinh

ra các mẫu ngẫu nhiên, thuật toán Metropolis-Hasting dùng hàm

x nhằm sinh

t

)

1 |

( tπ +x

ra một mẫu mới và tương tự như trong thuật toán loại trừ, nó dùng một luật phân loại

nhằm quyết định xem có chọn mẫu mới này hay vẫn giữ nguyên giá trị cũ. Đây cũng

chính là điểm cải tiến của thuật toán Metropolis-Hasting so với thuật toán lấy mẫu loại

trừ.

và tính

i |

• Bước 1: Sinh ngẫu nhiên (cid:105)

Thuật toán này có thể được tóm tắt như sau )

( ( ) iπx x

25

Luận văn tốt nghiệp

( ) (cid:105) i x |

)

( ) i

(2.10)

r

min 1,

(cid:105) x x ,

=

)

(

( ) i

( ) i

|

p

(cid:105)( x z | x

(cid:105) x x |

)

( ) x π ) ( z π

p (

⎧ ⎪ ⎨ ⎪ ⎩

⎫ ⎪ ⎬ ⎪ ⎭

, trong đó

là phân phối đều trên

• Bước 2: Sinh số ngẫu nhiên

∼ u U ⎡

0,1U ⎡

0,1 ⎤ ⎦

⎤ ⎦

.

khoảng đóng

0,1⎡ ⎤ ⎦ ⎣

i

(

(

) 1 +

( ) i

(cid:105)

x

( ) i x .

) 1i + =

u

r

(cid:105) x x ,

,

x

• Bước 3: Nếu

<

x= . Ngược lại,

)

(

So với phương pháp lấy mẫu loại trừ, phương pháp Metropolis-Hasting không đòi

hỏi ta phải tính được cực đại của hàm số

x z . Hơn nữa, tại mỗi bước thực

p

| x z

/

|

(

)

( π

)

(

(

( ) i

x

x

(cid:105) x hoặc

x , điều

hiện của thuật toán, ta đều chọn được tối thiểu một mẫu

) 1i+ =

) 1i + =

này thực sự là một cải tiến đáng kể về hiệu suất so với thuật toán lấy mẫu loại trừ, vì ta

có thể biết được khi nào thì nên dừng thuật toán để đảm bảo về thời gian thực hiện.

Tuy nhiên, thuật toán Metropolis-Hasting gặp phải hai vấn đề khiến nó cũng không

thể được sử dụng trong các ứng dụng thời gian thực.

• Một là, thuật toán này đòi hỏi phải được thực hiện rất nhiều lần (có thể lên

đến hàng nghìn lần) trước khi xích Markov đủ khả năng mô phỏng được mật

độ xác suất tĩnh cần quan tâm, hay nói cách khác, mẫu ngẫu nhiên kết quả

thực sự được sinh ra bởi

) ( p x z . |

• Hai là, trên lý thuyết, khi số lần lặp của thuật toán tiến đến vô cực, thuật

toán sẽ hội tụ và các mẫu ngẫu nhiên sinh ra là độc lập nhưng trong thực tế,

số lần lặp của thuật toán là hữu hạn. Do đó, các mẫu ngẫu nhiên kết quả hiển

nhiên là phụ thuộc nhau. Điều này chúng ta không mong muốn trong phép

tính tích phân Monte Carlo, trong đó các mẫu ngẫu nhiên đòi hỏi phải độc

lập và đồng nhất với nhau.

Vì những lý do kể trên, mặc dù Metropolis-Hasting là thuật toán rất hiệu quả để

giải quyết bài toán sinh mẫu ngẫu nhiên từ phân phối bất kỳ. Tuy nhiên, do tính chất

26

Luận văn tốt nghiệp

tuần tự của nó, thuật toán phải thực hiện rất nhiều lần để có thể sinh ra được một mẫu

ngẫu nhiên mong muốn. Điểm yếu này cũng làm cho Metropolis-Hasting trở nên

không phù hợp với bài toán lọc trực tuyến của chúng ta.

2.2.5. Phương pháp lấy mẫu quan trọng

Trong phần trên, chúng ta đã xem xét 3 phương pháp sinh mẫu ngẫu nhiên từ một phân

phối xác suất bất kỳ. Phương pháp hàm tích lũy xác suất nghịch đảo tuy đơn giản về ý

tưởng và ý nghĩa toán học nhưng lại gặp phải vấn đề khi phải giải phương trình tính

1

nghiệm

. Phương pháp lấy mẫu loại trừ cũng không hiệu quả vì nó giả định

)

( u−=x XF

max

rằng chúng ta đã biết trước được đại lượng

. Trong khi đó, phương pháp

| x z x z |

) )

( ⎧ p ⎪ ⎨ ( π ⎪ ⎩

⎫ ⎪ ⎬ ⎪ ⎭

Metropolis-Hasting lại đòi hỏi quá nhiều vòng lặp của thuật toán trước khi nó thực sự

hội tụ và sinh ra mẫu ngẫu nhiên của phân phối xác suất tĩnh. Vì thế, cả 3 phương pháp

này đều không thích hợp cho bài toán lọc trực tuyến trong các ứng dụng thời gian thực

chúng ta cần quan tâm.

Trong phần này, chúng ta sẽ cùng xem xét phương pháp lấy mẫu quan trọng

(Importance Sampling - IS) – phương pháp luận của lọc Particle – và tìm hiểu xem tại

sao phương pháp này lại rất phù hợp với bài toán của chúng ta.

Cho trước hàm mật độ xác suất

|π x z , gọi là hàm mật độ đề xuất (Proposal

(

)

Density). Trong đó,

( )π i là một hàm mật độ có dạng đơn giản (theo nghĩa chúng ta có

thể dễ dàng sinh ra các mẫu ngẫu nhiên tương ứng với nó) và thỏa điều kiện

x

, nghĩa là tại mọi điểm

tại đó

thì

D p ,

| x z

| x z

p

| x z

0

x ∀ ∈

0 > ⇒

>

(

)

( π

)

(

)

) |π x z

(

. Nói cách khác, tại bất kỳ điểm nào trong miền xác định

cũng tồn tại và có

| x z

0

>

( π

)

của

, x

cũng có khả năng mô phỏng được

.

zi

)π zi ( |

( |p

)

Với những giả định trên, tích phân (2.3) được viết thành

27

Luận văn tốt nghiệp

(2.11)

I

f

f

x

x

|

z

x d

(

)

(

)

)

= ∫

| x z x z |

( p ( π

) ( π )

Suy ra

I

f

E

f

x

f

x

w

*

=

=

(2.12)

(

)

(

)

(

)

(

| x z

p

| x z

E ( π

)

(

)

⎡ ⎣

⎤ ⎦

⎡ ⎣

) ⎤ ⎦x

Trong đó

(2.13)

w

*

x

=

(

)

| x z | x z

( p ( π

) )

hay

ký hiệu cho kỳ vọng tương ứng với hàm mật độ xác suất

zi

i ⎡ ⎤⎣ ⎦

pE ⎡ ⎣

⎦zi | ⎤

)|pE (

. Từ giả định về hàm

|π x z , hiển nhiên ta có thể dễ dàng thu được một tập

( |p zi

)

(

)

N

)

(

mẫu ngẫu nhiên độc lập, đồng nhất

tương ứng với

( ) 1 ,

x… ,

|

π x z . Như vậy,

)

(

}

{ x biểu thức (2.11) có thể được ước lượng bằng tích phân Monte Carlo như sau

N

( ) i

( ) i

(cid:22)

I

f

x

w

*

(2.14)

(

)

N

1

i

)

)

(

1 N

( ) i

( ) i

( ) i

Đặt

|

p

*

w

w

( ) i *

|

z

x

x

x

=

=

( =∑ x f ) z , gọi là trọng số (Importance Weight)

)

(

(

( π

N

( ) i

(cid:22)

I

f

(2.15)

)

(

N

1

i

( ) i w *

) tương ứng với các mẫu ngẫu nhiên, (2.14) trở thành )

( =∑ x f

1 N

Như ta đã thấy ở mục 2.2.1, biểu thức (2.15) là hợp lệ, nghĩa là, theo luật mạnh số

lớn, nếu

hội tụ về

với xác suất 1 khi

|

f

I

f

π x z có phương sai hữu hạn thì

(

)

(

)

(

)

NI

. Tuy nhiên, việc lượng giá biểu thức (2.15) không hoàn toàn đơn giản. Trong

N → +∞

những phần truớc, chúng ta chưa đề cập đến việc lượng giá

|

( p x z và hiểu ngầm rằng

)

x

cho trước. Thật không may, trong thực tế,

ta có thể dễ dàng tính được

|

) ( p x z với

để tính được

thường đòi hỏi nhiều phép tính xấp xỉ phức tạp.

p x z) ( |

28

Luận văn tốt nghiệp

( )* iw và tránh trực tiếp ước lượng biểu

IS giải quyết vấn đề này bằng cách biến đổi

thức

như sau

p x z) ( |

( ) i

( ) i

( ) i

x

z

x

p

|

p

z x |

)

(

(

( ) i *

w

=

=

×

(2.16)

( ) i

p

) p ( ) z

x

z

x

|

1 ( ) zi |

) )

)

( ( π

( π

Suy ra (2.11) trở thành

I

f

f

x

|

(2.17)

(

)

(

)

( π

) x z x d

= ∫

p p

( p x x z |

( (

) z x | ) ( z π

) )

|

( p x z nhưng ngược lại, ta có thể dễ dàng tính

( ) i

( )

likelihood

và xác suất prior

. Chỉ còn một vấn đề nữa là làm sao

( p z x |

. Thay

lượng giá được

x

x , ta có

p

p

p

| z x

d

Mặc dù ta khó có thể tính trực tiếp ) )

( ) =z

( p z

(

( p x )

) )i (

)

p

x

)

d

I

f

f

x

|

z

x

x

=

( π

)

(

)

(

)

p

1 ( ) z

p

( ) p ) x z | )

f

x z |

d x

x

( π

)

(

)

(2.18)

=

∫ p

( x

) d x x )

f

x z |

d x

x

( π

)

(

)

=

p

( z x | ( π ( x ) p ( ) )

x z |

x

d

( π

)

) ( p z x | ( x z | π ) ( p z x | ) ( p z x | ( x z | π ( ) ( x z x | p ( ) x z | π

Suy ra

)

)

⎡ ⎣

⎤ ⎦

(2.19)

(

)

f x x I f = x

x z |

)

) ( ( ⎡ w ⎣

( w ) ⎤ ⎦

Trong đó

29

E ( x z | π E ( π

Luận văn tốt nghiệp

p

x

(

(

)

(2.20)

w

x

=

(

)

) z

| z x ( π

p )

Hiển nhiên đến lúc này, biểu thức trong (2.20) có thể được tính dễ dàng vì các biểu

thức con trong nó đều đã được biết trước và có dạng đơn giản. Vậy, tích phân Monte

N

( ) i

( ) i

x

f

w

N

)

Carlo trong (2.15) có thể được viết thành (

i

1 N

( ) i

i

(cid:22)

(2.21)

I

f

f

x

=

(

)

N

N

) (cid:105)( ) w

(

( ) i

i

1 =

w

i

( )

Trong đó

( )iw ký hiệu cho

và trọng số chuẩn hóa (cid:105)( )i

w được cho bởi

∑ 1 = 1 N )iw x (

( ) i

( ) i

w

)

(cid:22)

(2.22)

(cid:105)( ) i w

=

N

j

j

(

)

)

( w

( w

x

w N ∑

)

x (

j

j

1 =

1 =

sẽ tiến về

với xác

Theo luật mạnh số lớn, hiển nhiên trong (2.21),

f

I

f

(

)

(

)

NI

N

suất 1 khi

tiến đến vô cực.

Nếu ta đặt

N

(2.23)

x z |

i

(cid:109) ( p

)

( ) (

) x

N

i

1 =

= ∑

(cid:105)( ) i w δ x

Suy ra

(2.24)

I

f

f

x

x z |

d

x

f

x

p

| x z

d

x

=

(

)

(

)(cid:109) ( p

)

(

)

(

)

N

N

(2.24) cho thấy kết quả của thuật toán IS không chỉ là ước lượng của tích phân

mà còn là ước lượng của xác suất posterior

qua một biến đổi

|

|

f

x

p

)

(

(

) x z dx

( p x z

)

∫ của hệ. Đây cũng chính là tâm điểm của lọc Bayes trong đó mục tiêu chính là mật độ

xác suất posterior

qua các biến đổi của hệ.

|

( p x z

)

30

Luận văn tốt nghiệp

Qua những trình bày trên, ta thấy IS cung cấp cho ta một phương pháp để xấp xỉ

mà không đòi hỏi phải thực sự có khả năng tạo tập mẫu ngẫu

mật độ xác suất

p x z) ( |

. Trong khi đối với thuật toán lấy mẫu loại trừ và thuật toán

nhiên từ

|

( p x z

)

, thì đối với

Metropolis-Hasting, các mẫu được phân phối theo hàm mật độ

|

( p x z

)

thuật toán lấy mẫu quan trọng, các mẫu được phân phối theo hàm mật độ đề xuất. Sau

đó, các trọng số sẽ được cập nhật để phản ánh đúng ước lượng trong (2.21).

Từ những nhận xét trên, ta thấy IS là thuật toán duy nhất có thể được áp dụng trong

các bài toán lọc thời gian thực vì tính hiệu quả và chi phí thấp của nó. Nó không đòi

hỏi quá trình sinh mẫu – chọn lựa cũng như thời gian thực thi đủ lâu để thuật toán hội

tụ. Đây chính là lý do phương pháp lấy mẫu quan trọng trở thành phương pháp luận

chủ yếu của lọc Partilce. Tên của lọc Particle có lẽ cũng xuất phát từ phương pháp luận

này: dùng các phần tử mẫu (tương tự như các phần tử nhỏ, các hạt) để mô phỏng phân

phối xác suất của chúng qua những lần biến đổi của hệ.

2.3. Phương pháp lấy mẫu quan trọng tuần tự

Phương pháp lấy mẫu quan trọng IS là một phương pháp tích phân Monte Carlo tổng

t

quát. Tuy nhiên, tại mỗi thời điểm

, ta cần phải truy cập và sử dụng tất cả mọi thông

tin trong

trước khi có thể tính được

. Nói theo cách khác, mỗi khi dữ

( p x

)

1:tz

|t 0:

z t 1:

liệu về quan sát mới có hiệu lực, ta phải tính toán lại trọng số đối với toàn bộ không

gian trạng thái. Chi phí tính toán này sẽ tăng theo thời gian, khi mà dữ liệu tích lũy

ngày càng nhiều. Trong phần này, chúng ta sẽ xem xét thuật toán lấy mẫu quan trọng

tuần tự (Sequential Importance Sampling – SIS) và các tính chất của nó để có thể giải

quyết vấn đề nêu trên.

Như đã trình bày, thuật toán IS cho ta một phương pháp để ước lượng mật độ xác

) x được cho bởi tập mẫu-trọng số

suất posterior bằng (cid:109) ( Np

x . Trong đó, (cid:109) ( ) Np

31

Luận văn tốt nghiệp

N

( )ix

, với (cid:105)( )i

. Áp dụng vào

w là trọng số chuẩn hóa tương ứng với các mẫu

( ) (cid:105)( ) i i w ,

x

{

} 1

i

=

N

được cho bởi tập mẫu-trọng số

với

bài toán lọc của chúng ta,

x

x

|

N

(cid:109) ( p

)

t 0:

z t 1:

( ) (cid:105)( ) i i w , t 0: t

{

}

i

1 =

các trọng số chưa chuẩn hóa cho bởi

( ) i t 0:

( ) i t 0:

)

(

(2.25)

( ) i w t

( ) i t 0:

p p x z t 1: = x

) | z t 1:

( x )

| ( π

Mục tiêu của thuật toán lấy mẫu quan trọng tuần tự SIS là tính toán xấp xỉ

của

một cách đệ quy mà không cần tác động đến những thông

x

|

N

)

(cid:109) ( p

)

t 0:

z t 1:

|t 0:

z t 1:

tin cũ về trạng thái

1,

,

… N . Điều này có nghĩa là hàm mật độ đề xuất tại thời

x

=

( ) i i− 0: 1; t

( p x {

}

điểm t phải thỏa

(2.26)

x

x

|

|

,

=

|t x x

( π

)

( π

) ( π

)

t 0:

z t 1:

z t 1:

t 0: 1 −

z t 1: 1 −

t 0: 1 −

Nghĩa là

t

x

|

x

,

(2.27)

=

( π

)

( π

)

t 0:

z t 1:

0

x x | k

k 0:

k 1:

1 −

( π

z )

k

1 =

dựa vào thủ tục

Dựa vào ràng buộc trên, ta có thể sinh một mẫu

x

|

(

)

( ) i ∼ tπx t 0: 0:

z t 1:

đơn giản sau:

mới.

x

,

( ) i t

x x | t

)

z t 1:

t 0: 1 −

• Bước 2: Đặt

x

( ) x i t

( ) i =x 0: t

( ) i 0: 1, t −

( π }

, ta

Không có điều kiện như trong (2.27), để sinh ra một mẫu

( π x

)

( ) i tx mới từ 0:

|t 0:

• Bước 1: Sinh ra một {

z t 1:

cần phải tái tạo lại toàn bộ các mẫu

trước đó. Thay (2.26) vào (2.25), ta có

( ) i t−x 0: 1

32

Luận văn tốt nghiệp

x

x

p

|

z 1: t

( ) i 0: t

( ) i 0: t

)

=

( ) i w t

( x

( x

x

|

|

( ) i t

z 1: t

( ) i 0: 1 t −

( ) i 0: 1 t −

)

x

x

x

) p ) ( π |

|

p

p

p

p

( ) i t

( ) i t

( ) i t 0: 1 −

z t 1: 1 −

( ) i t 0: 1 −

( ) i t 0: 1 −

)

)

, (

z 1: 1 t − (

(

×

=

(2.28)

x

x

x

,

|

( ) i t

z t 1:

( ) i t 0: 1 −

( ) i t 0: 1 −

) z t 1: 1 −

)

x )

( π

x

|

p

p

( ) i t

( ) i t

( ) i t 1 −

)

(

×

=

( ) i w t 1 −

x

,

) | ) x |

( ) i t

z t 1:

( ) i t 0: 1 −

x )

( π ( z x | t ( π ( z x | t ( π

Từ dòng 1 xuống dòng 2 của biểu thức, ta sử dụng giả định 2 về sự độc lập của các

và công

thức Bayes

p

|

p

p

|

(

)

t

(

)

(

)

z t 1:

x t 1:

z t 1: 1 −

x t 1: 1 −

. Từ dòng 2 xuống dòng 3 của biểu thức,

,

|

p

x

p

x

x

p

x

x

p

=

=

( ) i t

( ) i t

( ) i 0: t

( ) i 0: 1 t −

( ) i 0: 1 t −

( ) x i 0: 1 t−

quan sát )

thu được )

= )

| z x t )

(

(

(

(

.

ta sử dụng giả định 1 về chuỗi trạng thái

p

p

=

| x x t

| x x t

(

)

(

)

t

t 0: 1 −

1 −

Như trên đã nói, thuật toán SIS tìm kiếm một giải pháp đệ quy trong đó không cần

phải sử dụng những thông tin trước đó về trạng thái cũng như các quan sát. Để thực

hiện điều này, hàm mật độ đề xuất trong tử số của (2.28) cần phải được biến đổi một

chút. Thứ nhất, ta không muốn lưu trữ toàn bộ thông tin về những độ đo đã có trước

t

nên hàm mật độ đề xuất chỉ cần phụ thuộc duy nhất vào quan sát tại thời điểm

,

1: 1t−z

. Thứ hai, ta cũng không muốn ghi lại những thông tin về trạng thái trước

. Điều

tz

( ) i t−x 0: 1

này có nghĩa là hàm mật độ đề xuất chỉ cần phụ thuộc duy nhất vào trạng thái tại thời

điểm

. Như vậy, (2.27) trở thành

1t −

t

x

|

x

,

(2.29)

=

( π

)

( π

)

t 0:

z t 1:

0

| x x k

k

k

1 −

( π

z )

k

1 =

Thay (2.29) vào (2.28) ta có

x

p

p

|

( ) i t

( ) i t

( ) i t 1 −

)

(

(

=

×

(2.30)

( ) i w t

( ) i w t 1 −

x

x

z

) |

,

( ) i t

t

( ) i t 1 −

x )

z x | t ( π

33

Luận văn tốt nghiệp

Như có thể thấy trong (2.30), biểu thức tính trọng số lúc này không còn yêu cầu các

lưu trữ về trạng thái

cũng như quan sát

. Phương trình trong (2.30) như vậy

1: 1t−z

( ) i t−x 0: 1

có thể được sử dụng trong các cài đặt thực tế đòi hỏi các tính toán thời gian thực. Một

cách tóm tắt, thuật toán lấy mẫu quan trọng tuần tự có thể được trình bày như trong

Hình 2. Như ta có thể thấy, thuật toán SIS thực sự có ý tưởng và cấu trúc rất đơn giản,

điều này khiến cho nó trở thành thuật toán rất phổ biến trong các bài toán xấp xỉ bằng

lọc Bayes đệ quy.

Thuật toán 1 Sequential Importance Sampling

N

N

x

SIS

,

,

=

( ) i w t

( ) (cid:105) ( ) i i , w t t 0:

( ) i t 0:

}

{

}

i

1 =

i

⎤ z ⎥ t ⎦

⎡ ⎢ ⎣

⎡ ⎢ ⎣ N= 1:

⎤ ⎥ ⎦ 1 = i • FOR

{ x

i

x x |

( ) ,i 1 t −

t

) tz .

o Sinh ra ( ) x o Tính ( )i

x

|

p

p

( ) i t

( ) i t

( tπ tw theo công thức ( ) i t 1 −

)

(

(

=

×

( ) i w t

( ) i w t 1 −

x

x

z

) |

,

( ) i t

t

( ) i t 1 −

x )

z x | t ( π

• END FOR i = N 1: • FOR

, chuẩn hóa trọng số của các mẫu

(cid:105)( ) i w t

( ) i w t N

j

)

( w t

j

1 =

=

Hình 2 Thuật toán Sequential Importance Sampling

2.4. Giả lập thuật toán SIS

Trong phần này, chúng ta sẽ xem xét một ví dụ trực quan về thuật toán SIS bằng cách

mô phỏng sự hoạt động của nó trên một chuỗi dữ liệu mẫu sinh ngẫu nhiên của hệ cho

bởi các phương trình sau

34

Luận văn tốt nghiệp

(2.31)

p

N

x

;

f

x

,

k

,

x x | t

t

(

)

(

)

t

t

1 −

1 −

k

kQ − 1

(

)

p

N

;

z

(2.32)

(

)

| z x t

t

t

2 x t 20

⎛ ⎜ ⎝

⎞ , R ⎟ k ⎠

trong đó

f

k

k

x

,

8c

=

+

+

(2.33)

( os 1.2

)

(

)

t

− 1

k

x t − 1 2

x 25 t − 1 2 x 1 + t − 1

là hàm Gauss tương ứng với biến

có kỳ vọng là

x

µ và phương sai δ.

,

2 N µδx ;

(

)

Hình 3 Dữ liệu giả lập thuật toán SIS

Hình 3 cho ta thấy kết quả từ việc mô phỏng sự biến đổi của hệ được mô tả bởi 2

phương trình (2.32) và (2.33). Đường màu xanh tương ứng với trạng thái thực của hệ

35

Luận văn tốt nghiệp

thống. Đường màu đỏ tương ứng với nhữrng quan sát thu được. Một cách trực quan, ta

có thể thấy các giá trị của trạng thái và độ đo thu được là những giá trị phi tuyến rất rõ

rệt.

Hình 4 Kết quả lọc bằng SIS

Hình 4 cho thấy kết quả sau khi thực hiện thuật toán SIS trên dữ liệu mô phỏng

bên trên. Đường màu xanh trong hình vẫn là dữ liệu về trạng thái thực của hệ. Đường

màu đỏ là giá trị trạng thái của hệ sau khi ước lượng bằng thuật toán SIS. Kết quả thu

được chưa hoàn toàn tốt, vẫn còn có nhiều điểm, giá trị ước lượng của trạng thái còn

khác nhiều so với giá trị thực của hệ. Nguyên nhân chủ yếu của hiện tượng này là do

thuật toán SIS gặp phải vấn đề thoái hóa của các giá trị trọng số trong quá trình hoạt

động của nó như sẽ được trình bày trong phần tiếp theo. Tuy nhiên, qua những đánh

36

Luận văn tốt nghiệp

giá sơ bộ, ta có thể thấy được thuật toán lọc SIS hoàn toàn phù hợp với những ứng

dụng thời gian thực của chúng ta và quan trọng hơn nữa, các kết quả cũng cho thấy nền

tảng lý thuyết của lọc Particle – phương pháp Monte Carlo – là đúng đắn và là cơ sở áp

dụng cho các ứng dụng theo dõi, xử lý tính hiệu số, thị giác máy tính mà chúng ta cần

quan tâm.

2.5. Các vấn đề về thuật toán SIS

2.5.1. Sự thoái hóa của thuật toán SIS

Thuật toán SIS chính là bộ khung của các ứng dụng lọc Bayesian theo hướng Particle.

Tuy nhiên, một vấn đề thường gặp đối với thuật toán SIS chính là hiện tượng thoái hóa

trong tập mẫu, tất cả những phần tử còn lại đều có trọng số rất nhỏ, không đáng kể.

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

Hình 5 Sự thoái hóa của thuật toán SIS

37

Luận văn tốt nghiệp

Qua thực nghiệm với dữ liệu giả lập, ta có thể thấy rất rõ hiện tượng thoái hóa này.

Hình 5 cho ta thấy biểu đồ trọng số của các mẫu theo thời gian. Thuật toán được thực

z

hiện với 200 mẫu, và với 200 vòng lặp. Trục đứng

trên hình biểu thị cho giá trị của

các trọng số. Trục nằm ngang bên trái hình biểu thị cho số lần lặp. Trục nằm ngang bên

phải hình biểu thị cho các trọng số của các mẫu. Trên hình, ta có thể thấy, trong những

vòng lặp đầu tiên, các mẫu vẫn còn tương đối “tốt”, theo nghĩa, hầu như các trọng số

vẫn mang giá trị đồng đều, tất cả các mẫu đều góp phần quyết định giá trị của hàm

. Tuy nhiên, chỉ trong vòng vài vòng lặp, rõ ràng có

phân phối đích posterior

p x z ) ( |t

t 1:

sự khác biệt giữa các trọng số này. Có rất nhiều điểm mẫu tại đó giá trị của trọng số rất

lớn, gần bằng 1, thường hoán đổi vị trí cho nhau, trong khi tất cả những điểm còn lại,

trọng số hầu như bằng 0. Và cho đến vòng lặp khoảng 100, chỉ có duy nhất một mẫu có

trọng số, tất cả các mẫu còn lại trọng số hầu như không có. Điều này cho thấy phương

sai của các trọng số tăng dần theo các bước thực hiện của thuật toán.

Trên lý thuyết, hiện tượng này có thể được chứng minh thông qua bổ đề sau

Bổ đề 2.1 Sự thoái hóa của các 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,

* w t

* tw − 1

,

(2.34)

x

x

var ( π

)

var ( π

)

t

t

t 0:

z t 1:

z , 0: 1 1: 1 −

⎡ ⎣

⎤ ⎦ ≤

⎡ ⎣

⎤ ⎦

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.

E

|

Hơn nữa, ta lại có

=

* w t

* w t

(2.35)

z t 1:

p

,

,

x

x

(

)

z 1: t

var ( π

)

var ( π

)

t 0:

z 1: t

t 0:

z 1: t

⎡ ⎣

⎤ ⎦

⎡ ⎣

⎤ ⎦

⎡ ⎢ ⎣

⎤ ⎥ ⎦

1:tz

, phương sai có điều kiện của trọng số nghĩa là, với một chuỗi quan sát cho trước

có xu hướng tăng dần.

Chứng minh

38

Ta định nghĩa một hàm mật độ hỗ trợ như sau

Luận văn tốt nghiệp

(cid:22)

,

|

,

,

,

(2.36)

x z x t

t

| x x t

| z x t

(cid:105) ( π

)

( π

) ( π

)

z t 1:

− t 0: 1

z − t 1: 1

− t 0: 1

z − t 1: 1

− t 0: 1

(2.37)

z

,

p

=

| x x t

t

| z z t

( π

)

(

)

t

1 −

1: 1t −

là hàm mật độ xác suất trong đó trạng thái và quan sát hiện tại được sinh ra, dựa vào

điều kiện về trạng thái ngay trước và các độ đo trong quá khứ. Từ (2.36) đến (2.37), ta

tz

sử dụng giả thiết rằng quan sát thật ra không được sinh ra từ hàm mật độ đề xuất

mà được sinh ra từ hàm mật độ kiểm soát quá trình quan sát của hệ. Hơn nữa, quan

tz

sát chỉ phụ thuộc vào trạng thái của hệ tại thời điểm tương ứng nên ta có

p

,

p

=

.

| z x t

| z z t

(

)

(

)

z t 1: 1 −

t 1: 1 −

t 0: 1 −

Sử dụng phương trình trong (2.16) và (2.37) ta có

,

|

,

d

* w t

(2.38)

x z x t

t

x zt

td

(cid:105) ( * w π t

)

t 0: 1 −

z t 1: 1 −

|

,

E (cid:105)( π

)

x z x , t

t

0: 1 t −

z 1: 1 t −

⎡ ⎣

⎤ ⎦ = ∫ ∫

p

t 0:

) x

( |

t 0:

(2.39)

x z 1: t

= ∫ ∫

×

|

,

x | 0: t ) ( π x z x , t

t

x z d d t

t

( z p 1: t ( z p 1: t (cid:105) ( π

)

) ) z 1: 1 t −

0: 1 t −

t

1 −

=

∗ w 1 t −

∫ ∫

p

) ,

( x x | t t x x |

z

(2.40)

( p z x | t z z | t

t

)

t

0: t

1: 1 t −

1 −

,

,

×

( x z x | t

t

t

(cid:105) ( π

) p ( ) π ) x z d d t

z 1: 1 t −

0: 1 t −

p

p

(

)

(2.41)

z x | t

t

x x | t

x z d d t

t

(

)

∗ tw −= 1

t − 1

∫ ∫

=

p

,

|

=

(2.42)

x z x t

t

x z d d t

t

(

)

t

∗ w t 1 −

1 −

∗ − w 1t

∫ ∫

X Y |

X

|

Y

Cho một biến ngẫu nhiên X , ta có

var

X

var

E

E

var

=

+

(

)

(

)

⎡ ⎣

⎤ ⎦

⎡ ⎣

⎤ ⎦

(2.43)

Dùng (2.42) ta có

=

∗ w t

∗ tw 1 −

(2.44)

x

x

,

,

|

,

x z x , t t

var ( π

)

var ( π

)

)

E (cid:105)( π

⎡ ⎣

⎤ ⎦

⎡ ⎣

⎤ ⎦

t 0: 1 −

z t 1: 1 −

t 0: 1 −

z t 1: 1 −

t 0: 1 −

z t 1: 1 −

⎡ ⎢ ⎣

⎤ ⎥ ⎦

39

Sử dụng tiếp (2.43), suy ra

Luận văn tốt nghiệp

E

=

w∗ t

∗ w t

∗ w 1 t −

|

|

,

x

x

, x z x t t

var ( π

)

var ( π

var (cid:105)( π

)

)

⎡ ⎣

⎤ ⎦

⎡ ⎣

⎤ ⎦

⎡ ⎣

⎤ ⎦

t

t

0: t

z 1: t

| z 0: 1 1: 1 −

0: 1 t −

z 1: 1 t −

⎡ ⎢ ⎣

⎤ ⎥ ⎦

∗ w t

|

(2.45)

x

⎡ ⎣

⎤ ⎦

)

var ( π

0: t

z 1: t

t 0:

Như vậy, Bổ đề 2.1 đã được chứng minh. Hơn nữa

|

(2.46)

x

|

d

x

1

=

=

( π

)

z t 1:

t 0:

z t 1:

t 0:

* ⎡ E w ⎣ t

⎤ ⎦

x x

| |

( p ( π

) )

t 0:

z 1: t z t 1:

E

var

|

var

=

w∗ t

∗ tw

Áp dụng (2.43), suy ra . Như vậy, đối với một chuỗi độ đo

z 1: t

⎡ ⎣

⎤ ⎦

⎡ ⎣

⎤ ⎦

cho trước, phương sai có điều kiện của các trọng số có xu hướng tăng theo thời gian,

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 đề quan tâm hàng đầu của chúng ta là làm sao giảm bớt ảnh hưởng

của hiện tượng này.

gây ra sự thoái hóa của ước lượng (ĐPCM).

2.5.2. Vấn đề chọn hàm mật độ đề xuất

Như đã nói trong các phần trước, sự hợp lý của phương pháp xấp xỉ tích phân Monte

Carlo đặt nền tảng trên phát biểu của luật mạnh số lớn. Để thuật toán hội tụ, chúng ta

cần phải có một số lượng mẫu rất lớn

trong khi chỉ có thể xử lý một lượng mẫu

N → ∞

hữu hạn.

Chúng ta đều biết các mẫu trong thuật toán SIS không thực sự được sinh ra bởi mật

độ xác suất

mà là từ hàm mật độ đề xuất. Một cách trực quan, ta nhận thấy vị

p x z) ( |

trí của các mẫu được sinh ra có ảnh hưởng rất lớn đến kết quả ước lượng, hay nói cách

khác, mật độ đề xuất càng “tốt” chừng nào thì kết quả ước lượng càng “tốt” chừng ấy.

Bổ đề 2 Mật độ đề xuất tối ưu

( ) i tw

,

Hàm mật độ đề xuất làm cực tiểu hóa phương sai

z

⎡ ⎣

⎤ ⎦

t

( ) i x x | t t 1 −

var ⎛ π ⎜ ⎝

⎞ ⎟ ⎠

40

Luận văn tốt nghiệp

(2.47)

,

z

p

π

=

opt

x x | t

t

x x | t

t

( ) i t 1 −

( ) i z1 , t −

)

)

(

(

Chứng minh

Ta có

x

|

( ) i t

( ) i t

( ) i t − 1

)

)

(2.48)

( ) i w t

( ) i w t − 1

p p =

x

( x

z

|

,

( π

opt

( ) i t

t

( ) i t − 1

x )

| z x t (

x

,

( ) i t

p

| z x t

( ) i t − 1

(2.49)

( ) i w t − 1

=

x

x

z

|

,

( ) i t

t

( ) i t − 1

) )

( (

(2.50)

=

( ) i w p t

p

z x | t

( ) i t −

)1

(

( )i

tw độc lập với giá trị của mẫu được sinh ra của trạng thái hiện

0

.

Như vậy, trọng số

=

( ) i tw

,

tại, nghĩa là

z

⎡ ⎣

⎤ ⎦

t

( ) i x x | t t 1 −

var ⎛ π ⎜ ⎝

⎞ ⎟ ⎠

Có hai vấn đề đối với cách tiếp cận sử dụng hàm mật độ đề xuất này. Một là, nó đòi

hỏi phải có khả năng tạo mẫu ngẫu nhiên từ hàm mật độ

, hàm mật độ

p

x x | t

zt

( ) ,i 1 t −

)

(

( )i

này có thể là không chuẩn. Hai là, việc tính

tw trong (2.50) đòi hỏi phải thực hiện một

phép tính tích phân

(2.51)

p

p

p

x

x

x

|

z x | t

z x | t

( ) i t

( ) i t

t

) ( ) i d− 1 t

(

(

(

) ( ) i − = ∫ 1 t

) mà có thể cũng trở nên rất phức tạp vì không thể giải bằng các biểu thức giải tích

thông thường.

Tuy nhiên, có cũng có hai trường hợp trong đó ta có thể sử dụng được

( ) optπ i .

Trường hợp đầu tiên là đối với bài toán có không gian trạng thái

rời rạc, hữu hạn.

tx

Khi đó, tích phân trong (2.51) trở thành tổng hữu hạn cũng như việc phát sinh mẫu từ

41

Luận văn tốt nghiệp

là có thể thực hiện được. Trường hợp thứ hai, tương tự như mô hình hệ

p

zt

x x | t

( ) ,i t 1 −

)

( thống của lọc Kalman, là bài toán trong đó nhiễu của hệ thống có dạng Gauss và quan

sát có được từ hệ thống có dạng tuyến tính. Với trường hợp này, (2.51) cũng có thể tính

được vì cả hai biểu thức trong tích phân đều có dạng Gauss. Hơn nữa, vì quan sát có

dạng tuyến tính nên

cũng có dạng tuyến tính và có thể phát sinh mẫu từ

p

x x | t

zt

( ) ,i t 1 −

)

(

hàm này tương đối đơn giản.

Việc sử dụng hàm mật độ đề xuất nào đóng vai trò rất quan trọng, quyết định đến

hiệu suất của hệ thống. Vì vậy có rất nhiều nghiên cứu quan tâm đến vấn đề cải tiến

hàm mật độ đề xuất. Những cải tiến gần đây bao gồm các bộ lọc như lọc Particle hỗ

trợ (Auxiliary Particle Filter), lọc Unscented Particle (Unscented Particle Filter),…

Trong thực tế, vì nhiều vấn đề về cài đặt và hiệu suất, hàm mật độ đề xuất thường

(2.52)

,

z

p

=

x x | t

t

x x | t

( ) i t 1 −

( ) i t 1 −

)

)

được chọn trong các ứng dụng là ( π

(

thuật toán. Giả sử trong một hệ

là nhiễu, để phát sinh ngẫu

u , với

x

x

f

=

+

tu

t

t

t

(

Bằng cách này, chúng ta có thể dễ dàng phát sinh các mẫu trong quá trình thực hiện )1

t

nhiên một mẫu mới, ta chỉ đơn giản là phát sinh một mẫu khác từ phân phối của nhiễu

. Hơn nữa, bằng cách sử dụng hàm mật độ đề xuất như trên, biểu thức tính

( )i tw

( p u

)t

trong (2.30) có thể được rút gọn thành

(2.53)

( ) i z xt | t

( ) i w t

( ) i w p−= 1 t

)

( Tuy nhiên, một vấn đề cần chú ý khi sử dụng hàm này là nó có thể làm cho bộ lọc

hoạt động kém hiệu quả. Hình 6 cho ta thấy một cách trực quan trường hợp này. Ở đây,

hàm likelihood

có dạng tập trung tại một điểm, trong khi hàm mật độ đề xuất

)

( p z x |t

t

42

Luận văn tốt nghiệp

lại có mật độ trải đều khắp trên miền xác định. Như vậy, sẽ có rất nhiều mẫu

( )i tx sẽ có

trọng số rất nhỏ, không đáng kể và kết quả là làm giảm kết quả ước lượng.

Hình 6 Ví dụ về trường hợp dẫn đến sai lầm khi chọn hàm mật độ đề xuất tối

ưu

Như đã được chỉ ra trong [Okuma2004], một hàm mật độ đề xuất tốt thường là hàm

có khả năng sử dụng những thông tin có từ những độ đo về hệ thồng ở những thời điểm

gần nhất. Đây chính là nguyên nhân làm cho hàm

kém hiệu

,

z

p

=

x x | t

t

x x | t

( ) i 1 t −

( ) i 1 t −

)

)

( π

(

quả trong một số trường hợp.

2.5.3. Tái chọn mẫu

Trong phần này trình bày về phương pháp thứ hai để giảm bớt tác dụng của hiện tượng

thoái hóa mẫu, đó là phương pháp tái chọn mẫu (Resampling). Trong những phần trên,

ta đã biết

N

i

( ) (

) x t

N

(cid:109) ( p

)

x z | t 1: t

i

1 =

= ∑

(cid:105)( ) i w δ t x

t

. Sau một vài lần thực hiện,

chính là một ước lượng rời rạc của hàm mật độ

( p x z |t

)1:

t

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 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 độ posterior

mà chỉ có những mẫu tương đối gần

( p x z |t

)1:

t

43

Luận văn tốt nghiệp

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.

I

f

(

)

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 đã có sẵn để xấp xỉ tốt hơn hàm mật độ này. Gọi (cid:105)( )i

tx là vector trạng thái trước khi tái chọn mẫu và

( )i tx 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ạ

N

N

i

x

(cid:105)( ) (cid:105) ( ) i , x w t t

,

(2.54)

( ) i t

{

}

1 N

i

1 =

⎧ ⎨ ⎩

⎫ ⎬ ⎭ i

1 =

sao cho

j

j

)

)

Pr

x

(cid:105)( x t

(cid:105)( w t

=

=

( ) i t

⎛ ⎜ ⎝

⎞ ⎟ ⎠

Bằng cách sắp xếp lại các 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 mẫu đều như nhau và bằng

1 N ) và giúp cho thuật toán SIS tập trung vào những vị trí “hứa hẹn” nhất trong không

gian trạng thái tại đó có đối tượng cần quan tâm.

Cho rằng ta đã có một ánh xạ như trong (2.54), vấn đề đặt ra là làm sao biết được

mức độ thoái hóa của các trọng số, hay nói cách khác, khi nào ta cần phải mẫu. Trong

[Kong1994], Kong đã đề xuất một độ đo mới để tính sự thoái hóa, gọi là kích thước

mẫu hiệu dụng (Effective Sample Size), ký hiệu

. Độ đo này cho phép ta biết được

effN

số mẫu trong thuật toán có ảnh hường chủ yếu đến kết quả ước lượng và từ đó, ta biết

được khi nào cần phải lại các mẫu trong thuật toán của mình.

2.5.3.1. Kích thước mẫu hiệu dụng

Phần này trình bày về cách tính kích thước mẫu hiệu dụng và cách sử dụng nó trong

thuật toán SIS. Ta gọi

f

|

N

var π

z t 1:

(cid:22)

(2.55)

p

)

( , η π t

var

f

|

(cid:109) ( I ( I

) )

p

N

z t 1:

⎡ ⎣ ⎡ ⎣

⎤ ⎦ ⎤ ⎦

44

Luận văn tốt nghiệp

là ước lượng của tích phân

f

)

là hệ số hiệu dụng (Efficiency Ratio). Trong đó (cid:109) ( NI

f

x

p

dx , được bằng phương pháp lấy mẫu quan trọng với các mẫu được

(

)

t

x z | t

t

(

t

)1:

là ước lượng Monte Carlo của tích

sinh ra từ hàm mật độ đề xuất. Tương tự,

f

NI

(

)

phân trên, tuy nhiên, các mẫu được sinh ra từ hàm mật độ thực

.

( p x z |t

)1:

t

Nhận thấy

tăng tỉ lệ thuận với sự thoái hóa của các trọng số trong

f

|

(cid:109) ( I

)

N

var π

⎡ ⎣

z ⎤ t 1: ⎦

thuật toán SIS. Do đó,

,

pη π chính là độ đo để tính mức độ không hiệu quả của ước

t

(

)

lượng. Từ lập luận này, ta có thể dễ dàng tính được kích thước mẫu hiệu dụng bằng

công thức

pη π . ,

)

(

tN

Tuy nhiên, chúng ta không thể tính được chính xác

,

pη π dựa vào (2.55) và chỉ

t

(

)

có thể ước lượng nó thông qua bổ đề sau.

Cho một hàm

biến thiên chậm tương ứng với

, ta có

tx

( g x

Bổ đề 3 Xấp xỉ của hệ số hiệu dụng )t

g

|

|

1

+

N

z t 1:

var π

z t 1:

⎤ ⎦

⎡ ⎣

⎤ ⎦

(2.56)

⎡ var π ⎣ var

|

* w t N

p

) z t 1:

(cid:109) ( I g ⎡ ⎣

⎤ ⎦

Với kết quả này, suy ra

var

f

|

var

|

p

N

z 1: t

(2.57)

N

.

=

=

p

1

)

N ( , η π t

f

f

|

N ∗ w | t

var π

z 1: t

( I (cid:109) ( I

) )

f ⎡ ⎣ p (cid:109) ( I

var π

var π

N

N

z 1: t

z ⎤ ⎦ 1: t ) z | 1: t

⎡ ⎣

⎤ + ⎦

⎡ ⎣ ⎡ ⎣

⎤ ⎦ ⎤ ⎦

⎡ ⎣

⎤ ⎦

Vậy, kích thước mẫu hiệu dụng được cho bởi

(cid:22)

N

(2.58)

eff

var

1

z 1: t

N ∗⎡ | wπ ⎣ t

⎤ ⎦ +

i

2

Mặc khác, ta có

và (cid:105)( ) N w t

(có được từ (2.15)

|

|

1 + =

( ) w∗≈ i t

∗ w t

var π

z t 1:

z t 1:

⎡ ⎣

⎤ ⎦

∗⎡ E w ⎣ t π

⎤ ⎦

và (2.21)). Suy ra

45

Luận văn tốt nghiệp

N

(2.59)

=

=

(cid:110) N eff

2

2

N

N

(cid:105)( ) i N w t

1 (cid:105)( ) i w t

⎛ ⎜ ⎝

⎞ ⎟ ⎠

⎞ ⎟ ⎠

⎛ ⎜ ⎝

i

1 ∑ N = 1 i

1 =

Đến đây, ta đã có thể sử dụng (cid:110)

effN như một độ đo để tính mức độ thoái hóa của

các mẫu trong SIS. Rõ ràng, trong trường hợp tốt nhất, các mẫu được phân phối đều,

N=

. Trong trường hợp xấu nhất, tất cả các trọng số đều gần

1

(cid:105)( ) i tw = N , suy ra(cid:110) effN

0

bằng

, ngoại trừ một mẫu duy nhất có trọng số gần bằng 1 , khi đó

. Điều này

(cid:110) 1 effN =

hoàn toàn phù hợp với những lập luận của chúng ta về kích thước mẫu hiệu dụng.

Một khi có (cid:110)

effN , ta sử dụng độ đo này bằng cách tại mỗi thời điểm hoạt động của

thuật toán, khi có các dữ liệu về quan sát mới hiệu lực, ta tính (cid:110)

effN và so sánh nó với

N<

một ngưỡng

cho trước. Nếu

, thuật toán SIS đã bị thoái hóa ở một

threshN

(cid:110) N eff

thresh

mức tương đối và đó là dấu hiệu cho ta biết nên bắt đầu quá trình tái chọn mẫu và làm

mới lại các trọng số. Ngược lại, thuật toán SIS vẫn còn ở một mức lỗi chịu được và

không cần thiết phải tái chọn mẫu.

2.5.3.2. Thuật toán tái chọn mẫu

Trong phần trước, chúng ta đã xem xét về độ đo mức thoái hóa của một thuật toán. Độ

đo này cho ta biết các mẫu đã bị thoái hóa như thế nào thông qua số lượng các mẫu còn

. Qua đó,

đóng góp tương đối vào giá trị của hàm mật độ xác suất posterior

p x z ) ( |t

1: t

ta có thể biết được khi nào các mẫu cần phải được làm mới lại để cải thiện kết quả ước

lượng. Tiến trình làm mới này gọi là tái chọn mẫu (Resample).

Trong nhiều nghiên cứu ban đầu về các phương pháp Monte Carlo, tái chọn mẫu đã

đóng một vai trò quan trọng trong việc mô hình hóa sự biến đổi trạng thái của hệ theo

thời gian [Liu1998]. Tái chọn mẫu cũng là một trong những vấn đề được rất nhiều nhà

khoa học quan tâm trong thời gian gần đây. Có nhiều thuật toán cho phép tái chọn mẫu,

46

Luận văn tốt nghiệp

tuy nhiên thuật toán phổ biến nhất là tái chọn mẫu hệ thống (Systematic Resampling).

Thuật toán này được chọn vì nó có đơn giản, dễ cài đặt, có độ phức tạp cỡ

)O N và

(

quan trọng là nó giảm thiểu được phương sai trong xấp xỉ của tích phân Monte Carlo.

Thuật toán 2 Systematic Resampling

N

N

i

x

,

RESAMPLE

(cid:105)( ) (cid:105)( ) i x w , t t

=

( ) i t

( ) i w t

{

}

}

{

i

1 =

i

1 =

⎡ ⎢ ⎣

⎤ ⎥ ⎦

⎤ ⎥ ⎦

⎡ ⎢ ⎣ )0

i

i

=

• Khởi tạo CMF ( N= 1: • FOR o Tính ( ) c i

( c i

) (cid:105)( ) 1 w − + t

và đặt

1j = .

0,1 N

⎤⎦

i

c = . 0

=

o

(

) 1 i + − ⋅

iu

u 0

(

o WHILE j

(cid:131)

• END FOR • Sinh 0 ∼ u U ⎡⎣ N= 1: • FOR

1 N )j c> iu j= + . 1 o END WHILE (cid:105)( )j o Gán ( ) i x t =x t o Gán ( ) 1 i N= tw

• END FOR

Hình 7 Thuật toán tái chọn mẫu hệ thống

;

i

0,

= … là N ,

( ){ ic

}

Hình 7 trình bày chi tiết về thuật toán tái chọn mẫu. Trong đó

i

( ) i

c

(cid:105)( ) j w i ; t

1,

… , N

=

=

=

( )

j

1 =

)

( ( ) i CDF i CDF w = t

47

tập các giá trị của hàm tích lũy xác suất

Luận văn tốt nghiệp

( )0 c =

0,1⎡ ⎤ ⎦ ⎣

và với 0 . Thuật toán này diễn ra như sau: trong miền giá trị của hàm

( ) CDF i N

i

1 N ; sau đó, tại mỗi điểm

tích lũy xác suất , điểm cách đều nhau sẽ được chọn ngẫu nhiên với khoảng

j thỏa

j

(

)

này, ta chọn một điểm

)j tx .

min

j

=

tx bằng với mẫu cũ tại điểm (cid:4) ( ( )i

u≥ i

j

}

và gán mẫu mới cách giữa các điểm là { c

Hình 8 Ví dụ về thuật toán tái chọn mẫu với 3 mẫu

… như trong hình. Vị trí của các vạch chấm chấm

Hình 8cho ta thấy một ví dụ về thuật toán tái chọn mẫu hệ thống. Cho trước một

1,

,3

;

tập gồm 3 mẫu

x

( ) (cid:105)( ) i i t w i = , t

{

}

0,1⎡⎣ ⎤⎦

chính là vị trí của các điểm được chọn ngẫu nhiên trong miền giá trị của hàm

( ) CDF i

. Một cách trực quan, ta nhận thấy, các mẫu còn lại trong thuật toán tái chọn

mẫu chính là những mẫu mà có vạch chọn đi ngang qua nó. Trong trường hợp ví dụ

. Ngược lại, các mẫu không có vạch này, các mẫu có vạch chọn ngang qua là

(cid:105)( ) (cid:105)( ) 1 3 x x , t t

{

}

)

nào đi qua nó chính là những mẫu không được chọn. Trong ví dụ này, mẫu không có

. Như vậy, sau khi tái chọn mẫu, tập mẫu của chúng ta

{ vạch chọn nào đi qua nó là (cid:105)( tx

}2

3

3

1 t

t

t

.

x

,

{ sẽ là (cid:105)( ) (cid:105)( ) (cid:105)( ) x x ,

}

48

Luận văn tốt nghiệp

Sự đúng đắn của thuật toán tái chọn mẫu hệ thống được cho bởi định đề sau

Định đề 2.1 Sự giảm phương sai của thuật toán tái chọn mẫu hệ thống.

(cid:105)( ) i

Thuật toán tái chọn mẫu hệ thống tạo ra một tập hợp các lần chọn

( ) iN i ;

N

1,

( ) (cid:105)( ) i i E N w |

N w

= .

{

} = … ,

⎡ ⎢ ⎣

⎤ ⎥ ⎦

( ) i

( ) i

của các mẫu thỏa mãn và

var

( ) (cid:105)( ) i i w |

N

N = ∆

N − ∆

)

( 1

⎤ ⎥ ⎦

⎡ ⎢ ⎣

(cid:105)( ) i

với mọi i trong đó

( ) i ∆ =

(cid:105)( )i w N

⎢ ⎢ ⎢ ⎣

⎥ ⎥ ⎥ ⎦

N N w (2.60)

Như vậy thuật toán tái chọn mẫu đã được chứng minh là có khả năng làm giảm bớt

hiện tượng thoái hóa của các mẫu trong thuật toán SIS. Tuy nhiên, trong thực tế, chúng

• Một là, việc áp dụng thuật toán tái chọn mẫu làm giảm khả năng mở rộng

ta gặp phải hai vấn đề khi sử dụng thuật toán này.

( )i

cho tính toán song song của thuật toán vì nó đòi hỏi phải tính tổng tất cả các

tw trước khi chuẩn hóa.

• Hai là, sau khi tái chọn mẫu, không có gì để đảm bảo tính độc lập của các

trọng số

mẫu trong khi điều này là một trong những ràng buộc để thuật toán hội tụ.

Bên cạnh đó, còn một vấn đề khác không kém phần quan trọng, đó là sự kiệt quệ

mẫu (Sample Impoverishment). Hiện tượng này xảy ra khi có một mẫu có trọng số rất

lớn, được chọn rất nhiều lần qua các lần tái chọn mẫu. Nếu ta nghĩ về các mẫu như các

giả thuyết (giả thiết về vị trí, màu sắc, vận tốc, hình dáng,…), thuật toán SIS và các

thuật toán lọc Particle có thể được xem như là một tổng hợp của một tập các giả thuyết

sau khi chúng được kiểm chứng qua các độ đo và quan sát từ hệ. Như vậy, khi một

mẫu nào đó được chọn quá nhiều lần, số lượng các giả thuyết sẽ bị giảm và làm giảm

tính đa dạng giả thuyết của thuật toán. Nghĩa là, nó có khả năng dẫn thuật toán theo

một “giả thuyết lối mòn” nào đó.

49

Luận văn tốt nghiệp

Trong thực tế, mặc dù gặp phải các vấn đề kể trên nhưng thuật toán tái chọn mẫu

vẫn được sử dụng rất phổ biến và là một trong những thành phần chính trong hầu hết

các cài đặt của SIS vì nó là phương pháp hiệu quả nhất để làm giảm ảnh hưởng của

hiện tượng thoái hóa không tránh khỏi trong các thuật toán này.

2.6. Thuật toán lọc Particle

Các phần trên đã trình bày rất nhiều về cơ sở toán học của lọc Particle, phương pháp

Monte Carlo và những vấn đề lý thuyết liên quan đến thuật toán SIS và đôi khi chúng

ta đã nhắc đến lọc Particle. Vậy, thế nào là lọc Particle? Với sự ra đời của khái niệm

kích thước mẫu hiệu dụng và thuật toán tái chọn mẫu, mô hình thuật toán SIS kết hợp

với tái chọn mẫu đã được sử dụng rất nhiều và rất phổ biến qua các năm gần đây và

được biết với nhiều tên khác nhau lọc Bootstrap (Bootstrap Filters), thuật toán

Condensation, lọc Monte Carlo (Monte Carlo Filters) và lọc Particle (Particle Filters).

Những vấn đề lý thuyết ta đã trình bày ở trên về thuật toán SIS cũng chính là

những gì liên quan đến lọc Particle, dưới một tên khác. Thuật toán lọc Particle chi tiết

được trình bày như trong Hình 9. Như ta có thể thấy, mô hình thuật toán lọc Particle

chính là sự kết hợp giữa thuật toán SIS và thuật toán tái chọn mẫu.

50

Luận văn tốt nghiệp

Thuật toán 3 Particle Filter

N

N

x

z

,

PF

,

=

( ) i t

( ) i w t

t

( ) ( ) i i w− , 1 1 t t −

{

}

i

i

1 =

1 =

⎡ ⎢ ⎣

⎤ ⎥ ⎦

⎡ ⎢ ⎣ N= 1:

⎤ } ⎥ ⎦ i • FOR

{ x

i

x x |

( ) ,i t 1 −

t

( tπ

) tz

o Sinh ngẫu nhiên ( ) x o Tính ( )i

x

( ) i t

( ) i t − 1

)

tw theo công thức ( ( ) i t

(

=

×

( ) i w t

( ) i w t − 1

p p |

x

x

z

) |

( ) i t

t

( ) i t − 1

,

x )

i

• END FOR N= 1: • FOR

i

=

o Tính các trọng số chuẩn hóa (cid:105)( ) w t

( ) i w t N

( ) i w t

j

1 =

• END FOR • Tính kích thước mẫu hiệu dụng theo công thức

N

=

=

(cid:110) N eff

2

2

N

N

(cid:105)( ) i N w t

⎛ ⎜ ⎝

⎞ ⎟ ⎠

1 (cid:105)( ) i ∑ ⎞ ⎛ w ⎟ ⎜ t ⎠ ⎝

i

1 ∑ N = i 1

1 =

| z x t ( π

• IF (cid:110)

eff

thresh

N

N

i

N N<

x

,

RESAMPLE

(cid:105)( ) (cid:105)( ) i x w , t t

o

( ) i t

( ) i w t

{

}

i

1 =

=

{

}

i

1 =

⎡ ⎢ ⎣

⎤ ⎥ ⎦

N

N

i

,

(cid:4) ( ) (cid:105) ( ) i x w , t t

=

o

( ) i t

( ) i w t

}

i

1 =

{

}

i

1 =

END IF

• ELSE { x

Hình 9 Thuật toán Particle Filter

51

Luận văn tốt nghiệp

2.7. Giả lập thuật toán lọc Particle

Trong phần này trình bày về một ví dụ trực quan của thuật toán lọc Particle. Tương tự

như trong phần 2.4, đây là những kết quả thu được từ việc áp dụng lọc Particle cho dữ

liệu ngẫu nhiên sinh bởi hệ cho bởi phương trình (2.31) và (2.32). Trong đó, phương

trình động của hệ theo thời gian cũng được cho bởi phương trình (2.33). Chương trình

giả lập hoạt động với 100 mẫu và chạy trong 200 vòng lặp.

Với cùng một hệ như trong phần 2.4, ta có thể thuật toán lọc Particle hoạt động tốt

hơn nhiều so với thuật toán SIS thuần túy. Hình 11 cho thấy kết quả ước lượng đã được

cải thiện nhiều. Nếu như trong thuật toán SIS vẫn còn rất nhiều thời điểm, ước lượng

hầu như sai khác hoàn toàn so với giá trị thực thì thuật toán Particle chỉ còn rất ít. Điều

này có thể lý giải được sự hiệu quả của thuật toán tái chọn mẫu và khử thoái hóa mẫu.

Tương tự trong Hình 5, Hình 12 cũng cho thấy giá trị của các trọng số của các mẫu

theo thời gian. Sự “hỗn loạn” trong hình cho thấy các mẫu ngẫu nhiên sau khi được tái

chọn đều góp phần quyết định giá trị của hàm mật độ xác suất đích. Hiện tượng thoái

hóa mẫu cũng đã được giảm bớt.

Bảng 1, Bảng 2, Bảng 3, Bảng 4 cho ta thấy những đánh giá định lượng về khả

năng của hai thuật toán. Sự so sánh được thực hiện bằng cách tính trung bình lỗi bình

phương (Mean Square Error - MSE) của từng thuật toán qua các trường hợp. Đánh giá

được thực hiện với 4 trường hợp của số lượng mẫu là 50, 100, 150 và 200 mẫu. Mỗi

thuật toán được thực hiện 5 lần với số bước lặp là 50, 100, 150, 200 và 250 bước. Các

kết quả cho thấy ước lượng bằng lọc Particle có mức lỗi nhỏ hơn nhiều so với SIS

trong tất cả các trường hợp.

52

Luận văn tốt nghiệp

Hình 10 Dữ liệu giả lập thuật toán lọc Particle

Hình 11 Kết quả lọc bằng Particle Filter

53

Luận văn tốt nghiệp

Hình 12 Hiện tượng thoái hóa mẫu đã được loại bỏ

Bảng 1 Kết quả so sánh Mean Square Error của SIS và thuật toán lọc Particle

(N = 50 mẫu)

Số lần thực hiện SIS Particle

105.2278

9.2173

50

95.6232

31.1151

100

105.33

22.317

150

119.248

37.1625

200

101.6698

13.4901

250

54

Luận văn tốt nghiệp

Bảng 2 Kết quả so sánh Mean Square Error của SIS và thuật toán lọc Particle

(N = 100 mẫu)

Số lần thực hiện SIS Particle

59.133

13.9137

50

101.3038

21.6555

100

98.0985

21.7638

150

100.5438

35.0454

200

146.4217

22.4156

250

Bảng 3 Kết quả so sánh Mean Square Error của SIS và thuật toán lọc Particle

(N = 150 mẫu)

Số lần thực hiện SIS Particle

59.6064

17.2199

50

100.1757

24.5694

100

88.9783

18.0681

150

164.8156

16.2254

200

134.503

22.6628

250

Bảng 4 Kết quả so sánh Mean Square Error của SIS và thuật toán lọc Particle

(N = 200 mẫu)

Số lần thực hiện SIS Particle

72.5385

13.7844

50

88.499

15.3092

100

125.1595

21.7936

150

129.8847

28.7288

200

137.5032

29.7926

250

55

Luận văn tốt nghiệp

2.8. Nhận xét

Chương này đã trình bày rất nhiều những vấn đề cơ sở về lọc Particle và những đánh

giá về nó. Trong đó, những khái niệm chính và quan trọng nhất của lọc Particle đã

được trình bày là

• Phương pháp lấy mẫu quan trọng tuần tự.

• Tầm quan trọng của việc lựa chọn hàm mật độ đề xuất.

• Thuật toán tái chọn mẫu.

Cả 3 khái niệm trên chính là những yếu tố chính góp phần làm nên một bộ lọc

Particle hoàn chỉnh. Trong đó, quan trọng nhất là việc lựa chọn hàm mật độ đề xuất và

thuật toán tái chọn mẫu. Hiện có rất nhiều phiên bản của lọc Particle như lọc Particle

có hỗ trợ (Auxiliary Sampling Importance Resampling - ASIR), Regularized Partilce

Filter (RPF),… được phát triển và tất cả đều tập trung vào hai vấn đề kể trên.

Thuật toán lọc Particle và những phương pháp mô phỏng Monte Carlo là một trong

những thuật toán đang được quan tâm rất nhiều trong thời gian gần đây. Nó được phổ

biến không chỉ bởi vì sự đơn giản trong ý tưởng và cài đặt mà còn bởi vì tính hiệu quả

của nó khi phải mô hình hóa những hệ thống tín hiệu phi tuyến, phi Gauss phức tạp,

biến đổi theo thời gian.

Ngoài ra, mô hình mở trong thuật toán lọc Particle cũng là yếu tố giúp nó trở nên

rất phổ biến. Có nhiều nghiên cứu tập trung vào cải thiện kết quả của lọc Particle tổng

quát. Trong khi đó, lại có nhiều nghiên cứu nhằm ứng dụng lọc Particle vào các ứng

dụng cụ thể trong xử lý tín hiệu số, theo dõi đối tượng, thị giác máy tính và mạng

neuron.

Lọc Particle cũng gặp phải một số trở ngại trong đó quan trọng nhất là chi phí tính

toán của nó. Nhằm đảm bảo mô phỏng được tốt hệ thống đích, ta cần sinh ra rất nhiều

mẫu tương ứng và đánh giá lại mức độ hợp lý của các mẫu này. Việc này thực sự là

56

Luận văn tốt nghiệp

một vấn đề không nhỏ cho các hệ thống áp dụng lọc Particle, nhất là trong lĩnh vực thị

giác máy tính và theo dõi đối tượng thông qua video. Tuy nhiên, vấn đề này có thể

được giải quyết bằng cách triển khai lọc Particle trên các hệ thống tính toán song song,

đa xử lý.

Như vậy, tùy vào bài toán cụ thể, chúng ta phải cân nhắc nên chọn lọc Particle nào

và ứng dụng nó ra sao cho phù hợp với ngữ cảnh của bài toán để đạt được hiệu suất cao

nhất. Trong chương sau, chúng ta sẽ cùng xem xét mở rộng của lọc Particle cũng như

ứng dụng của nó trong một bài toán thực tế đang được rất nhiều người quan tâm: theo

dõi đối tượng trên video trong giao thông đô thị.

57

Luận văn tốt nghiệp

3. Mở rộng của lọc Particle và ứng dụng trong theo

vết đối tượng dựa vào video

Chương trước đã trình bày về lọc Partilce và các vấn đề liên quan đến nó. Qua đó,

chúng ta thấy được lý do vì sao lọc Particle trở thành một công cụ mạnh mẽ và phổ

biến trong các bài toán về ước lượng phi tuyến và phi Gauss. Chương này sẽ tập trung

vào một mở rộng của lọc Particle đó là cách dùng lọc Particle trong các ứng dụng ước

lượng nhiều đối tượng, trạng thái đồng thời nhằm tạo ra cơ sở lý thuyết cho bài toán

thực tế mà đang được quan tâm: bài toán theo dõi nhiều phương tiện giao thông di

chuyển trên đường phố dựa vào thông tin thị giác có được từ camera.

3.1. Mở rộng của lọc Particle

Những năm gần đây, lọc Particle đã trở thành một trong những công cụ không thể thiếu

trong các ứng dụng theo dõi và ước lượng, đặc biệt là trong bài toán theo dõi đối tượng

bằng thị giác máy tính. Nhiều bài báo cáo đã tập trung vào hai vấn đề đã nêu ra trong

chương trước, đó là

• Cách lựa chọn hàm mật độ đề xuất.

• Cải tiến thuật toán tái chọn mẫu.

Bên cạnh những vấn đề kể trên, bài toán được quan tâm trong thời gian gần đây

chính là theo dõi, ước lượng đa đối tượng bằng lọc Particle. Vấn đề này thường phát

sinh trong các ứng dụng theo dõi bằng thị giác máy tính và các hệ thống ước lượng,

dẫn đường trong quân sự và robot. Trong đó, tồn tại một môi trường có rất nhiều đối

tượng và nhiều nguồn quan sát (độ đo tại một điểm thường xuất phát từ nhiều đối

tượng. VD: hai đối tượng gần nhau, một cách tương đối, vùng không gian giữa chúng

sẽ có màu sắc và hình dạng chung của hai đối tượng). Chúng tương tác với nhau và tạo

thành một không gian hỗn loạn (clutter). Đây chính là nguồn gốc tạo ra rất nhiều lỗi

58

Luận văn tốt nghiệp

trong các ứng dụng của lọc Particle. Bên cạnh đó, các bài toán theo dõi bằng thị giác

cũng đòi hỏi hệ thống phải có khả năng phải nắm bắt được tương đối đầy đủ số lượng

các đối tượng trong một khung cảnh và sự tương tác giữa chúng để đảm bảo tính đúng

đắn cho các quyết định của hệ thống dựa trên những ước lượng trên. Ngoài ra, sẽ là

không hiệu quả nếu ta sử dụng từng bộ lọc cho từng đối tượng riêng lẻ mà không tận

dụng sự tương tác vốn có giữa các đối tượng thực tế. Vì vậy, bài toán lọc đa đối tượng

đồng thời trong một môi trường có nhiều nguồn quan sát trở thành một vấn đề quan

trọng trong các ứng dụng theo dõi đối tượng hiện nay.

Đã có rất nhiều thuật toán theo dõi đa đối tượng đã được đề xuất. Hầu hết tất cả

những thuật toán này đều thuộc về một trong hai nhóm sau

• Nhóm đầu tiên bao gồm những thuật toán được xây dựng trên cơ sở mô hình

hóa sự tương tác của nhiều bộ lọc riêng rẽ. Trong đó, mỗi bộ lọc ứng với

một đối tượng cần theo dõi, ước lượng. Chúng tương tác với nhau thông qua

một mô hình xác suất mô phỏng lại sự tương tác của các đối tượng trong

thực tế của hệ thống.

• Nhóm thứ hai bao gồm những thuật toán được xây dựng trên cơ sở mở rộng

tx

không chỉ bao gồm không gian trạng thái. Trong đó, mỗi vector trạng thái

những đặc trưng của một đối tượng là sự tổng hợp đặc trưng của tất cả các

đối tượng. Hệ thống quản lý các đối tượng bằng cách thay đổi kích thước, số

chiều của vector đặc trưng; hoặc chỉ đơn giản là thay chỉ số đối tượng của

một thành phần nào đó trong vector đặc trưng.

Luận văn này chọn hướng mở rộng thứ hai cho bài toán theo dõi đa đối tượng và sử

dụng ý tưởng của hai thuật toán theo dõi đa đối tượng rất thành công hiện nay là Multi-

modal Particle Filter (MPF) và Boosted Particle Filter (BPF) để áp dụng vào bài toán

theo dõi giao thông.

59

Luận văn tốt nghiệp

Bên cạnh đó, một cải tiến khác của lọc Paricle sẽ được trình bày như là một nghiên

cứu riêng rẽ nhằm tăng cường khả năng của bộ lọc này đó chính là thuật toán kết hợp

Mean Shift và lọc Particle. Đây cũng là một trong những nỗ lực nhằm đưa ra hàm mật

độ đề xuất tốt hơn.

Phần tiếp theo sẽ trình bày sơ lược về MPF, một số vấn đề lý thuyết liên quan đến

nó và sau đó là thuật toán theo dõi có hỗ trợ của phát hiện đối tượng (Object Detection

Aided Particle Filter – ODAPF), một thuật toán được tổng quát hóa dựa trên ý tưởng

của thuật toán Boosted Particle Filter. Cuối cùng, thuật toán kết hợp giữa Mean Shift

và Particle sẽ được trình bày.

3.1.1. Multi-modal Particle Filter

3.1.1.1. Giới thiệu

Một trong những điểm yếu của lọc Particle và những phưong pháp Monte Carlo nói

chung là chúng rất yếu trong việc duy trì tính đa mô hình (Multi-modality) trong phân

phối xác suất đích. Trong một môi trường hỗn loạn, độ đo tại một điểm thường xuất

phát từ nhiều nguồn khác nhau, phân phối xác suất đích rõ ràng tồn tại sự đóng góp của

nhiều mô hình khác nhau. Trong đó, mô hình được hiểu theo nghĩa mô hình biến đổi

của từng đối tượng. Ví dụ: trong một cảnh video có 2 đối tượng cạnh nhau hoặc chồng

lên nhau, tại vị trí cục bộ, giữa hai đối tượng, ta sẽ thu được một ảnh trong đó là sự kết

hợp của cả hai đối tượng; lúc đó độ đo về màu sắc, đường biên,… tại vị trí này cũng là

sự kết hợp của cả 2 đối tượng.

Thuật toán MPF là một phương pháp dùng để ước lượng và giải quyết sự nhập

nhằng này. Nó hoạt động bằng cách giả định mô hình xác suất đích là sự kết hợp

(mixture) của nhiều phân phối xác suất thành phần. Trong đó, mỗi xác suất thành phần

chính là phân phối đích của từng đối tượng khác nhau và chúng tương tác với nhau

thông qua trọng số kết hợp (mixture weight).

60

Luận văn tốt nghiệp

3.1.1.2. Cơ sở toán học

Để mô hình hóa tính đa mô hình của phân phối đích, MPF xem phân phối đích là sự

M

p

kết hợp của nhiều phân phối thành phần

t

(

)

(

(3.1)

x z ) |

| x z t t 1:

t 1:

= ∑

m

pπ m t m , 1 =

,m tπ là trọng số kết hợp của

t

t

với M là số thành phần, hay nói các khác là số đối tượng;

m

M

phân phối thành phần thứ tại thời điểm . Tại bất kỳ thời điểm nào, các trọng số

1

=

m t ,

m

π 1 =

kết hợp thỏa mãn điều kiện . Và không cần bất cứ ràng buộc nào khác

Cũng như mọi thuật toán dựa trên phương pháp lọc Bayes, thuật toán MPF cũng

• Dự đoán

trải qua hai bước

p

p

p

(3.2)

x

|

x z | t

x x | t

xt

(

)

(

)

(

t

t

z t 1: 1

t 1: 1 −

1 −

1 −

) d−

= ∫

• Cập nhật

t

t 1: 1 −

p

=

(3.3)

| x z t t 1:

(

)

) p

) xd

p

p (

( | z x t ) | z x t

t

( | x z t | x z t

t

p (

)

t 1: 1 −

t

, ta đã biết hàm mật độ xác suất kết hợp ở thời Giả sử tại thời điểm

x

p

|

(

)

t

1 −

z 1: 1 t −

1t −

điểm trước đó. Như vậy, thay vào (3.2), ta được phương trình của hàm mật độ xác

M

|

suất dự đoán kết hợp mới như sau

x

p

p

p

=

x z | t

x x | t

td x

(

)

(

)

(

)

m t

t

t

t 1: 1 −

, 1 −

1 −

1 −

z t 1: 1 −

π m 1 = M

=

p m

(3.4)

x z | t

(

)

m t

t 1: 1 −

, 1 −

m

π 1 =

p

Trong đó là mật độ xác suất dự đoán

x

|

p m

x z | t

x x | t

p m

t

(

)

(

)

(

t

z t 1: 1

t 1: 1 −

1 −

t 0: 1 −

) xd−

= ∫

m

. Như vậy, mật độ xác suất dự đoán kết hợp tại mỗi thời điểm có của thành phần thứ

thể có được bằng cách đơn giản là tính mật độ xác suất dự đoán cho từng thành phần

61

Luận văn tốt nghiệp

một cách độc lập và kết hợp chúng lại thông qua trọng số kết hợp tại thời điểm trước

đó.

M

p m

t

Tương tự, để có được mật độ xác suất đích, ta thay (3.4) vào (3.3)

x z | t

m t

, 1 −

1: 1 t −

p

=

(

)

x z | t 1: t

M

p

) x d

p (

z x | t )

( z x | t

t

) p n

( x z | t

t

(

)

, 1 −

1: 1 t −

n

π 1 m = π n t 1 =

M

p

d

t

p m

t

)

m t

, 1 −

1: 1 t −

=

m

1 =

p

(3.5)

x d

z x | t (

)

) z x | t

t

( p n

x z | t

t

x z | t (

x )

, 1 −

1: 1 t −

n

π n t 1 =

π M ∑

( ∫

∑ ⎡ ⎢ ⎢ ⎣

⎤ ⎥ ⎥ ⎦

t

p m

1: 1 t −

×

p

) x d

p (

( z x | t ) z x | t

t

) p m

( x z | t x z | t

t

(

)

1: 1 t −

⎡ ⎢ ⎢ ⎣

⎤ ⎥ ⎥ ⎦

Ta nhận thấy biểu thức sau dấu × trong dòng thứ 3 chính là phân phối posterior

t

p m

1: 1 t −

=

của thành phần thứ m

p m

(3.6)

x z | t 1: t

(

)

) xd

p

p (

( z x | t ) z x | t

t

) p m

( x z | t x z | t

t

(

)

1: 1 t −

tx

, do đó, được sử dụng làm trọng số Biểu thức trước dấu × độc lập với trạng thái

kết hợp mới

t

t

)

m t

, 1 −

1: 1 t −

, m t

)

p p m = π p d x

) z x | t

t

( p n

t

, 1 −

1: 1 t −

)

( ∫ ( p n

x z | t x z | t ( x d ) (3.7) p m =

1: 1 t − z z | t

)

, 1 −

1: 1 t −

n

, 1 m t − π n t 1 =

z x | t ( z z | t ( π M ∑ π n t 1 n = π M ∑

Như vậy, mật độ xác suất kết hợp lại trở thành kết hợp của các mật độ xác suất

thành phần. Mật độ xác suất kết hợp sẽ được duy trì, miễn là tại mỗi bước, mỗi mật độ

thành phần được cập nhật và các trọng số kết hợp đều được tính lại theo (3.7).

62

Luận văn tốt nghiệp

3.1.1.3. Xấp xỉ bằng Monte Carlo

Trong phần trước đã trình bày thuật toán MPF trong trường hợp lý tưởng. Trong đó chỉ

có một số trường hợp ta có thể giải được (tương ứng với các trường hợp trong lọc

Kalman và lọc HMM). Để bài toán có thể giải được trong trường hợp tổng quát, ta phải

đưa các phương trình trong phần 3.1.1.2 về dạng xấp xỉ Monte Carlo của chúng.

N M ,

,

,

,

,

=

P t

X W C t t

t

t

{

}

N

là một tập biểu diễn cho phân phối kết hợp trong Gọi

M là số lượng các phân phối thành

phương trình (3.1). Trong đó, là số lượng mẫu,

X

1, , = … M là tập các trọng số kết hợp, phần,

x

;

i

1,

,

=

=

, ;

t

t

( ) i t

{ m t mπ∏ =

}

{

} … N là tập

i

;

i

N

1,

,

=

= … là tập chỉ số thành phần của các mẫu với

C t

( ){ c t

}

các mẫu, và

( )i tc =

( )i tx thuộc về thành phần thứ m .

}

( ) i { tc ∈ …M 1

- nghĩa là m nếu mẫu

M

p

(cid:105)( ) i w t

Vậy xấp xỉ Monte Carlo của phân phối xác suất đích có dạng

x

i

(

)

)

( ) (

N

(3.8)

x x | t

t

, m t

t

= ∑ ∑ x δ

t

m

π 1 =

i I ∈

m

m

=

{ … 1

mI

( ) i } N c : t

{ i = ∈

} m

1

Với là tập chỉ số của các mẫu thuộc thành phần thứ .

(cid:105)( ) i =∑ w t

i I ∈

m

Hiển nhiên, ta có theo chứng minh ở các phần trước.

1t −

1tP− của phân phối kết hợp tại thời điểm

t

Cho trước một tập biểu diễn , mục tiêu

tP

của chúng ta là tìm tập biểu diễn mới tại thời điểm của phân phối này. Trong phần

trước, ta đã nói các phân phối thành phần được biến đổi độc lập và tương tác với nhau

thông qua các trọng số kết hợp. Như vậy, đối với mỗi thành phần, tập các mẫu của nó

cũng biến đổi độc lập theo thời gian và cũng tương tác với các mẫu của thành phần

khác thông qua tập các trọng số kết hợp.

63

Luận văn tốt nghiệp

m

Xét thành phần thứ trong mô hình. Thành phần này được biểu diễn bởi tập các

mẫu-trọng số . Gọi là hàm phân phối đề xuất của hệ.

x

I∈

x x | t

zt

( ) (cid:105)( ) i i w i ; , t t

m

( ) ,i 1 t −

)

( π

{

}

m

được cho bởi các phương Phương trình biến đổi của các mẫu của thành phần thứ

trình sau

( ) i t

( ) i t

( ) i t 1 −

)

(

(

( ) (cid:105)( ) i i w w = t 1 − t

) |

( ) i t

t

( ) i t 1 −

(cid:105)( ) i w t

=

x p p | (3.9) x x z , x ) z x | t ( π

j

)

( ) i w t ( ∑ w t

j I ∈

m

(3.10)

p

trong phương Mức hợp lý của các thành phần (Component Likelihood)

|t z z

(

)

1: 1 t −

trình (3.7) được xấp xỉ bằng phương trình sau

x

z

d

p

=

p m

z z | t

p m

x x | t

z x | t

t

t

t

t 0: 1 −

1 −

t 0: 1 −

1 −

td − x x t 1

(

)

(

)

p

p

x

|

( ) i t

) ( ) i t 1 −

( p )

| (

( (

(cid:105)( ) i w t 1 −

i I ∈

m

) ∫ ) ( ) i t |

(3.11)

x

x

,

z

( ) i t

t

( ) i t 1 −

x )

z x | t ( π

( ) i w t

i I ∈

m

(cid:105)( ) i w m t ,

m t

, 1 −

Thay vào (3.7), ta có xấp xỉ của trọng số kết hợp được cho bởi phương trình sau

=

π

m t ,

π M

(cid:105)( ) i w , n t

π n t

, 1 −

n

1 =

(3.12)

(cid:105)( ) i w , m t

( ) i = ∑ w t

i I ∈

m

Với

Như vậy, (3.12) cho ta một công cụ để duy trì sự kết hợp giữa các phân phối thành

phần trong phân phối xác suất đích.

64

Luận văn tốt nghiệp

3.1.1.4. Tái chọn mẫu trong MPF

Trong suốt quá trình hoạt động của thuật toán, như đã chỉ ra trong những phần trước,

MPF cũng cần phải liên tục làm mới và tái chọn các mẫu. Nhưng thuật toán tái chọn

mẫu chuẩn không thể được sử dụng trong MPF vì nó sẽ bỏ qua thông tin về quan hệ

nhóm của các mẫu. Tuy nhiên với cách tiếp cận dùng mô hình phân phối xác suất kết

hợp, thuật toán chỉ cần tái chọn mẫu cho từng thành phần riêng biệt của phân phối

đích.

3.1.1.5. Tái sắp xếp mẫu

Một vấn đề quan trọng đối với thuật toán MPF đó chính là vấn đề tái sắp xếp mẫu.

Trong phần trước đã đề cập đến những vấn đề liên quan đến ước lượng sự biến đổi của

tập biểu diễn phân phối kết hợp nhưng câu hỏi đặt ra là làm sao biết được sự “tương

tác” giữa các mẫu và các thành phần, hiểu theo nghĩa, trong quá trình hoạt động của hệ

thống, mối liên hệ giữa một mẫu cho trước và một thành phần bất kỳ là gì?

Trong các hệ thống theo dõi đối tượng trong thị giác máy tính, số lượng đối tượng

thường dễ dàng biến đổi trong quá trình hoạt động của hệ thống do liên tục có người di

chuyển vào ra trong khung hình. Một cách trực quan, ta nhận thấy thuật toán phải có

khả năng điều chỉnh để phân phối các mẫu vào các thành phần nhằm tránh những xử lý

không cần thiết đối với những mẫu tương ứng với các thành phần quá yếu trong khi lại

thiếu mẫu để biểu diễn các thành phần mạnh.

Vì vậy, qua từng bước hoạt động của hệ thống, chúng ta cần phải tính toán lại biểu

diễn của phân phối kết hợp nhằm xử lý các biến đổi này. VD: kết hợp các thành phần

quá gần nhau hoặc tách một thành phần thành nhiều thành phần khác khi nó quá phân

tán.

′ , C M t

F X C M,t , t

) ′ =

(

)

là ánh xạ tái gom nhóm Trong hệ thống dùng MPF, gọi (

không gian (Spatial Reclustering Procedure). Ánh xạ này sẽ chịu trách nhiệm việc sắp

xếp và phân phối các mẫu qua quá trình biến đổi của hệ thống và tính toán biểu diễn

65

Luận văn tốt nghiệp

kết hợp mới cho phân phối đích. Ánh xạ này có thể là kết hợp của bất kỳ những toán tử

nối, phân chia và gom nhóm,v.v… tùy vào yêu cầu của bài toán và hệ thống.

( )F i kể trên và biểu diễn ảnh qua ánh xạ này là

N M ,

′ ,

,

′ ,

,

=

Giả sử đã có ánh xạ

P t

′ t

t

{

} ′ X W C t t

(cid:105)( ) i w t

π

. Vậy, trọng số kết hợp mới được cho bởi

, m t

′ = ∑

π ( ) ,i c t t

i I ∈ ′ m

(3.13)

( )F i có thể là bất kỳ hàm nào, tùy vào yêu cầu của bài

Hàm ánh xạ tái sắp xếp

( )F i , ta sẽ

toán. Đây chính là điểm mở của thuật toán MPF. Bằng cách thay đổi ánh xạ

có được hệ thống như mong muốn.

MPF là thuật toán theo dõi đa đối tượng có mô hình tương đối đơn giản. Nó có thể

được sử dụng trong nhiều ứng dụng thực tế, đặc biệt là bài toán theo dõi bằng thị giác

máy tính. Tuy nhiên, điểm yếu của MPF nằm ở chỗ sự tương tác giữa các đối tượng

bên trong mô hình chưa đủ chặt chẽ. Các đối tượng, các nguồn tín hiệu trong mô hình

chỉ tương tác với nhau thông qua trọng số kết hợp nên cũng làm giảm đi phần nào sự

mềm dẻo của hệ thống.

3.1.2. Thuật toán ODAPF

3.1.2.1. Giới thiệu

Phần 3.1.1 đã trình bày những vấn đề lý thuyết liên quan đến MPF. MPF không đưa ra

một thuật toán cụ thể mà bản thân nó là một khung thuật toán mở, trong đó trọng tâm là

vấn đề duy trì biểu diễn của xác suất kết hợp đích.

Dựa trên ý tưởng của thuật toán Boosted Particle Filter [Okuma2004], trong đó tiến

trình tái lựa chọn và tái sắp xếp mẫu được hỗ trợ bởi thuật toán AdaBoost, chúng tôi

đưa ra một thuật toán theo dõi đa đối tượng tổng quát, hoạt động dưới sự hỗ trợ của

thuật toán phát hiện đối tượng (Object Detection Aided Particle Filter – ODAPF).

Cũng như thuật toán BPF, ODAPF cũng có hai ưu điểm so với MPF.

66

Luận văn tốt nghiệp

• Một là nó sử dụng thuật toán phát hiện đối tượng và dùng kết quả này trong

hàm mật độ đề xuất. Bằng cách này, ODAPF thực sự tăng cường hiệu suất

• Hai là kết quả phát hiện đối tượng cung cấp cho chúng ta một phương pháp

của thuật toán lọc Particle rất rõ rệt.

khác để duy trì biểu diễn kết hợp. Phương pháp này hiệu quả hơn phương

pháp tái sắp xếp có trong MPF.

Thuật toán ODAPF hoạt động dựa trên ý tưởng cải tiến hàm mật độ đề xuất. Trong

đó, nó kết hợp thông tin của bước phát hiện đối tượng vào hàm mật độ đề xuất để cải

thiện khả năng của thuật toán. Những thông tin này sẽ được sử dụng để tính toán số đối

tượng có trong một thời điểm nào có của thuật toán. Nó cũng được dùng để phát hiện

ra những đối tượng mới, đồng thời tìm ra những đối tượng đi ra khỏi tầm kiểm soát của

hệ thống (VD: trong theo dõi đối tượng bằng thị giác máy tính, khi đối tượng đi ra khỏi

khung nhìn hoặc vào khung nhìn).

Hình 13 Mật độ đề xuất kết hợp

67

Luận văn tốt nghiệp

,

π

Gọi , với ý nghĩa

| x x t

1t−x

t

1 −

(

)t z là hàm mật độ dạng Gauss có tâm tại

detect

( ) i chứa đựng những thông tin của bước phát hiện đối tượng. Theo

detectπ

(3.14)

z

z

,

,

απ

π

=

| x x t

| x x t

t

t

| x x t

( 1 + −

ODAPF

t

t

t

1 −

1 −

( ) α π

)

(

(

)1

detect

[Okuma2004], hàm mật độ đề xuất kết hợp có dạng (xem Hình 13) )

Trong (3.14), tham số α có thể được biến đổi mà không ảnh hưởng đến sự hội tụ

0α= , thuật toán trở thành một trường hợp của MPF. Khi α tăng

của lọc Particle. Khi

dần, thuật toán của chúng ta sẽ càng đặt nhiều “niềm tin” vào trong kết quả phát hiện

α.

đối tượng. Như vậy, tùy vào ngữ cảnh, chúng ta có thể tùy biến, thay đổi giá trị của của

3.1.2.2. Thuật toán

=

=

… M là tập các đối tượng tại thời điểm t . Trong đó, M là số đối

t

m t m , ;

{

}

x x 1, , Gọi

tượng có trong hệ thống, M có thể thay đổi theo thời gian. Gọi

x

1,

=

∗ t

d t d , ;

{ ∗= x

} … , D

là tập biểu diễn kết quả phát hiện đối tượng của hệ tại thời điểm t tương ứng. Ta có

x

x

1,

,

z

=

=

=

(

)

∗ t

t

∗ d t d , ;

{

} D DETECT

d

với D là số đối tượng phát hiện được.

, với ngưỡng cho trước , là tập Gọi

x

x

x

; min

x

x

d

=

∗ t

m t

, 1 −

thresh

∗ old t ,

∗ d t ,

∗ d t ,

thresh

{

}

t

các kết quả phát hiện “cũ”, được hiểu theo nghĩa, nếu một phát hiện trong thời điểm

1t − thì nó sẽ được xem là trùng với đối

quá gần với một trạng thái đã có tại thời điểm

tượng đó. Một cách gần đúng, ta giả định những phát hiện này xuất phát từ đối tượng

1t −

trước đó. đã có từ thời điểm

là tập những phát hiện “mới”, được hiểu Tương tự, ta định nghĩa

x

=

∗ new t ,

∗ x x t

∗ old t ,

theo nghĩa chúng có khoảng cách tương đối so với những trạng thái cũ và được xem là

những thông tin mới.

68

Luận văn tốt nghiệp

Tại mỗi thời điểm thực hiện, ODAPF liên tục kiểm tra qua lại giữa những thông tin

có được từ bước phát hiện đối tượng và những thông tin về trạng thái có được trước đó

để duy trì một tập những đối tượng tại thời điểm hiện tại.

Không giống như MPF, trong đó, số mẫu cho toàn bộ hệ thống là không đổi qua

thời gian, ODAPF cho phép số lượng mẫu thay đổi để phù hợp với số lượng đối tượng

có trong hệ thống.

PN là số lượng mẫu của một đối tượng. Như vậy, tập mẫu của hệ thống cho

Gọi

X

=

= … với M

X

1, , bởi .

x

i

1,

,

N

=

=

t

X m , ; m t

m t ,

( ) i , ; m t

P

{

}

{

}

Với những định nghĩa trên, ta có chi tiết thuật toán ODAPF được trình bày như

INITIALIZE NEW MODE i là hàm khởi tạo trạng

_

_

( )

trong Hình 14. Trong đó, hàm

thái cho các phát hiện mới. Hàm này chịu trách nhiệm phát sinh các mẫu xung quanh vị

_

_

( ) REMOVE WEAK MODE i chịu trách nhiệm loại bỏ

trí phát hiện. Ngược lại, hàm

những đối tượng quá “yếu”, hiểu theo nghĩa phân phối thành phần của nó đã không còn

đóng góp gì nhiều trong phân phối đích. Ta có thể thực hiện cài đặt hai hàm này theo

một phương pháp bất kỳ, miễn là chúng vẫn giữ được ngữ nghĩa của chúng trong thuật

toán ODAPF.

69

Luận văn tốt nghiệp

Thuật toán 4 ODAPF Tracker

=

(

) z t

P ODAPF P − 1, t t

DETECT

• Phát hiện đối tượng

(

∗ =x t

) z . t

• Tìm

những

tượng

x

x

x

; min

x

x

d

=

.

∗ t

m t

, 1 −

∗ old t ,

∗ d t ,

∗ d t ,

thresh

{

đối }

x

=

• Tìm những đối tượng mới

.

∗ new t ,

∗ x x t

∗ old t ,

• Khởi tạo trạng thái cho các đối tượng mới

x

INITIALIZE NEW MODE ∗ x

_

_

new t

new t

− = , 1

(

),

x

,

x

= x

=

• Gán

,

t

t

new t

M − 1 t

t . 1 −

1 −

1 −

, 1 −

{ x

}

m

,

= … 1,

• FOR

M − t 1

=

X W , , m t

m t ,

m t

m t

W− , , 1

, 1 −

{

}

{ PF X

}

với hàm mật độ đề xuất ODAPFπ

• END FOR

• Tính toán các trọng số kết hợp theo (3.12).

_

_

• Xóa bỏ các trạng thái yếu

REMOVE WEAK MODE P .

(

)

t

Hình 14 Thuật toán ODAPF Tracker

3.1.3. Thuật toán MeanShift Particle

3.1.3.1. Thuật toán

Trong hai phần trên, chúng ta đã xem xét những mở rộng của lọc Particle cho nhiều đối

tượng. Trong phần này sẽ xem xét một trường hợp khác nhằm cải tiến hàm mật độ đề

xuất. Đó chính là kết hợp kết quả của thuật toán MeanShift vào lọc Particle.

70

Luận văn tốt nghiệp

Như đã được trình bày ở phần trên, Mean shift được biết là phương pháp theo vết

tối ưu hóa cục bộ. Do đó ta có thể ứng dụng nó trong giai đoạn lấy mẫu quan trọng của

thuật toán lọc Particle.

Chi tiết về các bước cơ bản của thủ tục tính toán Lọc Particle kết hợp với Mean

Shift như sau:

Khởi tạo (t=0)

Với i = 1,...,N

iw = N

1/

~ (

)

( ) 0

ix ( ) 0

p x 0

và sinh ra Gán

Với t = 1, 2,...

=

)

Meanshift x −

ˆ x meanshift

ˆ( t

1

Bước lấy mẫu Importance -

x

(~

xq

|

x

,

z

)

,

P

xp (

|

x

)

=

α

1( −+

) α

Với i = 1,...,N

( ˆ xN

)

i t

t

i t

t

meanshift

t

t

1 −

1 −

xzp |

(

)

=

Sinh ra

( DN

i t

)2 ,0, σz

- Likelihood , với Dz is khoảng cách Bhattacharyya

( zp

|

)

)( i t 1 −

=

~ )( i w t

)( i w t 1 −

z

) |

)( i t ,

x )

i )( | x t t )( i ( xq t

t

( xp )( i x t 1 −

- Tính các trọng số Importance (chưa được chuẩn hóa)

Với i = 1,...,N

i )( w t

~ i )( w t ~ j )( w t

= N ∑

j

1 =

- Chuẩn hóa các trọng số Importance

- Bước lấy mẫu lại

Ước lượng kích thước mẫu hiệu dụng

71

Luận văn tốt nghiệp

1

ˆ N

eff

j

(

w

2)( ) k

= N ∑

j

1 =

N

ˆ N < eff

)

)

Nếu th

( j ix k

( j ix k

1

1

i

i

= bởi việc lấy mẫu N lần và thay thế { }N

}N =

)

x

w

Pr

=

=

- Đạt được các mẫu mới {

}

{ ( j x i k

)( j k

)( j k

/1=

sao cho

wi k

N - Khởi tạo

N

=

tt

)( i xw t

)( i t

|ˆ x

i

1 =

- Bước đưa ra kết quả

Kết thúc

Hình 15 Thuật toán Mean Shift kết hợp Particle Filter

3.1.3.2. Một số kết quả thực nghiệm dùng Mean Shift Particle

Để so sánh hiệu quả giữa thuật toán Particle thông thường (dựa trên mô hình màu)

và Particle kết hợp với Mean Shift. Dưới đây là một số hình ảnh kết quả theo vết quả

bóng bàn:

72

Luận văn tốt nghiệp

Hình 16 Kết quả lọc Particle qua các frame 2, 3, 4, 5, 6 (từ trái qua phải, từ

trên xuống dưới)

Hình 17 Kết quả lọc MS+Particle qua các frame 2, 3, 4, 5, 6 (từ trái qua phải,

từ trên xuống dưới)

73

Luận văn tốt nghiệp

Hình 18 Kết quả lọc Particle qua các frame 12, 13, 14, 15, 15 (từ trái qua

phải, từ trên xuống dưới)

Hình 19 Kết quả lọc MS+Particle qua các frame 12, 13, 14, 15, 16 (từ trái qua

phải, từ trên xuống dưới)

Nhận xét:

74

Luận văn tốt nghiệp

Qua các hình ảnh trên, rõ ràng ta thấy phương pháp Lọc Particle kết hợp với Mean

shift hiệu quả hơn hẳn phương pháp Lọc Particle thông thường (dựa trên mô hình

màu), đặc biệt là trong trường hợp đối tượng chuyển động nhanh.

3.2. Ứng dụng

Trên cơ sở những lý thuyết về lọc Particle cũng như mở rộng của lọc Particle cho theo

dõi đa đối tượng, phần này sẽ trình bày ứng dụng của chúng trong việc theo dõi đối

tượng trên video, cụ thể là trong bài toán theo dõi sự lưu thông của các phương tiện

giao thông 2 bánh trên đường phố.

Mô hình áp dụng của bài toán được mô tả như sau. Một camera sẽ được đặt ở một

vị trí cao, cách mặt đường từ 3-5m. Hướng nhìn của camera song song với hướng của

mặt đường. Dưới đây là một cảnh quay trích được từ camera đặt ở vị trí này

Như đã đề cập, một hệ thống theo dõi dựa vào video tổng quát bao gồm 3 phần

75

Luận văn tốt nghiệp

• Phát hiện đối tượng.

• Phân đoạn đối tượng.

• Theo vết đối tượng.

Trong đó, hai phần đầu có thể được kết hợp và xem như bước phát hiện đối tượng

duy nhất. Trong những phần sau, các vấn đề liên quan đến phát hiện đối tượng và theo

vết đối tượng để áp dụng vào ứng dụng thực tế.

3.2.1. Phát hiện đối tượng

Đây là một trong những giai đoạn chính trong một hệ thống theo dõi bằng video. Phát

hiện đối tượng giúp tìm ra các đối tượng cần quan tâm trong hệ thống và bỏ qua được

nhiều chi phí tính toán không cần thiết. Đặc biệt, đối với bài toán dùng ODAPF, kết

quả phát hiện đối tượng là cơ sở cho hàm mật độ đề xuất, là “kim chỉ nam” cho những

dự đoán về đối tượng của thuật toán này. Do đó, việc phát hiện đối tượng đóng vai trò

rất quan trọng.

Hiện có rất nhiều phương pháp được nghiên cứu để giải quyết bài toán phát hiện

đối tượng, trên video lẫn trên hình tĩnh (still image). Đáng kể nhất hiện nay có các tiếp

cận dựa trên AdaBoost, mạng neuron, tiếp cận dùng Bayesian-Localization và các

phương pháp tiếp cận ở cấp thấp hơn như khử nền kết hợp với những xử lý trên dữ liệu

video như khử bóng, tính vector chuyển động dùng Graphical Model.

Trong luận văn này, phương pháp tiếp cận dựa vào học nền và khử nền được áp

• Trong quá trình nghiên cứu các dữ liệu, điều kiện thực tế của môi trường

dụng vì những lý do sau

giao thông ở Tp. Hồ Chí Minh, chúng tôi đã thử sử dụng AdaBoost trong

giai đoạn phát hiện đối tượng. Tuy nhiên, do tính chất phức tạp của các đối

tượng xe hai bánh (nhìn từ phía sau, chúng có nhiều hình dạng, nhiều màu

sắc khác nhau, đồng thời, cách ngồi trên xe của người điều khiển cũng góp

phần làm tăng sự phức tạp của đối tượng) thuật toán phát hiện đối tượng

76

Luận văn tốt nghiệp

dùng AdaBoost tỏ ra không hiệu quả. AdaBoost chỉ hoạt động tốt khi có

những đặc trưng quan trọng xuất hiện trên chính đối tượng cần quan tâm

(VD: màu sắc của vùng giữa hai mắt, vùng miệng và mũi trên một gương

• Thuật toán học nền và khử nền là thuật toán duy nhất đảm bảo cho tính thời

mặt người,…).

gian thực của hệ thống. Sau bước phát hiện đối tượng, hệ thống phải đầu tư

chi phí cho việc xử lý theo dõi đối tượng bằng các bộ lọc. Như vậy, cần phải

có thuật toán phát hiện đối tượng nhanh, điều này không có được khi ta sử

dụng AdaBoost.

Trong luận văn này, vì thời gian có hạn và mục tiêu chính là vấn đề sử dụng lọc

Particle trong ước lượng nên phần này chỉ xem xét ra một phương pháp phát hiện đối

tượng đơn giản, dựa chủ yếu vào các kỹ thuật heuristic.

3.2.1.1. Học nền và khử nền

Bài toán học nền (Background Learning) là một trong những bài toán quan trọng

trong xử lý video ngày nay. Mục tiêu của học nền là tìm ra những đặc trưng quan trọng

nhất của ảnh nền trong một loạt những frame ảnh học để làm cơ sở cho bước khử nền.

• Parametric: mỗi điểm ảnh trong ảnh nền sẽ được mô hình hóa bằng một

Có hai cách tiếp cận chính để học nền

phân phối xác suất. Sau đó phân phối này sẽ được dùng làm cơ sở cho các

phép tính sự biến đổi, phân loại điểm ảnh này có phải là tĩnh hay không,…

Cách tiếp cận cổ điển nhất là dùng một hoặc nhiều hàm Gauss để mô hình

• Non-parametric: mỗi điểm ảnh cũng được mô hình hóa bằng một phân phối

hóa.

xác suất nhưng không có dạng chuẩn mà được ước lượng bằng một hàm

nhân (Kernel Function).

77

Luận văn tốt nghiệp

Luận văn này sử dụng một phương pháp khác để học nền. Với nhận xét: đối với

,

một khung cảnh cố định, giá trị xuất hiện nhiều nhất của một điểm trong khung cảnh

F t

= … f , t

{

}

f + t S

đó dao động xung quanh giá trị thực của nó. Như vậy, ta gọi là tập

các frame ảnh học. Vậy ảnh nền học được từ chuỗi dữ liệu này cho bởi

=

t

{ MEDIAN f

}

f + t N

(cid:108) BGf

… , , (3.15)

Hình 21 cho ta thấy kết quả học nền từ thuật toán cho bởi phương trình trong (3.15)

. Kết quả này cho thấy phương pháp học nền này tương đối hiệu quả. Gần như những

vùng lòng đường được tái tạo lại hoàn hảo, ngoại trừ những vùng có tán cây thì ảnh

học được hơi mờ. Điều này xảy ra là do có sự lắc lư của tán cây. Lúc đó, xác suất xuất

hiện của màu sắc tại những tán cây này phân bố đều, dẫn đến ảnh nền tại những vị trí

này không rõ ràng. Tuy nhiên, vi chúng ta chỉ quan tâm đến những đối tượng phương

tiện giao thông lưu chuyển trong lòng đường nên điều này có thể giải quyết bằng cách

dùng một mặt nạ (mask) cho biết những vùng lòng đường nào cần quan tâm như trong

Hình 20.

Hình 20 Hình nền và mặt nạ vùng chuyển động

78

Luận văn tốt nghiệp

Hình 21 Kết quả học nền

3.2.1.2. Phát hiện chuyển động

tf bất kỳ, ta có ảnh hiệu được tính như sau

f

f

(cid:108) f

Việc phát hiện chuyển động được thực hiện bằng cách trừ ảnh. Tại một frame ảnh

=

t

diff t ,

BG

(3.16)

Như vậy, tại một điểm ảnh bất kỳ, để biết nó có thuộc về đối tượng chuyển động

yes f ,

and f

x y ,

1

=

(

)

T thresh

mask

,

=

(

)

motion x y t

, diff t no otherwise

,

⎧⎪ ⎨ ⎪⎩

hay không, ta có một luật quyết định như sau

79

Luận văn tốt nghiệp

3.2.1.3. Phát hiện đối tượng

Những đối tượng trong bài toán của chúng ta là phương tiện xe gắn máy hai bánh. Với

nhận xét rằng nhìn từ phía sau, ảnh của xe gắn máy hai bánh có thể được xấp xỉ đường

L

biên bằng một ellipse, thuật toán phát hiện đối tượng được cho bởi Hình 23. Trong đó,

threshH

thresh

và là hai ngưỡng cho trước.

Trong Hình 22 là một số kết quả thu được từ thuật toán phát hiện đối tượng. Kết

quả thực nghiệm cho thấy thuật toán hoạt động tương đối hiệu quả đối với dữ liệu

video thu được trong thực tế

Hình 22 Kết quả phát hiện đối tượng

80

Luận văn tốt nghiệp

Thuật toán 5 Phát hiện đối tượng

( DETECT f

)

∗ =x t

t

f

• Tính ảnh chuyển động

.

motion

f

• Đánh nhãn thành phần liên thông trên

.

motion

• Với mỗi thành phần liên thông

o Tìm đường bao c của thành phần liên thông.

c

o Xấp xỉ đường bao bằng một ellipse e .

o Chọn e là một đối tượng nếu

S

AND L

H

×

e width

e height

thresh

thresh

thresh

e height e widht

⎛ ⎜ ⎜ ⎝

⎞ ⎟ ⎟ ⎠

e

• Nếu được chọn, gán

{ ∗=x ∗ x x , t t

} ( ) e

Hình 23 Thuật toán phát hiện đối tượng dựa trên luật

3.2.2. Theo vết đối tượng

Trong phần này trình bày về ứng dụng của lọc Particle và thuật toán ODAPF trong bài

toán theo vết đối tượng trong giao thông. Đối với bài toán lọc Particle, ngoài những

• Mô hình quan sát và mô hình đối tượng.

• Mô hình động của hệ.

vấn đề đã nêu trong các phần trước, một vấn đề mà chúng ta chưa bàn đến đó chính là

Mô hình quan sát và mô hình đối tượng chính là cơ sở cho những phép đo và tính

xác suất của chúng ta trong các phương trình xác suất của hệ. Trong đề tài, chúng tôi

sử dụng mô hình màu cho đối tượng và quan sát của nó. Mô hình màu là một trong

những mô hình được sử dụng nhiều nhất trong các ứng dụng theo vết đối tượng trên

video, bên cạnh các đặc trưng về đường biên, chuyển động,…

81

Luận văn tốt nghiệp

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 các đối tượng trong hệ

3.2.2.1. Mô hình màu của đối tượng

Sử dụng ý tưởng của [Hue2002], chúng tôi sử dụng mô hình quan sát dựa vào

8 8 8 512

bins

N = × × =

histogram màu trong hệ màu RGB. Trong đó, một histogram là phân phối xác suất của

(8 bin cho mỗi hệ màu Red,Green và Blue).

(

) { ∈d … N 1

}

)

tb

( ty k

Gọi là chỉ số của bin tương ứng với vector màu của pixel ở

vị trí

d tại

t

(cid:22)

K

n

N

thời . Như vậy, ước lượng mật độ nhân

x

x

;

1,

,

… của phân phối màu ở thời điểm t được cho bởi

=

(

)

( ; k n

)

t

t

{

điểm }

x

d

n

=

( k n ;

)

(

)

t

b t

⎡ ⎣

⎤ ⎦

(3.17)

∑ η δ x d R ∈ t

k

N

là một phân trong đó δ là hàm Dirac-delta, η là hệ số chuẩn hóa để đảm bảo

x

1

=

( k n ;

)

(

t

)tR x là lân cận của

tx

n

1 =

, và , hay chính là vùng ảnh mà phối xác suất,

(cid:22)

K

chứa đối tượng.

x

x

;

n

1,

,

N… là mô hình màu tham khảo và

=

(

(

)

( ∗ k n ;

)

)tK x là mô

t

t

{

}

Gọi

hình màu ứng viên. Để tính mức hợp lý giữa hai mô hình màu, chúng tôi sử dụng

N

khoảng cách Bhattacharyya như sau

K K ,

(3.18)

x

x

x

(

)

( ∗ k n ;

)

( k n ;

)

t

t

t

ξ ∗ ⎡ ⎣

⎤ ⎦

n

1 =

⎡ = −∑ 1 ⎢ ⎣

⎤ ⎥ ⎦

Từ (3.18), ta có phương trình mật độ đo như sau

x

; K K

p

exp

(

)

t

(

)

(3.19)

z x | t

t

{

2 λξ ∗ ⎡ − ⎣

} ⎤ ⎦

Trong đó λ là hệ số kiểm soát, giúp điều chỉnh hàm mật độ đo. Độ đo vừa trình

bày ở trên đã được chứng minh là phù hợp với nhiều ứng dụng. Tuy nhiên, ước lượng

82

Luận văn tốt nghiệp

của chúng ta sẽ chính xác hơn nếu kết hợp thêm thông tin về không gian của phân phối

màu.

r

)tR x (

tx

r

R

Giả sử, lân cận của là tổng của vùng con khác nhau

(

(

)

t

R i

tx

i

1 =

) = ∑x

r

, như vậy, phương trình trong (3.19) trở thành

x

p

exp

(

)

i

t

(3.20)

z x | t

t

(

)

λξ ∗ ⎡ ; K K − ⎣ i

⎤ ⎦

i

1 =

⎧ ⎨ ⎩

⎫ ⎬ ⎭

Hình 24 Mô hình màu đa vùng

3.2.2.2. Mô hình động của đối tượng

x y w h , ,

,

(

)

=x t

,w h

Ta định nghĩa vector trạng thái của một đối tượng trong hệ như sau

trong đó lần lượt là chiều rộng và chiều cao của ,x y là vị trí tâm của đối tượng,

đối tượng. Mô hình động của đối tượng được cho bởi hệ phương trình

83

Luận văn tốt nghiệp

f

N

=

=

+

x t

x

2 δ x

x t

x t

1 −

1 −

f

N

=

=

+

y t

y

2 δ y

y t

y t

1 −

1 −

) )

f

0,

=

=

+

w t

w

) ) )

w t

w t

1 −

1 −

)

f

N

0, ( 0,

=

=

+

h t

)

( ( ( (

h t

h t

1 −

1 −

h

2 δ h

( 0, ( N (

2 δ w )

2

(3.21)

( ,N

)µδ là hàm phân phối Gauss có tâm tại µ và phương sai δ. Như

Trong đó

f

f

,

f

,

,

vậy, trạng thái của đối tượng tại thời điểm t cho bởi

x

x

=

=

t

x

y

(

)

(

)

(

)

)

)

t

x t

y t

( f w w t

1 −

1 −

1 −

1 −

1t−

( f h h

(

)

(3.22)

3.3. Kết quả

3.3.1. Kết quả định tính

Phần này trình bày một số kết quả thực hiện thuật toán theo dõi đa đối tượng

ODAPF trên dữ liệu thực tế. Thực nghiệm được tiến hành trên máy Pentium IV

1.6GHz, 512MB RAM. Các dữ liệu video thu được tại cầu vượt Văn Thánh, vào thời

điểm 12h trưa.

Hình 27 cho thấy các đối tượng đi vào và đi ra khung cảnh đều được theo dõi trọn

vẹn. Một đặc điểm đáng chú ý là bất chấp số lượng đối tượng vào và ra khỏi khung

nhìn, biểu diễn của mật độ xác suất kếp hợp không bị ảnh hưởng và thuật toán nhanh

chóng thích nghi với những thay đổi này. Nhờ có sự hỗ trợ của thuật toán phát hiện đối

tượng, ODAPF có thể tự động phân phối các mẫu đến từng đối tượng này và bắt đầu

thuật toán theo vết nó.

Hình 25, Hình 26 cho thấy hai trường hợp thuật toán ODAPF rất thành công. Tất

cả các đối tượng phương tiện giao thông khi đi vào vùng nhìn của camera đều được hệ

thống phát hiện và theo dõi thành công.

Một đặc điểm quan trọng của thuật toán ODAPF là nó có thể khắc phục những lỗi

do thuật toán phát hiện đối tượng tạo ra. Trong Hình 28, Hình 29, Hình 30 cột bên trái

84

Luận văn tốt nghiệp

là kết quả phát hiện đối tượng, cột bên phải là kết quả theo dõi tại khung hình tương

ứng. Ta dễ dàng nhận thấy các kết quả phát hiện đối tượng bị lỗi, các đối tương không

được phát hiện đầy đủ và bị chồng lên nhau (Hình 30). Nhờ có thuật toán theo dõi, hiện

tượng này được khắc phục dễ dàng nhờ thuật toán đã biết thông tin về trạng thái đối

tượng tại thời điểm trước đó và sử dụng nó để tìm kiếm đối tượng tại thời điểm sau.

Ở trên, ta giả định rằng các kết quả trong thuật toán phát hiện đối tượng là đáng tin

cậy tuyệt đối. Nhưng trong thực tế, một hệ thống phát hiện đối tượng như vậy còn là

bài toán mở. Trong chương trình thực nghiệm, chúng tôi chỉ sử dụng một thuật toán

phát hiện đối tượng dựa trên luật tương đối đơn giản, độ tin cậy không cao nên còn một

số giới hạn.

Hình 31 cho thấy một trường hợp thuật toán ODAPF bị “lừa” vì những kết quả

phát hiện đối tượng. Ở góc trên, bên trái của hình, hình chữ nhật xanh cho thấy vị trí

của phát hiện sai. Nhưng ODAPF vẫn tin vào kết quả này. Do đó dẫn đến sai lầm.

Tương tự, Hình 32, Hình 33 cho ta thấy trường hợp sai lầm khác của ODAPF. Khi

các đối tượng xe di chuyển ra xa, kết quả phát hiện đối tượng bằng trừ ảnh hoạt động

kém hiệu quả dần. Kết quả là nhiều đối tượng bị hiểu thành một và gây ra nhiễu như

trong hình.

85

Luận văn tốt nghiệp

Hình 25 Một kết quả thành công của ODAPF

86

Luận văn tốt nghiệp

Hình 26 Một kết quả thành công của ODAPF

87

Luận văn tốt nghiệp

Hình 27 Một kết quả theo dõi đa đối tượng

Hình 28 Thuật toán ODAPF bù lỗi cho thuật toán phát hiện đối tượng

88

Luận văn tốt nghiệp

Hình 29 Thuật toán ODAPF bù lỗi cho thuật toán phát hiện đối tượng

Hình 30 Thuật toán ODAPF bù lỗi cho thuật toán phát hiện đối tượng

Hình 31 Trường hợp lỗi của ODAPF

89

Luận văn tốt nghiệp

Hình 32 Trường hợp lỗi của ODAPF

Hình 33 Trường hợp lỗi của ODAPF

3.3.2. Kết quả định lượng

Để đánh giá thuật toán một cách định lượng, chúng tôi đã thử nghiệm kết quả trên

những đoạn video quay sẵn, mỗi đoạn dài 4s (giây). Kết quả được tính bằng tỉ số giữa

số đối tượng (xe gắn máy 2 bánh) phát hiện và theo dõi được trong quá trình thực hiện

thuật toán và số đối tượng thực xuất hiện trên những đoạn video này. Các đoạn video

90

Luận văn tốt nghiệp

được chia làm 2 nhóm, tương ứng với 2 góc quay khác nhau (góc so với mặt đường) ở

cùng một vị trí.

Bảng 5 Kết quả phát hiện và theo dõi đối tượng dùng thuật toán ODAPF đối

với những đoạn video ở góc quay 1

Clip trong góc quay 1 Số đối tượng thực Số đối tượng phát hiện Tỉ lệ

7 test01.avi 7 100%

5 test02.avi 5 100%

5 test03.avi 5 100%

4 test04.avi 4 100%

4 test05.avi 4 100%

3 test06.avi 3 100%

9 test07.avi 8 88.8%

9 test08.avi 8 88.8%

15 test09.avi 12 80%

Bảng 6 Kết quả phát hiện và theo dõi đối tượng dùng thuật toán ODAPF đối

với những đoạn video ở góc quay 2

Clip trong góc quay 2 Số đối tượng thực Số đối tượng phát hiện Tỉ lệ

11 test01.avi 10 90.9%

6 test02.avi 6 100%

10 test03.avi 9 90%

5 test04.avi 5 100%

5 test05.avi 5 100%

6 test06.avi 6 100%

6 test07.avi 6 100%

91

Luận văn tốt nghiệp

Các kết quả cho thấy thuật toán hoạt động tốt khi số lượng đối tượng có trong

khung cảnh tương đối vừa phải. Kết quả này ta có thể dự đoán được vì trong những

trường hợp nhiều đối tượng, chúng sẽ đè lên nhau và kết quả là gây nhiều nhầm lẫn

trong thuật toán.

3.4. Kết luận

Cách tiếp cận ODAPF qua thực nghiệm đã chứng tỏ là một cách tiếp cận hiệu quả đối

với bài toán theo dõi đa đối tượng trên video. Nó có khả năng thích nghi tốt với trường

hợp số lượng đối tượng trong khung cảnh biến đổi bất thường theo thời gian. Đồng

thời, thuật toán có khả năng thực hiện nhanh, có khả năng đáp ứng cho những bài toán

xử lý thời gian thực. Bên cạnh đó, thuật toán ODAPF, dựa trên MPF, là thuật toán có

khả năng mở rộng cao, có khả năng thích ứng với nhiều bài toán trong thực tế.

Tuy nhiên, một trong những vấn đề đối với ODAPF chính là nó đặt “niềm tin” vào

thuật toán phát hiện đối tượng. Sự thành công hay thất bại của thuật toán ODAPF được

quyết định rất nhiều bởi thuật toán này. Nó chịu trách nhiệm phát hiện những đối tượng

mới trong khung cảnh và những đối tượng cũ, đi khỏi khung cảnh. Vì vậy những tri

thức nó đem lại phải tuyệt đối chính xác. Do đó, làm ảnh hưởng đến quá trình hoạt

động và áp dụng của thuật toán ODAPF.

Ở đây, chúng tôi chỉ đưa ra một đánh giá định lượng mang tính chủ quan về hiệu

quả của thuật toán này vì đây là một hệ thống mở. Nó có khả năng thích ứng với nhiều

ứng dụng khác nhau bằng cách điều chỉnh những thông số và những thủ tục cụ thể

trong từng bước hoạt động của thuật toán. Nhưng thông qua các đánh giá trực quan,

chúng ta có thể thấy được tiềm năng ODAPF và các cải tiến khác của lọc Particle trong

các ứng dụng thực tế.

92

Luận văn tốt nghiệp

4. Kết luận và hướng phát triển

4.1. Kết luận

Trong luận văn này, chúng tôi đã trình bày những cơ sở lý thuyết của các phương

pháp lọc Bayes nói chung và lọc Partilce nói riêng. Qua các chứng minh trong chương

2, lọc Particle cho thấy tiềm năng của nó là một trong những phương pháp được quan

trọng và hiệu quả nhất hiện nay trong nhiều lĩnh vực khoa học như vật lý, điện tử, kinh

tế, quân sự, máy tính,… đặc biệt là các bài toán ước lượng và xấp xỉ tín hiệu.

Chúng tôi đã thử nghiệm các lý thuyết trình bày thông qua hai chương trình giả lập

• Thuật toán SIS: mô phỏng các lý thuyết về xấp xỉ tích phân Monte Carlo và

và hai chương trình thực nghiệm trên dữ liệu video:

• Thuật toán lọc Particle: mô phỏng các chứng minh nhằm giải quyết vấn đề

chứng minh sự đúng đắn của các cơ sở toán học cho thuật toán Particle.

• Áp dụng thuật toán ODAPF cho bài toán theo dõi đa đối tượng, cụ thể là bài

thoái hóa mẫu trong lọc Particle.

toán theo dõi trong giao thông: thử nghiệm khả năng ứng dụng của lọc

• Áp dụng MeanShift cho lọc Particle: thử nghiệm một nghiên cứu nhằm tăng

Particle trong bài toán theo vết đối tượng dựa vào video.

cường hiệu suất của lọc.

Các kết quả giả lập cho thấy các lý thuyết đã chứng minh là đáng tin cậy và phù

• Thuật toán ODAPF đã chứng tỏ thuật toán lọc Particle hoàn toàn có thể

hợp với nhiều bài toán thực tế:

được áp dụng vào các bài toán theo vết dùng thị giác máy tính, đặc biệt là

vấn đề theo dõi đa đối tượng thời gian thực mà nhiều cách tiếp cận dựa vào

phương pháp so khớp mẫu cổ điển thường không giải quyết được.

93

Luận văn tốt nghiệp

• Thuật toán Mean Shift kết hợp lọc Particle lại cho thấy một khía cạnh khác

của lọc Particle: các kết quả cho thấy Mean Shift Particle có khả năng thích

ứng tốt với bài toán theo dõi trong đó các đối tượng di chuyển nhanh. Nó

cũng chứng tỏ thuật toán Particle có thể được mềm dẻo sử dụng trong nhiều

mô hình khác nhau.

Nếu xét riêng bài toán theo dõi đối tượng, thuật toán Particle cho ta một lựa chọn

tốt hơn so với những thuật toán dạng so khớp mẫu Template Matching theo nghĩa có

thể áp dụng cho nhiều trường hợp, mô hình khác nhau bằng cách thay đổi các hàm mật

độ đo, phương pháp đo và các tham số về nhiễu. Bên cạnh đó, các kết quả thực nghiệm

cho thấy ODAPF có thể giải quyết bài toán theo dõi đa đối tượng mà các thuật toán so

khớp mẫu không giải quyết được khi gặp phải môi trường hỗn loạn. Bên cạnh đó, lọc

Particle còn có thể được áp dụng cho nhiều bài toán khác nhau nhau trong nhiều ứng

dụng khác nhau như xử lý tín hiệu số, máy học, mạng neuron, quân sự, robot và kinh tế

lượng. Hơn nữa, điểm mạnh của lọc Particle còn ở chỗ nó có khả năng mở rộng cao

cho các ứng dụng đòi hỏi xử lý song song.

4.2. Hướng phát triển

Trong quá trình thực hiện đề tài, do các điều kiện khách quan của môi trường, điều

kiện giao thông ở Việt Nam, do những hạn chế về trình độ và thời gian thực hiện đề tài

có hạn, hệ thống chúng tôi xây dựng chỉ gói gọn trong một ngữ cảnh hẹp của bài toán

theo dõi đối tượng dựa vào video. Hy vọng trong tương lai, những phát triển dưới đây

• Tập trung cải tiến thuật toán phát hiện đối tượng: hệ thống ODAPF cho thấy nó

sẽ giúp đề tài hoàn thiện hơn

hoạt động tốt khi kết quả phát hiện đối tượng tốt. Như vậy, ta có thể áp dụng

nhiều phương pháp khác hơn để cải tiến thuật toán này như dùng thuật toán

AdaBoost, sử dụng các mô hình xác suất khác nhau để mô tả đối tượng,…

94

Luận văn tốt nghiệp

• Kết hợp nhiều đặc trưng từ nhiều nguồn thu khác nhau: hệ thống sẽ họat động

tốt hơn nếu có càng nhiều tri thức về các độ đo. Có nhiều hướng phát triển để

• Sử dụng các hệ thống 3-D: kết hợp nhiều camera, ta sẽ có được những thông tin

kết hợp các độ đo này như kết hợp màu sắc, đường viền, kết hợp âm thanh,…

• Xử lý bài toán che lấp đối tượng: nhằm tạo kết quả theo dõi tốt hơn trong các

chính xác về tính chất vậy lý của đối tượng như vận tốc, độ sâu, khoảng cách,…

• Triển khai thêm các khả năng ước lượng về vận tốc, phát hiện xe chạy ngược

môi trường clutter.

• Triển khai khả năng ra quyết định dựa vào các ước lượng có được.

chiều, các vi phạm giao thông,…

95

Luận văn tốt nghiệp

DANH MỤC TÀI LIỆU THAM KHẢO

Algorithm - Conditional Density Propagation and Applications to Visual

Tracking. NIPS 1996: 361-367.

Andrew Blake, Michael [Blake1998] Isard: The CONDENSATION

filter sensor fusion, Asian Conference on Computer Vision (ACCV),

[Chen2004] Yunquiang Chen, Yong Rui, Speaker tracking using Particle

2004.

Based Object Tracking, Real-Time Vision and modeling Department,

[Comaniciu2003] Dorin Comaniciu, Visvanathan Ramesh, Peter Meer, Kernel-

Siemens Corporate Research, Princeton, NJ, USA, 2003.

Carlo samplingmethods for Bayesian filtering. Statistics and Computing,

[Doucet2000] A. Doucet, S. J. Godsill, and C. Andrieu. On sequentialMonte

10(3):197–208, 2000.

Monte Carlo in Practice, Springer-Verlag, January 2001 - ISBN: 0-387-

Arnaud Doucet, Nando de Freitas, Neil Gordon, Sequential [Doucet2001]

95146-6.

parametric Model for Background Subtraction, Computer Vision Lab,

[Elgammal2001] Ahmed Elgammal, David Harwood, Larry Davis, Non-

2001.

the Kalman Filter, Artech House, 2004.

[Gordon2004] Neil Gordon, Branko Ristic, Sanjeev Arulampalam, Beyond

[Guo2001] Zhong Guo, Object Detection and Tracking in Video,

Department of Computer Science, Kent State University, Nov 2001.

96

Luận văn tốt nghiệp

objects with particle filtering. IEEE Transactions on Aerospace and

[Hue2002] C. Hue, J.-P. Le Cadre, and P. P´erez. Tracking multiple

Electronic Systems, 38(3):791–812, 2002.

blob tracker. In Proc. Int. Conf. Computer Vision, pages II: 34–41, 2001.

[Isard2001] M. Isard and J. MacCormick. BraMBLe: A Bayesian multiple-

Using Deformable Templates. IEEE Trans. Pattern Analysis and

[Jain1996] A.K. Jain, Y. Zhong, and S. Lakshmanan, Object Matching

Machine Intelligence, vol. 18, no. 3, pp. 267–278, Mar. 1996.

Correlation: A Reduced-Cost Template Matching Technique. Proc. ICIP,

[Krattenthaler1994] W. Krattenthaler, K.J. Mayer, and M. Zeiller, Point

pp. 208–212, 1994.

Generation, February 26, 2004.

[Lang2004] Duncan Temple Lang, Approaches for Random Number

Dynamic Systems, 1998.

[Liu1998] Jun S. Liu, Rong Chen, Sequential Monte Carlo Methods for

Rudolph van der Merwe, Arnaud Doucet, Nando de Freitas, [Merwe2000]

Eric A. Wan: The Unscented Particle Filter. NIPS 2000: 584-590.

Processes, Department of Electrical Engineering, Arizona State

[Morrell2003] Darryl Morrell, EEE 581 - Lecture 2 : Filtering of Stochastic

University, USA, 2003.

Tracking with an Adaptive Color-based Particle Filter, Image and Vision

[Nummiaro2002] Katja Nummiaro, Esther Koller-Meier, Luc Van Gool, Object

Computing, to appear (2002).

Kenji Okuma, Ali Taleghani, Nado De Freitas, James J. Little, [Okuma2004]

Tracking, ECCV 2004.

David G. Lowe, A Boosted Particle Filter: Multitarget Detection and

97

Luận văn tốt nghiệp

probabilistic tracking. In Proc. Europ. Conf. Computer Vision, pages I:

[Perez2002] P. Perez, C. Hue, J. Vermaak, and M. Gangnet. Colorbased

661–675, 2002.

Visual Tracking with Particles, February 2004.

[Perez2004] Patrick Perez, Jaco Vermaak, Andrew Blake, Data Fusion for

Segmentation, Edge finding and Corner Finding, Department of Clinical

[Smith1997] Stephen M. Smith, Reviews of Optic Flow, Motion

Neurology, Oxford University, Oxford, UK, Image Segmentation and

Object Tracking 1997.

Object Localisation in Images, April 2001.

[Sullivan2001] J, Sullivan, A. Blake, M. Isard, J. Maccormick, Bayesian

Filter, Department of Computer Science, University of North Carolina at

[Welch2003] Greg Welch, Gary Bishop, An introduction to the Kalman

Chapel Hill, 2003.

98