1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành

87 540 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Tác giả Trần Công Chiến, Trần Thanh Việt, Nguyễn Đình Liên
Người hướng dẫn Huỳnh Cao Tuấn
Trường học Trường Đại Học Lạc Hồng
Thể loại Báo cáo nghiên cứu khoa học
Năm xuất bản 2012
Thành phố Biên Hòa
Định dạng
Số trang 87
Dung lượng 1,74 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Theo vết đối tượng thời gian thực 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 và nó đang là bài toán của nhiều nghiên cứu.. Bố cục của đề tài này bao gồm phần

Trang 1

TRƯỜNG ĐẠI HỌC LẠC HỒNG TRUNG TÂM THÔNG TIN TƯ LIỆU

***

BÁO CÁO NGHIÊN CỨU KHOA HỌC

Trang 2

TRƯỜNG ĐẠI HỌC LẠC HỒNG TRUNG TÂM THÔNG TIN TƯ LIỆU

***

BÁO CÁO NGHIÊN CỨU KHOA HỌC

BIÊN HÒA, 2012

Trang 3

Mục lục

Mục lục i

Các thuật ngữ và từ viết tắt ii

Danh mục hình vẽ iii

Mở đầu 1

Chương 1: Bài toán theo vết đối tượng 1.1 Giới thiệu 3

1.2 Quy trình theo vết đối tượng 5

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

1.2.2 Phân vùng 6

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 8

1.3.3 Phương pháp Bayesian 8

1.3.3.1 Ước lượng Bayesian 8

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

1.3.3.3 Lọc Kalman 11

1.4 Kết luận 12

Chương 2: Lọc hạt (Particle Filter) 2.1 Phương pháp Lọc 13

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

2.2.1 Phương pháp Monte Carlo 18

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

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

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

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

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

Trang 4

2.3 Vấn đề chọn hàm mật độ đề xuất 31

2.4 Tái chọn mẫu 34

2.4.1 Kích thước mẫu hiệu dụng 35

2.4.2 Thuật toán tái chọn mẫu 37

2.5 Các phương pháp quan sát (Observation Models) 40

2.5.1 Quan sát dựa vào Hình dáng (Shape Information) 41

2.5.2 Quan sát dựa vào Màu (Colour- histogram) 42

2.5.3 Quan sát dựa vào Mẫu (Template-based) 45

2.6 Mô hình ước lượng trạng thái 47

2.7 Thuật toán lọc Particle 48

2.8 Nhận xét 49

Chương 3: Sử dụng Particle Filter cho bài toán theo vết một đối tượng 3.1 Cài đặt thuật toán Particle Filter 52

3.1.1 Thử nghiệm với mô hình quan sát dựa vào màu (Colour - histogram) 58

3.1.2 Thử nghiệm với mô hình quan sát dựa vào mẫu (Template - based) 66

3.2 Cải tiến thuật toán - kết hợp lọc Particle và Template Matching 72

3.2.1 Xây dựng thuật toán PTM (Particle & Template Matching) 74

3.2.2 Kết quả thử nghiệm 75

3.3 Nhận xét 78

Kết luận 79 Tài liệu tham khảo

Trang 5

Các thuật ngữ và các từ viết tắt

PTM Particle & Template Matching

D nh mục các h nh v

Hình 2.3 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

36

Trang 6

D nh mục các ảng số liệu

Bảng 3.1 Thử nghiệm Colour-based, số lượng hạt là 50 64 Bảng 3.2 Thử nghiệm Colour-based, số lượng hạt là 100 64 Bảng 3.3 Thử nghiệm Colour-based, số lượng hạt là 300 65 Bảng 3.4 Thử nghiệm Colour-based, số lượng hạt là 500 65 Bảng 3.5 Thử nghiệm Colour-based, số lượng hạt là 1000 66 Bảng 3.6 Thử nghiệm Template-based, số lượng hạt là 50 68 Bảng 3.7 Thử nghiệm Template-based, số lượng hạt là 100 69 Bảng 3.8 Thử nghiệm Template-based, số lượng hạt là 300 70 Bảng 3.9 Thử nghiệm Template-based, số lượng hạt là 500 70 Bảng 3.10 Thử nghiệm Template-based, số lượng hạt là 1000 71

Trang 7

Mở đầu

