Untitled Tạp chí Khoa học Công nghệ và Thực phẩm 20 (4) (2020) 76 88 76 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[.]
Tạp chí Khoa học Cơng nghệ Thực phẩm 20 (4) (2020) 76-88 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 tốn GradNet Từ khóa: Boostrap, mơ hình Markov ẩn, gentle adaboost, particle filter, Haar like 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 toá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 Hướng tiếp cận lọc tương quan công cụ mạnh mẽ xử lý tín hiệu số Lớp thuật tốn xoay quanh việc khai thác tính chất biến đổi Fourier, tiêu biểu tính chất biến phép tích chập miền khơng gian thành phép nhân hàm số miền Fourier [1-4] Ý tưởng ban đầu lọc tương quan dùng để giải toán định vị vật ảnh Nghĩa là, vật quan tâm có xuất ảnh xác định vị trí Cơng cụ giải toán Average of synthetic exact filters (ASEF) [1] Bộ lọc tương quan Minimun Output Sum of Squared Error (MOSSE) nghiên cứu David S Bolme cộng [4] Phương pháp theo vết mạnh mẽ, đối phó với tình thay đổi ánh sáng, thay đổi kích cỡ, hình dáng vật Hơn nữa, tốc độ thực thi phương pháp ấn tượng khoảng 669 fps 76 Theo vết đối tượng video dựa độ lợi thông tin 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ê tố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 toá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 q 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 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 Ở 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ó 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 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? Trong trường hợp quan sát trạng thái thực q trình ngẫu nhiên mà quan sát thơng qua biến quan sát mơ hình dạng Markov ẩn Hình giải pháp tốt 77 Ngô Dương Hà, Trần Như Ý, Lê Hữu Hà, Nguyễn Phương Hạc, Nguyễn Văn Tùng Hình 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 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 Tiếp tục thay 𝑝(𝑥𝑘 |𝑦1:𝑘−1 ) theo công thức (1) ta thu được: 𝑝(𝑥𝑘 |𝑦1:𝑘 ) ∝ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ ∫ 𝑝(𝑥𝑘 |𝑥𝑘−1 ) ∗ 𝑝(𝑥𝑘−1 |𝑦1:𝑘−1 )𝑑𝑥𝑘−1 78 (2) (3) Theo vết đối tượng video dựa độ lợi thông tin 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 𝛿𝑥 𝑙 Được viết dạng tương đương: 𝑘−1 ≈ 𝑝(𝑥𝑘−1 |𝑦1:𝑘−1) (4) 𝑙 ∗ 𝑔( 𝑥𝑘−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: Nhận xét 𝑍 𝑙 𝑙 ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 𝑍 = ∫ ∑𝐿𝑙=1(𝜔𝑘−1 ))𝑑𝑥𝑘 (9) 𝑙 𝑙 ∑𝐿𝑙=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ử 𝑙 𝑙 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 ) (𝑥𝑘𝑙 , 𝑍 Ta chứng minh 𝑙 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 )) 𝑙 𝑝(𝑦𝑘 |𝑥𝑘𝑙 )) đại diện cho 𝜋(𝑥𝑘 ) (trường hợp N = 1) 𝑙 ∗ 𝑝(𝑦𝑘 |𝑥𝑘𝑙 )}𝐿𝑙=1 {𝑥𝑘𝑙 , 𝑍 𝜔𝑘−1 đại diện Thật điều tương đương: 𝑙 𝜔 𝑍 𝑘−1 cho 𝑍 𝑙 𝑙 ∗ 𝑝(𝑦𝑘 |𝑥𝑘𝑙 ) ∗ 𝛿𝑥 𝑙 ≈ 𝑍 ∑𝐿𝑙=1(𝜔𝑘−1 ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 )) 𝑘 Lấy hàm 𝑔(𝑥𝑘 ) ∈ 𝐷(𝑅 𝑛 ), thực biến đổi sau: 𝐿 𝑙 𝑙 ))𝑑𝑥𝑘 ∫ 𝑔(𝑥𝑘 ) ∗ ∑(𝜔𝑘−1 ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 𝑍 = 𝐿 𝑙=1 𝑙 𝑙 )𝑑𝑥𝑘 ∑ 𝜔𝑘−1 ∗ ∫ 𝑔(𝑥𝑘 ) 𝑝(𝑦𝑘 |𝑥𝑘 )𝑝(𝑥𝑘 |𝑥𝑘−1 𝑍 𝑙=1 79 𝑙 ∑𝐿𝑙=1(𝜔𝑘−1 ∗ (10) Ngô Dương Hà, Trần Như Ý, Lê Hữu Hà, Nguyễn Phương Hạc, Nguyễn Văn Tùng 𝐿 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: 2.3 Gentle adaboost 𝑙 {𝑥𝑘𝑙 , 𝜔𝑘−1 ∗ 𝑝(𝑦𝑘 |𝑥𝑘𝑙 )}𝐿𝑙=1 ~ 𝑝(𝑥𝑘 |𝑦1:𝑘 ) (11) 𝑍 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 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ỏ 𝑁 (𝑎, 𝑘, 𝜃, 𝑏) = 𝑎𝑟𝑔𝑚𝑖𝑛 ∑ 𝜔𝑖 (𝑦𝑖 − 𝑎𝛿(𝑥 (𝑘) > 𝜃) − 𝑏)2 𝑖=1 Để tìm giá trị nhỏ J, ta cố định k, 𝜃 trước, sau giải hệ gồm hai phương trình: 𝜕𝐽 𝜕𝐽 = 𝑣à =0 𝜕𝑏 𝜕𝑎 Ta thu công thức tường minh a, b là: 𝑏= ∑𝑛𝑗=1 𝜔𝑗 𝑦𝑗 𝛿(𝑥𝑗(𝑘) ≤ 𝜃) ∑𝑛𝑗=1 𝜔𝑗 𝛿(𝑥𝑗(𝑘) ≤ 𝜃) 𝑣à 𝑎 = 80 ∑𝑛𝑗=1 𝜔𝑗 𝑦𝑗 𝛿(𝑥𝑗(𝑘) > 𝜃) ∑𝑛𝑗=1 𝜔𝑗 𝛿(𝑥𝑗(𝑘) > 𝜃) −𝑏 Theo vết đối tượng video dựa độ lợi thông tin (𝑘) (𝑘) (𝑘) 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 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 Ngồi ra, q trình thực nghiệm tác giả nhận thấy xem w h độc lập q trình theo vết khơng ổn định Do đó, xem h phụ thuộc hoàn toàn vào w, nghĩa tỷ lệ h/w ln bảo tồn tỷ lệ 𝜂 = ℎ/𝑤 khung hình chữ nhật chứa vật ảnh ban đầu Thuật toán 1: Particle filter cho trình ngẫu nhiên (𝑥𝑛 , 𝑦𝑛 , 𝜔𝑛 , ℎ𝑛 ) Input: Bộ mẫu particles pf (dựa vào thuật tố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 Cập nhật trọng số cho particle thứ i: 𝑤𝑒𝑖𝑔ℎ𝑡𝑖 = 𝑤𝑒𝑖𝑔ℎ𝑡𝑖 ∗ 𝑙𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 81 Ngô Dương Hà, Trần Như Ý, Lê Hữu Hà, Nguyễn Phương Hạc, Nguyễn Văn Tùng 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 𝑁𝑒𝑓𝑓 = Bước 5: 𝑁 𝑤𝑒𝑖𝑔ℎ𝑡𝑖 +𝜖 𝑠𝑤 𝑠 𝑤𝑒𝑖𝑔ℎ𝑡 ∑𝑗=1 𝑗 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 toán 2: Tính likelihood ảnh giả thuyết trạng thái vật Input: Ảnh quan sát, giả thuyết (𝑥, 𝑦, 𝜔, ℎ), vector 𝐻𝑂𝐺1 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 tốn 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 toá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 Thuật toán 4: Gentle Adaboost 82 Theo vết đối tượng video dựa độ lợi thông tin 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 endfor Huấn luyện phân loại yếu ℎ𝑗 , tức tính (𝑎, 𝑘, 𝜃, 𝑏) theo cơng thức 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 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ếp features, 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 Lấy ngẫu nhiên vùng chữ nhật S thuộc phần màu xanh Hình 83 Ngơ Dương Hà, Trần Như Ý, Lê Hữu Hà, Nguyễn Phương Hạc, Nguyễn Văn Tùng 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 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 toán theo vết đối tượng: Input: Video Ảnh thứ k video Ước lượng n particle vùng (S1+S2) dựa n particle ảnh thứ (k-1) dựa vào phân loại gentleAdaboost lần lặp thứ (k-1) Cập nhật huấn luyện phân loại gentleAdaboost dựa mẫu D 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 Output: Vị trí đối tượng theo vết ảnh thứ k Hình Sơ đồ hệ thống toán theo vết đối tượng Thuật toán 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 Huấn luyện phân loại mạnh 𝐹 = 𝑔𝑒𝑛𝑡𝑙𝑒𝐴𝑑𝑎𝑏𝑜𝑜𝑠𝑡(𝐷 ) theo thuật toán Bước 3: while video chưa kết thúc Beginwhile Nhận ảnh thứ k quan sát đối tượng theo vết 84 Theo vết đối tượng video dựa độ lợi thông tin Dùng n particle ước lượng trạng thái vùng (S1+S2) ảnh thứ k theo thuật toán 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 đố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 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 cách Euclid d từ tâm ước lượng thuật toán đến tâm thực vật (groundtruth), d nhỏ ngưỡng t0 (t0 = 20) xem thành cơng (Hình 7a) 85 Ngô Dương Hà, Trần Như Ý, Lê Hữu Hà, Nguyễn Phương Hạc, Nguyễn Văn Tùng 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 toán ước lượng 𝑟𝑎 hình chữ nhật groundtruth (Hình 7b) Tính tỷ lệ 𝑅1 , 𝑅2 = 𝑠ố ả𝑛ℎ 𝑡ℎà𝑛ℎ 𝑐ô𝑛𝑔 𝑡ổ𝑛𝑔 𝑠ố ả𝑛ℎ Hình (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 Kết thuật toán GradNet InfoPart GradNet % Thuộc tính Video Crossing SV, DEF, FM, OPR, BC Dancer SV, DEF, IPR, OPR Dancer2 R1 R2 InfoPart % R1 R2 100 100 100 98,33 92,44 98,22 95,11 88,89 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 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 toán GradNet Cụ thể, cho thấy độ xác trung bình thuật toán InfoPart (R1 = 92,21%, R2 = 87,88%) lớn so với thuật toán GradNet (R1 = 85,86%, R2 = 86,36%) Ngồi ra, theo vết phần có nhiều thơng tin nội suy phầ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 Đối với lớp video theo vết người, camera tương đối ổn định phép quay góc bảo tồn tương đối tỷ lệ thể người, tác giả theo vết phần có nhiều thông tin suy thể Kết thực nghiệm thuật toán nêu cho video chênh lệch lớn, cao 100% thấp 59% Kết dễ hiểu liệu TB-100 tổng 86 Theo vết đối tượng video dựa độ lợi thông tin 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 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 năm 2019 TÀI LIỆU THAM KHẢO 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 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 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 Shai Avidan - Ensemble tracking, IEEE Transactions on Pattern Analysis and Machine Intelligence (2007) Freund Y - An adaptive version of the boost by majority algorithm, Machine Learning 43 (2001) 293-318 Zhe Chen - Bayesian filtering: from kalman filters to particle filters, and beyond, Statistics: A Journal of Theoretical and Applied Statistics (2003) Arnaud Doucet, Adam M Johansen - A tutorial on particle filtering and smoothing: Fifteen years later (2008) 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) 14 Sanjeev Arulampalam, Simson Maskell, Neil Gordon, Tim Clapp - A tutorial on particle filters for online no-linear/non-gaussian bayesian tracking, IEEE Transactions on Signal Processing 50 (2) (2002) 174-188 87 Ngô Dương Hà, Trần Như Ý, Lê Hữu Hà, Nguyễn Phương Hạc, Nguyễn Văn Tùng 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 Keywords: Hidden Markov model, gentle adaboost, particle filter, Haar like 88 ... trúc ᴎ theo Hình nội suy phần lại đối tượng theo vết ảnh thứ k (Nghĩa ước lượng trạng thái đối tượng theo vết ảnh thứ k dựa n particle) Lấy mẫu