Tải bản đầy đủ (.docx) (17 trang)

Tiểu luận môn Toán cho khoa học máy tính Tìm hiểu bộ lọc KALMAN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (526.11 KB, 17 trang )

ĐẠ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
1
Mục lục
1. 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
2
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ử
nă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ì:
3
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
4
Chú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)
(Quan sát) zk = Hkxk + rk. (2.2)
Trong các phương trình trên Φ, 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
và 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à:
5
ε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;
• và
k

: các ma trận chưa biết,
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ó:
Thay (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:
6
Sử dụng các điều kiện sau:

Biến đổi phương trình trên, ta nhận được:
Như vậy ta có:
Thay vào (2.3) ta nhận được:
Theo quy tắc trực giao ta có:
Trừ 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:
7
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:
1. 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:
8
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à:
và 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ị:
9
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:
3. 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):

10
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.
Quá 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.
11
Ảnh tốt hơn
Xử lý ảnh
Ảnh
Kết luận
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ộ.
2.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:
12
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
Đố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
13
Phương pháp thực hiện:
-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
14
-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.
Khu 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]
15
[ ] [ ] [ ] [ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
k
ky
ky
kx
kx

ky
kx
kkkk
n
nxHy
+


















=







+=


0
0
1
0
0
0
0
1
Kỳ vọng trạng thái hệ thống: liên quan tới thởi điểm k và k+1
[ ] [ ] [ ] [ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
k
kky
kky
kkx
kkx
T
T

kky
kky
kkx
kkx
kkkkkk
v
vxAx
+

























=












+
+
+
+
+=+
|
|
|
|
1000
100
0010
001
|1
ˆ

|1
ˆ
|1
ˆ
|1
ˆ
||1
ˆ




Cập nhật mô hình:
Dự đoán / ước tính một phép đo
[ ]
kk |1
ˆ
+y
Thực hiện một phép đo
[ ]
1+ky
Dự đoán trạng thái của mô hình
[ ]
kk |1
ˆ
+x
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?
[ ] [ ] [ ] [ ]
[ ] [ ] [ ]
kkkkk

kkkkkkk
|1
ˆ
1|1
|11|1
ˆ
1|1
ˆ
+−+=+∆
+∆+++=++
yyy
yGxx
G là Kalman Gain
Xuất phát từ A, H, v, n
[ ]
[ ]
( )
[ ] [ ] [ ]
covariancesystem
|||1
|
1
|
=
−=+
+

=
C
GHCCC

n
H
HC
H
CG
kkkkkk
T
kk
T
kk
16
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.
Tà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
17

×