Tải bản đầy đủ (.docx) (67 trang)

NHẬN DIỆN KHUÔN mặt từ CAMERA sử DỤNG MACHINE LEARNING (có code)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.91 MB, 67 trang )

ĐỒ ÁN TỐT NGHIỆP

NHẬN DIỆN KHUÔN MẶT TỪ CAMERA
SỬ DỤNG MACHINE LEARNING

x


DANH MỤC CÁC TỪ VIẾT TẮT

HOG : Histogram of Oriented Gradients.
SVM: Support Vector Machine.
SURF: Speeded-Up Robust Features.
SIFT: Scale Invariant Feature Transfor.
RGB: Red, Green, Blue.
CMY: Cyan Meganta yellow.
LoG: Lower of Gaussian.
DoG: difference of Gaussian.
AI: Artifical Intelligence.

xi


Đồ Án Tốt Nghiệp
Trang 3/65

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1) Giới thiệu tổng quát đề tài
Nhận diện khuôn mặt hiện nay là 1 xu thế phát triển mạnh mẽ, dẫn đầu với các
công nghệ nhận diện chúng ta có thể thấy apple họ đã đưa nhận diện khuôn mặt vào
sử dụng về việc bảo mật. Apple đã phân tích việc tìm ra một khuôn mặt giống với


khuôn mặt khác từng đường nét, từng đặc trưng là 1 tỉ lệ vô cùng hiếm. Chính vì
những ưu điểm về những đặc nhưng của mỗi khuôn mặt khác nhau như vậy thì tỉ lệ
và khả năng bảo vệ của việc nhận diện khuôn mặt rất cao.
Với tính chất tỉ lệ xác suất cao như vậy, việc sử dụng công nghệ nhận diện khuôn
mặt đã được phổ biến và áp dụng trong nhiều lĩnh vực như:

Hình 1. 1: Nhận diện khuôn mặt của facebook

Nhận diện khuôn mặt từ camera sử dụng machine learning


Đồ Án Tốt Nghiệp
Trang 4/65

Hình 1. 2: Nhận diện khuôn mặt của Iphone

1.2) Những phần đề tài thực hiện
Nhận diện khuôn mặt bằng phương pháp trích xuất đặc trưng riêng của từng hình
ảnh khuôn mặt và sau đó sử dụng machine learning với phương thức để cho máy
học các đặc trưng đó để chúng phân loại chính xác người cần nhận diện.
Bên cạnh đó đề tài còn nghiên cứu về các thuật toán nhận dạng đặc điểm khuôn
mặt như:


HOG.



SIFT.




SURF.



Support Vector Machine.

Và các thông số hiệu chỉnh như sau:


Kernel.

Nhận diện khuôn mặt từ camera sử dụng machine learning


Đồ Án Tốt Nghiệp
Trang 5/65


Gamma.



Regularization.

Margin.

Nhận diện khuôn mặt từ camera sử dụng machine learning



Đồ Án Tốt Nghiệp
Trang 6/65

CHƯƠNG 2: TỔNG QUAN VỀ XỬ LÝ ẢNH
2.1) Giới thiệu
Xử lý ảnh là một trong những lĩnh vực nghiên cứu rất quan trọng hiện nay, xử lý
ảnh có thể được áp dụng trong rất nhiều lĩnh vực thực tiễn ngày nay khi ngành công
nghệ thế giới đang phát triển.
Hiện nay những công nghệ an ninh trên thế giới ngày càng phát triển, chúng tần
cần có những ứng dụng và những thiết bị an ninh kiểm soát tốt để giúp ích cho việc
quản lý xã hội hoặc là giúp chúng ta có thể tìm được 1 người thất lạc khi hiện nay
các camera trên đường phố khắp nơi. Đây là những lí do chính cho mục đích xây
dựng đề tài.
Xử lí ảnh có nhiều ứng dụng, trong đó đầu tiên có thể nói đến đó là trong nhiệm
vụ “ Ranger 7 “ vào những năm đầu của thập niên 60. Lúc đó các nhà khoa học Mỹ
đã trang bị một hệ thống quan sát và ghi nhận hình ảnh được gắn trên tàu vũ trụ
nhằm chụp lại những tấm hình đầu tiên khi con người bước lên mặt trăng và những
tấm hình đó được xử lý tốt nhờ máy tính số.
Trong cuộc sống ngày nay với một xã hội ngày càng được phát triển, đòi hỏi nhu
cầu ngày càng được cao thì ứng dụng xử lý ảnh đã và đang được ứng dụng rộng rãi,
trong đó tác động mạnh mẽ vào những lĩnh vực như : cải thiện ảnh trên truyền hình,
truyền hình độ phân giải cao, an ninh, y tế, và đồ họa.
Xử lý ảnh được chia thành 4 lĩnh vực
 Cải thiện hình ảnh.
 Phục hồi ảnh.
 Mã hóa ảnh.
 Lý giải nội dung ảnh.
