Sau khi tính xong gradient tại các pixel, ta sõ sắp xếp các giá trị phương gradient theo thứ tự lừ nho đến lớn và chia chúng vào các bin. Giá trị cua phương gradient sc nam trong khoáng [0, 180], được chia thành 9 bin được gán nhãn tử 0-8. mồi bin sè có độ dài là 20.
Sau đó biếu đồ (histogram) của các ơ sẽ được tính dựa trên sổ lần xưảt hiện cùa các nhãn dược gán.
» tl tr w r • > 4
• •• •• M (• «■ BI n a »• n a p • IB
IU 00 n
ST 0 9 in 79 97 1» too
120 TO
Hình 2.13. Histogram của các ơ |53|.
Bườc 3. Chuẩn hóa khối 16x16
Đê giám độ ánh hưởng cùa yểu tố ánh sáng lén gradient, ta can chuẩn hóa gradient bàng cách sư dụng các hàm chuẩn hóa thơng dụng như I.l-norm, L2- norm.
Trong bước này. ta sẽ chuẩn hóa cho tửng khối 16x16, mỗi khối sẽ có 4 ơ 8x8. Một ơ 8x8 sỗ có vector histogram có kích thước 9x I. do dó một khối 16x16 sẻ có 4 vectơ histogram kích thước 9x I. Nối các vector này sẻ thu được vector histogram tong họp có kích thước 36x 1 và sau đó chn hóa theo norm trên vcctơ này.
Bước 4. Tính vectơ đặc trưng HOC
Sau khi chuẩn hóa các vcctơ histogram, la sè gộp các vcctơ36xl này thành một vcctơ lớn. Đây chinh lã vector HOG đại diện cho lồn bộ hình ảnh.
2.2.3. Rút trích đặc trung ãnh nhiệt vói t-ROI
Trong 1311. tác giá đã đề xuất phương pháp tim vùng quan tâm ROI và mang lại hiệu quá cao. Từ ma trận nhiệt ban đầu. ROI được xác định như sau:
Gọi h, g, f là các hàm ánh xạ dược xác định [311:
/::/■-> g : T -> Gr f.Gr^lc
Trong đó F là khơng gian mặt; Te là không gian nhiệt độ: Gr là không gian mặt trong thang đo xám: lc là cường độ cùa pixel trong thang đo xám 1311.
9* 1&5 133 «36 ’44 152 9R 1QẠ Tfi 36 26 «1 ITT f ’« 159 22 12$ 143 14 150 145 144 145 143 110 96 100 101 1» 113 I at 00 00 97 71 85 43 136 » 05 15/ .’5 n »06 145 1/4 /1 13 34 a 1» 2/ 46 110 Gradient Magnitude 1« ITO 91 4 110 17 mjxT Gradient Qrectioff fV 23 27 22 1/ < / iỹ 1«6 135 66 32 26 zf z z I Histogram of Gradients (2.8)
àTf=T^-TZ (2.9) ờ'rf=àTt./TZ (2.1 0) (2.1 1) 1[ ={(ij)€ F\rí *jỉTf -Sĩt «<ĩ(ij)} 2) (2.1 keũĩ
là nhiệt độ lớn nhất và nhô nhất trong frame k; T^., lã cường độ cao nhất trong thang đo xám, K lã số frame (31 ].
2.3. Phuong pháp phân loại
2.3.1. Máy học vccto hỗ trợ (SVM)
Máy học vectơ hồ trợ (Support Vector Machine-SVM) là một thuật tốn học máy có giám sát được sử dụng rẳt phơ biến trong các bài toán phân lớp được để xuất bới V. N. Vapnik. SVM nhận dừ liệu vào và phân loại chúng vào hai lóp khác nhau.
Ý tường của SVM lã cho trước một tập mầu huấn luyện đà được biêu dicn trong không gian vectơ, trong đó mồi dừ liệu là một diêm. SVM sè tìm ra một siêu phảng tốt nhất có the chia các dicm dó thành hai lớp riêng biệt. Chat lượng cua siêu phăng này sẽ dược quyết định bời khoảng cách, gọi là lề (margin), cua điểm dừ liệu gần nhất cùa mỏi lớp đến mặt phăng này. Khi đó. khoang cách lề càng lớn thì mặt phăng quyết định càng tốt. đồng thời việc phân loại càng chính xác [54]. Ý tướng này dựa trên dừ liệu có the phân tách tuyền tính.
Xét tập dừ liệu n = ã>ô)ằ vi.v, e/T* the hin u vo cùa một điếm dữ liệu và y, 6 {-1.1} là nhãn của điểm dữ liệu. Mục tiêu cùa SVM là tìm một siêu phang phân cách sao cho khống cách biên giừa hai lớp là lớn nhất.
Hình 2.14. Siêu phăng vói lề cực dại [55].
Siêu phăng được định nghĩa như sau:
w'x + b-i) (2.13)
trong đó w là vcctơ n chiều và b độ lệch so VỚI gốc tọa độ.
Siêu phăng tối ưu phân tập dừ liệu thành hai lớp là siêu phăng có thê tách rời dừ liệu thành hai lớp riêng biệt với lè lớn nhất. Trong trưởng hợp này. dừ liệu cùa mồi lóp chi có thể ờ bên trái (y = 1) hoặc bên phai (y = -1) cùa siêu phảng. Do đó. hai lề có thể được xác định đế kiểm sốt khà năng phân tách cùa dữ liệu:
Khống cách giữa các lề:
H 1**11
Ta cần tìm siêu phăng tối ưu, tức là giãi bài toán tối ưu:
Min. . =
■ ■ _s.__ y.|tv\v + />)> 1 với ràng buộc ' Đê giái bài toán tối ưu trên, nhân tứ Lagrange dc s dng: L.. (kô) -1 Mr z a {ã* [ ■’ •*. + Z,1 “11
(2.14)
(2.15)
(2.16)
ƠH'
“O^y^.v “0 &> Ế*
Thay (2.18), (2.19) vào (2.17) ta được phương trinh tống quát cũa trường hợp phân tách luyến tính như sau:
Max /.» = £«,
1-1 ^CI-I
a,ỉO = 0
Trong trường hợp dừ liệu không phàn tách tuycn tinh, SVM sỗ giai quyct bảng cách su dụng một hàm phạt giam thiêu lỏi phân loại sai.
Hình 2.15. Dử liệu khơng thể phân tách tuyến tính với các biến slack (ệ)
được xác định đế giãni thiểu lỗi phân loại sai [55].
Hàm phạt được định nghía như sau:
r(í)=i« (2.21)
1*1
£là khoang cách giừa diểm phân loại sai cua mồi lớp với lề. Khi đó. bài tốn tối ưu cần giải quyết là:
(2.22) 2 >-1
(2.18)
(2.19) (2.20)
I...- V.Gv*-t + ^lìì 1 — í; với ràng buộc • • ' ĩ
Tham số c trong phương trinh trên được gọi là tham số “trade-off* được thèm vào đê tối đa hóa lồ và giâm thiêu sai số phân loại.
Đe giãi bài toán tối ưu trên, nhân tứ Lagrange (a(aí -°)) được sir dụng: = + ■ Ẻư'lV'íM’r-v. 1 T>]-l+ £,}-£/?,£ * i-1 J-1 /-1 (2.2 3) Với: ẽL A V 77 *-0 =>% 2jw. 4) (2.2 — =0=> Va,y. =0 5) (2.2 — = 0=> «,+/?,= c ẽệ i (2.2 6)
Thay (2.24), (2.25) vào (2.23) ta được phương trinh tổng quát cùa tnrờng hợp khơng phân tách tuyến tính như sau:
(2.27) í-l ^ế.ị-l
'1^=0
*■1
Trong trường hợp dữ liệu khơng tuyền tính, SVM sẽ sừ dụng một hàm nhân K (kernel) 0<A,.y,)= ^(A..A,) để biến đồi dừ liệu ban đầu sang một không gian mới nhiều chiều, ờ không gian mới nãy. dừ liệu trơ nên phân tách tuyển tính. Một sỗ hãm nhân thường dũng:
Polynomial kernel (hàm nhân da thức) có dạng: K(A,.A J=(x’\ + 11’ (2.29) Radial Basis Function Kernel (hàm nhân RBF) có dạng:
(2.30)
2.3.2. Học sứ dụng thơng tin đặc quyền
Con người học nhanh hon máy do có sự hướng dần từ người dạy (teacher) [56]. Vapnik và cộng sự đà đưa ra ý tướng kết hợp sự hướng dần cũa người dạy vào học máy. dược gọi Là học sử dụng thông tin dặc quyền (Learning using privileged information-LUPI). Trong mơ hình LUPI, một sổ thông tin đặc quyền sẻ được sứ dụng ờ giai đoạn huấn luyện và không được sir dụng ớ giai đoạn kiểm tra.
Vapnik và cộng sự đưa ra 2 chiến lược đế học sư dụng thông tin đặc quyển: kiềm tra sự tương đồng (similarity control) và chuyến giao kiến thức (knowledge transfer).
Trong dề xuất cùa các tác già. dữ liệu huấn luyện là một bộ ba: (xl.xl\yj.... (x4,.x;.yj . Xị e X , xjeX', y, e{-1,1}.Trong đó: (x,.yỆ) là một cặp đặc trưng - nhãn và Xxlà thông tin dặc quyền dược bồ sung vào dê hỗ trợ quá trình học.
Ỷ lường cua kiểm tra sự lương đồng xuất phát từ việc phân loại SVM được phân tách sau khi thay đôi các giá trị (đo lường mức độ phân loại sai cua các diem dừ liệu huấn luyện Xi). Việc phân loại riêng biệt có thời gian học nhanh, vì vậy, sẽ lý tường hơn nếu các giá trị được ước tính từ những thơng tin hữu ích từ người dạy (thơng tin dặc quyền). Kiềm tra sự tương dồng cịn dược gọi là SV.V1+.
Với bộ dừ liệu huấn luyện (X. X*. y) các vectơx được ánh xạ vào không gian z và các vectơ X* vào khơng gian z*. Khi đó bộ ba dừ liệu:
Ta có: ,y)=Iy (w.zV^l (2.31) Khi đỏ bài tốn tối ưu trong SVM— lã:
- ọ Kơã +r(cÈí. <) + 1 (2.32)
*" lil
với ràng buộc ị = Ị......n
[(M\.<)+£>*|>0 /=/.......N
Trong đô: M' € X và ố e K. c và V là nhửng tham số cần đicu chinh.
Trong chuyến giao kicn thức, mơ hình người dạy (teacher) điều chinh hàm /. (•>•)= L",<*■(“>■) với cặp dừ liệu - nhản Ị(x,*.)•,){"_! đề tìm tập họp các diem tốt nhất đẽ gán các nhăn có sai sổ thấp nhất có thể. Kết qua này sè được chuyên giao cho người học (student).
2.4. Mạng nơ-ron tích chập
2.4.1. Kiến trúc cơ bán mạng nơ-ron tích chập
Mạng nơ-ron tích chập (Convolutional Neural Network-CNN) là một trong những mơ hình học sâu phố biến nhất hiện nay. dược ứng dụng thành cịng trong các bài tốn phân loại anh. văn ban. nhận dạng tiếng nói. phân tích ánh y khoa. Mạng CNN được phát triển dựa trên ý tướng cãi tiến cách thức các mạng nơ-ron nhân tạo truyền thống học thông tin trong anh.
Cấu trúc cơ bân cùa CNN gồm các lớp: lớp tích chập (Convolutional), lớp gộp (Pooling), lớp dược kết nối dầy dù (Fully connected).
Lớp tích chập (Convolutional): đây là thành phần quan trọng nhất trong mạng
CNN, dùng đế rút trích đặc trưng cua ảnh đầu vào. Trong lớp tích chập, các bộ lọc được sứ dụng đê thực hiện phép tích chập bằng cách đưa chúng đi qua nia (rận đấu vào đé lạo ra bán đồ dặc trưng (feature map) cho lớp tiếp theo.
Trong Hình 2.17. bộ lọc được sử dụng là một ma trận có kích thước 3x3, bộ lọc này dịch chuyển lẩn lượt qua từng vùng ãnh den khi hoàn thành quét toàn bộ ánh. tạo ra một ãnh mới có kích thước nhơ hơn hoặc bàng với kích thước anh đầu vào.
Hình 2.17. Bộ lọc tích chập dược sừ dụng trên nia trận diem ảnh [57].
Lóp gộp (Pooling): được sử dụng sau lớp lích chập đe làm giâm kích thước ành
dầu ra nhưng vẫn giữ dược các thơng tin quan trọng cùa ánh dầu vào. Việc giam kích thước dữ liệu có tác dụng làm giám sổ lượng tham số cũng như tăng hiệu q tính tốn. Có 2 loại pooling phô biến là: Max Pooling (lấy giá trị diêm ánh lớn nhát) và Average Pooling (lẩy giá trị trung bình cùa các diêm ánh trong vùng anh cục bộ).
Dầu vào Bộ lọc Thum số: Size: f=3 Stride: 3 = 1 Padding: p = o 2 • • • ••• • • Kết quá Q] = 9*1 ♦ 2’0 ♦ 5’(-1) ♦ 6'1 ♦ 2*0*4,(-1)* 4'1 ♦5‘0*4'(-1)
36 80
12 15
Hình 2.18. Các loại pooling [57].
Lóp được kết nối đầy đù (Fully Connected): ở phần cuối cùa một mạng nơ-ron
tích chập, dầu ra cua lớp gộp cuối cùng dỏng vai trô là dầu vào cho lớp được kết nối đầy đú. Có thế có một hoặc nhiều lớp này. Dược kết nối dầy đu có nghĩa là mọi nút trong lớp đầu tiên được kết nổi với mọi nút trong lớp thử hai.
Hình 2.19. Lóp dược kết nổi dầy du [57]. Max Pooling 2x2 pool size 31 15 28 184 0 100 70 38 12 12 7 2 12 12 45 6 Average Pooling 2x2 pool size 100 184
2.4.2. Một SỐ kiến trúc CNN■ LeNet 5 ■ LeNet 5
LcNet 5 là kiến trúc đầu tiên áp dụng mạng tích chập 2 chiều được đè xuẩt bơi Yan Lecun. Lcnct có cẩu trúc khá đơn gian với lóp lích chập, lóp gộp và lớp dược kết nổi đầy đù. Để giảm chiều dừ liệu. Sub-Sampling Layer là một
Average-Pooling Layer dược str dụng.
Hình 2.20. Kiến trúc LeNet 5 [58].- VGG 16 - VGG 16
VGG 16 là mạng nơ-ron tích chập được đề xuất bới Karen Simonyan và Andrew Zisserman [59] vảo năm 2014 và đạt độ chính xác 92.7% khi huấn luyện trên tập dữ liệu ImageNct. VGG 16 dược đặc trưng bởi sự dơn gián cua nó với 16 lớp bao gồm các lóp tích chập và lớp dược kết nổi đầy dù. Karen và Andrew chi sứ dụng các lớp tích chập có kích thước 3x3. max pooling có kích thước 2x2 và hai lớp dược kết nối dầy dù. mỗi lởp có 4.096 nút sau dó dược
Hình 2.21. Kiến trúc mạng VGG 16 [59], ■ ResNet
Convokihon hcrrvi.n.-, (5X5) SLDsampting
_____ ________
CoiYOktOon _ . Cocvoution awwxKlril Output (5X5) s**™**'* <5X5) tayer
Input Feature Map Peaw<e Mao FeMureMap Feature Map
ResNet là viết tắt cùa Residual Network là mạng nơ-ron tích chập được đè xuắt bời Kairmng He và cộng sự (60) vào năm 2015. Mơ hình nãy đà vơ cũng thành cơng, giành được vị trí cao nhát tại cuộc thi phân loại ILSVRC 2015 với độ lồi là 3.57%.
Những mạng CNN dược thiết kể có nhiều lớp có the giãi quyết dược các vấn dề phức tạp hiệu quà hon. Tuy nhiên, khi số lượng lớp cùa mạng nơ-ron tăng lèn. mức độ chính xác có thê bị bão hịa và giâm dẩn sau một thời điếm. Kct quá là hiệu suất cua mơ hình xấu đi do gặp phai vấn đề vanishing gradient hoặc exploding gradient. ResNet được tạo ra vói mục đích giai quyết van đề này.
Giãi pháp mà ResNet đưa ra là sử dụng kết nối tẩt. Các kết nối tắt giúp giữ thông tin không bị mất bang cách kết nối từ lớp trước dó tới lớp phía sau và bó qua một vài lớp trung gian. Một khối như vậy được gọi là một Residual block.
Hình 2.22. Residual block |60|.
ResNet có thiết kế lớp tích chập tương tự như VGG nhưng có nhiều lớp hơn. Một số kiến trúc ResNet như ResNet 18. ResNet 34. ResNet 50. ResNet lOl.ResNet 152.
X identity
U)CÍ ÍMllX iXltpMtsưe M-U)CÍ ■ 5O.Uyct lObụtr 152-laycc cowl 112x112 7x7. 64.Mnde2
3x 3 ÌIMX pool xtrúle 2 <x»tft'2a 56x56 !***lxa 3x3.M ] " [ 3x3.64 1! 3x3.64 I x3 lxl.64 3x3.64 1x1.256 x3 lxl.64 3x3.64 lxl.256 X3 lxl.64 3x3.64 lxl.256 x3 coffrJjt . 28 3x3.12*13x3.12* J [ 3x3.128l 3x3. 128 x4 Ixl. 128 3^3.128 lxl.512 x4 ■ 1X1. 128 3x3.128 lxl.512 x4 1X1.128 3x3.128 lxl.512 X* 14x14 3XJ.2J6 1JxX2S6 Ị [ 3x3.256 ị3x3.256 xó 1x1.256 3x3.256 1x1.1024 x6 lxl.256 3x3.256 Ixl. 1024 x2 3 lxl.256 3x3. 256 lxl.1024 X3 6 com5-Ã 7x7 3x3.512 13x3.512 J • ị 3*3.512l 3x3.512 X3 1x1.512 3x3.512 lxl.2048 x3 lxl.512 3x3.512 1x1,2048 x3 lxl.512 3x3.512 1x1.2048 x3 Ixl overage pool. 1 OOO-đ fc. MơítnuA
FLS l.s> ÌCP 3.6 X lừ1 3.8 X lơ1 7.6x10” 11.3x11/'
Hình 2.23. Bảng chi tiết kiến trúc mạng ResNet |60]. 2.5. Phuong pháp đánh giá mơ hình phân lóp
Đánh giá mơ hình là một phần quan trọng khi xây dựng một mơ hình học máy hiệu qua. Đánh giá mờ hĩnh giúp chúng ta lựa chọn được mơ hình phù hợp nhất dổi với bài tốn cùa mình. Có rất nhiều cách dề đánh giá một mơ hình phân lớp. Tuỳ vào nhừng bìu tốn khác nhau mà chúng ta sứ dụng các phương pháp khác nhau. Một số phương pháp thưởng được sư dụng là: độ chính xác (accuracy), ma trận nhầm lần (confusion matrix), độ chuẩn xác (precision), độ phu (recall) và độ dung hịa (Fl- score).
Xét ví dụ một bộ phân loại xuất ra liệu chữ cái đầu vào có phái là “A" hay không. Chúng ta gọi lớp A là Positive, lớp còn lại (Not A) là Negative. Khi thực hiện bài tốn phân loại, có 4 trường hợp dự đốn có the xây ra:
Báng 2.1. Định nghĩa các giá trị cho việc đánh giá mơ hình.
Thực tế
A (Positive) Not A (Negative)
Du dốn
A (Positive) TP FP
Not A (Negative) FN TN
- TP (True Positive): đối tượng ớ lớp Positive, mơ hình phân đối tượng vào lỏp Positive.
kip Negative.
- FP (False Positive): đổi lượng ờ lớp Negative, mơ hình phân đối tượng vào lớp Positive
- FN (False Negative): dối lượng ờ lớp Positive, mỏ hình phân dối tượng vào lóp Negative.
Nhùng chi số trên sè là cơ sờ để lính tốn nhừng metric như accuracy, precision, recall, fl - score.
Accuracy
Độ chính xác (accuracy) là tỷ lệ giữa sổ trường hợp được dự đoán đúng trên tồng số trường hợp trong lập dử liệu. Phạm VI giá trị cua dộ chính xác từ 0-1. Giá trị càng lớn thì độ chính xác càng cao. Độ chính xác dược tính theo cơng thức:
TP+TN
Accuracy = ' _ (2.33)
TP + TN + FP + FN
Confuse matrix
Ma trận nhằm lần (confuse matrix) là một ma trận hai chiều the hiện số lượng diêm dừ liệu thuộc vào một lớp và được dự đoán rơi vào một lớp. Báng 2.2. Ma trận nhầm lẫn vói 4 phân lớp 161 Ị. Thực tế A B c D A KHI 0 0 0 B 80 9 1 1 c 10 0 8 0 D 10 1 1 9
Precision và Recall
VỚI bài toán phân loại mà dừ liệu cùa các lớp phân bố khơng đồng đều. có một phép đo hiệu qua thường được sứ dụng là Precision - Recall. Xét bài toán phân loại