6 Tổng kết
4.7 Mơ hình huấn luyện cho đối tượng khơng đeo khẩu trang
luyện trên tập dữ liệu lớn về những khuôn mặt khơng đeo khẩu trang sử dụng mơ hình của ArcFace [10] để huấn luyện. Việc xây dựng bộ cơ sở dữ liệu cho dự đoán ở đối tượng này chỉ cần sử dụng mơ hình để lấy vector đặc trưng ở tầng cuối cùng lưu vào cơ sở dữ liệu.
Các bước xử lý khối nhận diện đối tượng không đeo khẩu trang như sau:
• Xây dựng cơ sở dữ liệu bằng cách trích xuất vector đặc trưng của từng đối tượng cần nhận diện.
• Khi một khn mặt được đưa vào, mơ hình đã huấn luyện trích xuất vector đặc trưng của khn mặt đó.
• Sử dụng vector đặc trưng vừa mới lấy tính khoảng cách Euclide với tồn bộ các vector đặc trưng có sẵn ở trong cơ sở dữ liệu và tìm khoảng cách ngắn nhất.
• Phân tích khoảng cách ngắn nhất này có phù hợp để kết luận danh tính được hay khơng. Nếu khơng, sẽ xét danh tính là "Unknown".
4.3.2 Đối tượng đeo khẩu trang
Việc nhận diện đối tượng đeo khẩu trang thực sự là một thách thức vì lúc này, khn mặt chỉ cịn lại phần trên do đó, việc nhận diện khó khăn hơn rất nhiều. Vì vậy, đây là lý do mơ hình nhận diện đối tượng đeo khẩu trang khơng thể sử dụng chung với mơ hình nhận diện đối tượng khơng đeo khẩu trang được. Ở đây, mơ hình được sử dụng cũng là ArcFace. Việc xây dựng tập dữ liệu huấn luyện được sử dụng từ công cụ MaskTheFace [90] và một bộ cơ sở dữ liệu khác được lấy từ việc trích xuất đặc trưng sau khi sử dụng phục hồi ảnh 2.3.2. Các bước tiến hành để xử lý bài tốn nhận diện danh tính đối tượng đeo khẩu trang như sau:
Từ hình 4.8, việc đầu tiên là từ tập dữ liệu có sẵn của những khn mặt được đưa qua mơ hình MaskTheFace [90] để gắn khẩu trang vào, ở đây, khẩu trang có nhiều loại như N95, Surgery,... Sau khi gắn xong khẩu trang thì sẽ tiếp đến bước huấn luyện mơ hình. Cùng lúc đó, các khn mặt cũng được đưa qua mơ hình phục hồi ảnh đã đề cập [11] để học cách phục hồi những ảnh đã có.
Việc gắn thêm khẩu trang để mơ hình có thể loại bỏ các đặc trưng ở phần dưới khuôn mặt và tập trung chủ yếu vào phần trên. Từ đó, có thể nâng cao tính chính xác hơn cho việc nhận diện danh tính đối tượng đeo khẩu trang. Đồng thời, xây dựng mơ hình phục hồi ảnh để tăng cao khả năng phán đốn của mơ hình.
Sau khi huấn luyện xong, việc xây dựng cơ sở dữ liệu là cũng quan trọng. Bộ cơ sở dữ liệu được xây dựng riêng so với cơ sở dữ liệu của đối tượng khơng đeo khẩu trang nhằm mục đích so sánh chủ yếu phần trên khn mặt và hạn chế sai sót cho việc nhận diện danh tính đối tượng khơng đeo khẩu trang. Các bước tiến hành xây dựng cơ sở dữ liệu như hình 4.9. Mặt khác, đối với mơ hình phục hồi ảnh, việc xây dựng cơ sở dữ liệu riêng cũng cần thiết vì khn mặt sinh ra sẽ có thể có những nét khác với khn mặt gốc nên đối với mỗi đối tượng thì cần có một dữ liệu riêng như hình 4.10.
Hình 4.8: Tổng quan các bước huấn luyện và dự đốn danh tính đối tượng đeo khẩu trang. Sau khi đã xây dựng xong hai cơ sở dữ liệu, khi một bức ảnh đã lấy được vector đặc trưng với hai mơ hình thì hai cơ sở dữ liệu sẽ cho hai dãy kết quả, khi đó, phương pháp đề xuất là xem xét kết quả nào tốt hơn và lấy kết quả đó để làm kết quả cuối cùng.
Nhìn chung, việc huấn luyện cho đối tượng đeo khẩu trang và không đeo khẩu trang tương đối giống nhau. Tuy nhiên, phải có sự phân biệt giữa hai mơ hình ở đây để làm cho mơ hình dành cho đối tượng đeo khẩu trang khơng ảnh hưởng và kéo độ chính xác của mơ hình dành cho đối tượng khơng đeo khẩu trang xuống. Từ đó, mơ hình sẽ đạt được độ chính xác cao hơn.
Hình 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 trang.
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 quát 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ự đố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ó