Bộ lọc Kalman thực hiện phương pháp truy hồi đối với chuỗi các giá trị đầu vào bị nhiễu, nhằm tối ưu hóa giá trị ước đoán trạng thái của hệ thống.. Ngoài ra, bộ lọc Kalman còn được ứng d
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Tiểu luận môn TOÁN
Tìm hiểu bộ lọc KALMAN
GVHD: TS Dương Tôn Đảm
HVTH: Lê Đỗ Minh Nga
MSHV: CH1301101
TP HCM, tháng 11 năm 2014
Trang 2Mục lục
1 MỞ ĐẦU 3
2 NỘI DUNG 3
2.1 Tìm hiểu về Lọc 3
2.2 Giới thiệu lọc Kalman 3
2.3 Những vấn đề trong lọc Kalman 4
2.3 Ứng dụng lọc Kalman trong Xử lý ảnh 11
3 Kết luận 16
Tài liệu tham khảo 17
Trang 31. MỞ ĐẦU
Bộ lọc Kalman, được Rudolf (Rudy) E Kálmán công bố năm 1960, là thuật toán
sử dụng chuỗi các giá trị đo lường, bị ảnh hưởng bởi nhiễu hoặc sai số, để ước đoán biến số nhằm tăng độ chính xác so với việc sử dụng duy nhất một giá trị đo lường Bộ lọc Kalman thực hiện phương pháp truy hồi đối với chuỗi các giá trị đầu vào bị nhiễu, nhằm tối ưu hóa giá trị ước đoán trạng thái của hệ thống
Bộ lọc Kalman được ứng dụng rộng rãi trong kỹ thuật, phổ biến trong các ứng dụng định hướng, định vị và điều khiển các phương tiện di chuyển Ngoài ra, bộ lọc Kalman còn được ứng dụng để phân tích dữ liệu trong các lĩnh vực xử lý tín hiệu, xử lý ảnh và kinh tế
Bài thu hoạch này dựa trên những kết quả nghiên cứu của những người đi trước để tổng hợp những vấn đề liên quan tới thuật toán Kalman
Nội dung bài thu hoạch gồm hai phần:
-Tìm hiểu lọc Kalman
-Ứng dụng Kalman trong xử lý ảnh
2 NỘI DUNG
2.1 Tìm hiểu về Lọc
Trước tiên, bộ lọc là một quá trình xử lý nhằm loạị bỏ những gì không có giá trị hoặc không quan tâm đến và giữ lại những gì có giá trị sử dụng
Ví dụ trong xử lý ảnh: Bộ lọc làm mượt được sử dụng để làm mờ và giảm nhiễu hoặc được xử dụng trong một số bước tiền xử lý như xóa bỏ một số chi tiết nhỏ trong ảnh hoặc làm liền các khoảng trống nhỏ giữa các đường nét
2.2 Giới thiệu lọc Kalman
2.2.1 Đôi nét Rudolf Emil Kalman
Rudolf Emil Kalman sinh năm 1930 tại thủ đô Budapest, Hungary Năm nay (2013) ông đã 83 tuổi Ông tốt nghiệp bằng cử nhân và thạc sĩ về kĩ thuật điện tử
Trang 4năm 1953 và 1954 Ông nhận bằng tiến sĩ tại Đại học Columbia năm 1957 Ông đã từng là viện sĩ Viện Hàn lâm Khoa học Quốc gia (Mỹ), Viện Hàn lâm Kỹ thuật Quốc gia (National Academy of Engineering) (Mỹ) và Viện Hàn lâm Khoa học và Nghệ thuật (American Academy of Arts and Sciences) (Mỹ) Ông còn là viện sĩ của các viện hàn lâm ở các nước khác như: Viện Hàn lâm Khoa học Hungary, Pháp, Nga Ông cũng đã nhận nhiều bằng tiến sĩ danh dự
2.2.2 Lọc Kalman là gì:
Bộ lọc Kalman là một tập hợp các phương trình tóan học mô tả một phương pháp tính tóan truy hồi hiệu qủa cho phép ước đoán trạng thái của một quá trình
(process) sao cho trung bình phương sai của độ lệch (giữa giá trị thực và giá trị ước đóan) là nhỏ nhất Bộ lọc Kalman rất hiệu quả trong việc ước đóan các trạng thái trong quá khứ, hiện tại và tương lai thậm chí ngay cả khi tính chính xác của hệ thống mô phỏng không được khẳng định
Từ một tín hiệu cần đo, khi chúng ta đo, sẽ có những sai số từ cảm biến, ảnh hưởng đến tín hiệu cần đo, môi trường đo có nhiễu Tất cả những thứ này, tổng hợp lại,
sẽ cho ta một kết quả đo
2.3 Những vấn đề trong lọc Kalman
2.3.1 Mô hình tổng quát của ước lượng dùng lọc Kalman
Trang 5Chúng ta có thể ánh xạ các phần trong ví dụ dẫn nhập ở trên vào sơ đồ này như sau:
• Mô hình hệ thống: phương trình động học x(k) = x(k − 1) + 70
• Cảm biến: bộ phận định vị gắn trên vật
Giá trị ước lượng tối ưu: x^3
• Lọc Kalman: “hộp đen” tính các hệ số α và β
Một ước lượng thật sự sử dụng lọc Kalman cũng bao gồm các phần trên
Như vậy đến đây chúng ta có được các khái niệm cần thiết để bước vào xây dựng lọc Kalman và lọc Kalman - Bucy (thực chất là tìm và giải các phương trình để tính toán các tham số cho ước lượng tối ưu)
2.3.2 Lọc tối ưu cho trường hợp rời rạc
Cho mô hình trạng thái và quan sát như sau:
(Trạng thái) xk = Φk−1xk−1 + Bk−1uk−1 + wk−1, (2.1)k−1xk−1 + Bk−1uk−1 + wk−1, (2.1)
(Quan sát) zk = Hkxk + rk (2.2)
Trong các phương trình trên Φk−1xk−1 + Bk−1uk−1 + wk−1, (2.1), B và H là các ma trận được biết; k là chỉ số thời gian, x được gọi là trạng thái của hệ thống; u là một đầu vào được biết đến của hệ thống; z là đo đầu ra và w, r là các ồn trắng Biến w được gọi là nhiễu hệ thống và r được gọi là nhiễu đo lường
Vector x chứa tất cả các thông tin về tình trạng hiện tại của hệ thống, nhưng chúng
ta không thể đo x trực tiếp Thay vào đó chúng ta đo lường z, đó là một hàm của x
Trang 6và nó là bị nhiễu do ồn trắng r Ở đây ta giả sử w, r là không tương quan với x ; wk
và rk là các biến ngẫu nhiên độc lập và được giả sử là tuân theo phân phối Gauss với trung bình bằng 0 và ma trận hiệp phương sai lần lượt là Qk và Rk
wk ∼ N(0, Qk),
rk ∼ N(0, Rk) Bây giờ, chúng ta sẽ đi thiết lập ước lượng tốt nhất cho x dựa trên mô hình trạng thái và quan sát trên Giả sử chúng ta có ước lượng tiên nghiệm và hậu nghiệm của giá trị x ở thời điểm k là: x^k(−) và x^k(+) Giá trị tiên nghiệm là giá trị thu được
từ hệ thống còn giá trị hậu nghiệm là giá trị thu được sau khi đã kết hợp với giá trị
đo đạc (Khi đó sai số của các ước đoán tiên nghiệm và hậu nghiệm là:
εk(−) = xk – x^(−),k(−) = xk – x^(−), εk(−) = xk – x^(−),k(+) = xk – x^k(+)
Ma trận hiệp phương sai của hai sai số trên lần lượt được tính theo công thức:
Ta biết rằng ước lượng hậu nghiệm có được là từ ước lượng tiên nghiệm
kết hợp với quan sát Khi đó, ta có phương trình quan hệ giữa ước lượng tiên nghiệm và hậu nghiệm như sau:
(2.3) trong đó:
• x^k(−): giá nghiệm của x;
• x^k(+): giá trị hậu nghiệm của x;
• K k1 và K´ k : các ma trận chưa biết, K´ k gọi là độ lợi của lọc Kalman
Theo quy tắc trực giao, để hiệp phương sai của sai số của ước lượng hậu nghiệm là nhỏ nhất thì ta phải có:
Trang 7Thay (2.1) và (2.3) vào phương trình (2.4) ta nhận được:
Tiếp tục thay zk = Hkxk + rk vào ta thu được:
Sử dụng các điều kiện sau:
Và
Biến đổi phương trình trên, ta nhận được:
Như vậy ta có:
Theo quy tắc trực giao ta có:
Trang 8Trừ hai phương trình này ta được:
Thay (2.6) vào (2.7) và bỏ qua đối số thời gian ta nhận được:
Ta lưu ý rằng giữa tín hiệu và nhiễu không tương quan, từ đó ta có:
Hay
Ta lại có
ta có thể tiếp tục biến đổi như sau:
Bây giờ chúng ta đi xem xét từng số hạng trong tổng trên:
Trang 91 Số hạng thứ nhất:
2 Số hạng thứ hai, ta lưu ý thêm giữa tín hiệu và nhiễu là không tương quan
3 Ở số hạng thứ ba, ta có thể biến đổi như sau:
4 Số hạng thứ tư giống như cách chuyển đổi ở số hạng thứ ba:
Khi đó, biểu thức (2.9) có thể viết dưới dạng:
Kết hợp (2.8), chúng ta nhận được biểu thức cuối cùng:
Như vậy bằng cách sử dụng hiệp phương sai của sai số ước lượng tiên nghiệm kết hợp với quan sát (giá trị đo được) ta có hiệp phương sai của sai số ước lượng hậu nghiệm
Dựa vào phương trình trạng thái, ta dự đoán ước lượng tiên nghiệm của vecto trạng thái tại thời điểm tiếp theo là:
Trang 10và một ước lượng tiên nghiệm của hiệp phương sai của sai số:
Sau đó quy trình cập nhật được lặp đi lặp lại
2.3.3 Thuật toán cho lọc Kalman
Như vậy, lọc Kalman gồm hai giai đoạn chuẩn bị và năm giai đoạn chính
Hai giai đoạn chuẩn bị:
1 Đối với thời gian đầu ước lượng tiên nghiệm của trạng thái là xb0(−) và hiệp phương sai P0(−) xem như được xác định
2 Sự đổi mới của vecto trạng thái được thực hiện theo công thức:
và ma trận hiệp phương sai của sai số ước lượng được cập nhật thu được là:
trong đó:
Năm giai đoạn chính của lọc Kalman:
1 Ước lượng tiên nghiệm tại thời điểm k+1 được ngoại suy (dự đoán) bởi công thức:
2 Tiếp theo ma trận hiệp phương sai của sai số của ước lượng tiên nghiệm tại thời điểm k+1 được tính bởi:
Trang 113 Ma trận độ lợi được tính bởi:
4 Ma trận hiệp phương sai của sai số của ước lượng hậu nghiệm này được tính như sau:
5 Ước lượng tối ưu (kết hợp vecto đo):
2.3 Ứng dụng lọc Kalman trong Xử lý ảnh
2.3.1 Tổng quan xử lý ảnh
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Nó là một ngành khoa học
mới mẻso với nhiều ngành khoa học khác nhưng tốc độphát triển của nó rất nhanh, kích thích
các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó
Các phương pháp xử lý ảnh bắt đầu từcác ứng dụng chính: nâng cao chất lượng ảnh và
phân tích ảnh Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ Luân đôn đến New York từnhững năm 1920 Vấn đềnâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955 Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh sô thuận lợi Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của
Mỹbao gồm: làm nổi đường biên, lưu ảnh Từnăm 1964 đến nay, các phương tiện
xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng Các phương pháp tri thức nhân tạo như mạng nơron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụnén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan
Trang 12Quá trình xử lý ảnh là quá trình thao tác đầu vào nhằm cho ra kết quả mong đợi Kết quả đầu ra có thể là một ảnh tốt hơn hoặc kết luận
2.3.2 Những vấn đề trong ứng dụng bộ lọc Kalman trong xử lý ảnh
Bộ lọc Kalman có rất nhiều công dụng, bao gồm cả các ứng dụng trong kiểm soát, chuyển hướng, thị giác máy tính, xử lý ảnh, và tài chính…
2.3.2.1 Ứng dụng trong thị giác máy tính phát hiện đối tượng trong ảnh
Đối tượng được phân đoạn bằng cách sử dụng các kỹ thuật xử lý hình ảnh
Bộ lọc Kalman được sử dụng để thực hiện hiệu quả hơn của các đối tượng
Các bước phát hiện đối tượng:
Bước 1: - Khởi tạo (k = 0) Tìm hiểu các vị trí đối tượng và khỏi tạo biến khả năng chịu lỗi (P0 = 1)
Bước 2: - Dự đoán (k> 0) dự đoán vị trí tương đối của các đối tượng ^ xk_ được xem là sử dụng làm trung tâm tìm kiếm đối tượng
Bước 3: - Sự hiểu chỉnh (k> 0) Phương pháp đo lường mang lại sự hiểu chỉnh trạng thái để tìm ra ^xk
Lợi thế là chịu đựng các bao vây nhỏ
Bất cứ khi nào đối tượng bị tắc sẽ bị bỏ qua các hiệu chỉnh đo lường và vẫn tiếp tục dự đoán cho đến khi nhận được đối tượng một lần nữa ở khu vực cục bộ
Ảnh tốt hơn
Xử lý ảnh Ảnh
Kết luận
Trang 132.3.2.2 Ứng dụng trong thị giác máy tính dự đoán vị trí tưởng lai của đối tượng
Tìm cách đối tượng đang di chuyển trong một chuỗi hình ảnh:
Sự di chuyển trong không gian
Sự di chuyển trong mặt phẳng ảnh
Lựa chọn trong chụp ảnh:
Camera tĩnh, vật thể di động
Di chuyển máy ảnh, vật thể di động
Thu nhận mục tiêu: tìm những mục tiêu mà thay đổi hay có cạnh di chuyển
Phát hiện những đối tượng thay đổi và di chuyển: Phương pháp đơn giản nhất để phát hiện sự thay đổi là tính toán sự khác biệt giữa hình ảnh sống và hình nền hay những hình ảnh liền kề trong một chuỗi
Tìm ra sự thay đổi:
Đối tượng di chuyển nằm phía trên nền tĩnh
Trang 14Đối tượng di chuyển phủ lên một vật đang chuyển động
Đối tượng di chuyển nằm phía trên cùng một đối tượng chuyển động Biến động ngẫu nhiên của các dữ liệu hình ảnh
Phương pháp thực hiện:
Trang 15-Simple Motion Model:
Newton’s laws
s = vị trí
u = vận tốc
a = gia tốc
tất cả vector được đo cùng tung độ
-Dự đoán: Có thể dự đoán vị trí tại thời điểm t nếu biết vị trí, vận tốc, gia tốc -Trạng thái không chắc:
Nếu có lỗi: a - Da hay u - Du
Thì lỗi trong ví trí dự đoán - Ds
-Sự xác minh:
Là các đối tượng ở vị trí tiên đoán?
Làm thế nào để quyết định xem đối tượng được tìm thấy
Nơi để tìm đối tượng
-Khớp đối tượng:
So sánh: Một bitmap nhỏ bắt nguồn từ các đối tượng vs
Trang 16Khu vực nhỏ của hình ảnh có khớp không và đo sự khác biệt
-Tìm kiếm khu vực:
Sự không chắc chắn của các tham số mô hình
Sự giới hạn độ chính xác của độ đo
Các giá trị có thể thay đổi giữa các phép đo
Xác định một khu vực mà đối tượng có thể là làm trung tâm vị trí tiên đoán s Ds -Cập nhật mô hình:
Là các đối tượng ở vị trí tiên đoán?
Đúng ->Không có thay đổi mô hình
Sai -> Mô hình cần được cập nhật Bộ lọc Kalman là một giải pháp
-Bộ lọc kalman: Phương pháp toán học chính xá của việc sử dụng các phép đo không chắc chắn để cập nhật một mô hình
Độ đo y [k] Ví dụ các vị trí
Trạng thái hệ thống x [k] :Vị trí, vận tốc của đối tượng
Ma trận quan sát H [k] :liên quan tới trang thái độ đo
Sự phát triển ma trận A[k]
Độ đo nhiễu: n[k]
Xử lý nhiễu v[k]
y[k]=H[k]x[k]+n[k] [x[k]
y[k]]=[1
0
0 0
0 1
0
0] [x ˙x[[k k]]
y[k]
˙y[k]]+n[k]
Kỳ vọng trạng thái hệ thống: liên quan tới thởi điểm k và k+1
Trang 17x[k +1|k]=A[k]x[k|k]+v[k]
[^x[k +1|k]
˙^x[k +1|k]
^
y[k +1|k]
˙^
y[k +1|k]]=[1 T 0 00 1 0 0
0 0 1 T
y[k|k]
Cập nhật mô hình:
Làm thế nào để đo lường mới góp phần vào việc cập nhật các mô hình?
^
x[k +1|k +1]=^x[k+1|k]+G[k+1]Δyy[k +1|k]
Δyy[k +1|k]=y[k+1]− ^y[k+1|k]
G là Kalman Gain
Xuất phát từ A, H, v, n
G=C [ k|k ] HT( HC [ k|k ] HT+ n )−1
C [ k+1|k ] = C [ k|k ] − GHC [ k|k ]
C=system covariance
3 Kết luận
Bộ lọc Kalman được sử dụng rộng rãi trong kỹ thuật, phổ biến trong các ứng dụng định hướng, định vị và điều khiển các phương tiện di chuyển Ngoài ra, bộ lọc Kalman còn được ứng dụng để phân tích dữ liệu trong các lĩnh vực xử lý tín hiệu và kinh tế và xử lý ảnh và thị giác máy tính Bài viết chỉ tóm tắt ứng dụng bộ loc Kalman vào xử lý ảnh
Trang 18Tài liệu tham khảo
[1] Slide bài giảng môn Toán thầy Dương Tôn Đảm
[2] Luận văn LỌC NGẪU NHIÊN KALMAN – BUCY- Nguyễn Thị Lệ
Phương
[3] Luận văn báo cáo về bộ loc Kalman – nguồn internet