Những vấn đề liên quan đến thuật toán

Một phần của tài liệu (Luận văn thạc sĩ) HỆ THỐNG ĐIỂM DANH HỌC SINH THEO VẾT CHUYỂN ĐỘNG KẾT HỢP NHẬN DẠNG ĐẦU HỌC SINH TRONG VIDEO (Trang 44)

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

- 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à ngoà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

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 toá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ự đoá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

2.4.3 Thuật tố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ự đoán vị trí mới (xt, yt);

// Dự đố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

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ả trên miền tần số Fourer.

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 tố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

XÂY DỰNG THUẬT TOÁN

Như đã trình bài ở Chương một, bài tố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ụ qt 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

- 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

đ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 toá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 tố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 tố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:

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

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 toá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 tố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. . 𝑁);

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 toá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 𝐻𝑑𝑎𝑢 = 𝐻𝑑𝑎𝑢 ∪ 𝐻𝑖[𝑗] ENDIF ENDFOR ENDFOR RETURN 𝐻𝑑𝑎𝑢

Trong quá trình xây dựng tập dữ liệu vùng đầu của học sinh, để có tập dữ liệu vùng đầu tốt nhất dùng cho tập huấn luyện, chúng tơi xây dựng thuật tốn kiểm tra một phần tử (đối tượng) có thuộc tập hợp vùng đẩu đã có được trong

thuật tốn 3.3 hay khơng. Thuật toán này dùng để loại trừ các đối tượng được

nhận dạng nhưng không phải là vùng đầu học sinh. Những đối tượng đó có thể là bóng của học sinh khác, bóng của quạt, máy chiếu, hoặc từ các ô cửa sổ phản chiếu lên bàn, trên tường hoặc hành lang giữa hai dãy bàn; hoặc cũng có thể là vật dụng của học sinh để trên bàn...

Thuật toán dựa vào khoảng cách d (thuật toán 3.4). Mỗi phần tử là một hình chữ nhật. Tâm hai phần tử không xa nhau hơn khoảng cách d và giao hai hình chữ nhật này phải lớn hơn 𝛼%.

Thuật toán 3.4: thuật toán kiểm tra một phần tử có thuộc một tập hợp hay khơng: (isPartOfData(K,a, d)) INPUT: Tập hợp K; Phần tử a; Khoảng cách d; OUTPUT:

Nếu đúng là TRUE (1) hoặc sai là FALSE (0);

Một phần của tài liệu (Luận văn thạc sĩ) HỆ THỐNG ĐIỂM DANH HỌC SINH THEO VẾT CHUYỂN ĐỘNG KẾT HỢP NHẬN DẠNG ĐẦU HỌC SINH TRONG VIDEO (Trang 44)