2.1.1) Ảnh sô
Ảnh số là gồm tập hợp những điểm ảnh với cường độ của mức xám là nhất định

nhằm hiển thị ảnh đó so với ảnh thật. Số điểm ảnh càng lớn thì độ phân giải càng có
thể cao và chất lượng của ảnh đó càng tốt.

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 7/65

Ảnh số ở trong không gian 2 chiều là một hàm G(x,y) với G là giá trị biên độ tại
tọa độ (x,y). Trong đó, x là số điểm ảnh theo trục hoành, y theo trục tung. Một ảnh
có G(64x128) nghĩa là độ phân giải của ảnh là 64x128.
2.1.2) Sơ đồ xử lý ảnh sô
Camera

Thu
nhận ảnh

Số ảnh
hóa

Xử lý
số

Mục đích sử
dụng

Sơ đồ 2. 1: Sơ đồ xử lý ảnh sô


Chú giải:


Thu nhận hình ảnh: thông qua camera ta thu nhận được hình ảnh.



Số ảnh hóa: đây là bước chuyển giao ảnh từ tương tự thành số thông qua quá
trình lượng tử hóa và lấy mẫu.



Xử lý số: phục hồi hình ảnh, trích xuất dặc tính, phát hiện biên, ….



Mục đích sử dụng: đây là bước tùy vào ứng dụng như nhận dạng, hiển thị,
phân loại,…

2.1.3) Những mô hình màu của ảnh sô


Mô hình RGB: mô hình này bao gồm các màu cơ sở như Red, Green và
Blue.



Mô hình CMY: mô hình dựa trên các màu chủ đạo như Cyan, Magenta và
Yellow, còn các màu này có phần bù của Red, Green và Blue.




Mô hình HSV: là màu sắc của độ bão hòa, màu sắc, giá trị.

2.1.4) Những thành phần cơ bản của một ảnh sô


Điểm ảnh.

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 8/65


Độ phân giải.



Các loại ảnh màu.



Mức xám.

2.2) Giải thuật Histogram of Oriented Gradients (HOG)

2.2.1) Giới thiệu
Được Navneet Dalal và Bill Triggs thuộc các nhà nghiên cứu khoa học và máy
tính tự động hóa ở Pháp.
HOG là một kiểu mô tả đặc tính được sử dụng chủ yếu trong computer vision và
xử lí ảnh nhằm mục đích phát hiện vật thể. Đây là kỹ thuật xuất hiện đối với định
hướng gradient trong các phần được cụ thể hóa của hình ảnh.
Với ý tưởng hình dạng và trạng thái của vật thể xuất hiện có những đặc trưng
bằng sự phân bố về cường đồ và hướng của cạnh.
HOG là một trong dạng feature, được biểu thị trên các biểu đồ tính toán dựa trên
sự xuất hiện của các định hướng gradients trên trục x và trục y. HOG là phương
pháp dựa trên phương pháp Scale-Invariant Feature Transform (SIFT) phát triển lên.
Nhưng HOG khác biệt với SIFT là được dùng để phát hiển được vùng đặc điểm
chứa nhiều đối tượng cần nhận dạng.
Thường bộ mô tả đặc trung của HOG chuyển đổi hình ảnh với kích thước rộng
là x, cao là y 3 kênh thành một vector đặc trưng hoặc là một mảng chiều dài là n.
Thường sẽ có kích thước 64x128x3 và số vector là 3780.
HOG với bộ mô tả lấy những trích xuất thông tin có “ hữu ích “ và bỏ đi những
thông tin không cần thiết trên ảnh đó. Các gradients sẽ thay đổi về hướng và cường
độ trên các pixels khi có mức sáng khác nhau trên hình ảnh, ngược lại nếu không có
các mức sáng khác nhau thì sẽ không có sự thay đổi đó.

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 9/65

