Mô-đun Chú Ý Kênh

Một phần của tài liệu Nhận diện và theo dấu đối tượng trên hệ thống nhiều camera (Trang 47)

6 Tổng kết

3.6 Mô-đun Chú Ý Kênh

3.5.1 Tính chất tập trung

Tính chất tập trung của ABD-Net dựa trên hai mơ-đun của nó là bao gồm: Mơ-đun

Chú Ý Kênh - Channel Attention Module (CAM) và Mơ-đun Chú Ý Vị Trí - Position

Attention Module (PAM). CAM tạo điều kiện thuận lợi cho việc tổng hợp thông tin đặc trưng của ảnh theo kênh, trong khi PAM nắm bắt về khơng gian của các vị trí cơ thể và bộ phận của đối tượng.

3.5.1.1 Mơ-đun Chú Ý Kênh

Các kênh tích chập cấp cao (high-level convolutional channel) trong bộ phân loại CNN được huấn luyện có liên quan đến ngữ nghĩa và thường có tính chọn lọc. Trong bài tốn tái định danh, chúng tơi giả thuyết rằng các kênh cấp cao khi rút trích đặc trưng một đối tượng cũng được "nhóm lại", tức là một số kênh có đặc trưng ngữ nghĩa tương tự (chẳng hạn như hình ảnh đối tượng, cảnh vật phía sau đối tượng) và có mức tương quan với nhau cao. CAM được thiết kế để nhóm và tổng hợp các kênh tương tự về ngữ nghĩa đó. Cấu trúc đầy đủ của CAM được thể hiện qua hình 3.6. Khi có ma trận đặc trưng (feature map) đầu vàoARC×H×W, trong đó C là số kênh vàH×W là kích thước của ma trận đặc trưng, ta có thể tính được ma trận tương quan (similar matrix) theo kênhXRC×C

như được thể hiện ở công thức dưới đây:

xi,j = exp(Ai·Aj)

PC

j=1exp(Ai·Aj), i, j∈ {1, ..., C} (3.6) trong đóxi,j biểu diễn sự tác động của kênh ilên kênh j. Kết quả cuối cùng của ma trận

đặc trưng E được tính bởi cơng thức 3.7:

Ei=γ

C

X

j=1

(xi,jAj) +Ai, i∈ {1, ..., C} (3.7)

γ là siêu tham số (hyperparameter) để điều chỉnh mức độ tác động giữa các kênh.

3.5.1.2 Mơ-đun Chú Ý Vị Trí

Ngược lại với CAM, PAM được thiết kế để nắm bắt và tổng hợp các điểm ảnh (pixel) liên quan đến ngữ nghĩa đó trong miền khơng gian. Cấu trúc của PAM được biểu diễn

Hình 3.7: Mơ-đun Chú Ý Vị Trí (Position Attention Module)[12].

như trong Hình 3.7. Các ma trận đặc trưng đầu vào ARC×H×W đầu tiên được đưa vào các lớp tích chập với chuẩn hóa theo nhóm (batch normalization) và hàm kích hoạt ReLU để tạo ra các ma trận đặc trưng B, C, DRC×H×W. Sau đó, tiến hành tính ma trận tương quan theo điểm ảnhSRN×N, trong đó N =H×W. Lưu ý rằng kích chiều củaSX là khác nhau, vì ma trậnS tính mức độ tương quan giữaN điểm ảnh thay vì

C kênh. Ma trận trận đặc trưng kết của của mơ-đun này cũng được tính giống như CAM ở mục 3.5.1.1.

3.5.2 Tính đa dạng

Tính đa dạng được thực hiện bằng cách chính quy hóa trực giao (orthogonality regu- larization) trên cả đặc trưng ẩn (hidden feature) và trọng số (weights) của lớp tính chập (convolutional layer) và lớp kết nối đầy đủ (fully-connected layer). Chính quy hóa trực giao trên các ma trận đặc trưng (viết tắt làO.F.) để giảm mức độ tương quan đặc trưng

