ứng dụng lọc particle trong bài toán theo vết đối tượng
Trang 1TRƯỜ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
Trang 2TRƯỜ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
Trang 3LỜ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…
Sinh viên thực hiện
Nguyễn Minh Trang
Trang 4Nhận xét của giáo viên hướng dẫn
Trang 5
Nhận xét của giáo viên phản biện
Trang 6
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)
Trang 7MỞ ĐẦ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
Trang 8• 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
Trang 9MỤ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
Trang 102.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
Trang 114.2 Hướng phát triển 94 DANH MỤC TÀI LIỆU THAM KHẢO 96
Trang 12Danh 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
Trang 13Hì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
Trang 14Danh 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) 54Bả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) 55Bả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) 55Bả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) 55Bả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 91Bả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
Trang 15Luậ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
Trang 16Luậ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
Trang 17Luậ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
Trang 18Luậ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
Trang 19Luậ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)
Trang 20Luậ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à
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
Trang 21Luậ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í 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
y p
q w
)()ˆ(ˆ
ˆ
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
u
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:
Trang 22Luận văn tốt nghiệp
i
h
x y g w
h
x y g w x y
2 0
2 0
1
ˆ (2)
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
Các bước tính toán cơ bản trong phương pháp theo vết Meanshift:
Cho trước mô hình đích { }qˆu u=1 m và vị trí của nó trong frame trước ˆy0
1 Khởi tạo vị trí của đích trong frame hiện tại với ˆy0, tính mô hình ứng viên
3 Tìm vị trí đích ứng viên kế tiếp theo (2)
4 Tính ra mô hình mới {p yˆ ˆu( )1 }u=1 m và tính được
6 Nếu yˆ1− yˆ0 <ε thì dừng, nếu không yˆ0 ← yˆ1, tiếp tục bước 2
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
Trang 23Luậ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: X0:k = X ,X , ,X0 1 k
• Chuỗi các giá trị trạng thái từ thời điểm 0 đến k: x0:k = x , x , , x0 1 k
• Hàm mật độ của Xk: p x ( )k
• Hàm mật độ ghép từ X0 đến Xk: p x ( 0:k) = p x , x , , x ( 0 1 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: Z1:k= Z , Z , , Z1 2 k
• Giá trị quan sát tại thời điểm k: zk
• Hàm mật độ của Zk: p z ( )k
• Hàm mật độ ghép từ đến Z1 Zk: p z ( )1:k = p z ,z , ,z ( 1 2 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
ký hiệu, giá trị ước lượng dựa trên là
Trang 24Luận văn tốt nghiệp
Lỗi ước lượng: Xk|k =Xk−Xˆk|k Hàm chi phí như là bình phương cho lỗi ước lượng:
z
( )
( 1:k k)1:k 0:k 1:k 1:k
Trang 25Luậ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 ParticleLọ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
Vấn đề chung của Kalman Filter [Welch2003] là cố gắng ước lượng trạng thái x∈Rm
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
Trang 26Luận văn tốt nghiệp
Các tham số ngẫu nhiên và 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
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 27Luậ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
1
ˆk
x − để dự đoán một ước lượng priori mới xˆk−” lặp lại Tính chất đệ quy này là một 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:
Các tham số ngẫu nhiên và thể hiện nhiễu của quá trình và nhiễu của phép
đo như trong thuật toán lọc Kalman trên
Với ˆx là ước lượng posterior của trạng thái (từ thời điểm trước bước ) k k
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
k k -1 k
x = f x ,u ,0
Trang 28Luận văn tốt nghiệp
đ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 29Luậ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ụ
Trang 30Luậ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
Trang 31Luậ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
• 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
xác suất chuyển trạng thái p(x xt | t−1), {zt;t∈ * ,} zt∈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 x0:t {x0, ,… xt} và z1:t {z1, ,… zt} 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
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ẽ
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 rời
rạc và mật độ xác suất p x 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 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
Trang 32Luận văn tốt nghiệp
( )
0 1
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
( 0:t | 1:t)
p x z , các đại lượng đặc trưng của nó (quan trọng nhất là phân phối lề
, còn được gọi là mật độ lọc – filtering distribution) và kỳ vọng toán học
về hàm này bao gồm trung bình có điều kiện (Conditional Mean) f t( )x0:t =x hoặc 0:t
hiệp phương sai có điều kiện (Conditional Covariance)
( ) T ( t|1:t) T( t| 1:t)
f x =x x −E x z ⎡ ⎤⎣ ⎦x E x z ⎡ ⎤⎣ ⎦x
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
Trang 33Luận văn tốt nghiệp
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
( ) ( ) ( | )
I f =∫ f x p x z x (2.3) d
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
Distributed – i.i.d)
N
( )
{xi ;i=1, ,… N từ phân phối xác suất } p x z Như vậy, phân phối ( | )
xác suất p x z( | ) có thể được ước lượng như sau
Trang 34Luận văn tốt nghiệp
x x ký hiệu hàm delta-Dirac có tâm tại x( )i Vậy, I f có thể được ( )
xấp xỉ bằng tích phân Monte Carlo (Monte Carlo Integration) như sau
N N
→+∞
→Trong đó là ký hiệu của “hội tụ hầu chắc chắn” (Almost Sure Convergence)
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,
ta thấy, dùng tập các mẫu ngẫu nhiên
⇒
( )
{xi ;i=1, ,… N , ta có thể dễ dàng ước lượng }
được I f 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ễ ( )
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
phương pháp xấp xỉ tích phân Riemann, trong đó không gian trạng thái được mô hình
hóa bằng một phương trình giải tích, độ chính xác của phéwp xấp xỉ sẽ là O N( −1/ nx)
đố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
Trang 35Luậ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
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( − 1/ 2) và
không phụ thuộc vào số chiều của dữ liệu Điều này có nghĩa là, phương pháp tích
phân Monte Carlo độc lập với số chiều của phép tính tích phân
nx
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ó
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)
( | )
p x z ,
vì , trong trường hợp tổng quát, thường là đa biến và không có một dạng chuẩn
nhất định (non-standard) mà chúng ta có thể biết trước (dạng của có thể biến
đổi theo thời gian)
( |
p x z)
) ( |
p x z
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
Trang 36Luậ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
với biến ngẫu nhiên nói trên
F− 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⎤
ra từ hàm mật độ xác suất
x
( )
X
f x và tích lũy xác suất F X ( )x =∫ f X ( )x dx , 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
Trang 37Luậ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
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: x
• Bước 1: sinh mẫu x( )i từ π(x z và tính | )
|
i
i
p r
Hình 1 Ví dụ về phương pháp lấy mẫu loại trừ
Trang 38Luậ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 ( | )
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 , thuật toán đòi
hỏi phải tính được
C
( ) ( | )
⎬ 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
Trang 39Luận văn tốt nghiệp
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à
x
( | )
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 f X ⎡⎣g( )x ⎤⎦ 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 ( )i , ta có thể ước lượng biểu
thức này bằng
( ) 1 1 ( )
X
n i
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|x , trong đó, tại mỗi thời điểm 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
( )
π 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 π(xt+1|x nhằm sinh t)
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∼π( )i|x( )i và tính
Trang 40Luận văn tốt nghiệp
( )
| |, min 1,
| |
i i
i
p r
• Bước 3: Nếu u r< x x( ), ( )i ,x( )i+1 = Ngược lại, x x( )i+ 1 =x ( )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ố p(x z| ) (/π x z Hơn nữa, tại mỗi bước thực | )
hiện của thuật toán, ta đều chọn được tối thiểu một mẫu x( )i+1 =x hoặc x( )i+1 =x , điều ( )i
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