Với những đặc tính chỉ sử dụng những thông tin “ hữu ích “ đó làm cho việc

phát hiện và phân loại đối tượng tốt hơn từ những vector đặc trưng.
2.2.2) Quy trình xử lý trích xuất của HOG với một hình ảnh


Bước 1: Trước khi xử lý
 Theo lý thuyết thì đầu vào ảnh để có thể trích xuất ra đặc trưng

thường có kích thước cơ bản là 64x128 thì sẽ cho ra kết quả cao nhất.
Có thể các ảnh ở các dạng khác nhau như: màu, xám, trắng đen,…
 Hạn chế duy nhất là cần phải cố size hình cố định. Trong trường hợp

này phải có tỉ lệ là 1:2. Như cụ thể là 100x200, 128x256, 1000x2000.
 Đầu tiên chúng ta sẽ phải scale hình ảnh xuống mức 64x128.

Hình 2. 1: Giảm size mức tôi thiểu [1]


Bước 2: Tính toán hình ảnh Gradient
 Tính toán Gradient là vector F(x,y), được điểm ảnh chia thành 2 chiều

là x và y được tính như sau
Fx (x,y)=limh0

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 10/65


Fy (x,y)=limh0
 Tính độ lớn và hướng của Gradient:
G(i,j)=

Θ=arctan()
 Thực tế, để tính các gradient x và y của ảnh đầu vào, sử dụng bộ lọc

hình ảnh với 2 mặt nạ lọc:

Hình 2. 2: Mặt nạ lọc biên [1]
 Đây là những ảnh sau khi chúng ta lọc biên.

Hình 2. 3: Sau khi lọc biên [1]

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 11/65
 Các x-gradient sáng trên các đường thẳng đứng và các tia sáng y-

gradient trên đường ngang. Độ lớn của gradient sáng ở nơi không có
sự thay đổi mạnh về cường độ. Không cái nào trong ánh sáng khi khu
vực bằng phẳng. Các Gradient loại bỏ rất nhiều những thông tin
không cần thiết. Những phát thảo nổi bật nhờ đó ta có thể nhìn hình
dung được 1 người trong hình.
 Tại mỗi điểm ảnh thì mỗi Gradient có độ lớn và hướng khác.

 Tính biểu đồ của Gradient trong nhóm đặc trưng
 Ở bước này, hình ảnh được chia thành các ô 8x8. Tại mỗi ô được tính

và xuất ra một biểu đồ đặc trưng khác nhau.
 Mỗi ô sẽ có bản vá của ảnh gốc chứa giá trị 8x8x3= 192 pixel, việc

chia thành các ô trên để cung cấp cho 1 đặc trưng nhỏ gọn hơn. Độ
dốc của bản vá chứa 2 giá trị là biên độ và góc, suy ra chúng ta có
8x8x2= 128 giá trị.
 Ở cuối mục này chúng ta sẽ sử dụng 128 giá trị ấy để biểu diễn thành

các ô giá trị định hướng được lưu trữ thành một dãy 9 mức.
 Khi ta chia thành các ô 8x8 làm cho các đặc trưng này có ích hơn,

giảm sự ảnh hưởng bởi các thành phần gây nhiễu.

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 12/65

Hình 2. 4: Chia ô 8x8 của HOG [1]
 Sau khi tính toán thì mỗi ô 8x8 sẽ có 64 giá trị như dưới đây.