Trong giai đoạn khoa học và công nghệ đang phát triển hiện nay, việc chế tạo Robot nhằm giảm sức lao động cho con người luôn là mục tiêu của nhiều nghiên cứu trên thế giới Từ lâu, chúng ta biết đến những Robot công nghiệp trong nhà máy sản xuất xe hơi, các nhà máy sản xuất linh kiện máy tính và một số nghành công nghiệp khác… Hiện nay, người ta chế tạo những Robot tiên tiến hơn, chúng có thể

tự hành trên Sao Hoả để phân tích mẫu vật…Nhưng nổi tiếng nhất đến giờ có lẽ là người máy Asimo của hãng Honda nó có thể di chuyển và thực hiện nhiều động tác giống con người

Một trong những bộ phận quan trọng nhất để Robot có thể tự hành được đó

là hệ thống quan sát và theo vết một mục tiêu định trước Theo vết đối tượng thời gian thực 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

và nó đang là bài toán của nhiều nghiên cứu Một trong những mục tiêu quan trọng nhất của theo vết đối tượng là để “hiểu” được những chuyển động của đối tượng

“Hiểu” những thông tin về đối tượng như vị trí trong không gian, vận tốc chuyển động và những đặc trưng vật lý khác Một hệ thống thông minh có khả năng thực hiện các bước xử lý ở cấp cao hơn như nhận dạng đối tượng, nhận dạng chuyển động và tính toán trên những đặc trưng đã thu thập được

Mặc dù đã được nghiên cứu nhiều năm nhưng bài toán “theo vết đối tượng” vẫn là vấn đề nghiên cứu thời sự Mức khó khăn của vấn đề phụ thuộc vào loại đối tượng muốn phát hiện và theo vết Việc đặt Camera trên Robot (cùng di chuyển với Robot) khiến cho việc phát hiện và theo vết khó khăn hơn là những bài toán với Camera đặt cố định

Hiện nay, việc nghiên cứu, chế tạo Robot ở các ngành cơ khí và điện tử tại trường Đại học Lạc Hồng đặt ra nhiều bài toán liên quan đến vấn đề xử lý ảnh giúp

điểu khiển các Robot này Đề tài “Xây dựng hệ thống quan sát và theo vết đối

tượng cho Robot tự hành” được thực hiện với hy vọng sẽ góp phần đưa lĩnh vực

thiết kế, chế tạo Robot của trường Lạc Hồng tiến xa hơn nữa trong tương lai

Trang 8

Bố cục của đề tài này bao gồm phần Mở đầu, phần Kết luận và ba chương nội dung được tổ chức như sau:

Chương 1: Tổng quan về bài toán theo vết đối tượng

Chương này đề cập đến các phương pháp, các quy trình cơ bản của bài toán theo vết đối tượng Phân tích, đánh giá ưu khuyết điểm của từng phương pháp từ đó rút ra kết luận nhằm chọn giải pháp tối ưu

Chương 2: Lọc hạt (Particle Filter)

Chương này trình bày lý thuyết, khái niệm và cơ sở toán học gồm các thuật toán, hàm liên quan đến phương pháp lọc hạt (Particle filter)

Chương 3: Sử dụng Particle Filter cho bài toán theo vết một đối tượng

Tiến hành thực nghiệm, đánh giá thuật toán thông qua việc chọn số lượng hạt

và chọn phương pháp quan sát thích hợp cho bài toán Cải tiến thuật toán Particle filter bằng cách kết hợp với Template Maching nhằm giải quyết các trường hợp lỗi không thể theo vết được

Trang 9

Chương 1 : Bài toán theo vết đối tượng

1.1 Giới thiệu

Theo vết đối tượng thời gian thực là một công đoạn trong rất nhiều ứng dụng thị giác máy tính Một trong những mục tiêu của theo vết đối tượng là để “hiểu” được những chuyển động của đối tượng, “hiểu” những thông tin về đối tượng gồm

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ức khó khăn của vấn đề phụ thuộc vào loại đối tượng muốn phát hiện và theo vết Nếu như chỉ có một vài đặc trưng 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ế hoàn toàn khác, ví dụ như một người cụ thể sẽ có đầy đủ các chi tiết và thông tin nhiễu chẳng hạn như các tư thế và sự chiếu sáng khác nhau, khó 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 đối tượng chuyển động qua vùng quan sát của camera, hình ảnh về đối tượng có thể thay đổi Sự thay đổi này đến từ 3 nguồn chính: thay đổi tư thế đối tượng, sự biến dạng của đối tượng, thay đổi về độ chiếu sáng, và sự che khuất một phần hay toàn