làm tăng hiệu suất của việc tái định danh. Chính quy hóa trực giao trên trọng số (O.W.) khuyến khích các bộ lọc của mạng tính chập tổng quát hơn và thúc đẩy khả năng học.

Để có thể chính quy hóa trên ma trận đặc trưng, ta ký hiệu ma trận đặc trưng M

RC×H×W, trong đó C, H, W lần lượt là số kênh, số hàng và số cột của ma trận đặc trưng. Sau đó, ta định hình lại kích thước ma trận M thành ma trận FRC×N với

N =H×W và thực hiện spectral value difference orthogonality (SVDO) bằng công thức 3.8:

βkλ1(FFT)−λ2(FFT)k2

2 (3.8)

trong đó λ1(FFT) và λ2(FFT) ký hiệu cho giá trị lớn nhất và giá trị nhỏ nhất của trị riêng của ma trậnFFT.

Có một vấn đề là để tính được đạo hàm của SVDO, ta cần tiến hành phân tính trị riêng (eigenvalue decomposition) và điều này tốn rất nhiều tài ngun tính tốn đặc biệt là khi ma trận có nhiều chiều. Để vượt qua bước này, ta thể xấp xỉ trị riêng bằng cách thực hiện lặp công thức 3.9 (mặc định là 2 lần) với giá trị q ban đầu được khởi tạo ngẫu nhiên.

pXq, qXp, λ(X)←kqk

kpk (3.9)

trong đó XFFT khi tính cho λ1(FFT) và (FFTλ1I) khi tính cho λ2(FFT). Bằng cách này việc tính tốn SVDO trở nên hiệu quả hơn nhiều.

Hình 3.8: Kiến trúc mạng ABD-Net. O.W. được áp dụng trên mọi lớp ResNet. O.F. đượcáp dụng sau sử dụng CAM trên lớp res_conv_2 và lớp res_conv_5 ở nhánh tập trung. áp dụng sau sử dụng CAM trên lớp res_conv_2 và lớp res_conv_5 ở nhánh tập trung. Ma trận đặc trưng từ hai nhánh sẽ được nối lại với nhau thành kết quả cuối cùng [12].

3.5.3 Kiến trúc mạng

Kiến trúc tổng quan của ABD-Net được biểu diễn trong hình 3.8. ABD-Net tương thích với các mơ hình rút trích đặc trưng gốc (backbone) nổi tiếng như ResNet [15], InceptionNet [84] và Densenet [85]. Trong hiện thực của đề tài, ResNet-50 được dùng làm mơ hình rút trích đặc trưng gốc nhờ vào sự phổ biến của nó trong bài tốn tái định danh [86, 87].

Cụ thể trong kiến trúc ABD-Net, CAM và O.F. được dùng ở đầu ra của khối res_conv_2. Ma trận đặc tính đã chính quy hóa sẽ được dùng làm đầu vào của khối res_net_3. Tiếp theo, ngay sau khối res_conv_4, mạng ABD-Net sẽ chia làm hai nhánh song song: nhánh toàn cục (global branch) và nhánh tập trung (attentive branch). O.W. được áp dụng trên mọi lớp tích chập mạng ResNet-50. Đầu ra của hai nhánh được nối vào nhau tạo thành ma trận đặc trưng cuối cùng.

Nhánh tập trung sử dụng khối res_conv_5 giống như trong mơ hình của ResNet-50. Ma trận đặc trưng đầu ra của khối này được đưa vào một lớp rút gọn3 (reduction layer) với O.F. được sử dụng để làm nhỏ ma trận đặc trưngTα. Sau đó, Tα được đưa vào đồng thời CAM và PAM với O.F. ở cả hai mô-đun. Đầu ra của hai mô-đun tập trung này sẽ được nối với với đầu vào Tα, và tiếp tục đi qua một lớp tổng hợp trung bình tồn cục (global average pooling layer) để ra kết quả cuối cùng là một vectơ đặc trưng vớikαchiều. Trong nhánh toàn cục, sau khối res_conv_5, ma trận đặc trưngTg được đưa vào một lớp tổng hợp trung bình tồn cục theo sau là lớp rút gọn và xuất ra vectơ đặc trưng với