Hình 2. 5: Các giá trị biên độ và góc của 1 ô [1]
 Như ta thấy có rất nhiều gradient được phủ lên trên cùng một ô, mũi


tên cho ta thấy hướng của gradient và chiều dài của độ lớn của nó.

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 13/65

Hướng mũi tên trỏ đến là hướng thay đổi của cường độ và độ lớn của
sự khác biệt lớn.
 Ta còn thấy 2 bảng giá trị biên độ đại diện cho từng Gradient trong

mỗi ô 8x8 thì tương ứng với các giá trị góc giao động từ 0  180 được
gọi là “ unsigned “ Gradient, còn từ 0  360 gọi là “ signed “. Theo
nghiên cứu thì khi sử dụng “ unsigned ” cho ra kết quả cao hơn.
 Tiếp theo ta sẽ tạo những biểu đồ Gradient trong các ô 8x8, Mỗi biểu

đồ gồm 9 bin tương ứng với các góc 0,20,40,…,160.

Hình 2. 6: Quá trình tính các giá trị trong 9 bin [1]
 Chúng ta xem xét độ lớn và góc của các Gradient . Mỗi bin được chọn dựa

trên hướng và giá trị biên độ. Trước tiên, hãy tập trung vào pixel được bao
quanh bằng màu xanh lam. Nó có một góc (hướng) của 80 độ và độ lớn của
2. Vì vậy, nó thêm 2 vào thùng thứ 5. Độ dốc tại điểm ảnh được bao quanh

Nhận diện khuôn mặt từ camera sử dụng machine learning


SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 14/65

bằng màu đỏ có góc 10 độ và độ lớn 4. Vì 10 độ là một nửa trong khoảng từ
0 đến 20, nên việc bỏ phiếu bằng pixel chia đều thành hai bin.
 Nếu góc lớn hơn 160 độ, nó nằm trong khoảng từ 160 đến 180, và chúng ta

biết góc kết thúc xung quanh làm tương đương 0 và 180. Vì vậy, trong ví dụ
bên dưới, pixel có góc 165 độ đóng góp tương ứng với thùng 0 độ và thùng
160 độ.
 165 độ nằm giữa 0 và 160. Trong đó ta thấy, 165 cách 0 là 5 => 5/20 = ¼,

suy ra giá trị trong bin 0 sẽ là = ¼ x 85=21.25.

Hình 2. 7: Tính khi góc trên 160 độ [1]
 Sau khi quá trình tính toán các bin kết thúc ta sẽ có biểu đồ 9 bin như sau:

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 15/65

Hình 2. 8: Biểu đồ Gradient [1]



Bước 4: Tính chuẩn hóa khối 16x16
 Trong bước trên chúng ta đã tạo được những biểu đồ 9 bin. Các

Gradient bị nhạy cảm với ánh sáng nghĩa là sẽ có giá trị lớn hơn khi ở
mức xám, điều này sẽ dẫn đến độ lớn và pha của gradient sẽ bị thay
đổi.
 Vì thế tùy vào mức sáng khác nhau mà hình thành các biểu đồ khác

nhau, suy ra chúng ta cần phải chuẩn hóa các giá trị đó lại.
 Theo đề tài thì chúng ta sẽ chuẩn hóa theo chuẩn được gọi là L2 norm.

Việc chuẩn hóa được thực hiện như sau:


Giả sử chúng ta có vector chiều dài 1x3 RGB=[128,64,32]. Ta
áp dụng chuẩn hóa theo L2 norm sẽ là:



Ta sẽ lấy từng giá trị trong vector chia cho 164.64 sẽ được 1
vector chuẩn hóa = [0.87;0.43;0.22].

 Tiếp tục ta sẽ vẫn sử dụng chuẩn hóa L2 norm để chuẩn hóa vector

của từng biểu đồ mà ta đã có ở bước trước. Chúng ta sẽ sử dụng khối
16x16 để chuẩn hóa sẽ được kết quả tốt hơn. Mỗi khối 16x16 sẽ có 4

