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 1TRƯỜ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 2TRƯỜ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 3Mụ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 42.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 5Cá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 6D 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 7Mở đầ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 8Bố 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 9Chươ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 10phé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 111.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 121.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 13dạ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 141.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 15và 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 161.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 17k 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 181 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 19Chươ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 20Và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 21Khô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:t1 p xt xt1p
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 x1 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 23Và phương trình đệ quy để tính phân phối xác suất đồng thời
)
| ( x0:t1 z1:t1
)
| (
)
| ( )
| ( )
| ( )
| (
: 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 24và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 25Biể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 26IS 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 X1(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 X1(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 X1(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 X1(u) của nó không có dạng đủ đơn giản để có thể tính toán hiệu quả
Trang 272.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 28Hì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)00,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 29Thuậ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 E g (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 31nhiê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 X F x1(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 32bấ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
)
| (
)
| ( ) ( )
I P x z x z
Trong đó
)
| (
)
| ( ) (
*
z x
z x p x w
Và 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 33Biế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 34Từ 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 35Hì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:t x0: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:t1,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 372.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,Z p 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 39Việ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 40Như đã đượ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
)
,
~ ,