bộ đối tượng

Có rất nhiều phương pháp để giải quyết bài toán trên, có thể phân thành bốn loại chính: dựa trên mô hình, dựa trên miền, dựa trên đường viền và dựa trên đặc trưng

• Dựa trên mô hình

Dựa trên mô hình là phương pháp tạo mô hình cấu trúc của đối tượng Nhưng vấn đề là quá trình khởi tạo tự động khó, chi phí tính toán cao do độ phức tạp của mô hình

• Dựa trên miền

Phương pháp dựa trên miền là phương pháp 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

Trang 10

phép đo độ tương tự Lợi ích của PP 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

• Dự trên đường viền

Phương pháp dựa trên đường viền bao gồm tìm đường viền bao của đố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 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 phần Nhưng vấn đề yêu cầu là khởi tạo chính xác, và điều này thì khó thực hiện tự động

• Dự trên đặc trưng

Phương pháp 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 Chẳng hạn 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 trưng vẫn còn thấy được và có thể 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, đó không phải là một nhiệm vụ dễ

Trang 11

1.2 Quy trình theo vết đố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

• Phân vùng

• Theo vết đối tượng

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

Các hệ thống theo vết đối tượng thường bắt đầu bằng quá trình phát hiện đối tượng Phát hiện đối tượng được lặp lại trong chuỗi ảnh để hỗ trợ cho quá trình theo vết Một số phương pháp phát hiện đối tượng thông dụng:

a) Dự trên đặc trưng

Phương pháp này có nhiều cách chọn đặc trưng như: dựa trên hình dáng, màu sắc Trong đó, dựa trên màu sắc được xem là thông dụng nhất vì màu sắc thì dễ dàng lấy được và chi phí tính toán thấp

b) Dựa trên mẫu

Nếu như có 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 Việc so khớp chính xác các đặc trưng thường tốn nhiều chi phí và phụ thuộc vào chi tiết, mức độ chính xác của mẫu đối tượng

c) Dựa trên chuyển động

Hầu hết các hệ thống theo dõi đều 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 công

bố Trong đó, 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 pháp theo cách tiếp cận này là: 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

Trang 12

1.2.2 Phân vùng

Phân vùng các chuỗi ảnh 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 [10] Việc phân vùng 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 vùng dựa trên các phép đo cục bộ

• Phân vùng dựa trên phân cụm đơn giản hay sự mâu thuẫn với vận tốc nền

• Phân vùng dựa trên các phép biến đổi ảnh phân tích

• Phân vùng dựa trên quá trình quy tắc hóa

• Phân vùng dựa trên phân cụm có sắp xếp toàn cục

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

Theo vết đối tượng 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 ảnh, bao gồm sự hiện diện, vị trí, kích thước, hình dáng… của đối tượng [12]

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

• So khớp mẫu

• Theo vết Meanshift

• Phương pháp 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)

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 [11] 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

Trang 13

dạng lớn cũng có thể được theo vết [3] 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 thì 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

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, khuyết điểm của PP So khớp mẫu

• Ư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

Trang 14

1.3.2 Theo vết Meanshift

Dorin Comaniciu đã công bố phương pháp theo vết màu Meanshift [4]

Đâ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í x i trong miền ứng viên của theo vết sẽ tương ứng với một trọng số w i

u

u

y p

q W

