Ngoài ra, một số hạn chế khác của hướng tiếp cận: chưa giải quyết được tình huống vật bị che khuất hoàn toàn trong thời gian dài, vẫn phải đánh đổi giữa hiện tượng bị trôi đối tượng và[r]
(1)THEO VẾT ĐỐI TƯỢNG TRONG VIDEO DỰA TRÊN ĐỘ LỢI THƠNG TIN
Ngơ Dương Hà, Trần Như Ý, Lê Hữu Hà, Nguyễn Phương Hạc, Nguyễn Văn Tùng* Trường Đại học Công nghiệp Thực phẩm TP.HCM *Email: tungnv@hufi.edu.vn Ngày nhận bài: 20/5/2020; Ngày chấp nhận đăng: 12/8/2020
TÓM TẮT
Theo vết đối tượng video toán quan trọng cốt yếu lĩnh vực thị giác máy tính Theo vết chuyển động đối tượng sử dụng hệ thống an ninh, quan sát tự động, tích hợp vào robot, thiết bị bay không người lái quân đội, Bài báo trình bày hướng tiếp cận mơ tả tốn dạng lọc trình ngẫu nhiên Markov ẩn, sử dụng particle filter để lọc trình ngẫu nhiên kết hợp việc tính tốn điểm tự tin từ gentle adaboost Nhóm tác giả đề xuất thuật tốn InfoPart cho phép theo vết đối tượng phương pháp theo vết phần chứa nhiều thông tin đối tượng (phần đầu, thân) phần thay đổi theo thời gian bỏ qua phần chứa thơng tin (phần chân) phần dao động nhiều Kết thực nghiệm cho thấy độ xác trung bình thuật tốn InfoPart lớn so với thuật toán GradNet
Từ khóa: Boostrap, mơ hình Markov ẩn, gentle adaboost, particle filter, Haar like
1. TỔNG QUAN
Bài toán theo vết đối tượng video áp dụng nhiều lĩnh vực khác nhau, sử dụng toán độc lập toán thành phần tốn lớn Ví dụ, lĩnh vực thể thao, việc theo dõi tự động cầu thủ chuyển động vấn đề quan trọng nhằm thuận tiện cho việc phân tích chiến thuật Bài tốn bao gồm việc phát cầu thủ sau theo vết chuyển động cầu thủ Một ứng dụng cụ thể khác toán ứng dụng hệ thống xe lái tự động; Việc quan sát theo vết xe phía trước phần khơng thể thiếu để đảm bảo an tồn Vì vậy, tốn theo vết kết hợp thêm với hệ thống nhận diện, nhận dạng tạo hệ thống giải nhiều vấn đề sống
(2)Hướng tiếp cận dựa phân loại đối tượng sử dụng adaboost có cơng trình nghiên cứu Shai Aviden [5] Mitsubishi Electric Research Labs xem xét việc theo vết đối tượng toán phân loại nhị phân pixels vật cần theo vết Ý tưởng phương pháp huấn luyện hàm phân loại yếu để phân loại vật sau kết hợp lại để tạo thành phân loại mạnh dựa chế adaboost Tuy nhiên, nhóm tác giả nhận thấy vật khơng có dạng hình chữ nhật có pixels thuộc khung hình chữ nhật chứa vật không thuộc vật gán nhãn thuộc vật Các pixels xem phần tử ngoại lai, adaboost lại nhạy cảm với phần tử ngoại lai [6] Ngoài ra, số hạn chế khác hướng tiếp cận: chưa giải tình vật bị che khuất hoàn toàn thời gian dài, phải đánh đổi tượng bị trôi đối tượng khả thích nghi mơ hình theo thời gian, không gian đặc trưng sử dụng thuật giải chưa tận dụng thông tin không gian ảnh
Hướng tiếp cận dựa lọc trình ngẫu nhiên nghiên cứu thời gian dài lĩnh vực thống kê toán học có nhiều kết ấn tượng khám phá [7-9] Đa số thuật toán theo hướng tiếp cận dựa lời giải tối ưu Bayes cho tốn lọc q trình Markov ẩn [10-12] Nghĩa xây dựng mơ hình Markov ẩn đóng vai trị then chốt, mơ hình xác với thực tế lời giải Bayes ước lượng xác trạng thái đối tượng Cơng trình [11] có sử dụng đặc trưng histogram màu sắc để xây dựng particle filter để theo vết vật Công trình [13] sử dụng gentle adaboost để xây dựng mơ hình quan sát cập nhật theo thời gian
Phần lại viết tổ chức sau Phần trình bày số cơng việc liên quan đến việc sử dụng Markov để lọc trình, phương pháp lấy mẫu, gentle adaboost cung cấp điểm tự tin để phân loại mơ hình thực nghiệm particle filter Phần xây dựng thực nghiệm gồm nêu toán, đề xuất ý tưởng mã giả theo vết đối tượng với việc sử dụng phần chứa nhiều thông tin cho trình theo vết Kết thử nghiệm trình bày phần Kết luận hướng phát triển trình bày phần
2. CƠ SỞ LÝ THUYẾT
2.1 Lọc trình ngẫu nhiên Markov
Nếu trạng thái thứ n trình ngẫu nhiên rời rạc phụ thuộc vào trạng thái thứ n-1, với n ta mơ hình hóa dạng q trình ngẫu nhiên Markov
Ví dụ thời tiết Salzbury: Các du khách người Ý thích thành phố Salzbury xinh đẹp, nơi mệnh danh “Rome phía bắc” Khi đến Salzbury họ nhanh chóng nhận thời tiết không ổn định miền nam Ở khơng có ngày liên tiếp mà thời tiết quang đãng Nếu ngày quang đãng, ngày mưa có tuyết rơi với xác suất Một ngày mưa ngày có tuyết theo sau ngày có cùng kiểu thời tiết thay đổi kiểu thời tiết với xác suất chia đôi; trường hợp thời tiết thay đổi, xác suất loại thời tiết để xảy thay đổi nhau.
Với mơ hình trên, du khách đặt số câu hỏi như: Hơm có mưa Xác suất để tuần trời nắng đẹp bao nhiêu? Kỳ vọng số ngày mưa tháng bao nhiêu?
(3)Hình 1. Mơ hình Markov ẩn Mơ hình Markov ẩn gồm mơ hình:
Mơ hình chuyển trạng thái: 𝑝(𝑥𝑘|𝑥𝑘−1)
Mơ hình quan sát: 𝑝(𝑦𝑘|𝑥𝑘)
Dựa vào Markov ẩn gồm mơ hình tính xác suất 𝑝(𝑥𝑘|𝑦𝑘) xuất trạng
thái 𝑥𝑘 với biến quan sát 𝑦𝑘
2.2 Mơ hình particle filter
Hình 2. Minh họa chế hoạt động particle filter
Dựa vào chế hoạt động particle filter Hình 2, trình bày việc xấp xỉ hàm mật độ hậu nghiệm 𝑝(𝑥𝑘|𝑦1:𝑘) cho mẫu particle thời điểm k Sau tìm hàm mật độ hậu
nghiệm cho mẫu particle, sử dụng boostrap để loại bỏ lựa chọn lại mẫu particle cho lần lặp thứ k+1
Quay trở lại với lời giải tối ưu Bayes cho hậu nghiệm mức thứ k:
𝑝(𝑥𝑘|𝑦1:𝑘) =
𝑝(𝑦𝑘|𝑥𝑘) ∗ 𝑝(𝑥𝑘|𝑦1:𝑘−1)
𝑝(𝑦𝑘|𝑦1:𝑘−1)
Nhận xét đại lượng 𝑝(𝑦𝑘|𝑦1:𝑘−1) số ta xét hàm 𝑝(𝑥𝑘|𝑦1:𝑘) theo biến
𝑥𝑘, ta có cơng thức xấp xỉ:
𝑝(𝑥𝑘|𝑦1:𝑘) ∝ 𝑝(𝑦𝑘|𝑥𝑘) ∗ 𝑝(𝑥𝑘|𝑦1:𝑘−1) (1)
Ta có dự đốn tiền nghiệm:
𝑝(𝑥𝑘|𝑦1:𝑘−1) = ∫ 𝑝(𝑥𝑘|𝑥𝑘−1) ∗ 𝑝(𝑥𝑘−1|𝑦1:𝑘−1)𝑑𝑥𝑘−1 (2)
Tiếp tục thay 𝑝(𝑥𝑘|𝑦1:𝑘−1) theo công thức (1) ta thu được:
(4)Mục tiêu xấp xỉ hàm mật độ xác suất 𝑝(𝑥𝑘|𝑦1:𝑘) với 𝑘 ∈ 𝑁
Giả sử biết hàm mật độ xác suất khởi đầu 𝑝(𝑥1) phân phối Ta trình bày
chế quy nạp để từ xấp xỉ cho 𝑝(𝑥𝑘−1|𝑦1:𝑘−1) tính tiếp xấp xỉ cho 𝑝(𝑥𝑘|𝑦1:𝑘)
Giả sử {𝜔𝑘−1𝑙 , 𝑥𝑘−1𝑙 }𝑙=1𝐿 xấp xỉ cho 𝑝(𝑥𝑘−1|𝑦1:𝑘−1) Theo Monte-Carlo ta có:
∑𝐿𝑙=1𝜔𝑘−1𝑙 𝛿𝑥𝑘−1𝑙 ≈ 𝑝(𝑥𝑘−1|𝑦1:𝑘−1) (4)
Được viết dạng tương đương:
∀𝑔 ∈ 𝐷(𝑅𝑛), ∫ 𝑔(𝑥
𝑘−1) ∗ 𝑝(𝑥𝑘−1|𝑦1:𝑘−1)𝑑𝑥𝑘−1 ≈ ∑𝐿𝑙=1𝜔𝑘−1𝑙 ∗ 𝑔(𝑥𝑘−1) (5)
Ta chọn 𝑔(𝑥𝑘−1) = 𝑝(𝑥𝑘|𝑥𝑘−1) (biến 𝑥𝑘−1, cố định 𝑥𝑘) ta thu được:
∫ 𝑝(𝑥𝑘|𝑥𝑘−1) ∗ 𝑝(𝑥𝑘−1|𝑦1:𝑘−1)𝑑𝑥𝑘−1 ≈ ∑𝐿𝑙=1(𝜔𝑘−1𝑙 ∗𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )) (6)
Kết hợp lại công thức (3) (6) ta thu công thức (7):
𝑝(𝑥𝑘|𝑦1:𝑘) ∝ 𝑝(𝑦𝑘|𝑥𝑘) ∗ ∑𝑙=1𝐿 (𝜔𝑙𝑘−1∗𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )) = ∑𝐿𝑙=1(𝜔𝑘−1𝑙 ∗
𝑝(𝑦𝑘|𝑥𝑘) ∗ 𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )) (7)
Cuối cùng, mơ hình quan sát 𝑝(𝑦𝑘|𝑥𝑘), chuyển trạng thái 𝑝(𝑥𝑘|𝑥𝑘−1) HMM
cung cấp từ đầu, nên đến ta có hàm xấp xỉ cho hậu nghiệm 𝑝(𝑥𝑘|𝑦1:𝑘) Nhưng
để tiếp tục sử dụng cho bước sau (dùng để tiếp tục tính 𝑝(𝑥𝑘+1|𝑦1:𝑘+1)) ta lấy mẫu từ
𝑝(𝑥𝑘|𝑦1:𝑘) Ta có cơng thức sau:
𝑝(𝑥𝑘|𝑦1:𝑘) =
𝑍 ∑ (𝜔𝑘−1 𝑙 ∗ 𝑝(𝑦
𝑘|𝑥𝑘) ∗ 𝐿
𝑙=1 𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )) (8)
Lấy tích phân theo 𝑑𝑥𝑘 hai vế ∫ 𝑝(𝑥𝑘|𝑦1:𝑘)𝑑𝑥𝑘 = ta có cơng thức sau:
𝑍 = ∫ ∑𝐿𝑙=1(𝜔𝑘−1𝑙 ∗ 𝑝(𝑦𝑘|𝑥𝑘) ∗𝑝(𝑥𝑘|𝑥𝑘−1𝑙 ))𝑑𝑥𝑘 (9)
Nhận xét
𝑍 ∑ (𝜔𝑘−1 𝑙 ∗ 𝑝(𝑦
𝑘|𝑥𝑘) ∗ 𝐿
𝑙=1 𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )) dạng trộn hàm mật độ,
ý tưởng không áp dụng IS toàn hàm trên, áp dụng cho hàm thành phần Tức ta lấy mẫu cho hàm mật độ
𝑍𝑙∗ 𝑝(𝑦𝑘|𝑥𝑘) ∗ 𝑝(𝑥𝑘|𝑥𝑘−1
𝑙 ), với 𝑍
𝑙 nhân tử
sao cho hàm hàm mật độ, cụ thể 𝑍𝑙 = ∫ 𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )𝑑𝑥𝑘
Phần trình bày việc lấy mẫu dựa IS hàm thành phần chứng minh mẫu đại diện cho hàm tổng ban đầu
Áp dụng IS với 𝜋(𝑥𝑘) =
𝑍𝑙∗ 𝑝(𝑦𝑘|𝑥𝑘) ∗ 𝑝(𝑥𝑘|𝑥𝑘−1
𝑙 ), 𝑞(𝑥
𝑘) = 𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )
Lấy 𝑥𝑘𝑙~𝑝(𝑥𝑘|𝑥𝑘−1𝑙 ) (𝑥𝑘𝑙,
𝑍𝑙𝑝(𝑦𝑘|𝑥𝑘
𝑙)) đại diện cho 𝜋(𝑥
𝑘) (trường hợp N = 1)
Ta chứng minh {𝑥𝑘𝑙,1
𝑍𝜔𝑘−1 𝑙 ∗ 𝑝(𝑦
𝑘|𝑥𝑘𝑙)}𝑙=1𝐿 đại diện cho
𝑍 ∑ (𝜔𝑘−1
𝑙 ∗
𝐿 𝑙=1
𝑝(𝑦𝑘|𝑥𝑘) ∗ 𝑝(𝑥𝑘|𝑥𝑘−1𝑙 ))
Thật điều tương đương:
1 𝑍𝜔𝑘−1
𝑙 ∗ 𝑝(𝑦
𝑘|𝑥𝑘𝑙) ∗ 𝛿𝑥𝑘𝑙 ≈
𝑍 ∑ (𝜔𝑘−1 𝑙 ∗ 𝑝(𝑦
𝑘|𝑥𝑘) ∗ 𝐿
𝑙=1 𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )) (10)
Lấy hàm 𝑔(𝑥𝑘) ∈ 𝐷(𝑅𝑛), thực biến đổi sau:
∫ 𝑔(𝑥𝑘) ∗
1
𝑍 ∑(𝜔𝑘−1
𝑙 ∗ 𝑝(𝑦
𝑘|𝑥𝑘) ∗ 𝐿
𝑙=1
𝑝(𝑥𝑘|𝑥𝑘−1𝑙 ))𝑑𝑥𝑘
=1
𝑍 ∑ 𝜔𝑘−1
𝑙 ∗
𝐿
𝑙=1
(5)=1
𝑍 ∑ 𝜔𝑘−1
𝑙 ∗ 𝑍 𝑙 𝐿 𝑙=1 ∫1 𝑍𝑙
𝑔(𝑥𝑘) 𝑝(𝑦𝑘|𝑥𝑘)𝑝(𝑥𝑘|𝑥𝑘−1𝑙 )𝑑𝑥𝑘
≈1
𝑍 ∑ 𝜔𝑘−1
𝑙 ∗ 𝑍 𝑙∗ 𝑍𝑙 𝑝(𝑦𝑘|𝑥𝑘𝑙)𝑔(𝑥𝑘𝑙) 𝐿 𝑙=1 =1
𝑍 ∑ 𝜔𝑘−1
𝑙 ∗ 𝑝(𝑦
𝑘|𝑥𝑘𝑙)𝑔(𝑥𝑘𝑙) 𝐿
𝑙=1
Vậy ta tạo mẫu có trọng số đại diện cho hàm mật độ hậu nghiệm thời điểm thứ k:
{𝑥𝑘𝑙, 𝑍𝜔𝑘−1
𝑙 ∗ 𝑝(𝑦
𝑘|𝑥𝑘𝑙)}𝑙=1𝐿 ~ 𝑝(𝑥𝑘|𝑦1:𝑘) (11) 2.3 Gentle adaboost
Là thuật toán phân loại đồng thời cung cấp thêm điểm tự tin phân loại [10] Ý tưởng gentle adaboost sau:
Cho huấn luyện gồm n vectors 𝑥1, 𝑥2, … , 𝑥𝑛, vector có m chiều, vector
được gán nhãn 𝑦𝑖 = ±1 Ta tiến hành huấn luyện phân loại yếu có dạng:
𝑓(𝑥) = 𝑎 ∗ 𝛿(𝑥(𝑘)> 𝜃) + 𝑏
với x vector input 𝑥(𝑘) thành phần thứ k x; 𝛿 hàm Kronecker; 𝜃 ngưỡng; a, b hệ số hồi quy cho hàm lỗi đạt giá trị nhỏ
𝐽 = ∑ 𝜔𝑖(𝑦𝑖− 𝑓(𝑥𝑖))2 𝑛
𝑖=1
với 𝜔𝑖 trọng số cập nhật sau lần phân loại yếu cho phân loại phần tử 𝑥𝑖
hay sai
Điều đồng nghĩa với việc tìm bốn số (𝑎, 𝑘, 𝜃, 𝑏) cho J đạt giá trị nhỏ Lặp lại trình s lần, ta thu s phân loại yếu trở thành phân loại mạnh theo công thức:
𝐹(𝑥) = ∑ 𝑓𝑖(𝑥) 𝑠
𝑖=1
Dựa vào công thức cho phép ta phân loại phần tử dựa dấu 𝐹(𝑥) điểm tự tin phân loại dựa |𝐹(𝑥)|
Q trình huấn luyện gentle adaboost tìm (𝑎, 𝑘, 𝜃, 𝑏) cho J đạt giá trị nhỏ (𝑎, 𝑘, 𝜃, 𝑏) = 𝑎𝑟𝑔𝑚𝑖𝑛 ∑ 𝜔𝑖
𝑁
𝑖=1
(𝑦𝑖− 𝑎𝛿(𝑥(𝑘) > 𝜃) − 𝑏)2
Để tìm giá trị nhỏ J, ta cố định k, 𝜃 trước, sau giải hệ gồm hai phương trình: 𝜕𝐽
𝜕𝑎= 𝑣à 𝜕𝐽 𝜕𝑏= Ta thu công thức tường minh a, b là:
𝑏 =∑ 𝜔𝑗𝑦𝑗𝛿(𝑥𝑗 (𝑘) ≤ 𝜃) 𝑛 𝑗=1 ∑ 𝜔𝑗𝛿(𝑥𝑗 (𝑘)≤ 𝜃) 𝑛 𝑗=1 𝑣à 𝑎 =∑ 𝜔𝑗𝑦𝑗𝛿(𝑥𝑗 (𝑘) > 𝜃) 𝑛 𝑗=1 ∑ 𝜔𝑗𝛿(𝑥𝑗 (𝑘)> 𝜃) 𝑛
𝑗=1
(6)Thay đổi 𝑘 = 1,2, … , 𝑚 với k thay đổi 𝜃 = 𝑥1(𝑘), 𝑥2(𝑘), … , 𝑥𝑛(𝑘) tính a, b theo cơng thức trên, lắp số vào hàm lỗi J, ghi nhận lỗi cuối chọn có lỗi thấp
2.4 Đặc trưng Haar-like
Đặc trưng Haar-like tính tổng cường độ pixels vùng trắng trừ tổng cường độ pixels vùng đen Các hình chữ nhật Hình trượt vị trí khác với kích thước khác nhau, thay đổi kênh màu vùng cần lấy đặc trưng ta thu vector đặc trưng vùng
Hình Đặc trưng Haar-like
3. XÂY DỰNG THỰC NGHIỆM
Bài tốn: Cho biết vị trí vật cần theo vết tọa độ (𝑥1, 𝑦1) có kích thước (𝜔1, ℎ1) Lọc
trạng thái (𝑥𝑘, 𝑦𝑘, 𝜔𝑘, ℎ𝑘) vật khung ảnh
3.1 Xây dựng particle filter
Mơ hình chuyển trạng thái ẩn: Nếu trạng thái vật thời điểm thứ 𝑘 −
(𝑥𝑘−1, 𝑦𝑘−1, 𝜔𝑘−1, ℎ𝑘−1) hồn tồn khơng biết vị trí kích thước vật thời
điểm k Vật xuất trên, dưới, trái, phải, so với vị trí cũ, vật tăng giảm chiều dài chiều rộng so với trang thái cũ, Do đó, hàm chuyển trạng thái phải đảm bảo tính chất tổng quát
Tại thời điểm ảnh thứ 2, tác giả dùng particle filter để ước lượng trạng thái vật cách chọn hàm mật độ quan trọng trùng với hàm chuyển trạng thái Ngoài ra, trình thực nghiệm tác giả nhận thấy xem w h độc lập trình theo vết khơng ổn định Do đó, xem h phụ thuộc hồn tồn vào w, nghĩa tỷ lệ h/w ln bảo toàn tỷ lệ 𝜂 = ℎ/𝑤 khung hình chữ nhật chứa vật ảnh ban đầu
Thuật tốn 1: Particle filtercho q trình ngẫu nhiên (𝑥𝑛, 𝑦𝑛, 𝜔𝑛, ℎ𝑛)
Input: Bộ mẫu particles pf (dựa vào thuật toán 5), ảnh thứ k (trong k ảnh
thứ 2)
Output: Bộ particles đại diện cho 𝑝((𝑥, 𝑦, 𝜔, ℎ) | ả𝑛ℎ 𝑘), ước lượng trạng thái vật ảnh thứ k
Bước 1: Gán 𝜖 = 10−20
Bước 2:
for i=1 to 𝑁𝑠 (với (𝑥𝑖, 𝑦𝑖, 𝜔𝑖, ℎ𝑖) particle thứ i)
Lấy 𝑥𝑛𝑒𝑤~𝑥𝑖+ 𝑁(0, 𝛿𝑥2)
Lấy 𝑦𝑛𝑒𝑤~𝑦𝑖+ 𝑁(0, 𝛿𝑦2)
Lấy 𝜔𝑛𝑒𝑤~𝜔𝑖+ 𝑁(0, 𝛿𝜔2)
Tính ℎ𝑛𝑒𝑤 = 𝜂 ∗ 𝜔𝑛𝑒𝑤
Tính 𝑙𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 = 𝑝(ả𝑛ℎ | (𝑥𝑛𝑒𝑤, 𝑦𝑛𝑒𝑤, 𝜔𝑛𝑒𝑤, ℎ𝑛𝑒𝑤) theo thuật toán 2
(7)endfor Bước 3:
Tính tổng 𝑠𝑤 = ∑𝑁𝑗=1𝑠 𝑤𝑒𝑖𝑔ℎ𝑡𝑖+ 𝜖
for i=1 to 𝑁𝑠
Chuẩn hóa trọng số 𝑤𝑒𝑖𝑔ℎ𝑡𝑖=
𝑤𝑒𝑖𝑔ℎ𝑡𝑖+𝜖 𝑠𝑤
endfor Bước 4: Tính 𝑁𝑒𝑓𝑓 =
1 ∑𝑁𝑠𝑗=1𝑤𝑒𝑖𝑔ℎ𝑡𝑗2
Bước 5:
if 𝑁𝑒𝑓𝑓< 𝑁𝑠/2 then
{(𝑥𝑖, 𝑦𝑖, 𝜔𝑖, ℎ𝑖), 𝑤𝑒𝑖𝑔ℎ𝑡𝑖}𝑖=1
𝑁𝑠 = 𝑅𝐸𝑆𝐴𝑀𝑃𝐿𝐸({(𝑥
𝑖, 𝑦𝑖, 𝜔𝑖, ℎ𝑖), 𝑤𝑒𝑖𝑔ℎ𝑡𝑖}𝑖=1
𝑁𝑠 ) sử
dụng boostrap endif
Bước 6: Ước lượng trạng thái vật ảnh thứ k việc tính trung bình particles
𝑇𝑟ạ𝑛𝑔 𝑡ℎá𝑖 ướ𝑐 𝑙ượ𝑛𝑔 = ∑ 𝑤𝑒𝑖𝑔ℎ𝑡𝑖∗ 𝑝𝑎𝑟𝑡𝑖𝑐𝑙𝑒[𝑖] 𝑁𝑠
𝑖=1
Thuật tốn 2: Tính likelihood ảnh giả thuyết trạng thái vật
Input: Ảnh quan sát, giả thuyết (𝑥, 𝑦, 𝜔, ℎ), vector 𝐻𝑂𝐺1của vật ảnh thứ nhất, phân
loại mạnh F
Output: Likelihood 𝑝(ả𝑛ℎ 𝑞𝑢𝑎𝑛 𝑠á𝑡 | 𝑔𝑖ả 𝑡ℎ𝑢𝑦ế𝑡 (𝑥, 𝑦, 𝜔, ℎ))
Bước 1: Trích vùng ảnh hình chữ nhật (𝑥, 𝑦, 𝜔, ℎ) ra, ℎ = 𝑐𝑟𝑜𝑝(ả𝑛ℎ, (𝑥, 𝑦, 𝜔, ℎ))
Bước 2: Resize ảnh h kích thước vật ảnh Bước 3:
Trích đặc trưng HOG h, 𝐻𝑂𝐺2= 𝑔𝑒𝑡𝐻𝑂𝐺(ℎ)
Trích đặc trưng Haar-like h, 𝐻𝑎𝑎𝑟2= 𝑔𝑒𝑡𝐻𝑎𝑎𝑟𝑙𝑖𝑘𝑒(ℎ)
Bước 4: Tính điểm phân loại 𝑐𝑜𝑛𝑓 = 𝐹(𝐻𝑎𝑎𝑟2) theo thuật toán 3
Bước 5: Tính likelihood = exp (α ∗ conf − γ||𝐻𝑂𝐺1− 𝐻𝑂𝐺2||2)
Thuật tốn 3: Tính điểm phân loại
Input: Phân loại mạnh F ma trận × 𝑠 (tìm phân loại mạnh dựa vào thuật tốn 4), vector đặc trưng Haar-like x vùng cần tính điểm
Output: Điểm phân loại conf Bước 1: Gán điểm 𝑐𝑜𝑛𝑓 =
Bước 2:
for i=1 to s
Lấy 𝑎, 𝑏, 𝜃, 𝑘 phân loại yếu thứ i
Cập nhật 𝑐𝑜𝑛𝑓 = 𝑐𝑜𝑛𝑓 + 𝑎 × (𝑥[𝑘] > 𝜃) + 𝑏
endfor
(8)Input: Tập huấn luyện (𝑥1, 𝑦1), (𝑥2, 𝑦2), … , (𝑥𝑁, 𝑦𝑁) với 𝑦𝑖 ∈ {1, −1} nhãn 𝑥𝑖
Output: Hàm phân loại mạnh F
Bước 1: Khởi tạo hệ số 𝜔1= 𝜔2= ⋯ = 𝜔𝑁 =
𝑁 cho tập huấn luyện
Bước 2:
for t=1 to s for j=1 to m
Huấn luyện phân loại yếu ℎ𝑗, tức tính (𝑎, 𝑘, 𝜃, 𝑏) theo công thức
endfor
Chọn phân loại yếu có lỗi thấp nhất, đặt 𝑓𝑡
Cập nhật phân loại mạnh 𝐹(𝑥) = 𝐹(𝑥) + 𝑓𝑡(𝑥)
Cập nhật trọng số 𝜔𝑖 = 𝜔𝑖× exp (−𝑦𝑖𝑓𝑡(𝑥𝑖))
endfor
Hình 4. Phần giới hạn cho việc lấy mẫu âm
Thuật toán 5: Lấy mẫu để huấn luyện gentle adaboost
Input: Ảnh thời điểm ban đầu, vị trí kích thước vật (𝑥0, 𝑦0, 𝜔0, ℎ0)
Output: Bộ liệu D kích thước 𝑁++ 𝑁−, gồm 𝑁+ mẫu dương, 𝑁− mẫu âm
Bước 1: Khởi tạo ngăn xếp features để chứa vector đặc trưng Bước 2:
Lấy đặc trưng Haarlike vùng (𝑥0, 𝑦0, 𝜔0, ℎ0), 𝑣 = 𝑔𝑒𝑡𝐻𝑎𝑎𝑟𝑙𝑖𝑘𝑒(𝑣ù𝑛𝑔(𝑥0, 𝑦0, 𝜔0, ℎ0))
Đưa v vào ngăn xếpfeatures, features.push(v) Bước 3:
for i=1 to N+ -1
Lấy ngẫu nhiên vùng chữ nhật S từ ảnh với vị trí ±5 pixels so với vật Lấy vector đặc trưng Haarlike vùng S, v=getHaarlike(S)
Đưa vector v vào ngăn xếp features, features.push(v) endfor
Bước 4:
for i=1 to N- -1
(9)Lấy vector đặc trưng Haarlike vùng S, v=getHaarlike(S) Đưa vector v vào ngăn xếp features, features.push(v)
endfor
3.2 Thuật tốn theo vết phần chứa nhiều thơng tin (InfoPart)
Thay phải theo vết đối tượng dựa mơ hình particle filter, nhóm tác giả đề xuất theo vết phần đối tượng chứa nhiều thơng tin thay đổi dựa mơ hình particle filter Sau dựa vào kết theo vết phần đối tượng nội suy toàn đối tượng Ví dụ, trường hợp đối tượng người 5/8 phần (gồm phần đầu thân) phần biến đổi theo thời gian “đặc” phần chân
Hình 5. Cấu trúc ᴎ phân hoạch đối tượng gồm S1 đầu, S2 thân S3 chân
Vùng (S1+S2) phần lợi thông tin đối tượng
Sơ đồ hệ thống tốn theo vết đối tượng:
Hình 6. Sơ đồ hệ thống toán theo vết đối tượng
Thuật toán 6 theo vết đối tượng với phần nhiều thơng tin dựa mơ hình particle filter (InfoPart):
Bước 1: Khởi tạo n particles 𝑝𝑓1, 𝑝𝑓2, … , 𝑝𝑓𝑛 vùng (S1+S2) hình cho phép theo
vết phần lợi thông tin đối tượng ảnh thứ
Bước 2:
Lấy mẫu 𝐷 cho vùng (S1+S2) ảnh thứ theo thuật toán 5
Huấn luyện phân loại mạnh 𝐹 = 𝑔𝑒𝑛𝑡𝑙𝑒𝐴𝑑𝑎𝑏𝑜𝑜𝑠𝑡(𝐷 ) theo thuật toán 3
Bước 3:
while video chưa kết thúc do Beginwhile
Nhận ảnh thứ k quan sát đối tượng theo vết Ảnh thứ
k video
Ước lượng n particle vùng (S1+S2) dựa n
bộ particle ảnh thứ (k-1) dựa vào phân loại gentleAdaboost lần lặp thứ (k-1) Input:
Video
Dùng n particle cấu trúc ᴎ theo Hình nội suy phần lại đối
tượng theo vết ảnh thứ k Cập nhật huấn luyện phân
loại gentleAdaboost dựa mẫu D.
(10)Dùng n particle ước lượng trạng thái vùng (S1+S2) ảnh thứ k theo thuật toán 1
Dùng phần lợi thông tin vùng (S1+S2) cấu trúc ᴎ theo Hình nội suy phần
còn lại đối tượng theo vết ảnh thứ k (Nghĩa ước lượng trạng thái của đối tượng theo vết ảnh thứ k dựa n particle)
Lấy mẫu 𝐷∗ dựa phần lợi thông tin đối tượng theo vết ảnh thứ k
Cập nhật phân loại mạnh 𝐹 endwhile
4. KẾT QUẢ THỰC NGHIỆM
Môi trường cài đặt: Tác giả thực nghiệm máy tính sử dụng hệ điều hành Windows 10 Pro 64 bit, RAM GB, Chip Intel Core (TM) 5i-3210M CPU @ 2.5GHz Ngơn ngữ lập trình Matlab phiên R2016a
4.1 Bộ liệu
Năm 2013, nhóm tác giả Yi-Wu, Jongwoo Lim, Ming-Hsuan Yang [15] tổng hợp nhiều nguồn video liên quan đến theo vết tiến hành tạo groungtruth cho video để tạo thành liệu TB-100
Vì TB-100 liệu tổng hợp từ nhiều nguồn nên ngữ cảnh video khác đa dạng thuộc tính như: loại vật cần theo vết, video màu trắng đen, camera tĩnh động,
Các thử thách liệu bao gồm:
IV – Độ sáng đối tượng thay đổi đáng kể
SV – Tỉ lệ hình chữ nhật chứa vật ảnh thứ với ảnh vượt khỏi khoảng [1 𝑡
𝑠
⁄ , 𝑡𝑠] , 𝑡𝑠> 1(𝑡𝑠= 2)
OCC – Đối tượng bị che khuất phần toàn phần DEF – Đối tượng khơng đặc biến đổi hình dạng
MB – Đối tượng bị nhòe chuyển động camera
FM – Chuyển động groundtruth lớn tm pixels (tm = 20) IPR – Đối tượng xoay miền ảnh
OPR – Đối tượng khỏi miền ảnh
OV – Một phần đối tượng khỏi miền ảnh
BC – Nền gần đối tượng có màu sắc đường nét giống đối tượng
LR – Số lượng pixels hình chữ nhật chứa vật (xét groundtruth) nhỏ tr (tr = 400)
4.2 Phương thức đánh giá
Nghiên cứu Yi Wu et al cung cấp tiêu chuẩn để đánh giá thuật toán theo vết [15] Phương thức (R1): Đánh giá dựa khoảng cách Euclid (precision plot): Đo khoảng
(11)Phương thức (R2): Đánh giá dựa mức độ trùng Số điểm trùng lấp định
nghĩa 𝑆 =|𝑟𝑡∩𝑟𝑎|
|𝑟𝑡∪𝑟𝑎| , đó: 𝑟𝑡 hình chữ nhật bao vật thuật tốn ước lượng 𝑟𝑎 hình
chữ nhật groundtruth (Hình 7b) Tính tỷ lệ 𝑅1, 𝑅2=
𝑠ố ả𝑛ℎ 𝑡ℎà𝑛ℎ 𝑐ơ𝑛𝑔 𝑡ổ𝑛𝑔 𝑠ố ả𝑛ℎ
Hình 7 (a) Đo khoảng cách Euclid; (b) đo mức độ trùng
4.3 Kết đánh giá
Kết theo vết người với camera không dao động nhiều bảo toàn tương đối tỷ lệ thể người người không nhỏ Tác giả sử dụng thuật toán InfoPart so sánh với thuật toán GradNet [16]
Bảng 1. Kết thuật toán GradNet InfoPart
Video Thuộc tính GradNet % InfoPart %
R1 R2 R1 R2
Crossing SV, DEF, FM, OPR, BC 100 100 100 98,33 Dancer SV, DEF, IPR, OPR 92,44 98,22 95,11 88,89
Dancer2 DEF 100 100 77,33 59,01
David3 OCC, DEF, OPR, BC 100 100 73,02 81,35
Human8 IV, SV, DEF 8,59 7,03 100 89,06
Walking SV, OCC, DEF 100 99,27 100 98,54
Walking2 SV, OCC, LR 100 100 100 100
85,86 86,36 92,21 87,88
5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Thuật tốn InfoPart lấy phần có lợi thông tin 5/8 đối tượng người (gồm đầu thân) cần theo vết cho kết tốt thuật tốn GradNet Cụ thể, cho thấy độ xác trung bình thuật tốn InfoPart (R1 = 92,21%, R2 = 87,88%) lớn so với thuật toán GradNet (R1 = 85,86%, R2 = 86,36%)
Ngoài ra, theo vết phần có nhiều thơng tin nội suy phần cịn lại giảm thời gian tính tốn so với thuật tốn sở particle filter ban đầu theo vết toàn đối tượng
(12)hợp nhiều liệu khác, đa dạng nhiều thử thách Nhìn chung, kết đạt mức tốt
Hướng phát triển thay đổi mơ hình quan sát Nhóm tác giả nhận thấy q trình huấn luyện gentle adaboost tốn thời gian khiến cho hệ thống chưa thể hoạt động theo thời gian thực Các thuật toán sử dụng lớp lọc tương quan lại có ưu điểm tốc độ xử lý nhanh xác, tích hợp lớp lọc tương quan vào mơ hình quan sát rút ngắn đáng kể thời gian thực thi
Lời cảm ơn: Nghiên cứu Trường Đại học Công nghiệp Thực phẩm TP.HCM bảo trợ cấp kinh phí theo Hợp đồng số 50/HĐ-DCT ngày 03 tháng 09 năm 2019
TÀI LIỆU THAM KHẢO
1 David S Bolme, Bruce A Draper, J Ross Beveridge - Average of synthetic exact filters, IEEE Conference on Computer Vision and Pattern Recognition (2009) Joao F Henriques, Rui Caseiro, Pedro Martins, and Jorge Batista - Exploiting the
circulant structure of tracking-by-detection with kernels, European Conference on Computer Vision (2012) 702-715
3 Joao F Henriques, Rui Caseiro, Pedro Martins, and Jorge Batista - High-speed tracking with kernelized correlation filters, IEEE Transactions on Pattern Analysis and Machine Intelligence (2015) 583-596
4 Divid S.Bolme, J.Ross Beveridge, Bruce A Draper, Yui Man Lui - Visual object tracking using adaptive correlation filters, IEEE Computer Society Conference on Computer Vision and Pattern Regconition (2010) 2544-2550
5 Shai Avidan - Ensemble tracking, IEEE Transactions on Pattern Analysis and Machine Intelligence (2007)
6 Freund Y - An adaptive version of the boost by majority algorithm, Machine Learning
43 (2001) 293-318
7 Zhe Chen - Bayesian filtering: from kalman filters to particle filters, and beyond, Statistics: A Journal of Theoretical and Applied Statistics (2003)
8 Arnaud Doucet, Adam M Johansen - A tutorial on particle filtering and smoothing: Fifteen years later (2008)
9 Daniel Jurafsky, James H Martin - Chapter 9: Hidden Markov models, Speech and Language Processing (2017)
10 Dominik A Klein, Dirk Schulz, Simone Frintrop, and Armin B Cremers - Adaptive real-time video-tracking for arbitrary objects, IEEE/RSJ International Conference on Intelligent Robots and Systems (2010) 772-777
11 Perez P., Hue C., Varmaak J., Gangnet M - Color-based probabilistic tracking, European Conference on Computer Vision (2002) 661-675
12 Changjiang Yang, Ramani Duraiswami, Larry Davis - Fast multiple object tracking via a hierarchical particle filter, 10th IEEE International Conference on Computer
Vision (2005) 212-219
13 Olov Samualssonn - Video tracking algorithm for unmanned aerial vehicle Surveillance, Stockholm - Sweden (2012)
(13)15.Yi Wu, Jongwoo Lim, Ming-Hsuan Yang - Online object tracking: A benchmark, Computer Vision and Pattern Recognition (2013)
16.Peixia Li, Boyu Chen, Wanli Ouyang, Dong Wang, Xiaoyun Yang, Huchuan Lu - GradNet: Gradient-guided network for visual object tracking, IEEE International Conference on Computer Vision (ICCV) (2019)
ABSTRACT
TRACKING MOVING OBJECTS IN VIDEO BASED ON BENEFIT PART
Ngo Duong Ha, Tran Nhu Y, Le Huu Ha, Nguyen Phuong Hac, Nguyen Van Tung* Ho Chi Minh City University of Food Industry
*Email: tungnv@hufi.edu.vn Tracking object in video is important problem of computer vision Tracking the movement of objects that can be used in security systems, automatic observation, integrated into robots unmanned aerial vehicles of the military, etc This paper presents an approach that describes the problem in terms of filtering a hidden Markov model using particle filters to filter the random process and combining the computation of confidence scores from gentle adaboost We suggest tracking the more informative parts (head, body) and omitting the foot part which is the more oscillating part An InfoPart algorithm is proposes to track the benefit part (head, body) without leg that is more oscillatory Experimental results show that the average accuracy of InfoPart algorithm is greater than GradNet algorithm