Nhận diện khuôn mặt từ camera sử dụng machine learning


SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 16/65

biểu đồ 9 bin và mỗi biểu đồ có 1 vector 1x9 nối thành 1 vector là
1x36 cho mỗi khối 16x16. Quá trình chuẩn hóa từng khối theo hình
như sau:

Hình 2. 9: Chuẩn hóa vector cho từng khôi 16x16 [1]


Bước 5: Tính toán đặc tính vector của HOG
 Để tính được các đặc tính của vector cuối cùng cho toàn bộ phần vá

và hình ảnh thì các vector 1x36 được nối chung 1 vector khổng lồ và
ta có thể tính được kích thước của vector đó.


Ví dụ chúng ta có khối 16x16, có 7 vị trí ngang và 15 vị trí dọc
thì tổng là 7x15= 105 vị trí.



Mỗi khối 16x16 có 1 vector tổng là 1x36 chúng ta có 1 vector
là 36x105= 3780.

Nhận diện khuôn mặt từ camera sử dụng machine learning


SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 17/65

Hình 2. 10: Kết quả cuôi sau khi tính toán HOG [1]

2.3) Giải thuật Scale Invariant Feature Transform (SIFT)
2.3.1) Giới thiệu
SIFT là một thuật toán giúp phát hiện tính năng trong tầm nhìn của máy tính
dùng để phát hiện và mô tả tính năng cục bộ của hình ảnh. Được cấp bằng sáng chế
từ Canada bởi Đại Học British Columbia. Được giới thiệu bởi David Lowe 2004,
với được ứng dụng nhiều lĩnh vực như: nhận dạng đối tượng, mô hình 3D, theo dõi
video,…
Scale Invariant nghĩa là đưa ra các kết quả với những hình ảnh được scale khác
nhau. Chúng ta quay vòng bất biến vì ngay cả khi hình ảnh được xoay bất kì góc
nào thì ta cũng có thể tìm được 1 góc tương ứng. Nếu bị scale thì có thể góc không
còn là góc của nó nữa.

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 18/65

Hình 2. 11: Góc bị thay đổi khi scale [7]


2.3.2) 4 bước liên quan chủ yếu


Bước 1: nhận dạng Scale-space Extrema
 Từ hình trên, chúng ta có thể thấy không thể dùng cùng một cửa sổ để

phát hiện điểm chính với các thang đo khác nhau. Đối với góc nhỏ thì
ổn nhưng nếu góc lớn hơn chúng ta cần những cửa sổ lớn hơn. Với
việc này việc lọc tỉ lệ không gian được sử dụng, Laplacian of
Gaussian được tìm thấy các hình ảnh có các giá trị σ khác nhau. LoG
hoạt động như là một máy dò đốm màu nhằm phát hiện các đốm màu
ở các kích thước khác nhau do σ thay đổi, σ lúc này hoạt động như 1
tham số mở rộng.
 Như ví dụ trong hình trên các hạt nhân Gaussian giá trị σ cao cho góc

nhỏ trong khi Gaussian có σ phù hợp cho góc lớn hơn. Chúng ta có
thể tìm thấy các giá trị cực đại trên phạm vi cụ thể và sẽ cung cấp cho
chúng ta danh sách các (x,y,σ) với giá trị nghĩa là điểm tiềm khả năng
tại (x,y) ở tỉ lệ σ.
 Thuật toán SIFT sử dụng sự khác biệt của Gaussian mà là xấp xỉ của

LoG. Sự khác biệt ở đây là Gaussian thu được là sự khác biệt giữa
làm mờ Gaussian của 2 hình ảnh khác nhau σ. Để được σ và kσ. Quá
trình này được thực hiện cho quãng tám khác nhau của hình ảnh trong
kim tự tháp Gaussian:

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu



Đồ Án Tốt Nghiệp
Trang 19/65

Hình 2. 12: Quãng tám trong kim tự tháp Gaussian [7]
 Mỗi DoG (difference of Gaussian) được tìm thấy thì hình ảnh được