1

))(()( 

Với b(x i ) là giá trị màu tại x i và là giá trị tại màu u của mô hình đích,

và 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:

2 0

1

h

x y g w

h

x y g w x y

i

i i

i

i i i

Với g(x) = −k'(x) 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

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

1.3.3 Phương pháp Bayesian

1.3.3.1 Ước lượng Bayesian

Tiếp cận theo phương pháp Bayesian [5] 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 để dự đoán trạng thái của đối tượng

Trang 15

và phương trình cập nhật để 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 trên đối tượng

Mục tiêu của phương pháp Bayesian là ước lượng trạng thái Xk dựa trên Z1:k Ta ký hiệu, giá trị ước lượng Xk dựa trên Z1:k là Xk|k

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

Xk|k=g(Z1:k)

Mục tiêu của ước lượng Bayesian là tìm dạng hàm g(.) sao cho giảm thiểu chi phí kỳ vọng Ta có thể giảm thiểu chi phí kỳ vọng toàn thể bằng cách chọn g(.) sao cho giảm thiểu kỳ vọng điều kiện cho mỗi giá trị Z1:k Chi phí kỳ vọng này có thể được viết như sau:

E Z

k k k

,

: 1 : 1 : 0 : 1

Phương pháp lọc Bayesian được thực hiện đệ quy đối với p(Xk|Z1:k) qua hai bước:

X k

Z k p

Z k

X k p

: 1

| 1

|

1 : 1

|

| 1

: 1

|

Trang 16

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

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

• Lọc Kalman

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

Trang 17

k Hx v

z  

Các tham số ngẫu nhiên wk và vk thể hiện nhiễu của quá trình và nhiễu của phép đ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(0,Q) p(v)~N(0,R)

Thực tế, các ma trận hiệp biến nhiễu quá trình Q và hiệp biến nhiễu phép đo 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

Trang 18

1 1

ˆ

ˆk  A x k bu kx

Q A AP

ˆ

k

k K z H x x

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

Trang 19

Chương 2: Lọc hạt (Particle Filter) 2.1 Phương pháp Lọc

Lọc 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 [9] 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 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 Gaussian)

(Non-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 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 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 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ụ

Trang 20

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 Đ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, sự ra đời của thuật toán CONDENSATION [2]

và một loạt các thuật toán lọc tổng quát dựa vào phương pháp Tuần Tự

Monte Carlo (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 gọi 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 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

Trang 21

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 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ối phi tuyến, phi Gauss, thỏa 2 giả định của bài toán lọc Bayes đệ quy như sau

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

)

| ( )

| ( xt x0:t1  p xt xt1p

Các giá trị độ đo có được tại một thời điểm bất kỳ chỉ phụ thuộc vào trạng thái của hệ tại thời điểm đó

z p

1 :

1 :

(

Các trạng thái {x t ; t ∈ N },x t ∈ X của hệ có phân phối xác suất ban

đầu p(x 0 ) và xác suất chuyển trạng thái p( x t | x t−1 ) , {z t ; t ∈ N*}, z t ∈ Y là các quan sát tương ứng với các thời điểm Đồng thời, ta định nghĩa

Trang 22

 lần 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

) ( x0p

1 ),

| ( x x1 t

p t t

1 ),

|

p 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 p ( x0:t | z1:t), các đại lượng đặc trưng của nó (quan trọng nhất là phân phối lề p ( xt | z1 t: ), còn được gọi là mật độ lọc – filtering distribution)

và kỳ vọng toán học

z x p

f I

t

t| ) 0 : 0 : 0 : 1 : 0 :

) (

: 1 :

p Các ví dụ về hàm này bao gồm trung bình có điều kiện

(Conditional Mean) ft( x0:t)  x0:t hoặc hiệp phương sai có điều kiện

(Conditional Covariance)

z x p t z x p

T t t t

f

t t t

t| ) ( | ) ( 0: 1: 0: 1:

)

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

z x p t z x p

T t t t

Trang 23

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

)

| ( x0:t1 z1:t1

)

| (

)

| ( )

| ( )

| ( )

| (

: 1 1

1 1

1 :

1 : 0 1

: 1 1 : 0

t t

t t t

t t

t t

t

z z p

x x p x z p z x p z

x p

| (

)

| ( )

| ( )

| (

1 : 1

1 : 1 :

1

t t t

t

t t t

t t

t

z x p x z p

z x p x z p z

x 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

Trang 24

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 C rlo

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,

1)(

1

N x P

N

i x

Trong đó, x i)(dx) ký hiệu hàm delta-Dirac có tâm tại x (i) Vậy, I(f )

có thể được xấp xỉ bằng tích phân Monte Carlo (Monte Carlo Integration)

N x P x f f I

1

)

)(

1)()()(

Trang 25

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

của f (x) thỏa 2f(f)E p(x|z)f2(x)I2(f) thì phương sai của I N ( f)

được cho bởi

N f

I N f

2

)

 Vậy ta có : I N(f)  a.s I N(f) với xác suất 1

Từ những lập luận trên, ta thấy, dùng tập các mẫu ngẫu nhiên

{x(i);i=1,…,N}, ta có thể dễ dàng ước lượng được I(f ) Dựa vào ước lượng

