Những bộ lọc tương quan được dùng rộng rãi trong nhiều ứng dụng như là phát hiện vật thể và nhận dạng đối tượng. Bởi vì phép tốn được chuyển đổi dễ dàng thành miền tần số Fourier bởi phép nhân từng phần tử, những bộ lọc
tương quan đã thu hút sự chú ý đáng kể gần đây để theo dõi hình dạng bên
Trang 45 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
- Bolme và những cộng sự đã đề xuất để tìm hiểu hiểu bộ lọc MOSSE để
theo dõi ngoại thể trên những hình ảnh gam màu xám, mà ở đó, bộ lọc đã được huấn luyện mã hóa ngoại thể của mục tiêu cùng với những cập nhật, trên mỗi khung hình. Bằng việc sử dụng những bộ lọc tương quan, trình theo dõi MOSSE có hiệu quả về mặt tính tốn với tốc độ đạt đến vài trăm khung hình
mỗi giây[14].
Heriques và những cộng sự đề xuất sử dụng những bộ lọc tương quan trong một không gian nhân với phương pháp CSK đạt được tốc độ cao nhất trong lần
đánh giá gần đây. Phương pháp CSK xây dựng trên những đặc trưng tăng cường độ chiếu sáng và được cải thiện bằng việc sử dụng những đặc trưng
HOG trên thuật toán theo dõi KCF [14].
Danelljan và những cộng sự khám phá ra những thuộc tính màu sắc của đối
tượng và tìm hiểu một bộ lọc tương quan thích nghi bằng việc kết hợp những đối tượng đa kênh vào một không gian nhân Gausian [14].
Zhang và những cộng sự kết hợp thông tin bối cảnh vào việc học của bộ lọc, và mơ hình hóa sự thay đổi kích thước dựa trên phản hồi tương quan liên tục
[14].
Trình theo dõi DSST học những bộ lọc tương quan nhiều kích thước tương thích bằng việc sử dụng đặc trưng HOG để xử lý sự thay đổi kích thước của
những đối tượng.
Tuy nhiên, những phương pháp này không giải quyết được những vấn đề rất quan trọng liên quan đến cập nhật mơ hình trực tuyến. Do đó, các trình tương quan này dễ bị biến mất và ít hiệu quả hơn trong việc xử lý các đối tượng bị
biến dạng và ngồi tầm.
Để giảm thiểu tình trạng khó xử giữa tính ổn định và tính linh động liên quan đến cập nhật mơ hình trực tuyến trong việc theo dõi hình thể, Kalal và
những cộng sự đã phân tích việc theo dõi thành ba yếu tố gồm: theo dõi, học
tập và pháp hiện (Tracking, Learning, Detection - TLD) [21]. Mà ở đó việc theo dõi và phát hiện tạo điều kiện dễ dàng cho mỗi bên. Những kết quả từ trình theo
Trang 46 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
dõi cung cấp thông tin học tập để cập nhật trình phát hiện và trình phát hiện tái tạo lại trình theo dõi khi mà nó thất bại. Cơ chế này được cho là hoạt động tốt
cho theo dõi lâu dài.
Zhang và những người khác kết hợp nhiều trình phân loại với những mức độ thích nghi khác nhau và thiết kế một bộ đo entropy để kết hợp tất cả các đầu ra theo dõi.
Thuật toán mang lại một số điểm giống nhau với hai phương pháp này cùng với sự khác nhau đáng kể trong những thành phần theo dõi dựa trên phương
pháp Lucas-Kanade mà khơng hồn tồn khai thác thơng tin ngữ cảnh thời gian. Thuận toán sử dụng một mơ hình hồi quy hình chóp để nghiên cứu sự tương
quan theo thời gian của ngữ cảnh thay vì một trình phân loại nhị phân (ví dụ trình phân loại SVM trực tuyến). Để giảm thiểu vấn đề về những mẫu bị nhiễu, Hare và những cộng sự xem xét sự phân phối không gian của mẫu bên trong một khơng gian tìm kiếm và đề xuất để nghiên cứu một đầu ra có cấu trúc giao
để dự đốn vị trí của vật thể, phương pháp này đã được chứng minh là hoạt động rất tốt. Bởi vì các tốn tử tương quan được tính tốn trên miền tần số
Fourier và cân nhắc tất cả những vòng tròn dịch chuyển của những đặc trưng
đầu vào, bên cạnh đó mơ hình hồi quy giúp xử lý một cách hiệu quả việc lấy
mẫu cơ bản trong việc theo dõi trực tuyến với một bộ phân loại nhị phân trực tuyến.
Thuật tốn theo dõi trực tuyến có thể thích ứng với sự thay đổi đáng kể về
ngoại hình mà khơng bị bị bỏ qua. Chúng chia nhiệm vụ thành dự đốn sự biến dạng về hình dáng và kích thước. Sự biến dạng được dự đoán bằng việc sử
dụng sự tương quan của ngoại cảnh theo thời gian và sự dự đốn kích thước được thưc hiện bằng cách học một bộ lọc phân biệt tương quan. Thuật toán bao
Trang 47 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
2.4.3 Thuật toán theo vết đối tượng dựa trên đặc trưng tương quan
Thuật toán 2.2: thuật toán theo vết
INPUT: Khởi tạo khung giới hạn mục tiêu x0
OUPUT: Trạng thái vật thể được dự đoán: 𝑋𝑡 = (𝑥̂ , 𝑦𝑡 ̂ , 𝑠𝑡 ̂)𝑡 , mơ hình hồi quy ngữ cảnh theo thời gian Rc , mơ hình quy hồi ngoại hình mục tiêu Rt, và bộ phát hiện Random Ferns Drf
WHILE
Cắt cửa sổ tìm kiếm thành khung t, dựa theo (𝑥̂𝑡−1, 𝑦̂𝑡−1)
và xuất ra những đặc trưng;
// Dự đốn biến dạng
Tính tốn bản đồ tương quan yt: sử dụng Rc và
𝑦̂ = 𝐹−1 (𝐴 ⨀ 𝐹 (∅(𝑧) ∙ ∅(𝑥̂))) để dự đốn vị trí mới (xt, yt);
// Dự đoán thay đổi kích thước
Xây dựng mơ kim tử tháp quanh (xt, yt) và tính tốn sơ
đồ tương quan yS bằng việc sử dụng Rt và 𝑦̂ =
𝐹−1 (𝐴 ⨀ 𝐹 (∅(𝑧) ∙ ∅(𝑥̂)));
Dự đốn kích thước tối ưu 𝑠̂ sử dụng
𝑠̂ = 𝑎𝑟𝑔𝑟𝑚𝑎𝑥(max(𝑦̂1) , max(𝑦̂2), … , max (𝑦̂𝑠)) 𝑥𝑡 = (𝑥𝑡, 𝑦𝑡, 𝑠̂)
//Phát hiện lại mục tiêu
IF max(𝑦𝑠̂) < 𝑇𝑟
THEN
Sử dụng bộ phát hiện Drf để thực hiện việc tái phát hiện và tìm những trạng thái phần tử có thể X;
FOREACH (từng trạng thái 𝑋′𝑖 trong X)
Tính điểm độ tin cậy 𝑌′𝑖 sử dụng
Rt và 𝑦̂ = 𝐹−1 (𝐴 ⨀ 𝐹 (∅(𝑧) ∙ ∅(𝑥̂)));
ENDIF
Trang 48 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
THEN 𝑥𝑡 = 𝑥′t , WHERE i = argmax𝑖𝑌′𝑖;
ENDIF // Cập nhật mơ hình Cập nhật Rc sử dụng 𝑥̂𝑡 = (1− ∝)𝑥̂𝑡−1+ ∝ 𝑥𝑡, 𝐴̂𝑡 = (1− ∝)𝐴̂𝑡−1+ ∝ 𝐴𝑡, IF max( 𝑌𝑆̂) > 𝑇∝ THEN Cập nhật Rt sử dụng 𝐽𝑠̂ và 𝑥̂𝑡 = (1− ∝)𝑥̂𝑡−1+ ∝ 𝑥𝑡, 𝐴̂𝑡 = (1− ∝)𝐴̂𝑡−1+ ∝ 𝐴𝑡, ENDIF Cập nhật 𝐷𝑟𝑓 UNTIL kết thúc chuỗi hình ảnh ENDWHILE
Mỗi vector đặc trưng x được biểu diễn bằng sự kết hợp của nhiều kênh.
Ngoài những đặc trưng HOG với 31 kênh, họ sử dụng sơ đồ đặc trưng của cường độ trong cửa sổ cục bộ 6 × 6 với 8 kênh. Để cung cấp sức mạnh cho
những biến thể chiếu sáng, họ tính tốn biểu đồ cường độ cục bộ trên kênh ánh
sáng và cũng thêm một kênh được chuyển đổi bằng cách áp dụng một phép
chuyển đổi thứ bậc không theo phương trình về kênh độ sáng. Do đó, họ sử
dụng những vector đặc trưng với 47 kênh để huấn luyện bộ hồi quy ngữ cảnh theo thời gian Rc. Đối với mơ hình mục tiêu Rt, họ chỉ sử dụng những đặc trưng
HOG để xây dựng được theo dõi với độ tin cậy cao được thay đổi kích thước thành 15 x 15 để hình thành một vector đặc trưng của giá trị cường độ.
Chọn tham số Kernel: sử dụng một nhân Gaussian kernel k(x, x’) = exp(−|𝑥−𝑥′|2
𝑥2 ), mà nó miêu tả một cái sơ đồ ∅ với k(x, x’) = ∅(𝑥) ∙ ∅(𝑥′) trong
cả hai mơ hình hồi quy Rc và Rt. Họ tính tốn sự tương quan tồn nhân 𝐴 =
𝐹(𝑎) 𝐹(𝑦)
𝐹(∅(𝑥) ∙ ∅(𝑥)+ ⋋) và 𝑦̂ = 𝐹−1(𝐴 ⨀ 𝐹(𝜃(𝑧) ∙ 𝜃(𝑥̂))) một cách hiệu quả
Trang 49 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
2.4.4 Tổng kết
Đây là một thuật toán hiệu quả cho việc theo vết lâu dài. Phương pháp này học những bộ lọc tương quan khác nhau để ước lượng sự thay đổi về mặt biến
dạng và kích thước của những vật thể mục tiêu một cách hiệu quả. Sự biến dạng được ước lượng bằng việc mơ hình hóa tương quan bối cảnh liên quan thời gian và kích thước được ước lượng bằng việc tìm kiếm trong mơ hình kim tự tháp một cách tồn diện. Thuật toán đã giúp phát triển một bộ phát hiện trực tuyến mạnh mẽ sử dụng bộ phân loại Random ferns để tái phát hiện lại mục tiêu
Trang 50 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
XÂY DỰNG THUẬT TỐN
Như đã trình bài ở Chương một, bài toán điểm danh học sinh có thể dùng
các phương pháp điểm danh truyền thống như: bằng phiếu điểm danh hoặc
bằng danh sách lớp, hai phương pháp này sẽ dẫn đến tình trạng học sinh điểm danh hộ cho bạn của mình, do đó kết quả sẽ khơng chính xác; nếu dùng cơng
nghệ nhận dạng khn mặt sẽ khó nhận dạng những bạn ngồi phía sau (nhất là những bạn ở các dãy bàn cuối); còn nếu dùng công cụ quét dấu vân tay điểm
danh từng học sinh thì dễ gây ùn tắc, gây khó khăn và ảnh hưởng đến giờ học của các lớp. Các phương pháp nêu trên đều gặp khơng ít những khó khăn và trở ngại. Chính vì lẽ đó, việc tận dụng những camera đã được gắn trên cao trong
các lớp học kết hợp dùng phương pháp phát hiện và theo vết chuyển động vùng
đầu học sinh sẽ giải quyết được bài toán điểm danh học sinh trong lớp học. Phương pháp này có ưu điểm là dùng công nghệ nhận dạng đầu, nên có thể
nhận dạng các đối tượng ở cuối phịng học, kể cả những bạn ngồi phía sau các bạn lớn hơn (vì camera được gắn trên cao), dùng mơ hình học sâu để huấn luyện và cho kết quả điểm danh tự động nên sẽ không mất thời gian, cũng sẽ
khơng có trình trạng điểm danh hộ, lại cho kết quả nhanh và có độ chính xác
khá cao. Phương pháp này giải quyết được những khó khăn và trở ngại mà các
phương pháp truyền thống không làm được.
Để thực hiện bài toán điểm danh học sinh dùng phương pháp nhận dạng vùng đầu học sinh kết hợp theo vết chuyển động của vùng đầu học sinh trong
camera, chúng tơi chia bài tốn điểm danh này thành bốn bài toán sau.
- Bài toán 1: Phát hiện vùng đầu của học sinh trong một số frame của video thu được trong lớp học;
- Bài toán 2: Theo vết chuyển động vùng đầu của từng học sinh trong
Trang 51 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
- Bài toán 3: Xác định vị trí tâm trung bình vùng đầu của từng học sinh trong lớp học;
- Bài toán 4: Chiếu tìm vị trí tâm trung bình vùng đầu của từng học sinh
lên sơ đồ lớp học để điểm danh.
Bài toán điểm danh học sinh sau khi được phân tích thành bốn bài tốn nhỏ được mơ tả như sơ đồ 3.1 dưới đây.
Sơ đồ 3.1. Mơ hình bài tốn điểm danh học sinh dùng camera
Phát hiện vùng đầu học sinh trong ảnh
Trước tiên, chúng ta cần xác định thời điểm bắt đầu của bài tốn điểm danh
học sinh? Khi nào thì dùng thuật tốn tìm vùng đầu học sinh, tức là dùng frame
nào trong đoạn video được chọn để thực hiện công việc này. Trên thực tế, thời
Phát hiện đầu
học sinh trong n frame
Dùng mơ hình học máy chuyên sâu phát hiện vùng đầu
được huấn luyện
Theo vết chuyển động các vùng đầu theo mức độ tương quan Tính tâm trung bình từng vùng đầu của từng học sinh Chiếu tâm trung bình từng đầu học sinh lên sơ đồ lớp Kết quả điểm danh học sinh Dữ liệu từ camera
Trang 52 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
điểm chưa có giáo viên vào lớp là lúc học sinh di chuyển nhiều, không ngồi cố định, hoặc ngồi không đúng vị trí của mình, học sinh cịn hay đùa giỡn, đổi chổ,
thậm chí cịn chạy nhảy trong lớp học. Do đó, nếu bắt đầu lúc này sẽ dễ gây hỗn loạn dữ liệu, vì mức độ thay đổi giữa các frame ảnh của từng vị trí học sinh là rất lớn nên sẽ rất khó điểm danh. Thời điểm tốt nhất để bắt đầu của bài toán phát hiện vùng đầu của học sinh trong lớp học là lúc giáo viên vừa vào lớp. Vì vậy, chúng tơi xây dựng thuật tốn 3.1 để xác định frame bắt đầu dựa vào mức
độ thay đổi của hai frame ảnh gần nhau. Hay nói cách khác, thuật toán này xem
xét mức độ thay đổi (độ chênh lệch) của hai frame ảnh cách nhau một khoảng
thời gian ∆𝑡 mà có ít sự thay đổi nhất.
Thuật toán 3.1: xác định frame đầu tiên của bài tốn tìm các vùng đầu của học sinh lớp học
INPUT:
Những video được quay trong lớp học;
OUTPUT:
Vị trí frame theo yêu cầu: pos;
Bước 1:
max 0;
go vị trí frame đầu tiên của video;
pos go;
Bước 2:
Chuyển các frame ảnh về không gian xám;
Bước 3:
Trang 53 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
flag false;
frame1 video[go].timFrame();
Bước 4:
WHILE (video còn lại và !flag);
go go+t; 4.1: frame2 video[go].timFrame(); 4.2: IF (max ≤ |𝑓𝑟𝑎𝑚𝑒2 – 𝑓𝑟𝑎𝑚𝑒1|) THEN max = |𝑓𝑟𝑎𝑚𝑒2 – 𝑓𝑟𝑎𝑚𝑒1|; pos = go; num ++; ENDIF 4.3: frame1 frame2;
IF (go đủ lớn và num không đổi); THEN
flag true;
ENDIF ENDWHILE
Trang 54 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
RETURN pos
Trong bài toán điểm danh học sinh tập dữ liệu 𝐷𝑑𝑎𝑢 được xây dựng từ dữ liệu được trích xuất trong một phần video và các ảnh được thu thập từ các
nguồn khác nhau. Cụ thể, Để có tập dữ liệu 𝐷𝑑𝑎𝑢 này, chúng tôi lấy ra 50 frame
ảnh từ hàng ngàn frame ảnh của mỗi video quay được trong các lớp học, trong
50 frame ảnh này; sau đó chúng tơi trích xuất vùng đầu của học sinh trong các frame ảnh tạo thành tập tập dữ liệu 𝐷𝑑𝑎𝑢. Tập dữ liệu 𝐷𝑑𝑎𝑢 này được sử dụng
để huấn luyện theo mơ hình học chuyên sâu YOLOv2 để được mơ hình phát
hiện vùng đầu trong ảnh của lớp học được đặt tên là 𝑀𝑌_𝑌𝑂𝐿𝑂2𝑑𝑎𝑢
Trong thực tế các yếu tố môi trường tác động như: mức độ sáng thay đổi
(mây nhiều hoặc ít), do bóng của đối tượng khác đi ngang cửa sổ che khuất
vùng ảnh của học sinh, do chuyển động của máy quạt, do màn che trong phịng học bị gió thổi hay do các đối tượng học sinh dịch chuyển…. Những yếu tố này có thể sẽ gây ra sự khác biệt nhau trong quá trình xác định các đối tượng vùng
đầu học sinh trong frame thứ m và frame thứ n. Do đó, chúng tơi xây dựng thuật tốn để phát hiện các vùng đầu của từng frame trong đoạn video, để có thể chắc chắn rằng vị trí cần điểm danh có học sinh hay khơng, (thuật tốn 3.2).
Thuật toán 3.2: Xác định các vùng đầu trong đoạn video
INPUT:
Tập hợp Frame có X phần tử; Kết quả pos từ thuật toán 3.1;
Và times là bước nhảy của các frame;
OUTPUT:
Tập hợp H có N phần tử, mỗi phần tử của tập hợp H là một tập các vùng đầu của một frame (𝐻𝑖, 𝑖 = 1. . 𝑁);
Trang 55 / 90
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
go pos; FOR i=1 to N do H[i] = 𝑀𝑌_𝑌𝑂𝐿𝑂2𝑑𝑎𝑢. 𝑡𝑖𝑚𝐻𝑒𝑎𝑑(𝑣𝑖𝑑𝑒𝑜[𝑔𝑜]. 𝑡𝑖𝑚𝐹𝑟𝑎𝑚𝑒()); go go + times; ENDFOR RETURN H
Sau khi có kết quả của thuật toán 3.2, chúng tôi tiến hành xây dựng thuật tốn để tích hợp các 𝐻𝑖, 𝑖 = 1. . 𝑁 từ các frame để có được một tập các vùng đầu
của học sinh trong lớp tốt nhất.
Chúng tơi xây dựng thuật tốn 3.3 dưới đây để cho kết quả là tập các vùng
đầu học sinh trong lớp học.
Thuật toán 3.3: xác định một tập các vùng đầu của học sinh trong lớp.
INPUT: 𝐻 = {𝐻𝑖/𝑖 = 1. . 𝑁} and d; OUTPUT: 𝐻𝑑𝑎𝑢 𝐻𝑑𝑎𝑢 = 𝐻1; FOR i = 2 to N do FOR j = 1 to |𝐻𝑖| do IF(!isPartOfData(𝐻𝑑𝑎𝑢, 𝐻𝑖[𝑗],d)) THEN 𝐻𝑑𝑎𝑢 = 𝐻𝑑𝑎𝑢 ∪ 𝐻𝑖[𝑗]