kg chiều. Mục đích của nhánh tồn cục là để bảo tồn những đặc trưng toàn cục bên cạnh những đặc trưng của nhánh tập trung.

Cuối cùng, ABD-Net được huấn luyện bởi hàm mất mátL (Công thức 3.10) bao gồm cross entropy loss, hard mining triplet loss và biểu thức phạt (penalty term) của những ràng buộc trực giao trên đặc trưng (O.F.) và trên trọng số (O.W.):

L=Lxent+βtrLtriplet+βO.F.LO.F.+βO.W.LO.W (3.10) trong đóLO.F.LO.W. lần lượt đại diện cho những biểu thức phát của SVDO lên những ma trận đặc trưng và trọng số.βtr, βO.F.βO.W. là những siêu tham số.

3

3.6 Kalman Filter

Kalman Filter là một trong những thuật toán ước lượng quan trọng và phổ biến nhất. Kalman Filter tạo ra các ước tính về giá trị các biến ẩn dựa trên lịch sử các phép đo khơng chính xác và khơng chắc chắn. Đồng thời, Kalman Filter cung cấp dự đoán về trạng thái (state) hệ thống trong tương lai, dựa trên các ước tính của nó và các giá trị đo thực tế trong quá khứ. Với những đặc trưng trên, ngày nay, Kalman Filter được xem là một giải pháp tối ưu cho các bài toán theo dấu (tracking) hoặc dự đoán như theo dõi mục tiêu trên radar, hệ thống định vị và định vị, hệ thống điều khiển, đồ họa máy tính và nhiều hơn nữa.

3.6.1 Định nghĩa bài tốn

Kalman Filter ước tính các trạng thái dựa trên hệ thống độc lực học tuyến tính (linear dynamical system) ở định dạng khơng gian trạng thái (state space format). Mơ hình dự đốn (process model) xác định sự cập nhật của một trạng thái từ điểm thời giant−1 tới điểm thời gian k như sau:

xk=F xk−1+Bxk−1+xk−1 (3.11) trong đó F là ma trận chuyển trạng thái được áp dụng cho vectơ trạng thái liền trước

xk−1,B là ma trận điều khiển giá trị đầu vào được áp dụng cho vectơµ, vàwk−1 là vectơ nhiễu mà được giả sử có phân phối Gaussian với giá trị trung bình và hiệp phương saiQ, wk−1N(0, Q).

Mơ hình dự đốn được kết hợp với mơ hình quan sát (observation model) miêu tả mối quan hệ giữa trạng thái và giá trị quan sát được của nó tại thời điểmk như sau:

zk=Hxk+vk (3.12)

trong đó zk là vectơ giá trị quan sát được, H là ma trận quan sát (observation matrix), và bk là vectơ nhiễu của các giá trị quan sát được mà giả sử có phân phối Gaussian có giá trị trung bình là 0 và hiệp phương saiR (vk∼N(0, R)).

Nhiệm vụ của Kalman Filter là ước tính giá trị củaxk cho trước giá trị ước lượng ban đầu làx0, chuỗi các giá trị quan sát z1, z2, .., zk cũng như các thông tin của hệ thống được mô tả bởi F, B, H,QR. Các ma trận hiệp phương sai dùng để thể hiện phân bố xác

suất của các giá trị nhiễu tuy nhiên những giá trị này thường sẽ không xác định được hoặc không theo tuân theo phân phối Gaussian trong nhiều trường hợp. Vì vậy,QR

thường được thử thay giá trị (tuning) nhiều lần để có thể đạt được kết quả mong muốn.

3.6.2 Thuật toán Kalman Filter

Thuật toán Kalman Filter gồm hai bước được thực hiện lặp đi lặp lại là dự đoán

(prediction) vàcập nhật (update).