này, ta cũng có thể dễ dàng tính được mức độ hội tụ của phép ước lượng, hay mức độ lỗi của nó

Không những thế, điểm mạnh của phương pháp tích phân Monte Carlo còn nằm ở chỗ nó không phụ thuộc vào số chiều của dữ liệu Điều này

có nghĩa là, phương pháp tích phân Monte Carlo độc lập với số chiều của phép tính tích phân Tuy nhiên, một vấn đề gặp phải khi áp dụng phương pháp tích phân Monte Carlo chính là làm sao để có thể tạo ra một tập các

mẫu ngẫu nhiên từ phân phối xác suất đích p(x|z) bất kỳ một cách hiệu quả

Thật không may là chúng ta thường không có cách nào để sinh ra tập mẫu

này một cách trực tiếp từ phân phối xác suất đích p(x|z) Vì p(x|z), trong

trường hợp tổng quát, thường là đa biến và không có một dạng chuẩn nhất

định mà chúng ta có thể biết trước (dạng của p(x|z) có thể biến đổi theo thời

gian)

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

Trang 26

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

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 fX (x) Bài toán đặt ra

là sinh các giá trị ngẫu nhiên tương ứng với biến ngẫu nhiên nói trên

Gọi F x(x) f x(x)dx là hàm tích lũy xác suất của f x (x) Giả sử tồn tại

hàm nghịch đảo F X1(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]

• Bước 2: Giải xF X1(u)Bằng cách này, giá trị thu được từ thuật toán chính là mẫu ngẫu nhiên được sinh ra từ hàm mật độ xác suất f x (x) và tích lũy xác suất

f x dx x

F x( ) x( ) tương ứng 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 F X (x) có dạng đơn giản và có thể giải được, ngoài ra, việc giải xF X1(u) 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 F X (x) là một hàm tổng quát, phức tạp và hàm nghịch đảo F X1(u) của nó không có dạng đủ đơn giản để có thể tính toán hiệu quả

Trang 27

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ể

| (

z x p

• Bước 3: nếu u ≤ r , chọn x (i) ; ngược lại, loại trừ x(i)

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

ra đều tuân theo mật độ xác suất p (x | z)

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

Trang 28

Hình trên 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

x: p(x|z)00,xmax; ta chọn hàm mật độ (x|z)~U(0,xmax) Rõ ràng,

mẫu ngẫu nhiên x(i) được sinh ra từ hàm mật độ (x|z)~U(0,xmax), đã chọn Trong trường hợp này, xác suất để chấp nhận một mẫu x i) ~U( 0 ,xmax) là

C z x p x

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 một mẫu mong muốn Ngoài ra, để tìm được giá trị

hợp lý của C, thuật toán đòi hỏi phải tính được

)

| (

z x

z x p

 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

Trang 29

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 trên việc mô phỏng một xích Markov trong không gian trạng thái của , sao cho mật độ (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 Eg (x ) 

X

f Nếu đã có một tập mẫu

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

suất f X(*) , ta có thể ước lượng biểu thức này bằng

   n

n x g E

X ( ) 1 1 ( )

Theo luật mạnh số lớn, ước lượng trên là hợp lý Trong thực tế, từ

f X(*) khó có thể trực tiếp sinh ra các mẫu độc lập và đồng 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 π(xt+1|xt), trong đó, tại mỗi

thời điểm t , x t+1 được sinh ra phụ thuộc vào xt trước đó và x0 là giá trị khởi tạo của xích (hàm π(*) 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 π(xt+1|xt) nhằm sinh 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ừ

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

• Bước 1: Sinh ngẫu nhiên X ~ ~  (* | x(i)) và tính

Trang 30

~ ( ) , (

)

~ , ( ) ,

~ ( , 1 min )

,

~

) )

(

i i

i i

x x z x p

x x z x p x

x r

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ậttoá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

Trang 31

nhiên, do tính chất 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

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 nghiệm XF x1(u)

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

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

)

|(

z x

z x p

Trong khi đó, phương phá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 đó, π (*) 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 xD,p(x|z)  0 (x|z), nghĩa là tại mọi điểm

x tại đó p(x|z)>0 thì π (x|z) cũng tồn tại và có π (x|z)>0 Nói cách khác, tại

Trang 32

bất kỳ điểm nào trong miền xác định của x , π (*| z) cũng có khả năng mô

phỏng được p(*|z)

Với những giả định trên, ta có tích phân

dx z x z x

z x p x f f

)

| (

)

| ( ) ( )

IP x z   x z

Trong đó

)

