Phụ l
YMỞ
ĐẦU…………………………………………………………………………….4
CHƯƠNG 1 : GIỚI THIỆU TỔNG QUAN VỀ NHẬN DẠNG...............................5
1.1 . Giới thiệu chương..............................................................................................5
1.2 Giới thiệu về thị giác máy tính............................................................................5
1.3 Ứng dụng............................................................................................................. 5
1.4 Khái quát về nhận dạng.......................................................................................6
1.4.1Giới thiệu về nhận dạng................................................................................6
1.4.2 Bản chất của quá trình nhận dạng.................................................................6
1.5 Các phương pháp nhận dạng...........................................................................7
1.6 Khái quát về nhận dạng khuôn mặt......................................................................7
1.7 Kết luận chương..................................................................................................8
CHƯƠNG 2 : PHÂN TÍCH VỀ BÀI TOÁN NHẬN DIỆN KHUÔN MẶT.............8
2.1 Giới thiệu chương................................................................................................8
2.2 Quá trình nhận dạng khuôn mặt...........................................................................8
2.3 Những khó khăn trong hệ thống nhận dạng khuôn mặt.......................................8
2.4 Các ứng dụng của bài toán nhận dạng khuôn mặt.............................................10
2.5 Một số phương pháp nhận dạng khuôn mặt.......................................................10
2.5.1 Dựa trên tri thức.........................................................................................11
2.5.2 Dựa trên so khớp mẫu................................................................................11
2.5.3 Dựa trên các đặc trưng không thay đổi.......................................................11
2.5.4 Dựa trên diện mạo......................................................................................12
2.6 Kết luận chương............................................................................................12
CHƯƠNG 3 : GIẢI THUẬT BÀI TOÁN NHẬN DIỆN KHUÔN MẶT..............13
3.1 Giới thiệu chương.............................................................................................13
3.2 Mạng neuron.....................................................................................................13
1
GVHD : TS. Trần Thị Minh Hạnh
3.2.1 Khái quát về mạng neuron..........................................................................13
3.2.2 Mạng neuron tích chập...............................................................................13
3.2.2.1 Convolutinonal....................................................................................14
3.2.2.2 Cấu trúc mạng CNN............................................................................15
3.2.2.3 Trọng số cơ bản...................................................................................16
3.2.2.3.1 Các trường tiếp nhận cục bộ.............................................16
3.2.2.3.2 Trọng số chia sẻ (Shared weight and bias)……………...18
3.2.2.3.3 Lớp Pooling......................................................................18
3.3 Phát hiện khuôn mặt với MTCNN.....................................................................19
3.3.1 Các giai đoạn của MTCNN........................................................................19
3.3.1.1 Phân tích giai đoạn 1...........................................................................20
3.3.1.2 Phân tích giai đoạn 2...........................................................................21
3.3.1.3 Phân tích giai đoạn 3...........................................................................22
3.3.2 Chức năng mất nhận dạng khuôn mặt........................................................23
3.3.3 Hồi quy hộp và phát hiện mốc mặt.............................................................25
3.3.3.1 Hồi quy hộp (Bounding Box regession)..............................................25
3.3.3.2 Phát hiện điểm chính của khuôn mặt mốc mặt (Facial landmark
localization).............................................................................................................25
3.3.4. Kết hợp ba chức năng mất trên..................................................................25
3.4 Nhận diện khuôn mặt bằng FACENET.............................................................26
3.4.1 FaceNet......................................................................................................26
3.4.2 Transfer learning………………………………………………………….26
3.4.3 Cấu trúc Inception Resnet………………………………………………...28
3.4.1 Cấu trúc ……………………………………………………………….28
3.5 Kết luận chương……………………………………………………………….35
CHƯƠNG 4 : GIẢ MẠO KHUÔN MẶT VÀ CÁC PHƯƠNG PHÁP CHỐNG
GIẢ MẠO ………………………………………………………………………...36
2
GVHD : TS. Trần Thị Minh Hạnh
4.1 Giới thiệu chung ………………………………………………………………36
4.2 Các cuộc tấn công và các phương pháp chống giả mạo……………………….36
3
GVHD : TS. Trần Thị Minh Hạnh
MỞ ĐẦU
Với sự phát triển không ngừng của khoa học và công nghệ,đặc biệt là
những chiếc điện thoại thông minh (smartphone),máy tính ngày càng hiện đại và
được sử dụng phổ biến trong đời sống con người đã làm cho lượng thông tin thu
được bằng hình ảnh ngày càng tăng.
Hệ thống nhận dạng khuôn mặt là một ứng dụng máy tính tự động xác định
hoặc nhận dạng một người nào đó từ một bức hình ảnh kĩ thuật số hoặc một khung
hình video từ một nguồn video. Một trong những cách để thực hiện điều này là so
sánh các đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn
mặt.
Hệ thống này thường được sử dụng trong các hệ thống an ning và có thể được
so sánh với các dạng sinh trắc học khác như các hệ thống nhận dạng vân tay
hay tròng mắt.
Trong số các dạng sinh trắc khác nhau hệ thống nhận dạng khuôn mặt tuy
không có tính hiệu quả và bảo mật cao nhưng là một trong nhưng dạng sinh trắc
không thể thiếu trong thế giới số hóa ngày càng hiện đại.
Đồ án này chú trọng tới tìm hiểu về giải thuật nhận dạng khuôn mặt. Nội dung
đồ án chia làm 4 chương :
Chương 1 : GIỚI THIỆU TỔNG QUAN VỀ NHẬN DẠNG
Chương 2 : PHÂN TÍCH VỀ BÀI TOÁN NHẬN DIỆN KHUÔN MẶT
Chương 3 : GIẢI THUẬT BÀI TOÁN NHẬN DIỆN KHUÔN MẶT
Chương 4 : GIẢ MẠO TRONG NHẬN DIỆN KHUÔN MẶT VÀ
PHƯƠNG PHÁP CHỐNG GIẢ MẠO
Mục tiêu của đề tài là nghiên cứu,giải thuật nhận diện khuôn mặt.Nghiên cứu
các phương pháp xác định nhận diện khuôn mặt, từ đó đưa ra phương pháp tối ưu
để đưa vào thử nghiệm.
Trong quá trình thực hiện đồ án em chân thành cảm ơn cô TS. Trần Thị
4
GVHD : TS. Trần Thị Minh Hạnh
Minh Hạnh đã tận tình hướng dẫn, truyền đạt những kiến thức, hỗ trợ tinh thần
trong suốt quá trình thực hiện đồ án.
Mặc dù đã có nhiều cố gắng hoàn thiện đồ tài tuy nhiên thời gian có hạn nên
không thể tránh được những thiếu sót, em rất mong nhận được những ý kiến đóng
góp của các thầy cô để có thể hoàn thiện hơn và phát triển lên đồ án tốt nghiệp tốt
hơn.
Em xin chân thành cảm ơn!
5
GVHD : TS. Trần Thị Minh Hạnh
CHƯƠNG 1 : GIỚI THIỆU TỔNG QUAN VỀ NHẬN DẠNG
1.1 . Giới thiệu chương
Chương này sẽ cung cấp những thông tin cơ bản về thị giác máy tính xử lý ảnh
và các ứng dụng thực tế về xử lý ảnh trong đời sống xã hội hiện nay. Và khái quát
về nhận dạng khuôn mặt.
1.2 Giới thiệu về thị giác máy tính
Thị giác máy tính (computer vision) là một lĩnh vực bao gồm các phương
pháp thu nhận, xử lý ảnh kĩ thuật số , phân tích và nhận dạng các hình ảnh và, nói
chung là dữ liệu đa chiều từ thế giới thực để cho ra các thông tin số hoặc biểu
tượng, ví dụ trong các dạng quyết định. Việc phát triển lĩnh vực này có bối cảnh từ
việc sao chép các khả năng thị giác con người bởi sự nhận diện và hiểu biết một
hình ảnh mang tính điện tử. Sự nhận diện hình ảnh có thể xem là việc giải quyết
vấn đề của các biểu tượng thông tin từ dữ liệu hình ảnh qua cách dùng các mô hình
được xây dựng với sự giúp đỡ của các ngành lý thuyết học, thống kê ,vật lý và hình
học. Thị giác máy tính cũng được mô tả là sự tổng thể của một dải rộng các quá
trình tự động và tích hợp và các thể hiện cho các nhận thức thị giác.
Thị giác máy tính là một môn học khoa học liên quan đến lý thuyết đằng sau
các hệ thống nhân tạo có trích xuất các thông tin từ các hình ảnh. Dữ liệu hình ảnh
có thể nhiều dạng, chẳng hạn như chuỗi video, các cảnh từ đa camera, hay dữ liệu
đa chiều từ máy quét y học. Thị giác máy tính còn là một môn học kỹ thuật, trong
đó tìm kiếm việc áp dụng các mô hình và các lý thuyết cho việc xây dựng các hệ
thống thị giác máy tính.
Thị giác nhận tạo quan tâm việc mô phỏng lại thị giác của con người, dùng mô
hình toán học để biểu diễn và hiểu các hình ảnh từ thực tế.
1.3 Ứng dụng
-
Hệ thống an ninh,bảo mật thông tin.
-
Xe tự hành.
6
GVHD : TS. Trần Thị Minh Hạnh
-
Y khoa(X-quang, ảnh tia gamma).
-
Thiên văn học.
-
Phát hiện lỗi sản phẩm ứng dụng trong công nghiệp.
-
Tìm kiếm thông tin bằng hình ảnh trên internet.
1.4 Khái quát về nhận dạng
1.4.1Giới thiệu về nhận dạng
Nhận dạng là giai đoạn cuối của các hệ thống xử lý ảnh.
Nhận dạng là quá trình nhận diện được và phân loại các đối tượng được
biển diễn theo mô hình nào đó và gán cho chúng một nhãn theo những tính toán
quy luật và các mẫu có sẵn. Quá trình đó dựa vào các mẫu mà máy đã được học
và biết trước. Trong trường hợp khác gọi là không được học.
Trong lý thuyết nhận dạng ảnh có ba cách tiếp cận khác nhau:
+
-
Nhận dạng theo cấu trúc.
-
Nhận dạng dựa vào phân hoạch không gian
-
Nhận dạng dựa vào kĩ thuật mạng nơron
Hai cách tiếp cận đầu các đối tượng quan sát và thu được phải trải qua
tiền xử lý nhằm tăng chất lượng ảnh, làm nổi các chi tiết, trích chọn và biển
diễn các đặc trưng và cuối cùng là nhận dạng.
+
Cách tiếp cận thứ 3 hoàn toàn khác, dựa vào cơ chế đoán nhận, lưu
trữ và phân biệt đối tượng mô phỏng theo hoạt động của hệ thần kinh con
người. Do cơ chế đặc biệt, các đối tượng thu nhận bởi thị giác người không cần
qua giai đoạn cải thiện mà chuyển ngay sang giai đoạn tổng hợp, đối sánh với
các mẫu đã lưu trữ để nhận dạng.
1.4.2 Bản chất của quá trình nhận dạng
Quá trình nhận dạng gồm 3 giai đoạn chính:
• Lựa chọn mô hình biểu diễn đối tượng.
• Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá
trình học.
7
GVHD : TS. Trần Thị Minh Hạnh
• Học nhận dạng.
Khi mô hình biểu diễn đối tượng đã được xác định, quá trình nhận dạng
chuyển sang giai đoạn học. Học là giai đoạn rất quan trọng. Thao tác học nhằm
cải thiện, điều chỉnh việc phân hoạch tập đối tượng thành các lớp.
Việc nhận dạng chính là tìm ra quy luật và các thuật toán để có thể gán đối
tượng vào một lớp.
1.5 Các phương pháp nhận dạng
-
Nhận dạng dựa trên phân hoạch không gian.
Trong kỹ thuật này, các đối tượng nhận dạng là các đối tượng định
lượng.Một đối tượng được biểu diễn bởi một vector nhiều chiều.
-
Nhận dạng theo cấu trúc.
Ngoài cách biểu diễn theo định lượng như đã mô tả ở trên, tồn tại
nhiều kiểu đối tượng mang tính định tính. Trong cách biểu diễn này, người
ta quan tâm đến các dạng và mối quan hệ giữa chúng.
-
Nhận dạng theo mạng nơron.
Mạng noron nhân tạo (Artificial Neural Network) bao gồm các nút
được nối với nhau bởi các liên kết noron. Mỗi liên kết kèm theo một trọng
số nào đó. Nhiệm vụ của quá trình huấn luyện (học) mạng là cập nhật các
trọng số khi có thêm các thông tin về các mẫu học, hay nói cách khác, các
trọng số được điều chỉnh sao cho dáng điệu vào ra của nó mô phỏng hoàn
toàn phù hợp môi trường đang xem xét.
Trong mạng, một số noron được nối với môi trường bên ngoài như các
đầu ra, đầu vào.
1.6 Khái quát về nhận dạng khuôn mặt
Nhận dạng khuôn mặt là là một trong những ứng dụng của máy tính về xác
định và nhận diện một người nào đó từ một bức ảnh hoặc từ một khung hình video
8
GVHD : TS. Trần Thị Minh Hạnh
nào đó.
Nhận diện khuôn mặt là từ ảnh khuôn mặt đã crop trả về kết quả người nào.
Nhận diện khuôn mặt là đem so sánh các đặc điểm khuôn mặt chọn từ trước và cơ
sở dữ liệu về khuôn mặt.
1.7 Kết luận chương
Chương một đã giới thiệu được về lĩnh vực thị giác máy tính (computer vision)
và các ứng dụng nhận dạng có thể áp dụng hữu ích vào đời sống con người. Về
nhận dạng,nhận dạng khuôn mặt; để rõ hơn về bài toán về hệ thống nhận dạng
khuôn mặt chúng ta sẽ tìm hiểu ở các chương tiếp.
CHƯƠNG 2 : PHÂN TÍCH VỀ BÀI TOÁN NHẬN DIỆN KHUÔN MẶT
2.1 Giới thiệu chương
Bài toán phát hiện mặt người là bài toán được rất nhiều kỹ sư công nghệ, các
nhà toán học quan tâm từ nhiều năm nay. Hiện nay người ta đã xây dựng được
nhiều chương trình phát hiện khuôn mặt khách nhau. Trên thế giới, có nhiều
phương pháp được đưa ra như sử dụng template matching, neuron network, …
Chương này chúng ta sẽ tìm hiểu về những vấn đề liên quan đến bài toán
nhận diện khuôn mặt và những khó khắn trong vấn đề nhận diện.
2.2 Quá trình nhận dạng khuôn mặt
Có thể chia thành 2 bước :
-
Phát hiện ra khuôn mặt : bước này có mục tiêu là phát hiện các khuôn mặt có
trong hình ảnh hoặc video
-
Nhận dạng khuôn mặt : Với các hình ảnh đã được phát hiện và trích xuất
thuật toán nhận dạng khuôn mặt có mục tiêu tìm kiếm các đặc điểm mô tả
đúng nhất của hình ảnh đó.
2.3 Những khó khăn trong hệ thống nhận dạng khuôn mặt
Khó khăn của bài toán nhận diện khuôn mặt có thể kể đến :
o Tư thế chụ,góc chụp:
9
GVHD : TS. Trần Thị Minh Hạnh
Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc chụp giữa
camera và khuôn mặt. Chẳng hạn như: chụp thẳng, chụp chéo bên trái 45◦
hay chụp chéo bên phải 45◦ , chụp từ trên xuống, chụp từ dưới lên, v.v… Với
các tư thế chụp như vậy có thể làm mất đặc trưng để phát hiện và nhận dạng
khuôn mặt.
o Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt:
Các đặc trưng như râu mép, râu hàm, mắt kính, v.v… có thể xuất
hiện hoặc không. Vấn đề này làm cho bài toán càng trở nên khó hơn rất
nhiều.
o Sự biểu cảm của khuôn mặt:
Biểu cảm của khuôn mặt người có thể làm ảnh hưởng đáng kể lên
các thông số của khuôn mặt. Chẳng hạn,cùng một khuôn mặt một người,
nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi….
o Sự che khuất :
Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc các
khuôn mặt khác.
o Hướng của ảnh:
Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các góc quay
khác nhau của trục camera. Chẳng hạn chụp với trục máy ảnh nghiêng làm
cho khuôn mặt bị nghiêng so với trục của ảnh.
o Điều kiện của ảnh:
Ảnh được chụp trong các điều kiện khác nhau về: chiếu sang, về tính
chất camera (máy kỹ thuật số, máy hồng ngoại,v.v…) ảnh hưởng rất nhiều
đến chất lượng ảnh khuôn mặt.
o Nền ảnh phức tạp:
10
GVHD : TS. Trần Thị Minh Hạnh
Nền ảnh là một trong những vấn đề quan trọng ảnh hưởng đến độ
chính xác khi cơ sở dữ liệu lớn với nhiều môi trường khác nhau, khung cảnh
phức tạp có thể ảnh hưởng đến việc phân tích và trích đặc trưng khuôn mặt.
o Màu sắc của da mặt:
Màu sắc của da mặt quá tối hoặc gần với màu sắc của khung cảnh
môi trường xung quanh cũng là một khó khăn với bài toán nhận diện mặt
người. Nếu màu sắc của da người quá tối thì thuật toán sẽ gặp khó khăn trong
việc nhận diện các đặc trưng và có thể không tìm ra được khuôn mặt người.
o Aging condition:
Việc nhận dạng ảnh mặt thay đổi theo thời gian còn là một vấn đề
khó khăn, ngay cả đối với khả năng nhận dạng của con người.
o Các hệ thống cực lớn (very large scale systems):
Các CSDL ảnh mặt được test bởi các nhà nghiên cứu còn khá nhỏ
(vài trăm tới vài chục nghìn ảnh mặt), tuy nhiên trên thực tế các CSDL có thể
rất lớn, ví dụ CSDL ảnh mặt của cảnh sát của một đất nước có thể chứa từ
hàng triệu tới hơn 1 tỉ ảnh…
2.4 Các ứng dụng của bài toán nhận dạng khuôn mặt
Bài toán nhận dạng khuôn mặt là một trong những bài toán phức tạp
nhưng có tính ứng dụng phổ biến trong thực tế nên thường được tìm hiểu
nghiên cứu rộng rãi trong đời sống.
Hệ thống giao tiếp thông minh giữa người với máy.
Hệ thống giải trí.
Hệ thống nhận dạng tội phạm.
Hệ thống giám sát,theo dõi.
Hệ thống chấm công.
Phân tích cảm xúc : khuôn mặt người,….v.v..
2.5 Một số phương pháp nhận dạng khuôn mặt
11
GVHD : TS. Trần Thị Minh Hạnh
Hiện tại có khá nhiều phương pháp nhận dạng khuôn mặt trong ảnh, từ
ảnh có chất lượng không tốt cho đến tốt. Từ ảnh không màu đến ảnh có màu.
Nhưng có thể chia thành 4 phương pháp chính :
-
Dựa trên tri thức.
-
Dựa trên diện mạo.
-
Dựa trên so khớp mẫu.
-
Dựa trên đặc trưng không thay đổi.
2.5.1 Dựa trên tri thức.
Trong hướng tiếp cận này, các quy luật sẽ được áp đặt cho bài toán nhận diện
mặt người tùy vào tác giả. Vì các quy luật được tác giả tự tạo ra nên dễ dàng để xây
dựng các quy luật cơ bản dựa trên các đặc điểm của khuôn mặt như, sự đối xứng
của hai mắt, sống mũi, miệng… để trích rút các đặc trưng và các quan hệ về đặc
trưng thường được mô tả bằng các phép toán về khoảng cách và vị trí.
Khó khăn ở hướng tiếp cận này đó là việc chuyển các đặc điểm của khuôn
mặt thành các đặc điểm để nhận dạng với chương trình. Nếu các quy luật quá phức
tạp, một số khuôn mặt có thể thiếu, nếu quá đơn giản thì có nhận nhầm với các đối
tượng khác.
2.5.2 Dựa trên so khớp mẫu
Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt
được chụp thẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một
hàm. Từ một ảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về
đường viền khuôn mặt, mắt, mũi và miệng. Thông qua các giá trị tương quan này
mà các tác giả quyết định có hay không có tồn tại khuôn mặt trong ảnh. Hướng tiếp
cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình
dáng thay đổi. Nhiều độ phân giải, đa tỷ lệ, các mẫu con, và các mẫu biến dạng
được xem xét thành bất biến về tỷ lệ và hình dáng.
12
GVHD : TS. Trần Thị Minh Hạnh
2.5.3 Dựa trên các đặc trưng không thay đổi
Đây là hướng tiếp cận theo kiểu bottom-up. Các tác giả cố gắng tìm cácđặc
trưng không thay đổi của khuôn mặt người để xác định khuôn mặt người. Dựa trên
nhận xét thực tế, con người dễ dàng nhận biết các khuôn mặt và các đối tượng
trong các tư thế khác nhau và điều kiện ánh sáng khác nhau, thì phải tồn tại các
thuộc tính hay đặc trưng không thay đổi. Có nhiều nghiên cứu đầu tiên xác định các
đặc trưng khuôn mặt rồi chỉ ra có khuôn mặt trong ảnh hay không. Các đặc trưng
như: lông mày, mắt, mũi, miệng, và đường viền của tóc được trích bằng phương
pháp xác định cạnh. Trên cơ sở các đặc trưng này, xây dựng một mô hình thống kê
để mô tả quan hệ của các đặc trưng này và xác định sự tồn tại của khuôn mặt trong
ảnh. Một vấn đề của các thuật toán theo hướng tiếp cận đặc trưng cần phải điều
chỉnh cho phù hợp điều kiện ánh sáng, nhiễu, và bị che khuất. Đôi khi bóng của
khuôn mặt sẽ tạo thêm cạnh mới, mà cạnh này lại rõ hơn cạnh thật sự của khuôn
mặt, vì thế nếu dùng cạnh để xác định sẽ gặp khó khăn.
2.5.4 Dựa trên diện mạo
Trái ngược với các phương pháp so khớp mẫu với các mẫu đã được định
nghĩa trước bởi những chuyên gia, các mẫu trong hướng tiếp cận này được học từ
các ảnh mẫu. Một cách tổng quát, các phương pháp theo hướng tiếp cận này áp
dụng các kỹ thuật theo hướng xác suất thống kê và máy học để tìm những đặc tính
liên quan của khuôn mặt và không phải là khuôn mặt. Các đặc tính đã được học ở
trong hình thái các mô hình phân bố hay các hàm biệt số nên dùng có thể dùng các
đặc tính này để xác định khuôn mặt người. Đồng thời, bài toán giảm số chiều
thường được quan tâm để tăng hiệu quả tính toán cũng như hiệu quả xác định.
Ưu điểm : Độ chính xác cao với nhiều điều kiện ánh sáng, hoạt cảnh
khác nhau.
Khuyết điểm: Thời gian đào tạo lâu, cấu trúc thuật toán phức tạp.
13
GVHD : TS. Trần Thị Minh Hạnh
2.6 Kết luận chương
Chương này đã nêu được những khó khăn đối với bài toán nhận diện khuôn
mặt trong thực tế, song đó cũng đưa ra được hướng tiếp cận bài toán nhận diện
khuôn mặt và các phương pháp thường được sử dụng. Từ đó đưa ra phương pháp
phù hợp cho bài toán nhận diện khuôn mặt. Chương sau sẽ tìm hiểu vào các thuật
toán sử dụng trong đề tài.
CHƯƠNG 3 : GIẢI THUẬT BÀI TOÁN NHẬN DIỆN KHUÔN MẶT
3.1 Giới thiệu chương
Chương này tập trung tìm hiểu thuật toán phát hiện và nhận diện khuôn mặt là
MTCNN (Multi – task covolution neuron network) và mô hình nhận diện khuôn
mặt với FACENET. Trong quá trình thực hiện, nghiên cứu lý thuyết cấu trúc của
mạng được sử dụng trong thuật toán từ đó tìm hiểu và xây dựng hệ thống nhận diện
khuôn mặt sử dụng thuật toán MTCNN và FACENET.
3.2 Mạng neuron
3.2.1 Khái quát về mạng neuron
Về cơ bản mạng neural là một các mạng phần tử (gọi là neuron) kết nối với
nhau thông qua các liên kết (các liên kết này được gọi là trọng số liên kết) để thực
hiện một công việc cụ thể nào đó. Khả năng xử lý mạng neuron được hình thành
thông qua quá trình hiệu chỉnh trọng số liên kết giữa các neuron, nói cách khác là
học tập từ tập hợp các mẫu huấn luyện.
3.2.2 Mạng neuron tích chập.
14
GVHD : TS. Trần Thị Minh Hạnh
Hình 3.1: Mạng neuron tích chập (Convolutinon neuron network)
-
Convolution Neural Network (Mạng neuron tích chập):
Convolution Neural Network (CNN – Mạng nơ-ron tích chập) là một
trong những mô hình Deep Learning tiên tiến thường được sử dụng để xây dựng
các hệ thống thông minh với độ chính xác cao. Đặc biệt là mô hình AI, xử lý ảnh
với các ứng dụng thực tế như nhận diện khuôn mặt, phát triển xe tự hành,….
CNN được sử dụng nhiều trong các bài toán nhận dạng các object trong
ảnh. Thuật toán này được sử dụng rộng rãi cho việc nhận dạng (detection), đặc biệt
là nhận diện khuôn mặt.
3.2.2.1 Convolutinonal
Hình 3.2: Kernel 3x3 cho phép chập.
15
GVHD : TS. Trần Thị Minh Hạnh
Convolutinon hay tích chập là nhân từng phần tử bên trong ma trận 3x3 với
ma trận bên trái. Kết quả được một ma trận gọi là Convoled feature được sinh ra từ
việc nhận ma trận Filter với ma trận ảnh 5x5 bên trái
Sử dụng một kernel 3x3 chạy qua tất cả các phần tử của bức ảnh (Cửa sổ
trượt ) và sử dụng tích chập tương ứng với các phần tử của bức ảnh trùng với vị trí
của kernel 3x3 sau đó cộng tổng tất cả các điểm lại sẽ được một giá trị của ma trận
đặc trưng.
Tổng số cột của ma trận đặc trưng bằng tổng số lần tích chập được thực hiện
khi đi đến một hàng và tổng số hàng của một ma trận đặc trưng bằng với tổng số
lần tích chập được thực hiện khi đi hết một cột.
3.2.2.2 Cấu trúc mạng CNN
Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng
các hàm nonlinear activation như ReLU và Tanh để kích hoạt các trọng số các
node. Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu
tượng hơn cho các lớp tiếp theo.
Trong mô hình CNN các layer liên kết được với nhau thông qua cơ chế
convolution, layer tiếp theo là kết quả từ layer trước đó, nhờ vậy mà ta có được các
kết nối cục bộ.
Mỗi một lớp được sử dụng các bộ lọc khác nhau, ngoài ra có thể sử dụng các
lớp như pooling/subsampling để loại bỏ các thông tin không cần thiết để giảm bớt
số parameter. Trong quá trình huấn luyện mạng CNN tự động các giá trị của các
lớp và lớp cuối cùng được dùng để phân loại ảnh.
Hình 3.2.1 . Quá trình xử lý các đặc trưng.
16
GVHD : TS. Trần Thị Minh Hạnh
Mô hình CNN có 2 tính chất cần quan tâm :
-
Tính bất biến ( Location Invariance).
-
Tính kết hợp (Compositionality).
Đó là lý do rại sao CNN cho ra mô hình với độ chính xác rất cao. Cũng
giống như cách con người nhận biết các vật thể trong tự nhiên.
Mạng CNN sử dụng 3 trọng số cơ bản:
Các trường tiếp nhận cục bộ (Local receptive field).
Trọng số chia sẻ (Shared weights).
Tổng hợp (pooling).
3.2.2.3 Trọng số cơ bản
3.2.2.3.1 Các trường tiếp nhận cục bộ.
Đầu vào của mạng CNN là một bức ảnh. CNN kết nối một vùng nhỏ của các
neuron đầu vào như một filter, mỗi một kết nối sẽ học một trọng số và mỗi một
neuron ẩn sẽ học một bias. Và các vùng nhỏ đó được gọi là một trường tiếp nhận
cục bộ.
Hình 3.3 Trường tiếp nhận cục bộ (Local receptive field).
Một cách tổng quan, ta có thể tóm tắt các bước tạo ra 1 hidden layer bằng
các cách sau :
17
GVHD : TS. Trần Thị Minh Hạnh
Bước 1 : Tạo ra neuron ẩn đầu tiên trong lớp ẩn 1.
Bước 2 : Dịch filter qua bên phải một cột sẽ tạo ra được neuron ẩn thứ 2.
Đối với bài toán nhận diện mặt người, ma trận lớp đầu vào được gọi là Feature
Map, trọng số xác định là Shared Weight và độ lệch xác định đối với một Feature
Map.
18
GVHD : TS. Trần Thị Minh Hạnh
Như vậy trường tiếp nhận cục bộ thích hợp cho việc phân tách dữ liệu ảnh,
giúp chọn ra những vùng ảnh có giá trị nhất cho việc đánh giá và phân lớp.
3.2.2.3.2 Trọng số chia sẻ (Shared weight and bias).
Các trọng số cho mỗi filter phải giống nhau. Tất cả các neural trong lớp ẩn
đầu sẽ phát hiện chính xác đặc trưng tương tự chỉ ở các vị trí khác nhau trong ảnh
đầu vào. Gọi việc kết nối các lớp đầu vào sang các lớp ẩn là một Feature Map.
Các lớp bao gồm các Feature Map khác nhau. Mỗi Feature Map mang một vài
đặc trưng của ảnh. Sử dụng trọng số chia sẻ là giảm tối đa số lượng tham số trong
mạng CNN.
3.2.2.3.3 Lớp Pooling.
Được sử dụng ngay sau lớp Convolutional nhằm mục đích giảm bớt số lượng
neuron, phổ biến là max – pooling, chọn giá trị lớn nhất với các vùng 2x2 thuộc
Feature Map.
19
GVHD : TS. Trần Thị Minh Hạnh
Hình 3.4 Max-pooling.
Như vậy qua lớp Max – pooling thì số lượng neuron giảm đi phân nửa.
Trong một mạng CNN có nhiều Feature Map nên mỗi Feature Map chúng ta
sẽ cho mỗi Max –pooling khác nhau.
3.3 Phát hiện khuôn mặt với MTCNN.
Phát hiện khuôn mặt là một trong những bước quan trọng cho quá trình nhận
diện khuôn mặt của hệ thống, nhưng song với đó muốn phát hiện chính xác đó có
phải khuôn mặt hay không các tác nhân từ môi trường như ánh sáng hay góc quay
của camera, tư thế ảnh hưởng rất lớn đến quá trình phát hiện.
Thuật toán gồm 3 giai đoạn, ứng với mỗi giai đoạn là việc huấn luyện và xây
dựng một mạng neuron riêng
3.3.1 Các giai đoạn của MTCNN.
20
GVHD : TS. Trần Thị Minh Hạnh
- Xem thêm -