Thuật toán Lucas - Kanade là một thuật toán dùng để tính ước lượng chuyển động dựa trên sự khác nhau của 2 frame liên tiếp trong một chuỗi frame. Thuật toán Lucas - Kanade dựa trên một sốđiều kiện sau:
• Cường độ sáng của điểm ảnh không đổi theo thời gian
• Chuyển động nhỏ
• Các điểm ảnh lân cận cũng chuyển động cùng vận tốc Thuật toán Lucas – Kanade gồm 2 bước:
Bước 1: Xây dựng 1 tháp Gaussian của 2 frame liên tiếp
Bước này thực chất là thực hiện thuật toán resize ảnh theo công thức:
IL(x,y) =1
4IL−1(2x,2y) + 1
8 (IL−1(2x-1,2y) + IL−1(2x+1,2y) + IL−1(2x,2y-1) +
IL−1(2x,2y+1)) + 1
16 [IL−1(2𝑦𝑦 − 1,2𝑧𝑧 − 1)+ IL−1(2x+1,2y-1) + IL−1(2x-1,2y+1) +
IL−1(2x+1,2y+1)] (2.7)
trong đó I(x,y) là giá trị của điểm ảnh tại tọa độ(x,y), quy ước ảnh gốc là ảnh mức 0 - I0, các ảnh sau mỗi lần resize là I1, I2, I3, ... Hình 2.1, 2.2, 2.3 thể hiện ảnh đã được resize ở mức 0, 1 và 2.
28
Hình 2.2: Frame mức 1
Hình 2.3: Frame mức 2
Bước 2: Xác định véc tơ vận tốc tại mỗi mức
Vector vận tốc tại mức L:dL phải làm cực tiểu hàm bình phương lỗi:
𝐸𝐸(𝑑𝑑𝐿𝐿) = 𝐸𝐸�𝑑𝑑𝑥𝑥,𝑑𝑑𝜕𝜕�=∑ ∑𝑝𝑝𝑦𝑦+𝑤𝑤𝑦𝑦 �𝐼𝐼(𝑥𝑥,𝑦𝑦)− 𝐽𝐽(𝑥𝑥+𝑔𝑔𝑥𝑥 +𝑑𝑑𝑥𝑥,𝑦𝑦+𝑔𝑔𝜕𝜕 +𝑑𝑑𝜕𝜕�2
𝜕𝜕=𝑝𝑝𝑦𝑦−𝑤𝑤𝑦𝑦 𝑝𝑝𝑥𝑥+𝑤𝑤𝑥𝑥
𝑥𝑥=𝑝𝑝𝑥𝑥−𝑤𝑤𝑥𝑥
(2.8)
Vector vận tốc tại mức 0 (ảnh gốc) được xác định theo công thức:
𝑑𝑑 =∑𝑚𝑚 2𝐿𝐿𝑑𝑑𝐿𝐿
𝐿𝐿=0 (2.9)
Dựa trên Lucas - Kanade [27, 28], ta thực hiện một bình phương tối tiểu có trọng số phù hợp với các ràng buộc bậc một của (2.2) với một mô hình bất biến của v trong mỗi không gian lân cận nhỏΩ bằng cách cực tiểu:
� 𝑊𝑊2(𝑥𝑥)[∇𝐼𝐼(𝑥𝑥,𝑡𝑡)∙ 𝑣𝑣+ 𝐼𝐼𝑡𝑡(𝑥𝑥,𝑡𝑡)]2 𝑥𝑥∈Ω
(2.10)
với W(x) là một hàm cửa sổ tạo nhiều độ ảnh hưởng tới các ràng buộc ở trọng tâm của các lân cận hơn là ở vùng ngoại vi. Lời giải của (2.10) được cho bởi:
𝐴𝐴𝑇𝑇𝑊𝑊𝑡𝑡𝐴𝐴𝑣𝑣 =𝐴𝐴𝑇𝑇𝑊𝑊𝑡𝑡𝑏𝑏 (2.11)
trong đó, với n điểm 𝑥𝑥𝑢𝑢 ∈ Ω tai một thời điểm t,
𝐴𝐴 = [∇𝐼𝐼(𝑥𝑥1), … ,∇𝐼𝐼(𝑥𝑥𝑛𝑛)]𝑇𝑇,
𝑊𝑊 =𝑑𝑑𝑖𝑖𝑑𝑑𝑔𝑔[W(𝑥𝑥1), … , W(𝑥𝑥𝑛𝑛)]
𝑏𝑏 =−(𝐼𝐼𝑡𝑡(𝑥𝑥1), … ,𝐼𝐼𝑡𝑡(𝑥𝑥𝑛𝑛), )𝑇𝑇
29
𝐴𝐴𝑇𝑇𝑊𝑊2𝐴𝐴 là không suy biến, do đó nó là ma trận 2x2:
𝐴𝐴𝑇𝑇𝑊𝑊2𝐴𝐴 =� � 𝑊𝑊
2(𝑥𝑥)𝐼𝐼𝑥𝑥2(𝑥𝑥) � 𝑊𝑊2(𝑥𝑥)𝐼𝐼𝑥𝑥(𝑥𝑥)𝐼𝐼𝜕𝜕(𝑥𝑥)
� 𝑊𝑊2(𝑥𝑥)𝐼𝐼𝜕𝜕(𝑥𝑥)𝐼𝐼𝑥𝑥(𝑥𝑥) � 𝑊𝑊2(𝑥𝑥)𝐼𝐼𝜕𝜕2(𝑥𝑥) �(2.12)
trong đó tất cả tổng là tính trên các điểm trong lân cận Ω.
Các phương trình (2.10) và (2.11) có thể được xem xét như ước lượng bình phương tối thiểu có trọng số của v từ ước lượng của các vận tốc chính tắc vn = sn, tức là (2.10) tương đương với
� 𝑊𝑊2 𝑥𝑥∈Ω
(𝑥𝑥)𝑤𝑤2(𝑥𝑥)[𝑣𝑣 ∙ 𝑠𝑠(𝑥𝑥)− 𝑠𝑠(𝑥𝑥)]2 (2.13)
trong đó các hệ số𝑤𝑤2(𝑥𝑥) phản ánh độ tin cậy trong ước lược vận tốc chính tắc, ở đây 𝑤𝑤𝑥𝑥 =‖∇𝐼𝐼(𝑥𝑥,𝑡𝑡)‖
Trong thực nghiệm trước tiên ta làm trơn chuỗi ảnh với một bộ lọc Gaussian theo miền không gian và thời gian với một độ lệch chuẩn 1.5 pixel-frames. Việc này sẽ làm giảm các sai số và ảnh hưởng của đầu vào.