1. Trang chủ
  2. » Giáo án - Bài giảng

THEO VẾT ĐỐI TƯỢNG TRONG VIDEO DỰA TRÊN ĐỘ LỢI THÔNG TIN

13 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 497,86 KB

Nội dung

Thuật toán 6 theo vết đối tượng với phần nhiều thông tin dựa trên mô hình particle filter InfoPart: Bước 1: Khởi tạo n bộ particles

(1)Tạp chí Khoa học Công nghệ và 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 là bài 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 có thể sử dụng các hệ thống an ninh, quan sát tự động, tích hợp vào robot, các thiết bị bay không người lái quân đội, Bài báo này trình bày hướng tiếp cận mô tả bài toán dạng lọc quá trình ngẫu nhiên Markov ẩn, sử dụng particle filter để lọc quá trình ngẫu nhiên và kết hợp việc tính toán điểm tự tin từ gentle adaboost Nhóm tác giả đề xuất thuật toá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) là phần ít thay đổi theo thời gian và bỏ qua phần chứa ít thông tin (phần chân) là phần dao động nhiều Kết thực nghiệm cho thấy độ chính xác trung bình thuật toá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 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 bài toán độc lập hay là bài toán thành phần bài 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 là vấn đề quan trọng nhằm thuận tiện cho việc phân tích chiến thuật Bài toán đây bao gồm việc phát cầu thủ sau đó theo vết chuyển động cầu thủ này Một ứng dụng cụ thể khác bài toán là ứng dụng hệ thống xe lái tự động; Việc quan sát và theo vết các xe phía trước là phần không thể thiếu để đảm bảo an toàn Vì vậy, bài toán theo vết kết hợp thêm với các hệ thống nhận diện, nhận dạng tạo hệ thống có thể giải nhiều vấn đề sống Hướng tiếp cận lọc tương quan là công cụ mạnh mẽ xử lý tín hiệu số Lớp thuật toán này xoay quanh việc khai thác các tính chất biến đổi Fourier, tiêu biểu là 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 bài toán định vị vật ảnh Nghĩa là, vật quan tâm có xuất ảnh thì xác định vị trí nó Công cụ giải bài toán này là Average of synthetic exact filters (ASEF) [1] Bộ lọc tương quan là Minimun Output Sum of Squared Error (MOSSE) nghiên cứu David S Bolme và các cộng [4] Phương pháp theo vết này mạnh mẽ, có thể đối phó với các 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ày ấn tượng khoảng 669 fps 76 (2) Theo vết đối tượng video dựa trên độ lợi thông tin Hướng tiếp cận dựa trên phân loại và đố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 là bài toán phân loại nhị phân các pixels và vật cần theo vết Ý tưởng phương pháp là huấn luyện các hàm phân loại yếu để phân loại và vật sau đó kết hợp lại để tạo thành phân loại mạnh dựa trên 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 thì 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 này xem là các phần tử ngoại lai, adaboost thì lại nhạy cảm với các 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 và 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 trên lọc quá 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 và đã có nhiều kết ấn tượng khám phá [7-9] Đa số các thuật toán theo hướng tiếp cận này dựa trên lời giải tối ưu Bayes cho bài toán lọc quá trình Markov ẩn [10-12] Nghĩa là xây dựng mô hình Markov ẩn đóng vai trò then chốt, mô hình càng chính xác với thực tế thì lời giải Bayes càng ước lượng chính 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 còn lại bà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 quá trình, phương pháp lấy mẫu, gentle adaboost cung cấp điểm tự tin để phân loại và mô hình thực nghiệm particle filter Phần xây dựng thực nghiệm gồm nêu bài toán, đề xuất ý tưởng và 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 quá trình theo vết Kết thử nghiệm trình bày phần Kết luận và hướng phát triển trình bày phần CƠ SỞ LÝ THUYẾT 2.1 Lọc quá trình ngẫu nhiên Markov Nếu trạng thái thứ n quá 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 thì ta có thể mô hình hóa dạng quá 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 là “Rome phía bắc” Khi đến Salzbury họ nhanh chóng nhận thời tiết đây không ổn định miền nam Ở đây 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 là Với mô hình trên, du khách có thể đặt số câu hỏi như: Hôm có mưa Xác suất để tuần trời nắng đẹp là bao nhiêu? Kỳ vọng số ngày mưa tháng là bao nhiêu? Trong trường hợp không thể quan sát trạng thái thực quá trình ngẫu nhiên mà quan sát thông qua các biến quan sát thì mô hình dạng Markov ẩn Hình là giải pháp tốt 77 (3) 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 trên 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 các mẫu particle, sử dụng boostrap để loại bỏ và lựa chọn lại các 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 ) là 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ự đoá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: 𝑝(𝑥𝑘 |𝑦1:𝑘 ) ∝ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ ∫ 𝑝(𝑥𝑘 |𝑥𝑘−1 ) ∗ 𝑝(𝑥𝑘−1 |𝑦1:𝑘−1 )𝑑𝑥𝑘−1 78 (3) (4) Theo vết đối tượng video dựa trên độ lợi thông tin Mục tiêu là xấp xỉ các 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 ) là phân phối Ta trình bày chế quy nạp để từ xấp xỉ cho 𝑝(𝑥𝑘−1 |𝑦1:𝑘−1 ) có thể tính tiếp xấp xỉ cho 𝑝(𝑥𝑘 |𝑦1:𝑘 ) 𝑙 𝑙 Giả sử {𝜔𝑘−1 , 𝑥𝑘−1 }𝐿𝑙=1 là 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 𝑥𝑘 ) thì ta thu được: 𝑙 𝑙 ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 )) ∫ 𝑝(𝑥𝑘 |𝑥𝑘−1 ) ∗ 𝑝(𝑥𝑘−1 |𝑦1:𝑘−1 )𝑑𝑥𝑘−1 ≈ ∑𝐿𝑙=1(𝜔𝑘−1 (6) Kết hợp lại công thức (3) và (6) ta thu công thức (7): 𝑙 𝑙 𝑙 𝑝(𝑥𝑘 |𝑦1:𝑘 ) ∝ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ ∑𝐿𝑙=1(𝜔𝑘−1 ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 ∗ )) = ∑𝐿𝑙=1(𝜔𝑘−1 𝑙 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 )) (7) Cuối cùng, vì các mô hình quan sát 𝑝(𝑦𝑘 |𝑥𝑘 ), chuyển trạng thái 𝑝(𝑥𝑘 |𝑥𝑘−1 ) HMM cung cấp từ đầu, nên đến đây 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ế và ∫ 𝑝(𝑥𝑘 |𝑦1:𝑘 )𝑑𝑥𝑘 = ta có công thức sau: 𝑙 𝑙 𝑍 = ∫ ∑𝐿𝑙=1(𝜔𝑘−1 ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 ))𝑑𝑥𝑘 (9) Nhận xét 𝑍 𝑙 𝑙 ∑𝐿𝑙=1(𝜔𝑘−1 ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 )) là dạng trộn hàm mật độ, ý tưởng đây là không áp dụng IS trên toàn hàm trên, áp dụng cho hàm thành 𝑙 phần Tức là ta lấy mẫu cho hàm mật độ ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 ), với 𝑍𝑙 là nhân tử 𝑍𝑙 𝑙 cho hàm trên là hàm mật độ, cụ thể 𝑍𝑙 = ∫ 𝑝(𝑥𝑘 |𝑥𝑘−1 )𝑑𝑥𝑘 Phần trình bày việc lấy mẫu dựa trên IS trên hàm thành phần và chứng minh mẫu đó có thể đại diện cho hàm tổng ban đầu 𝑙 𝑙 Áp dụng IS với 𝜋(𝑥𝑘 ) = 𝑍 ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 ), 𝑞(𝑥𝑘 ) = 𝑝(𝑥𝑘 |𝑥𝑘−1 ) 𝑙 𝑙 Lấy 𝑥𝑘𝑙 ~𝑝(𝑥𝑘 |𝑥𝑘−1 ) thì (𝑥𝑘𝑙 , 𝑍 𝑙 Ta chứng minh 𝑙 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 )) 𝑝(𝑦𝑘 |𝑥𝑘𝑙 )) đại diện cho 𝜋(𝑥𝑘 ) (trường hợp này thì N = 1) 𝑙 {𝑥𝑘𝑙 , 𝑍 𝜔𝑘−1 ∗ 𝑝(𝑦𝑘 |𝑥𝑘𝑙 )}𝐿𝑙=1 đại diện cho 𝑍 𝑙 ∑𝐿𝑙=1(𝜔𝑘−1 ∗ Thật điều này tương đương: 𝑙 𝜔 𝑍 𝑘−1 𝑙 𝑙 ∗ 𝑝(𝑦𝑘 |𝑥𝑘𝑙 ) ∗ 𝛿𝑥 𝑙 ≈ 𝑍 ∑𝐿𝑙=1(𝜔𝑘−1 ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 )) 𝑘 Lấy hàm 𝑔(𝑥𝑘 ) ∈ 𝐷(𝑅 𝑛 ), thực biến đổi sau: 𝐿 𝑙 𝑙 ∫ 𝑔(𝑥𝑘 ) ∗ ∑(𝜔𝑘−1 ∗ 𝑝(𝑦𝑘 |𝑥𝑘 ) ∗ 𝑝(𝑥𝑘 |𝑥𝑘−1 ))𝑑𝑥𝑘 𝑍 𝑙=1 𝐿 = 𝑙 𝑙 ∑ 𝜔𝑘−1 ∗ ∫ 𝑔(𝑥𝑘 ) 𝑝(𝑦𝑘 |𝑥𝑘 )𝑝(𝑥𝑘 |𝑥𝑘−1 )𝑑𝑥𝑘 𝑍 𝑙=1 79 (10) (5) 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: 𝑙 {𝑥𝑘𝑙 , 𝜔𝑘−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 chính 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 là vector input và 𝑥 (𝑘) là thành phần thứ k x; 𝛿 là hàm Kronecker; 𝜃 là ngưỡng; a, b là các hệ số hồi quy cho hàm lỗi đạt giá trị nhỏ 𝑛 𝐽 = ∑ 𝜔𝑖 (𝑦𝑖 − 𝑓(𝑥𝑖 ))2 𝑖=1 với 𝜔𝑖 là trọng số cập nhật sau lần phân loại yếu cho phân loại phần tử 𝑥𝑖 đúng hay sai Điều này đồng nghĩa với việc tìm bốn số (𝑎, 𝑘, 𝜃, 𝑏) cho J đạt giá trị nhỏ Lặp lại quá trình trên 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 trên cho phép ta phân loại phần tử dựa trên dấu 𝐹(𝑥) và điểm tự tin phân loại dựa trên |𝐹(𝑥)| Quá trình huấn luyện gentle adaboost chính là 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 𝜔𝑗 𝛿(𝑥𝑗(𝑘) > 𝜃) −𝑏 (6) Theo vết đối tượng video dựa trên độ 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 và cuối cùng 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 các vị trí khác với các kích thước khác nhau, thay đổi trên kênh màu trên vùng cần lấy đặc trưng và 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 toán: Cho biết vị trí vật cần theo vết tọa độ (𝑥1 , 𝑦1 ) và 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ứ 𝑘 − là (𝑥𝑘−1 , 𝑦𝑘−1 , 𝜔𝑘−1 , ℎ𝑘−1 ) thì chúng ta hoàn toàn không biết vị trí và kích thước vật thời điểm k Vật có thể xuất trên, dưới, trái, phải, so với vị trí cũ, vật có thể 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 này 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, quá trình thực nghiệm tác giả nhận thấy xem w và h độc lập thì quá trình theo vết không ổn định Do đó, xem h phụ thuộc hoàn toàn vào w, nghĩa là tỷ lệ h/w luôn bảo toàn và tỷ lệ 𝜂 = ℎ/𝑤 khung hình chữ nhật chứa vật ảnh ban đầu Thuật toán 1: Particle filter cho quá 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 (𝑥𝑖 , 𝑦𝑖 , 𝜔𝑖 , ℎ𝑖 ) là 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 (7) 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 𝑁𝑒𝑓𝑓 = 𝑁 𝑠 𝑤𝑒𝑖𝑔ℎ𝑡 ∑𝑗=1 𝑗 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 toán 2: Tính likelihood ảnh trên 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 đầu tiên Bước 3: Trích đặc trưng HOG trên h, 𝐻𝑂𝐺2 = 𝑔𝑒𝑡𝐻𝑂𝐺(ℎ) Trích đặc trưng Haar-like trên h, 𝐻𝑎𝑎𝑟2 = 𝑔𝑒𝑡𝐻𝑎𝑎𝑟𝑙𝑖𝑘𝑒(ℎ) Bước 4: Tính điểm phân loại 𝑐𝑜𝑛𝑓 = 𝐹(𝐻𝑎𝑎𝑟2 ) theo thuật toán Bước 5: Tính likelihood = exp (α ∗ conf − γ||𝐻𝑂𝐺1 − 𝐻𝑂𝐺2 ||2 ) Thuật toán 3: Tính điểm phân loại Input: Phân loại mạnh F là 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 𝑎, 𝑏, 𝜃, 𝑘 là phân loại yếu thứ i Cập nhật 𝑐𝑜𝑛𝑓 = 𝑐𝑜𝑛𝑓 + 𝑎 × (𝑥[𝑘] > 𝜃) + 𝑏 endfor Thuật toán 4: Gentle Adaboost 82 (8) Theo vết đối tượng video dựa trên độ lợi thông tin Input: Tập huấn luyện (𝑥1 , 𝑦1 ), (𝑥2 , 𝑦2 ), … , (𝑥𝑁 , 𝑦𝑁 ) với 𝑦𝑖 ∈ {1, −1} là 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 là tính (𝑎, 𝑘, 𝜃, 𝑏) theo công thức endfor Chọn phân loại yếu có lỗi thấp nhất, đặt là 𝑓𝑡 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í và 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 các 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 trên 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 (9) 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 trên vùng S, v=getHaarlike(S) Đưa vector v vào ngăn xếp features, features.push(v) endfor 3.2 Thuật toán theo vết phần chứa nhiều thông tin (InfoPart) Thay vì phải theo vết đối tượng dựa trên 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 và ít thay đổi dựa trên 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 là người thì 5/8 phần trên (gồm phần đầu và thân) là phần ít biến đổi theo thời gian và “đặc” phần chân Hình Cấu trúc ᴎ phân hoạch đối tượng gồm S1 là đầu, S2 là thân và S3 là chân Vùng (S1+S2) là phần lợi thông tin đối tượng Sơ đồ hệ thống bài 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 trên n particle ảnh thứ (k-1) và 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 và 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 Output: Vị trí đối tượng theo vết ảnh thứ k Hình Sơ đồ hệ thống bài 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 trên 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 (10) Theo vết đối tượng video dựa trên độ 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) và 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 là ước lượng trạng thái đối tượng theo vết ảnh thứ k dựa trên n particle) Lấy mẫu 𝐷 ∗ dựa trên 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 trên 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 và đã tiến hành tạo groungtruth cho các video này để tạo thành liệu TB-100 Vì TB-100 là liệu tổng hợp từ nhiều nguồn nên ngữ cảnh các video khác và đ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 các tiêu chuẩn để đánh giá thuật toán theo vết [15] Phương thức (R1): Đánh giá dựa trên 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) thì xem là thành công (Hình 7a) 85 (11) 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 trên mức độ trùng Số điểm trùng lấp định nghĩa 𝑆 = |𝑟𝑡 ∩𝑟𝑎 | |𝑟𝑡 ∪𝑟𝑎 | , đó: 𝑟𝑡 là hình chữ nhật bao vật thuật toán ước lượng và 𝑟𝑎 là 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 và bảo toàn tương đối các tỷ lệ trên thể người và người không quá 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 và 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 toán InfoPart lấy phần có lợi thông tin 5/8 đối tượng người (gồm đầu và thân) cần theo vết cho kết tốt thuật toán GradNet Cụ thể, cho thấy độ chính 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%) 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 toán so với thuật toán sở particle filter ban đầu theo vết trên toàn đối tượng Đối với lớp video theo vết người, camera tương đối ổn định và phép quay góc bảo toà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 các thuật toán nêu trên cho video là chênh lệch lớn, cao là 100% và thấp là 59% Kết này dễ hiểu vì liệu TB-100 là tổng 86 (12) Theo vết đối tượng video dựa trên độ lợi thông tin hợp nhiều liệu khác, đa dạng và nhiều thử thách Nhìn chung, kết đạt mức tốt Hướng phát triển là thay đổi mô hình quan sát Nhóm tác giả nhận thấy quá trình huấn luyện gentle adaboost tốn thời gian và 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 là tốc độ xử lý nhanh và chính xác, tích hợp lớp lọc tương quan này vào mô hình quan sát thì rút ngắn đáng kể thời gian thực thi Lời cảm ơn: Nghiên cứu này Trường Đại học Công nghiệp Thực phẩm TP.HCM bảo trợ và 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 (13) 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 (14)

Ngày đăng: 04/06/2021, 09:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w