tìm cho extrema lân cận trên quy mô và không gian. Một điểm ảnh
được so sánh với 8 lân cận của nó cũng như 9 pixel trong lần scale
tiếp theo và 9 pixel trong scale trước đó. Các tham số khác nhau, số
octaves = 4 , số thang tỉ lệ =5, ban đầu σ = 1.6, k =

Hình 2. 13: Những lớp scale 9 pixel [7]

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 20/65


Bước 2: Keypoint localization
 Sau khi chúng ta lấy những đặc điểm quan trọng của ảnh và chúng sẽ

được điều chỉnh lại để cho ra kết quả chính xác hơn. SIFT lúc này sử
dụng chuỗi Taylor nhằm mở rộng để lấy những vị trí của extrema xác
thực hơn và sau đó nếu cường độ tại extrema thấp hơn giá trị ngưỡng
là 0.03 thì sẽ loại bỏ điểm đó.

 DoG lại có đáp ứng cao hơn ở các cạnh, vì vậy các cạnh cũng sẽ bị

loại. SIFT cũng dùng khái niệm giống như Haris corner detector, cũng
dùng ma trận hessian 2x2 để tìm ra những đường cong chính, cho một
giá trị riêng lớn hơn những giá trị khác. Vì vậy chúng loại bỏ bất kì
điểm tương phản thấp và chỉ giữ lại những đường chính và điểm hợp
lý.


Bước 3: Phân công cho định hướng
 Có một hoặc nhiều hướng được gắn cho từng keypoint. Một khu lân

cận được thực hiện xung quanh vị trí của keypoint những còn tùy vào
quy mô, độ lớn của Gradient và hướng. 1 biểu đồ định hướng bao
gồm 36 bin ứng với 360 độ.


Bước 4: Bộ mô tả keypoint
 Bộ mô tả keypoint được tính bằng cách 16x16 điểm liền kề của chính

keypoint đó. Sau đó chia thành 4x4, với mỗi 4x4 đó ta tạo được biểu
đồ 8 bin như hình dưới đây:

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 21/65


Hình 2. 14: Chia thành biểu đồ 8 bin [7]


Bước 5: Kết hợp các keypoint
 Các keypoint giữa hai hình ảnh được xác định bằng các điểm liền kề

gần nhất của chúng. Nhưng 1 số trường hợp kết hợp lần 2 có thể rất
gần với lần, có thể do tiếng ồn hoặc 1 số lý do khác. Với trường hợp
đó thì tỷ lệ lần 1 với lần 2 lớn hơn 0.8 thì sẽ bị loại.
2.4) Giải thuật Speeded-Up Robust Feature (SURF)
2.4.1) Giới thiệu


Vào Năm 2006 Do 3 người là Herbert Bay, Tuytelaars và Van Gool.



Từ đó SUFT được ra đời giúp cải thiện về tốc đô xử lý, ngoài ra còn cải thiện
thêm về độ chính xác. Về đặc trưng tối ưu cả hai giai đoạn: 1 là detector và
descriptor.



Với giải thuật SIFT thì đã giải quyết được những hạn chế đã còn tồn lại ở tìm
góc Harris và là một trong những thuật toán trích chọn đặc trưng tốt nhất
nhưng SIFT lại có tốc độ xử lý còn chậm và lại không có phù hợp với việc
làm ứng dụng về thời gian thực

Nhận diện khuôn mặt từ camera sử dụng machine learning


SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 22/65


Với SIFT Lower xấp xỉ Laplacian của Gaussian với sự tìm kiếm của scalespace. SURF tốt hơn và xấp xỉ LoG với hộp bộ lọc. Lợi thế của phép tính
xấp xỉ là sự co giãn với hộp bộ lọc được tính toán dễ hơn nhờ sự trợ giúp của
tích phân hình ảnh. SURF cũng dựa vào yếu tố quyết định của ma trận
Hessian cho tỉ lệ và vị trí.

2.4.2) Các bước thuật toán SURF


