6 Tổng kết
4.9 Cách xây dựng cơ sở dữ liệu cho nhận diện danh tính đối tượng đeo khẩu
Hình 4.10: Cách xây dựng cơ sở dữ liệu cho nhận diện danh tính đối tượng đeo khẩu trangvới phục hồi ảnh. với phục hồi ảnh.
4.4 Truy vết trên mỗi máy quay
Truy vết trên mỗi máy quay nhận kết quả của các bước xác định một người và các đặc trưng ngoại hình của các đối tượng để truy vết quỹ đạo đường đi của các đối tượng trên mỗi máy quay. Các kết quả truy vết ban đầu này sẽ được gom cụm ở bước tiếp theo để kết hợp những quỹ đạo đường đi của cùng một người. Bởi vì hướng tiếp cận của đề tài là truy vết dựa vào kết quả của việc xác định con người trong một khung hình nên DeepSORT [42] - kỹ thuật hiện đại nhất của hướng tiếp cận này - sẽ được sử dụng trong đề tài để thực hiện truy vết trên mỗi máy quay. Một điểm khác biệt nhỏ là mơ hình rút trích đặc trưng được sử dụng trong luận văn là mạng ABD-Net (mục 3.5) thay vì mạng CNN nhiều lớp như trong bài báo gốc của DeepSORT.
Với sự phát triển của cơng nghệ máy quay thì trong hệ thống giám sát hiện nay các máy quay có tốc độ số lượng khung hình hiển thị trên một giây (frames per second) khá cao. Nhờ vào điều này ta có thể giả định chuyển động của một người ở một máy quay trong một khoảng thời gian ngắn là tuyến tính. Bên cạnh đó, phạm vi bao qt của đề tài chỉ bao gồm các hệ thống máy quay có góc quay cố định khơng di chuyển theo thời gian. Với những giả định này, Kalman Filter có thể được dùng để hỗ trợ truy vết các đối tượng bằng cách xây dựng mơ hình ước tính chuyển động của các đối tượng qua từng khung hình.
Trong một máy quay, các đối tượng sẽ có những khơng gian trạng thái tương ứng (state) được biểu diễn dưới vectơ như sau:
x= [u, v, γ, h,u,˙ v,˙ γ,˙ h]˙ T (4.1)
trong đó (u, v) là vị trí trung tâm của khung bao đóng của đối tượng, tỷ lệ khung hình của khung bao đóng γ, chiều cao khung bao đóng h, và ˙u,v,˙ γ,˙ h˙ lần lượt là vận tốc của
u, v, γ, h trên tọa độ của khung hình. Các biến (u, v, γ, h) của các đối tượng là các trạng thái quan sát của bộ lọc Kalman.
Với mỗi kết quả truy vết k, ta sẽ đếm số lượng khung hình ak kể từ lần cuối cùng kết quả truy vết này được ghép với một khung bao đóng của bộ xác định khung người của đối tượng. Biến chạy này tăng dần theo trong quá trình bộ lọc Kalman thực hiện dự đoán (prediction) và sẽ được đặt lại giá trị 0 khi kết quả truy vết được liên kết tiếp nối với một khung bao đóng mới của một đối tượng. Nếu một truy vết có giá trịak lớn hơn một giá cho trướcAmax, thì nó sẽ được xem là đã rời khỏi khung hình của máy quay và sẽ bị xóa khỏi danh sách các kết quả truy vết. Một truy vết sẽ được khởi tạo mới khi các khung hình bao đóng của nó khơng thể ghép nối với những truy vết hiện có. Những truy vết mới này sẽ bị xóa mất nếu nó khơng ghép nối được với những khung hình bao đóng nào trong khoảng thời gian 3 khung hình kể khi nó được khởi tạo.
Để kết hợp giải quyết bài toán kết hợp giữa khung bao đóng mà bộ lọc Kalman dự đốn ra và khung bao đóng được phát hiện bằng bộ xác định (detector), đề tài sẽ mơ hình hóa bài tốn này dưới dạng bài toán xếp lịch (assignment problem) mà sẽ được giải quyết bằng thuật tốn Hungarian. Trong mơ hình bài tốn này, đề tài sẽ dùng thơng tin về chuyển động và ngoại hình của các đối tượng như hai phép đo.
Đối với thông tin về chuyển động, đề tài sẽ tính khoảng cách Mahalanobis giữa trạng thái mà bộ lọc Kalman dự đốn ra và khung bao đóng mới quan sát được qua cơng thức 4.2:
d(1)(i, j) = (dj−yT
i)P−1
i (dj−yi) (4.2)
trong đóyi là khơng gian trạng thái của đối tượng mà bộ lọc Kalman dự đốn với mức độ khơng chắc chắn Pi và dj. Việc sử dụng phép đo này cho phép loại trừ những ghép
nối không phù hợp bằng cách lập ngưỡng khoảng cách Mahalanobis ở khoảng tin cậy 95% được tính từ phân phối nghịch đảo χ2. Công thức 4.3 biểu diễn phép loại trừ trên như sau:
b(1)(i, j) =1[d(1)(i, j)≤t(1)] (4.3)
b(1)(i, j) của kết quả truy vết i và khung bao đóng j sẽ bằng 1 khi điều kiện trên được thỏa mãn. Trong hiện thực của đề tài, giá trị ngưỡng của khoảng cách Mahalanobis được cho là t(1)= 9.4877.
Trong khi khoảng cách Mahalanobis chỉ thích hợp khi độ chắc chắn về chuyển động của các đối tượng cao, những ước tính về trạng thái thu được từ bộ lọc Kalman chỉ cung cấp một ước tính sơ bộ về vị trí đối tượng. Đặc biệt, khi các đối tượng trong khung hình chuyển động với vận tốc thay đổi nhiều hoặc bị che khuất lẫn nhau, làm cho khoảng cách Mahalanobis trở thành một số liệu khơng đáng tin cậy. Vì vậy, đề tài đã đưa vào một thơng số thứ hai vào bài tốn kết hợp. Với mỗi khung bao đóng của một đối tượng được phát hiệndj, ta sẽ tính vectơ đặc trưng ngoại hình rj của người ấy với krjk= 1. Với mỗi đối tượng truy vết k, hệ thống sẽ lưu lại một tập hợp các vectơ đặc trưng ngoại hình
Rk=rk(i)(Lkk=1) với Lk= 100 là số vectơ đặc trưng ngoại hình gần nhất của đối tượng đó. Các đặc trưng ngoại hình của các khung bao đóng thu được ở mục 4.2 sẽ được tính bởi một mơ hình CNN đã được huấn luyện trước, chi tiết của kiến trúc mơ hình này sẽ được miêu tả rõ hơn ở mục 3.5. Thơng số thứ hai của bài tốn sẽ là khoảng cách cosin nhỏ nhất của hai vectơ đặc trưng ngoại hình giữa khung bao đóng j và tập đặc trưng ngoại hình Rk của truy vết i. Thơng số thứ hai được biểu diễn như công thức 4.4:
d(2)(i, j) =min{1−rT
jr(i)
k | r(i)
k ∈ Rj} (4.4)
Cũng giống như thông số đầu tiên, thông số thứ hai sẽ được dùng để so sánh với một ngưỡng cho trước (công thức 4.5) để quyết định việc ghép nối có được chấp nhận hay khơng:
b(2)(i, j) =1[d(2)(i, j)≤t(2)] (4.5)
Tổng hợp lại, cả hai phép đo nêu trên bổ sung cho nhau bằng cách giải quyết các khía cạnh khác nhau của bài tốn. Một bên, khoảng cách Mahalanobis cung cấp những vị trí có thể của đối tượng dựa vào các thơng tin về chuyển động và điều này sẽ rất hữu ích trong các dự đốn ngắn hạn. Một bên, khoảng cách cosin xem xét thông tin về đặc trưng ngoại hình của đối tượng sẽ giúp cho việc phục hồi danh tính của đối tượng đó sau một khoảng thời gian dài bị mất dấu. Để xây dựng bài toán kết hợp, ta kết hợp hai phép đo trên bằng phép cộng có trọng số như cơng thức 4.6
ci,j =λd(1)(i, j) + (1−λ)d(2)(i, j) (4.6)
cơng thức trên được tính khi và chỉ khi điều kiện kết hợp 4.7 được thỏa mãn. Điều kiện kết nối được tính dựa trên hai điều kiện 4.4 và 4.5
bi,j = Y2
m=1
b(m)i,j (4.7)
4.4.1 Đối sánh theo tầng
Đối sánh theo tầng (matching cascade) nghĩa là ta sẽ kết nối các khung hình và các truy vết bằng cách giải một loạt các vấn đề nhỏ thay vì một bài toán ghép nối tổng quát
Algorithm 1: Matching Cascade [42]
Input:Track indices T ={1, ..., N}; Detection indices D={1, ..., M}; Maximum
age Amax
1 Compute cost matrixC= [ci,j] using 4.5;
2 Compute gate matrix B= [bi,j] using 4.7;
3 Initialize set of matches M ← ∅;
4 Initialize set of unmatched detections U ← D;
5 forn∈ {1, .., Amax} do
6 Select tracks by age Tn← {i∈ T | ai=n};
7 [xi,j]←min_cost_matching(C,Tn,U);
8 M ← M ∪ {(i, j)| bi,j·xi,j >0};
9 U ← U \ {j | P
ibi,j·xi,j >0};
10 end
11 return M,U
(global assignment problem). Để minh họa, giả sử trong trường hợp khi một đối tượng bị che khuất trong một khoảng thời gian dài, bộ lọc Kalman sẽ khơng nhận được các khung bao đóng của đối tượng đó để thực hiện cập nhật các thông số của bộ lọc dẫn tới sự khơng chắc chắn trong việc dự đốn vị trí đối tượng đó của bộ lọc Kalman sẽ tăng dần. Vì vậy, các phép đo của bài tốn kết nối phải tính đến trường hợp này bằng cách tăng khoảng cách giữa truy vết và khung bao đóng. Một trường hợp khác, khi hai truy vết có thể kết hợp với một khung bao đóng, khoảng cách Mahalanobis với truy vết có độ khơng chắc chắn của bộ Kalman cao hơn sẽ có giá trị nhỏ hơn vì nó làm giảm độ lệch chuẩn giữa khung bao đóng so với giá trị kỳ vọng của truy vết. Cách xử lý này có thể làm cho kết quả truy vết không ổn định. Để xử lý những vấn đề này, cơ chế đối sánh theo tầng sẽ ưu tiên cho các đối tượng đã được theo dấu gần nhất để thực hiện việc kết nối với các khung bao đóng mới. Mã giả 1 miêu tả thuật toán đối sánh theo tầng nêu trên. Đầu vào của thuật toán sẽ là tập hợp những truy vếtT, khung bao đóng D, số khung hình tối đa
từ lần cuối cùng được cập nhật của một truy vết Amax. Ở dòng 1 và 2, ta tính ma trận
khoảng cách các phép đo và ma trận điều kiện ghép nối. Ta sẽ tiến hành lặpnlần (tương ứng vớin số khung hình từ lần cuối cùng một truy vết được cập nhật) để tiến hành giải bài toán ghép cho những truy vết bị đứt đoạn. Ở dòng 6, ta chọn tập hợp những truy vết
Tn mà chưa được ghép nối với một khung bao đóng nào trong n khung hình gần nhất. Tiếp theo, tại dịng số 7, ta giải bài tốn ghép nối giữ những truy vếtTn và những khung bao đóng chưa được ghép nối U. Dòng 8 và 9 sẽ cập nhật lại tập hợp những khung bao đóng đã và chưa được ghép nối mà cũng là những gì trả về sau khi kết thúc thuật tốn ở dịng 11. Một lưu ý rằng thuật toán đối sánh theo tầng ưu tiên những truy vết mới được cập nhật hoặc mới khởi tạo.
Cuối cùng, ta sẽ kết hợp những truy vết chưa được xác nhận và những truy vết có
n= 1 bằng cách đo vùng trùng lặp giữa khung bao đóng của chúng thơng qua độ đo Intersection over Union (IoU). Điều này làm giảm số lượng các truy vết được khởi tạo mới khi đặc trưng ngoại hình của các đối tượng thay đổi đột ngột do bị che khuất hoặc thay đổi hướng di chuyển so với góc quay của máy quay.
4.4.2 Rút trích đặc trưng ngoại hình
Để có thể rút trích được đặc trưng ngoại hình của các đối tượng ta sẽ dùng mạng ABD-Net đã được miêu tả ở phần 3.5. Hệ thống theo dấu sẽ sử dụng mạng ABD-Net đã được huấn luyện từ trước trên tập dữ liệu DukeMTMC-Re-ID [29]. DukeMTMC-Re-ID là một tập dữ liệu lớn về bài toán tái định danh con người được quay bởi tám máy quay an ninh với bối cảnh là khuôn viên của đại học Duke. Cụ thể, tập dữ liệu này bao gồm 36,411 bức ảnh của 1,812 danh tính. Ngồi mục đích phục vụ giải bài tốn tái định danh, tập dữ liệu này cũng có thể dùng để đánh giá các mơ hình của bài tốn truy vết trên hệ thống nhiều máy quay. Tuy nhiên vì xâm phạm quyền riêng tư nên tập dữ liệu này đã bị xóa cách đây khơng lâu, vì vậy đề tài khơng thể dùng tập dữ liệu này để đánh giá mơ hình đề xuất. Bài báo [12] có cung cấp mơ hình đã được huấn luyện trên tập dữ liệu DukeMTMC-Re-ID tại trang Github của họ. Sau khi bộ xác định khung người (mục 4.2) cho ra các khung bao đóng của các đối tượng trên một khung hình và các khung bao đóng này sẽ là đầu vào cho mạng ABD-Net. Mạng ABD-Net sẽ cho ra vectơ đặc trưng ngoại hình của từng đối tượng trong khung bao đóng. Mỗi vectơ đặc trưng ngoại hình sẽ có 2048 chiều và được lưu lại để dùng ở bước 4.4 cũng như ở bước 4.5.
4.5 Truy vết trên nhiều máy quay
Mục tiêu của bước này là gom cụm các kết quả truy vết ở các máy quay đơn lẻ (thu được ở mục 4.4) mà thuộc về một người thành kết quả theo dấu cuối cùng của người đó. Việc kết nối các kết quả truy vết bằng gom cụm không những kết hợp các quỹ đạo đường đi giữa các máy quay mà cịn có thể sửa lại những kết quả theo dấu sai trong bước truy vết trên mỗi máy quay. Một ví dụ thường gặp là những quỹ đạo đường đi của cùng một người trong một quay nhưng bị xác định thành những quỹ đạo đường đi của những người khác nhau trong bước truy vết trên mỗi máy quay (vì người đó bị che khuất hoặc bị thốt ra góc quay của máy quay một khoảng thời gian) có thể sẽ được ghép lại thành một người tại bước gom cụm này.
Để có thể thực hiện gom cụm những quỹ đạo đường đi của các đối tượng cần các độ đo phù hợp. Những độ đo này phải thỏa mãn khoảng cách của những quỹ đạo của cùng một đối tượng phải nhỏ hơn nhiều so với quỹ đạo của những người khác. Dựa vào ý tưởng của bộ truy vết Weighted Distance Aggregation Tracker (WDA_Tracker) trong bài
báo [17], nhóm đề xuất một phiên bản rút gọn của WDA_Tracker làWeighted Reduced Distance Aggregation Tracker (WRDA_Tracker). WRDA_Tracker thực hiện gom cụm các quỹ đạo của đối tượng dựa vào 3 loại độ đo:
1. Ràng buộc về thời gian trên mỗi máy quay (single camera time constrain): Ràng buộc về thời gian trên mỗi máy quay dựa trên việc một người khơng thể có nhiều quỹ đạo riêng biệt trong cùng một máy quay trong cùng một thời gian. Vì vậy, các quỹ đạo được sinh ra sau khi thực hiện truy vết sẽ không được kết nối nếu vi phạm ràng buộc này.
2. Dự đốn vị trí(linear prediction discount): Một vấn đề nan giải trong bài toán truy vết là việc truy vết một đối tượng khi quãng đường đi của người đó trên máy quay bị ngắt quãng do bị che lấp. Để giải quyết vấn đề trên có thể tận dụng một giả thuyết là trong một thời gian cực kì ngắn (tính theo số khung hình) một người thường đi thành một đường thẳng và có tốc độ khơng đổi nên ta có thể xác định vị trí của một 2
đối tượng sau một khoảng thời gian xác định bằng việc sử dụng mơ hình dự đốn tuyến tính (linear prediction model). Với giả định này, xác suất một đường đi này có thể được nối với đường đi khác sẽ được ước tính dựa trên khoảng cách thời gian của hai đường đi và vận tốc của đối tượng trên hai đường đi đó. Ví dụ ta có hai đường đi t0 là đường đi xuất hiện sớm hơn và ty là đường đi xuất hiện sau theo thứ tự thời gian. Từ vị trí kết thúc của đường đi thứ nhất ta sẽ dự đốn vị trí tiếp tục của đường đi này trong khoảng thời gian cách biệt giữa hai đường đi, như hình 4.11. Vận tốc v0~
của đường đi cũ được ước lượng bằng cách sử dụng vị trí của khung hình đầu tiên và sau cùng của đường đi đó. Cho t0[−1] là vị trí cuối cùng của đường đi đầu tiên và cho △ t là số khung hình giữa hai khoảng thời gian to và ty, sau đó vị trí dự đốnp
sẽ được tính dựa vào cơng thức (4.8):
p=to[−1] +v0~ ∗ △t (4.8)
Khoảng cách giữa vị trí dự đốn p và vị trí của đường đi mới ở khung hình đầu tiên được tính bằng cách dựa vào khoảng cách Euclide chia cho chiều cao của khung hình chữ nhật bao quanh ở khung hình cuối cùng của đường đi cũ như công thức (4.9):
distm(ty[0], p) = kty[0]−pk
bbox_height(to[−1]) (4.9)
Việc chia cho chiều cao của khung hình chữ nhật bao quanh để thực hiện chuẩn hóa nhằm chống lại trường hợp các kết quả khác nhau trong các góc quay khác nhau. Dựa vào giá trị của distm(ty[0], p) có thể tính khả năng đường đi mới là sự tiếp tục của đường đi cũ bằng công thức (4.10):
dpred=
0 distm(ty[0], p)> lmax