Một khi các trạng thái ban đầu của được khởi tạo, thuật toán Kalman Filter sẽ tiến hành dự đoán trạng thái tiếp theo của hệ thống cũng như đưa ra sự khơng chắc chắn của nó về kết quả dự đốn.

• Dự đốn trạng thái

ˆ

• Ước lượng sai số dự đoán

Pk−=F Pk−1+ FT +Q (3.14)

Sau khi giá trị thực của các trạng thái tại thời gian mà Kalman Filter dự đoán được quan sát, Kalman Filter sẽ cập nhật giá trị ước tính của các trạng thái và sai số dự đốn.

• Tính khoảng chênh lệch giữa dự đốn và quan sát được ˜

yk=zkHxˆ−k (3.15)

• Tính chỉ số học Kalman (Kalman Gain)

Kk=PkHT(R+HPkHT)−1 (3.16)

• Cập nhật lại giá trị ước tính của trạng thái ˆ

x+k = ˆxk +Kky˜ (3.17)

• Cập nhật lại ước lượng phương sai của sai số ˆ

Pk+= (I−KkH)P

k ) (3.18)

Trong các công thức ở trên,ˆthể hiện ước lượng của biến. Ví dụ: ˆxlà ước lượng của biến

x. Dấu mũ− và + lần lượt biểu diễn giá trị dự đoán (prior) và cập nhật (posterior) của ước lượng.

Giá trị dự đoán của một trạng thái được tính dựa trên giá trị của trạng thái trước đó mà đã được cập nhật lại. Biến P là ma trận hiệp phương sai về sai số của trạng thái (state error covariance) và nó thể hiện sai số trong ước lượng mà Kalman Filter nghĩ hệ thống ước lượng có thể có. Chúng ta có thể thấy được từ cơng thức 3.18, giá trị của P tăng tại bước dự đoán do được cộng một lượng Q, có nghĩa là Kalman Filter trở nên thiếu chắc chắn hơn khi về giá trị ước lượng của trạng thái sau bước dự đoán.

Tại bước cập nhật, giá trị chênh lệch giữa dự đoán Hxˆ−k và quan sát được zk y˜k sẽ được tính đầu tiên. Sau đó, ˜yk được nhân với hệ số học Kalman Kk như một sự điều chỉnh cho giá trị dự đoánHxˆ−k. Sau khi cập nhật giá trị trạng thái, Kalman Filter sẽ tiến hành cập nhật lại ma trận hiệp phương sai của sai số Pk+. Giá trị đã cập nhật của ma trận hiệp phương sai của sai số sẽ luôn nhỏ hơn giá trị dự đốn trước đó của ma trận này, điều này thể hiện Kalman Filter ngày càng trở nên chắc chắn hơn về ước tính của một trạng thái sau khi giá trị quan sát được của trạng thái này được dùng tại bước cập nhật. Để Kalman Filter có thể hoạt động, chúng ta cần có một bước khởi tạo các giá trị ban đầu. Tại bước này, chúng ta sẽ đốn trước giá trị ước tính ban đầu của trạng thái ˆx+0 và ma trận hiệp phương sai của sai số ˆP0+ cũng như hai thông số cố định là độ nhiễu của hệ thống Qvà sai số trong quan sát R. Sau khi khởi tạo các giá trị, chúng ta có thể tiến

hành chạy Kalman Filter bằng cách tiến hành các bước dự đoán và cập nhật lần lượt tại các mốc thời giank (k= 1,2,3, ...)

Kalman Filter hoạt động dựa trên giả thuyết là đối tượng trong hệ thống mà chúng ta muốn quan sát có chuyển động tuyến tính và độ nhiễu của hệ thống cũng như sai số trong quan sát phải theo phân phối Gaussian. Vì vậy, Kalman Filter chỉ đưa ra được lời giải tối ưu cho bài toán ước lượng chỉ khi các giả thuyết trên được thỏa mãn.

Chương 4

Framework cho hệ thống định danh và truy vết nhiều camera

4.1 Tổng quan framework đề xuất