| (

)

| ( ) (

*

z x

z x p x w

E p (* z| ) * hay E p * |z ký hiệu cho kỳ vọng tương ứng với hàm mật

độ xác suất p(*|z) Từ giả định về hàm π (x|z), hiển nhiên ta có thể dễ dàng thu được một tập mẫu ngẫu nhiên độc lập, đồng nhất {x(1),…,x(N)} tương ứng

với π(x|z) Như vậy, biểu thức có thể được ước lượng bằng tích phân Monte

x w x f N f I

1

) )

)(

*)(

1)(

Đặt w*(i) =w*(x(i) )=p(x(i)|z) π (x(i)|z), gọi là trọng số (Importance

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

1

) )

*)(

1)(

Trang 33

Biến đổi i w*(i) và tránh trực tiếp ước lượng biểu thức p(x|z)

như sau:

)

| (

1 )

(

) ( )

| ( )

| (

)

| (

) ) )

) )

z x z

p

x p x z p z x

z x p

i i i

i i

x p x z p x f f

)

|()(

)()

|()()

(

)

| (

)

| (

x w E

x w x f E f I

z x

z x

thuật toán IS không chỉ là ước lượng của tích phân ∫ f (x)p(x|z)dx mà còn là

ước lượng của xác suất posterior qua một biến đổi 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ệ

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ật độ xác suất p(x|z) mà không đòi hỏi phải thực sự có khả năng tạo tập mẫu ngẫu nhiên 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 Metropolis-Hasting, các mẫu được phân phối theo hàm mật

độ p(x|z), thì đối với 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

Trang 34

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.2.6 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 quát Tuy nhiên, tại mỗi thời điểm t, ta cần phải truy cập

và sử dụng tất cả mọi thông tin trong Z1:t trước khi có thể tính được p(X0:t|Z1:t) Nói theo cách khác, mỗi khi dữ 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 SIS cho ta một phương pháp để ước lượng mật độ xác suất posterior bằng P ˆ x N( ) Trong đó, P ˆ x N( ) được cho bởi

tập mẫu-trọng số  N

i i i W

X ), ~ ) 1, với ~ i)

W là trọng số chuẩn hóa tương ứng

với các mẫu x(i)

Trang 35

Hình 2.2: Phương pháp lấy mẫu quan trọng tuần tự

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ỉ ˆ ( | )

: 1 :

|()

|()

|(x0:t z1:tx0:t 1 z1:t 1  x t x0:t z1:t

x

1

: 1 1 : 0 0

: 1 :

vào thủ tục đơn giản sau:

• Bước 1: Sinh ra một X t i) ~(z t |x0:t1,z1:t) mới

• Bước 2: Đặt X0:i t) (z t|x0:i t)1,x t i))

Trang 36

Để sinh ra một mẫu )

: 0

i t

X mới từ (x0:t|z1:t), ta cần phải tái tạo lại toàn

bộ các mẫu )

1 : 0

i t

X  trước đó

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 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 z1:t−1 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 t, z t Thứ hai, ta cũng không muốn ghi lại những thông tin về trạng thái trước )

1 : 0

i t

X  Điều 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 t −1 Như vậy ta có

x

1

1 0

: 1 :

0 | ) ( ) ( | , )

),

|(

)

|()

|(

) 1 )

) 1 ) ) )

1 )

t i t i t

i t i t i t t i

t i t

z x x

x x p x z p w w

i t

X cũng như quan sát z1:t−1 Như vậy phương trình lúc này 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 Đ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 Sequential Importance Sampling

Trang 37

2.3 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 N →∞ trong

khi chỉ có thể xử lý một lượng mẫu 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 p(x|z) mà là từ hàm mật độ đề xuất Một cách

trực quan, ta nhận thấy vị 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

Mật độ đề xuất tối ưu

Hàm mật độ đề xuất làm cực tiểu hóa phương sai var là

i t t opt X |X)1,Zp X |X)1,Z

Trang 38

   

i t i t opt

i t t i t t i t i t

Z X X

X X p X Z p w w

) 1

) )

1 )

i t t i t i t

Z X X p

X Z X p w

,

|

|,

) 1 )

) 1 )

) 1

, i t t i