Bước 1: Dùng bộ dò Fast-Hessian nhằm xác định các điểm nổi bật
 Ma trận Hessian được định nghĩa:

 Với Lxx (x,σ) là tích của đạo hàm bậc 2 của hàm Gaussian với ảnh I tại

điểm x(x,y) và có tỉ lệ là σ.

Hình 2. 15: Xấp xỉ đạo hàm cấp 2 hàm Gaussian bằng hộp lọc [8]

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu



Đồ Án Tốt Nghiệp
Trang 23/65
 Với ảnh trên hình có Lyy là đạo hàm cấp 2 Gaussian theo trục y, còn

Lxy là theo trục x và y, sau khi 2 hình được qua hộp lọc xấp xỉ sẽ cho
ra 2 trường hợp của 2 ảnh bên phải trên.
 Công thức tính xấp xỉ theo định thức ma trận Hessian:

Det(Hxấp xỉ )=Dxx Dyy – (w.Dxy )2 . Trong đó w là trọng số cân bằng của
biểu thức Hessian và tùy thuộc vào hệ số tỉ lệ Dxx , Dyy , Dxy là các hộp
lọc xấp xỉ của Gaussian.


Bước 2: Gán hướng cho điểm nổi bật và mô tả đặc trưng của SURF
 Ta muốn xác định vùng xung quanh điểm đặc trưng, ta phải gán 1 giá

trị hướng duy nhất cho mỗi điểm đặc trưng. Kích thước của những
hình tròn được phụ thuộc vào hệ số tỉ lệ tương ứng trong không gian
ảnh mà điểm đặc trưng ta tìm được.
 Ta sử dụng chọn hình tròn có bán kính là 6s, với s là tỉ lệ tại điểm đặc

trưng ta tìm thấy. Hướng của đặc trưng này được tính bằng phản hồi
Haar wavelet. Sau đó sẽ được vẽ lại trong một không gian. Haar
wayelet được tính bằng cách sử dụng ảnh tích lũy như hộp lọc xấp xỉ
của đạo hàm bậc 2 của Gausian. Nếu vector hướng nào nổi bật nhất sẽ
được ước lượng và ghi vào thông tin của điểm đặc trưng.

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu



Đồ Án Tốt Nghiệp
Trang 24/65

Hình 2. 16: Vùng vòng tròn xung quanh và hướng đại diện cho điểm đặc trưng [8]
 Với SURF sử dụng haar wavelet theo hướng ngang và dọc. Một vùng

lân cận có kích thước 20sX20s. Sau đó sẽ được chia thành các vùng
nhỏ 4x4. Với mỗi vùng nhỏ 4x4 thì các wavelet ngang và dọc được
lấy và một vector được tính như sau: v= ().
 Theo công thức tính trên thì mỗi vector cho vùng 4x4 là 64 chiều

(4x4x4). Là mô tả cho đặc trưng chuẩn của SURF ( SURF-64).


Bước 3: Lập chỉ mục và so khớp
 Đặc điểm quan trọng của SURF đó là quá trình rút trích đặc trưng

nhanh nhờ sử dụng kỹ thuật ảnh tích lũy và phép loại trừ phi cực đại.
Ngoài ra còn quá trình so khớp đặc trưng cũng nhanh hơn rất nhiều
chỉ bằng một bước dựa trên dấu Laplacian.
 Nhờ Laplacian đã phân biệt được đốm sáng trong nền tối và ngược

lại, nhờ vậy sự kết hợp diễn ra nhanh hơn mà không làm giảm hiệu
suất của discriptor. Vì vậy điểm đặc trưng này chỉ khớp với điểm đặc
trưng khác khi cùng màu.

Nhận diện khuôn mặt từ camera sử dụng machine learning


SVTH: Cao Nguyễn Ngọc Lưu


Đồ Án Tốt Nghiệp
Trang 25/65

Hình 2. 17: Phân biệt nhóm đôm sáng và đen [8]

Nhận diện khuôn mặt từ camera sử dụng machine learning

SVTH: Cao Nguyễn Ngọc Lưu


×