Hệ thống theo dõi đối tượng trên nhiều máy quay sẽ được thể hiện chi tiết qua các khối mơ-đun như hình 4.1 và phân thành ba phần chính bao gồm:

• Nhận dạng (detector): mơ hình nhận dạng sẽ thực hiện nhiệm vụ là xác định vị trí của cơ thể người để đưa kết quả cho quá trình truy vết, xác định vị trí của khn mặt đồng thời xác định người đó có đeo khẩu trang hay khơng để truyền kết quả cho phần nhận diện danh tính. Nhìn chung, quá trình nhận dạng là cầu nối cho q trình truy vết và nhận diện danh tính kết nối được với nhau. Mơ-đun này sẽ được nói rõ ở mục 4.2.

• Nhận diện (recognizer): mơ hình nhận diện danh tính sẽ dựa vào kết quả của nhận dạng để phân loại việc đeo khẩu trang hay khơng và xác định danh tính của khn mặt mà q trình nhận dạng đưa vào. Từ đó, kết quả này sẽ được gán cho đối tượng và đồng bộ lên các máy quay. Mô-đun này sẽ được nói rõ ở mục 4.3.

• Truy vết (tracking): mơ hình sẽ dựa vào những đặc trưng được trích xuất từ q trình nhận dạng cơ thể người (Person Detector) trên mỗi máy quay đơn lẻ (Person ReID + Single Camera Tracking), từ đó kết hợp với khn mặt nhận diện được ở q trình nhận diện(Face Recognition) để hệ thống biết được danh tính đối tượng. Từ đó, kết nối và đồng bộ trên tồn bộ các máy quay (Multi-camera Clustering). Mơ-đun này sẽ được nói rõ ở mục 4.4 và mục 4.5.

Từ những phân tích đó, luồng chạy của hệ thống như hình 4.1 bắt đầu từ video đầu vào sẽ được đưa vào khối Person Detector để trích xuất ra khn mặt và cơ thể người, từ đó sẽ chia ra hai luồng chạy song song là luồng nhận diện danh tính và luồng truy

vết. Luồng nhận diện sẽ phân tích khn mặt có đeo khẩu trang hay không dựa vào khối

Face/FaceMask Detectorvà đưa kết quả đó vào khối Face Recognition để xác định danh tính. Cùng lúc đó, khối truy vết sẽ sử dụng kết quả nhận dạng cơ thể người để trích xuất đặc trưng và sử dụng khối Person ReID để xác định các đối tượng trong cùng một máy quay và nổi lại nhau bằng khối Single Camera Tracking. Dựa vào kết quả

hai luồng chạy song song và kết quả vị trí của khối Person Detector, hệ thống sẽ xem

khuôn mặt thuộc về đối tượng nào để gắn định danh, đồng bộ dữ liệu quá khứ cho tới hiện tại và sử dụng kết quả của Person ReID để kết nối các máy quay nếu đối tượng đó xuất hiện ở máy quay khác dựa vào khốiMulti-camera Clustering.

Kết quả từ khối Multi-camera Clustering sẽ cho hệ thống biết được quá trình một người di chuyển qua các camera để sử dụng cho các mục đích khác.

4.2 Phát hiện đối tượng

4.2.1 Phát hiện gương mặt sử dụng khẩu trang

Mơ hình phát hiện và phân loại có nhiệm vụ trích xuất ra được các khn mặt xuất hiện trong khung hình và phân loại khn mặt đó có sử dụng khẩu trang hay khơng và đưa dữ liệu đầu ra đó vào hệ thống nhận diện. Mơ hình phải phân loại được gương mặt vì mơ hình nhận diện được thiết kế gồm hai phần. Một phần dùng để nhận diện khn mặt bình thường và phần cịn lại là nhận diện khn mặt sử dụng khẩu trang. Chính vì

Một phần của tài liệu Nhận diện và theo dấu đối tượng trên hệ thống nhiều camera (Trang 47)

Tải bản đầy đủ (PDF)

(95 trang)