t X Z w X

t X Z

X

p | )1, , hàm mật độ này có thể là không chuẩn Hai là, việc tính (i)

t w

đòi hỏi phải thực hiện một phép tính tích phân

t i t i t t i

t

t X p Z X p X X dX Z

1 ) )

i t

t X Z X

p | 1), là có thể thực hiện được Trường hợp thứ hai, tương tự như mô hình hệ 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, 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  t

i t

t X Z X

p | )1, cũng có dạng tuyến tính và có thể phát sinh mẫu từ hàm này tương đối đơn giản

Trang 39

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 được chọn trong các ứng dụng là    )

1 )

đề xuất như trên, biểu thức tính (i)

t

i

t w p Z X

w   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ả Ở đây, hàm likelihood

p | có dạng tập trung tại một điểm, trong khi hàm mật độ đề xuất 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

Hình 2.3: 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

Trang 40

Như đã được chỉ ra trong [1], 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

1 )

Trong phần này trình bày về phương pháp để giảm bớt tác dụng của

hiện tượng thoái hóa mẫu, đó là phương pháp tái chọn mẫu (Resampling)

Trong những phần trên, ta đã biết   N X  t

i

i t t

1

~

|

ước lượng rời rạc của hàm mật độ pX t |Z1:t Sau một vài lần thực hiện, tất

cả các mẫu đều có trọng số rất nhỏ, ngoại trừ một mẫu 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 pX t |Z1:t mà chỉ có những mẫu tương đối gần với kỳ vọng I(f ) mới có đóng góp đáng kể trong

việc quyết định giá trị của hàm Phương pháp tái chọn mẫu giải quyết vấn đề

này bằng cách sắp xếp và điều chỉnh lại N mẫu đã có sẵn để xấp xỉ tốt hơn

hàm mật độ này

Gọi X~t i)là vectơ trạng thái trước khi tái chọn mẫu và (i)

t

X 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ạ

i

i t N

i i t i t

N X w

X

1

) 1

)

,

~ ,

Ngày đăng: 18/12/2013, 14:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] LÊ HOÀI BẮC, TRƯƠNG THIÊN ĐỈNH (2004), “Hệ thống theo dõi giao thông bằng thị giác máy tính”, Tạp chí Phát triển KH-CN, tập 7, số 10/2004 Sách, tạp chí
Tiêu đề: Hệ thống theo dõi giao thông bằng thị giác máy tính”
Tác giả: LÊ HOÀI BẮC, TRƯƠNG THIÊN ĐỈNH
Năm: 2004
[2] Andrew Blake, Michael Isard (1996), The CONDENSATION Algorithm - Conditional Density Propagation and Applications to Visual Tracking, NIPS 1996: 361-367 Sách, tạp chí
Tiêu đề: The CONDENSATION Algorithm - Conditional Density Propagation and Applications to Visual Tracking
Tác giả: Andrew Blake, Michael Isard
Năm: 1996
[3] A.K. Jain, Y. Zhong, and S. Lakshmanan (1996), “Object Matching Using Deformable Templates” , IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 18, no. 3, pp. 267–278 Sách, tạp chí
Tiêu đề: “Object Matching Using Deformable Templates”
Tác giả: A.K. Jain, Y. Zhong, and S. Lakshmanan
Năm: 1996
[4] LE HOAI BAC, PHAM NAM TRUNG, LE NGUYEN TUONG VU (2006), “Applied Particle Filter in Traffic Tracking”, IEEE Transactions on signal processing Sách, tạp chí
Tiêu đề: “Applied Particle Filter in Traffic Tracking”
Tác giả: LE HOAI BAC, PHAM NAM TRUNG, LE NGUYEN TUONG VU
Năm: 2006
[5] Darryl Morrell (2003) , “Filtering of Stochastic Processes”, Department of Electrical Engineering, Arizona State University, EEE 581 - Lecture 2 Sách, tạp chí
Tiêu đề: Filtering of Stochastic Processes”
[6] Greg Welch, Gary Bishop (2003), An introduction to the Kalman Filter, Department of Computer Science, University of North Carolina at Chapel Hill Sách, tạp chí
Tiêu đề: An introduction to the Kalman Filter
Tác giả: Greg Welch, Gary Bishop
Năm: 2003
[7] H. Nait-Charif, S. McKenna (2003), Tracking Poorly Modelled Motion Using Particle Filters with Iterated Likelihood Weighting, Proc. of Asian Conf.on Comp. Vis Sách, tạp chí
Tiêu đề: Tracking Poorly Modelled Motion Using "Particle" Filters with Iterated Likelihood Weighting
Tác giả: H. Nait-Charif, S. McKenna
Năm: 2003
[9] Rudolph van der Merwe, Arnaud Doucet, Nando de Freitas, Eric A (2000), “The Unscented Particle Filter”, NIPS 2000: 584-590 Sách, tạp chí
Tiêu đề: “The Unscented Particle Filter”
Tác giả: Rudolph van der Merwe, Arnaud Doucet, Nando de Freitas, Eric A
Năm: 2000
[10] Stephen M. Smith (1997), Reviews of Optical Flow, Motion Segmentation, Edge finding and Corner Finding, Department of Clinical Neurology, Oxford University, Oxford Sách, tạp chí
Tiêu đề: Reviews of Optical Flow, Motion Segmentation, Edge finding and Corner Finding
Tác giả: Stephen M. Smith
Năm: 1997
[11] W. Krattenthaler, K.J. Mayer, and M. Zeiller (1994), “Point Correlation: A Reduced-Cost Template Matching Technique”. Proc. ICIP, pp. 208–212 Sách, tạp chí
Tiêu đề: “Point Correlation: A Reduced-Cost Template Matching Technique”
Tác giả: W. Krattenthaler, K.J. Mayer, and M. Zeiller
Năm: 1994
[12] Zhong Guo (2001), Object Detection and Tracking in Video, Department of Computer Science, Kent State University Sách, tạp chí
Tiêu đề: Object Detection and Tracking in Video
Tác giả: Zhong Guo
Năm: 2001
[8] Jun S. Liu, Rong Chen (1998), Sequential Monte Carlo Methods for Dynamic Systems Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Ví dụ về phương pháp lấy mẫu loại trừ - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 2.1 Ví dụ về phương pháp lấy mẫu loại trừ (Trang 27)
Hình 2.2:  Phương pháp lấy mẫu quan trọng tuần tự - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 2.2 Phương pháp lấy mẫu quan trọng tuần tự (Trang 35)
Hình 2.3: 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 - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 2.3 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 (Trang 39)
Hình 2.4: ví dụ về thuật toán tái chọn mẫu hệ thống - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 2.4 ví dụ về thuật toán tái chọn mẫu hệ thống (Trang 45)
Hình 2.5: Ví dụ về bộ lọc hạt để khởi tạo và lấy mẫu - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 2.5 Ví dụ về bộ lọc hạt để khởi tạo và lấy mẫu (Trang 48)
Hình 2.6: Biểu đồ màu của khung được chọn - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 2.6 Biểu đồ màu của khung được chọn (Trang 51)
Hình 3.1: Biểu đồ mức độ chính xác của số lượng hạt - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 3.1 Biểu đồ mức độ chính xác của số lượng hạt (Trang 59)
Hình 3.2: Minh hoạ các bước tái chọn mẫu - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 3.2 Minh hoạ các bước tái chọn mẫu (Trang 60)
Hình 3.3: Kết quả sau khi tái chọn mẫu (Resampling) - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 3.3 Kết quả sau khi tái chọn mẫu (Resampling) (Trang 60)
Hình 3.4: Video người đi bộ  Hình 3.5: Video người chạy xe - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 3.4 Video người đi bộ Hình 3.5: Video người chạy xe (Trang 64)
Hình 3.6: Video chạy theo xe ôtô  Hình 3.7: Video bình hoa - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Hình 3.6 Video chạy theo xe ôtô Hình 3.7: Video bình hoa (Trang 64)
Bảng 3.1 : Thử nghiệm Colour-based, số lượng hạt là 50 - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Bảng 3.1 Thử nghiệm Colour-based, số lượng hạt là 50 (Trang 66)
Bảng 3.5 : Thử nghiệm Colour-based, số lượng hạt là 1000 - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Bảng 3.5 Thử nghiệm Colour-based, số lượng hạt là 1000 (Trang 69)
Bảng 3.6 : Thử nghiệm Template-based, số lượng hạt là 50 - Xây dựng hệ thống quan sát và theo vết đối tượng cho robot tự hành
Bảng 3.6 Thử nghiệm Template-based, số lượng hạt là 50 (Trang 72)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w