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

Tìm hiểu mạng neural network CNN và ứng dụng

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 (1018.79 KB, 29 trang )

KHOA KỸ THUẬT VÀ CÔNG NGHỆ
BỘ MÔN CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CƠ SỞ NGÀNH
HỌC KỲ 2, NĂM HỌC 2019 – 2020

TÌM HIỂU MẠNG NEURAL
NETWORK CNN VÀ ỨNG DỤNG

Giáo viên hướng dẫn:

Sinh viên thực hiện:

Họ tên: Ngô Thanh Huy

Họ tên: Trương Quốc Huy
MSSV:110119016
Lớp: DA19TTA

Trà Vinh, tháng 5, năm 2021
1


KHOA KỸ THUẬT VÀ CÔNG NGHỆ
BỘ MÔN CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CƠ SỞ NGÀNH
HỌC KỲ 2, NĂM HỌC 2019 – 2020

TÌM HIỂU MẠNG NEURAL
NETWORK CNN VÀ ỨNG DỤNG



Giáo viên hướng dẫn:

Sinh viên thực hiện:

Họ tên: Ngô Thanh Huy

Họ tên: Trương Quốc Huy
MSSV:110119016
Lớp: DA19TTA

Trà Vinh, tháng 5, năm 2021
2
`


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
........................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

Trà Vinh, ngày ….. tháng …… năm 2021

(Ký tên và ghi rõ họ tên)

3

3


NHẬN XÉT CỦA THÀNH VIÊN HỘI ĐỒNG
........................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

Trà Vinh, ngày ….. tháng …… năm 2021

(Ký tên và ghi rõ họ tên)

4

4


LỜI CẢM ƠN
Em xin chân thành cảm ơn các thầy cô trường Đại học Trà Vinh, đặc biệt các
thầy cô bộ mơn Cơng nghệ thơng tin, đã tận tình dạy dỗ, giúp đỡ và tạo mọi điều
kiện tốt nhất cho em trong suốt quãng thời gian em theo học tại trường, để em có

thể hồn thành được đề tài này.
Em tỏ lịng biết ơn sâu sắc với thầy Ngơ Thanh Huy, người thầy đã tận tình
hướng dẫn khoa học và giúp đỡ, chỉ bảo em trong suốt quá trình nghiên cứu và
hồn thành đồ án cơ sở ngành này.
Tơi xin chân thành cảm ơn các bạn sinh viên lớp DA19TTA trường Đại học
Trà Vinh đã giúp đỡ tôi trong quá trình theo học tại trường, cũng như giúp đỡ tơi
thực hiện đề tài này. Xin trân trọng cảm ơn!

5

5


MỤC LỤC

DANH MỤC HÌNH ẢNH – BẢNG BIỂU

6

6


CHƯƠNG 1. MỞ ĐẦU
1.1

Lí do chọn đề tài

Trong giai đoạn gần đây, cụm từ cách mạng công nghiệp lần thứ tư được nhắc

đến rất nhiều trên truyền thông. Khái niệm cách mạng công nghiệp 4.0 được đưa ra dựa

trên xu thế bùng nổ của nhiều công nghệ mới như : Cơng nghệ truyền dẫn tốc độ cao, trí
tuệ nhân tạo, Điện toán lượng tử, Internet vạn vật, 5G, GPU hàng ngàn nhân, công nghệ
chế tạo bộ nhớ đạt nhiều đột phá. Song song với đó, cơng nghệ dần làm các thiết bị nhỏ
lại, nhưng sức mạnh tăng lên đáng kể. Công nghệ mạch nhúng cũng bùng nổ không kém
với nhiều mạch nhúng nhỏ, sử dụng lượng điện khiêm tốn, nhưng khả năng tính tốn
lên tới hàng ngàn tỉ phép tính trên giây, tương đương sức mạnh của 1 siêu máy tính cách
đây khoảng 20 năm.
Máy tính hiện nay có sức mạnh tính tốn lớn nhưng giá thành lại ở mức phổ
thông, dẫn tới người làm nghiên cứu rất dễ dàng để có thể tự kiểm nghiệm được các lý
thuyết về trí tuệ nhân tạo từ nhiều năm trước. Cùng với mã nguồn mở, hiện làn sóng trí
tuệ nhân tạo đang bùng nổ mạnh mẽ trong thời gian gần đây, và đem lại rất nhiều ứng
dụng trong đời sống.
Chính vì lý do trên, việc tìm hiểu và nghiên cứu thị giác máy tính rất có ý nghĩa và
thiết thực. Hiện nay trên thế giới, nhiều nước đã và đang ứng dụng thị giác máy tính vào
đời sống hàng ngày, ví dụ như SkyNet của Trung Quốc.
1.2

Cơ sở khoa học và thực tiễn của đề tài

Học máy (Machine learning) là một phương pháp phân tích dữ liệu có thể tự

động hóa phân tích dữ liệu và tìm ra các trích xuất đặc trưng của bộ dữ liệu. Học máy sử
dụng các thuật toán trừu tượng để tự học từ dữ liệu, cho phép máy tính tìm thấy những
thơng tin có giá trị ẩn ở rất sâu mà khơng thể lập trình được bằng cách thông thường.
Khi tiếp xúc với dữ liệu mới, học máy có thể thích ứng rất nhanh và độc lập.
Học sâu (Deep Learning) là một ngành đặc biệt của học máy. Học sâu sử dụng
mạng nơ ron nhân tạo (Artificial Neural Networks) để giải quyết các bài toán mà tính
tốn cứng. Học sâu thường được ứng dụng trong nhận diện hình ảnh, nhận diện giọng
nói, xử lý ngơn ngữ tự nhiên hoặc dự đoán.
Mạng nơ ron nhân tạo (Artificial Neural Networks) là một mơ hình xử lý thơng tin,

cấu thành từ các lớp nơ ron, được ra đời trên cơ sở mô phỏng hoạt động não bộ của
7

7


sinh vật. Mạng nơ ron nhân tạo gắn kết nhiều nơ ron theo một mơ hình nhất định, được
trải qua huấn luyện để rút ra được kinh nghiệm, và sử dụng các kinh nghiệm đã có để xử
lý các thơng tin mới.
Mạng nơ ron Tích chập (Convolutional Neural Network) là một trong những mơ
hình học sâu hiện đại nhất hiện nay. Mạng nơ ron Tích chập hiện nay thường được sử
dụng nhiều trong các hệ thống thông minh do ưu điểm của mạng là có độ chính xác cao,
tuy nhiên tốc độ tính tốn lại rất nhanh. Vì lý do đó, mạng nơ ron tích chập rất mạnh
trong xử lý hình ảnh, và được ứng dụng rất nhiều trong việc nhận dạng đối tượng.
1.3

Mục đích

Ngày nay camera được lấp đặt ở rất nhiều nơi, nhưng đa số camera chỉ có chức
năng ghi hình và giám sát. Như vậy, một khi cần truy vết các đối tượng thì sẽ rất thủ
cơng và mất khá nhiều thời gian. Hiện nay, thời đại công nghiệp 4.0, với sự tiến bộ của
khoa học máy tính làm xuất hiện nhiều cơng cụ có thể xác định đối tượng là tương đối
dễ dàng. Một trong số đó là sự hỗ trợ từ cơng cụ trí tuệ máy tính. Đồ án này sẽ giới thiệu
Mạng nơ ron tích chập (Convolutation Neural Network ) và ứng dụng của nó và hẹ thống
nhận dạng đối tượng thơng qua camera.
1.4

Đối tượng nghiên cứu
Sinh viên trường Đại học Trà Vinh


1.5

Phạm vi nghiên cứu
Trường Đại học Trà Vinh

8

8


CHƯƠNG 2. TỔNG QUAN VỀ MẠNG NƠ RON VÀ GIỚI
THIỆU VỀ MẠNG NƠ RON TÍCH CHẬP
2.1

Mạng nơ ron
Neural network, tạm gọi là mạng lưới thần kinh. Đây là hệ thống các máy tính và
thiết bị hệ thống điện tốn nói chung được kết nối theo một cách nào đó để mô phỏng
lại một phần cách hoạt động của các nơ ron thần kinh trong não người. Những chiếc
máy tính trong neural network có thể nằm gần nhau trong cùng một phịng hay cách xa
nhau cả nghìn cây số, mỗi một chiếc máy tính trong đó có thể được xem như một đơn vị
thần kinh, gọi là node.
Khái niệm về neural network đã có từ những năm 1950 với sự ra đời của ngành
nghiên cứu về trí tuệ nhân tạo. Người ta nói rằng khi nằm riêng biệt, những node máy
tính này chỉ chạy những gì được lập trình sẵn và chỉ có thể trả lời những câu hỏi đơn
giản, hay nói cách là nó “khơng thơng minh”. Cũng giống như trong cơ thể người, một nơ
ron không chưa làm nên chuyện, nhưng khi kết nối chúng thành một mạng lưới dày đặt
thì mọi chuyện sẽ khác đi rất nhiều. Khi các hệ thống máy tính được nối lại với nhau,
chúng có thể giải quyết những vấn đề khó khăn hơn. Và quan trọng nhất, khi áp dụng
đúng thuật toán, người ta có thể “dạy học” cho máy tính.
Một mạng nơ ron bao gồm một hoặc nhiều nhóm các nơ ron được kết nối vật lý

với nhau hoặc có liên quan với nhau về chức năng. Một nơ ron đơn có thể được nối với
nhiều nơ ron khác và tổng số nơ ron và kết nối trong một mạng có thể là một giá trị cực
kỳ lớn. Các kết nối, gọi là các khớp thần kinh, thường nối từ các axon tới các tế bào tua
gai thần kinh, tuy có thể có các vi mạch dendrodentritic và các kết nối khác. Ngồi tín
hiệu điện, cịn có các dạng tín hiệu khác phát sinh từ việc khuyếch tán các chất dẫn
truyền xung động thần kinh. Chúng có ảnh hưởng đối với tín hiệu điện. Do vậy, cũng như
các mạng sinh học khác, mạng nơ ron vô cùng phức tạp.

2.1.1

Một số kiểu mạng nơ ron
Có hai kiểu mạng nơ ron chính: mạng nơ ron truyền thằng (feedforward neural
network) và mạng nơ ron hồi quy (recurrent neural network).
a) mạng nơ ron truyền thằng
9

9


Hình 1 Mạng nơ ron truyền thẳng

Ở mạng nơ ron truyền thẳng, các nơ ron trong tầng ẩn đều được kết nối với các
nơ ron trong tầng. Do có nhiều tầng ẩn nên chúng ta có thể thấy rằng mạng truyền thẳng
kéo dài trong khơng gian, và là khơng có bất kỳ đường tuần hoàn nào nằm trong mạng.
Mạng nơ ron truyền thẳng rất phổ biến hiện nay.
b) mạng nơ ron hồi quy

Hình 2 Mạng nơ ron hồi quy

Một loại khác là mạng nơ ron hồi quy. Không giống như mạng nơ ron truyền

thẳng, mạng nơ ron hồi quy có ít nhất một đường dẫn tuần hồn. Chúng ta có thể thấy
nó ở hình minh họa phía trên. Vì có một đường dẫn tuần hoàn, nên mạng nơ ron hồi
quy có thể gây ra vịng lặp vơ cực. Tuy nhiên, mạng nơ ron tuần hồn có một ứng dụng
quan trọng là chúng có thể nhận diện cho các giai đoạn thời gian khác nhau.
2.2 Mạng nơ ron tích chập
2.2.1 Khái niệm về mạng nơ ron tích chập

Mạng nơ ron tích chập là một trong những mạng truyền thẳng đặc biệt. Mạng nơ

ron tích chập là một mơ hình học sâu phổ biến và tiên tiến nhất hiện nay. Hầu hết các hệ
thống nhận diện và xử lý ảnh hiện nay đều sử dụng mạng nơ ron tích chập vì tốc độ xử lý
10

10


nhanh và độ chính xác cao. Trong mạng nơ ron truyền thống, các tầng được coi là một
chiều, thì trong mạng nơ ron tích chập, các tầng được coi là 3 chiều, gồm: chiều cao,
chiều rộng và chiều sâu.
Mạng nơ ron tích chập có hai khái niệm quan trọng: kết nối cục bộ và chia sẻ
tham số. Những khái niệm này góp phần giảm số lượng trọng số cần được huấn luyện,
do đó tăng nhanh được tốc độ tính tốn.

Hình 3 Các tầng (layer) trong CNN là 3 chiều

2.2.2

Mơ hình mạng nơ ron tích chập
Có ba tầng chính để xây dựng kiến trúc cho một mạng nơ ron tích chập:
1. Tầng tích chập

2. Tầng gộp (pooling layer)
3. Tầng được kết nối đầy đủ (fully-connected)

Hình 4 Các tầng trong CNN

2.2.3

Xây dựng mạng nơ ron tích chập
Tầng tích chập
Đây là tầng đầu tiên của Mạng nơ ron tích chập. Các lớp chuyển đổi áp dụng một
phép tốn tích chập cho đầu vào, chuyển kết quả cho lớp tiếp theo. Phép chập chuyển
đổi tất cả các pixel trong trường tiếp nhận của nó thành một giá trị duy nhất. Thơng qua
các tích chập giữa ma trận đầu vào với bộ lọc để tạo thành các đơn vị trong một tầng
11

11


mới, q trình này có thể diễn ra liên tục ở phần đầu của mạng. Mục tiêu của tầng này là
trích suất đặc trưng hai chiều.

Hình 5 Tầng tích chập

Tầng gộp
Tương tự như lớp tích chập, lớp gộp chịu trách nhiệm để là giảm chiều kết quả
tích chập. Điều này nhằm mục đích để giảm chi phí tính tốn cần phải có để xử lý dữ liệu
thơng qua việc giảm kích thước tính năng đầu vào. Hơn nữa, nó rất hữu ích để trích xuất
các đặc trưng cốt lõi, cái thường bất biến trước các phép xoay và phép trượt, do đó làm
cho q trình huấn luyện mơ hình hiệu quả hơn.
Tầng gộp sẽ giảm kích cỡ của hình ảnh ngay sau khi thực hiện tích chập, giúp giữ

lại các đặc điểm, tính chất nổi bật nhất của ảnh. Điều này cho phép giảm mức độ tính
tốn khi hình ảnh có kích thước q lớn, đồng thời khơng làm mất đi các đặc điểm quan
trọng của ảnh.
Tuy đã sử dụng các mạng được kết nối cục bộ và chia sẻ tham số, tuy nhiên số
lượng tham số trong mang nơ ron vẫn là quá lớn. So với một tập dữ liệu tương đối nhỏ,
nó có thể gây ra tình trạng quá khớp. Vì vậy, mạng nơ ron nhân tạo thường chèn các
tầng gộp vào mạng. Tầng gộp xử lý để giảm dần số lượng tham số nhằm cải thiện thời
gian tính tốn trong mạng nơ ron. Tầng gộp hoạt động độc lập trên mỗi tầng trước đó.
Ngồi ra, có thể đặt lượng pixel khi chúng ta di chuyển cửa sổ trượt hoặc bước nhảy,
như làm với tầng tích chập.

12

12


Hình 6 Tầng gộp

Tầng được kết nối đầy đủ
Tầng thứ ba là tầng được kết nối đầy đủ. Tầng này giống như mạng nơ ron truyền
thống: các nơ ron ở tầng trước sẽ kết nối với một nơ ron ở tầng tiếp theo và tầng cuối
cùng là đầu ra. Để có thể đưa hình ảnh từ những tầng trước vào, ta phải dàn phẳng dữ
liệu ra thành một véc tơ nhiều chiều. Cuối cùng là sử dụng hàm softmax để thực hiện
phân loại đối tượng
Softmax Function hay hàm trung bình mũ. Hàm softmax tính tốn xác suất xảy ra
của một sự kiện. Nói một cách khái quát, hàm softmax sẽ tính khả năng xuất hiện của
một class trong tổng số tất cả các class có thể xuất hiện. Sau đó, xác suất này sẽ được sử
dụng để xác định class mục tiêu cho các input.

Hình 7 Tầng được kết nối đầy đủ


2.2.4

Mơ hình q khớp
Cấu trúc của một mạng CNN rất lớn, trong mạng có rất nhiều nơ ron, kết nối, cũng
như có rất nhiều trọng số cần thiết để huấn luyện. Nhưng lượng dữ liệu huấn luyện
thường không đủ để huấn luyện hoàn thiện cho một mạng nơ ron lớn. Nó có thể gây ra
13

13


một số vấn đề về quá khớp, khiến cho khi huấn luyện có kết quả rất cao, nhưng áp dụng
thực tế gây ra sai số lớn.

Hình 8 Ví dụ về trường hợp quá khớp (bên trái) và trường hợp chuẩn (bên phải)

2.2.5

Một số mạng tích chập nổi tiếng
Có một số kiến trúc mạng nơ ron tích chập nổi tiếng. Một số thử nghiệm cho thấy
chúng có hiệu suất tốt hơn. Vì vậy, đơi khi nhiều người sử dụng mạng được thiết kế sẵn
thay vì tự thiết kế mạng.
AlexNet

Hình 9 Cấu trúc của AleNetet

Alex đã phát triển mạng này vào năm 2012. Cho tới thời điểm hiện tại, AlexNet
vẫn còn đang được sử dụng phổ biến và rộng rãi. Mạng AlexNet có năm lớp chập và ba
lớp kết nối đầy đủ. Cấu trúc trong AlexNet được chia thành hai khối. Nguyên nhân vì tác

giả đã sử dụng hai GPU để huấn luyện dữ liệu song song. Mạng này được sử dụng trong
phân loại đối tượng quy mô lớn. Lớp đầu ra có một nghìn nơ ron. Đó là bởi vì kiến trúc
ban đầu được thiết kế để phân loại một nghìn nhãn. Thông thường, những người áp
dụng kiến trúc mạng nơ ron AlexNet sẽ thay thế lớp cuối cùng, phụ thuộc vào mục đích
của họ. Tác giả của mạng này đã làm nhiều thử nghiệm để có thể ra được mơ hình này
có kết quả tốt nhất. Vì vậy, hiệu suất của cấu trúc này rất ổn định và mạng này được sử
dụng rộng rãi trong nhiều ứng dụng.
14

14


VGGNet

Hình 10 Cấu trúc của VGGNet

VGGNet được phát triển vào năm 2014 và đã giành chiến thắng trong cuộc thi
ILSVRC-2014. Mạng này mạnh hơn mạng AlexNet nhưng rất sâu. Mạng này có 16 đến 19
tầng. Mạng này đã được thiết kế với 5 cấu trúc. Sau một số thí nghiệm, D và E là cấu trúc
tốt nhất. Hiệu suất của E tốt hơn một chút so với B. Nhưng các tham số trong E lớn hơn
D. Vì vậy, người sử dụng có thể chọn một trong số cấu trúc mạng dựa trên những gì họ
cần. Đặc điểm của VGGNet là việc áp dụng nhiều lớp chập với kích 27 thước cửa sổ nhỏ
thay vì lớp chập với kích thước cửa sổ lớn, sau đó là lớp gộp. Nó làm cho mạng linh hoạt
hơn.
2.3 Kết luận

Mạng nơ ron nhân tạo là một chuỗi các thuật tốn được sử dụng để tìm ra mối

quan hệ của một tập dữ liệu thông qua cơ chế vận hành của bộ não sinh học. Mạng nơ
ron nhân tạo thường được huấn luyện qua một tập dữ liệu chuẩn cho trước, từ đó có

thể đúc rút được kiến thức từ tập dữ liệu huấn luyện, và áp dụng với các tập dữ liệu
khác với độ chính xác cao.

15

15


Các phương pháp sử dụng để huấn luyện mạng nơ ron nhân tạo ngày càng tối ưu
hơn về mặt tính tốn và phục vụ cho nhiều mục đích khác nhau. Hiện nay, kiến trúc
mạng nơ ron ngày càng được hoàn thiện cho nhiều nhiệm vụ, trong đó mạng nơ ron tích
chập được chú ý rất nhiều vì tính hiệu quả trong thị giác máy tính. Mạng nơ ron tích
chập với các cải tiến góp phần giảm thời gian tính tốn và tăng độ chính xác hứa hẹn sẽ
là một trong những phương pháp được áp dụng rất nhiều vào thực tế trong tương lai.

16

16


3

3.1

CHƯƠNG 3. KHÁI QUÁT NHẬN DẠNG

Khái niệm nhận dạng

Nhận dạng là một ngành thuộc lĩnh vực trí tuệ nhân tạo. Nhận dạng mẫu là khả


năng phát hiện sự sắp xếp các đặc tính hoặc dữ liệu mang lại thơng tin về một hệ thống
hoặc tập dữ liệu nhất định. Nhận dạng mẫu chia thành nhiều lĩnh vực trong công nghệ
thông tin, bao gồm phân tích dữ liệu lớn, nhận dạng sinh trắc học, bảo mật và trí tuệ
nhân tạo. Nhận dạng đối tượng trong hình ảnh là một nhánh của nhận dạng mẫu. Nhận
dạng đối tượng trong hình ảnh thể hiện qua các cơng nghệ máy tính có thể nhận ra
người, động vật, vật thể hoặc các đối tượng mục tiêu khác thơng qua việc sử dụng các
3.1.1

thuật tốn và khái niệm học máy.
Nhận dạng đối tượng
Một số khái niệm liên quan:
• Nhận dạng đối tượng (object recognition) là một thuật ngữ chung để mô tả
một tập hợp các cách xử lý trong thị giác máy tính có liên quan đến việc xác


định các đối tượng trong ảnh kỹ thuật số.
Phân loại hình ảnh (image classification) liên quan đến việc dự đốn, phân



loại các lớp thơng tin của một đối tượng trong một hình ảnh.
Khoanh vùng đối tượng (object localization) là việc xác định vị trí của một
hoặc nhiều đối tượng trong một hình ảnh bằng hình chữ nhật xung quanh



phạm vi của đối tượng.
Phát hiện đối tượng (object detection) kết hợp cả hai nhiệm vụ nhận dạng đối
tượng và khoanh vùng đối tượng. Phát hiện đối tượng là việc khoanh vùng và
phân loại một hoặc nhiều đối tượng khác nhau trong một hình ảnh.


Nhận dạng đối tượng khác với phát hiện đối tượng ở chỗ nhận dạng đối tượng
mang ý nghĩa rộng hơn, bao gồm cả việc phân loại hình ảnh (địi hỏi thuật tốn xác định
các lớp của đối tượng xuất hiện trong hình ảnh), cũng như phát hiện đối tượng (địi hỏi
thuật tốn khoanh vùng, định vị được tất cả các đối tượng có trong hình ảnh)

17

17


Hình 11 Sự khác biệt giữa nhận dạng đối tượng và phát hiện đối tượng

3.1.2

Nhận dạng khuôn mặt
Nhận dạng khuôn mặt là khả năng nhận diện, lưu trữ, so sánh và phân tích các
mẫu dựa trên đường nét khn mặt để nhận dạng người từ hình ảnh hoặc video. Hệ
thống thường sử dụng các công nghệ để thực hiện nhận dạng khuôn mặt như sử dụng
sinh trắc học để ánh xạ các đặc điểm khuôn mặt từ ảnh hoặc video. Hệ thống so sánh
thông tin này với một cơ sở dữ liệu đã lưu trữ về các khuôn mặt để tìm ra một kết quả
khớp chính xác.
Nhận dạng khn mặt ngày càng được quan tâm trong nhiều lĩnh vực, như Trung
Quốc có hệ thống Skynet để chấm điểm cơng dân, hay nhiều chuỗi cửa hàng lớn cũng sử
dụng nhận dạng khn mặt khách hàng thân thiết để phân tích thói quen tiêu dùng.
Trên thực tế, công nghệ nhận dạng khuôn mặt đã nhận được sự chú ý đáng kể vì nó có
tiềm năng cho một loạt các ứng dụng liên quan đến thực thi pháp luật cũng như các
doanh nghiệp khác.

Hình 12 Ví dụ về nhận dạng khn mặt


18

18


3.2

Cách thức hoạt động

Phương pháp bao gồm các bước khác nhau để thực hiện nhận diện khuôn mặt tự

động. Đầu tiên là thực hiện phát hiện khuôn mặt để khoanh vùng khn mặt trong từng
khung hình ảnh và video. Sau đó, dữ liệu ở bước trên đuợc liên kết với các khn mặt
được phát hiện với danh tính chung trên các video và căn chỉnh các khuôn mặt thành
tọa độ bằng cách sử dụng các mốc được phát hiện. Cuối cùng, hệ thống thực hiện xác
minh khn mặt để tính tốn độ tương tự giữa một cặp hình ảnh.

Hình 13 Phương pháp nhận dạng khuôn mặt người bằng mạng nơ ron tích chập

Từ mạng nơ ron trên, ta có thể thấy các bước xử lý ảnh từ trái sang phải. Lần lượt,
ta có thể thấy hình ảnh các cửa sổ dị tìm (ơ vng màu xanh) đang giảm dần và hiệu
chỉnh dần theo từng giai đoạn dị tìm:

Hình 14 Các giai đoạn dị tìm và hiệu chỉnh

3.3

Phát hiện các điểm quan trọng trên khuôn mặt
19


19


Khi các khn mặt được phát hiện, thuật tốn thực hiện phát hiện các điểm quan
trọng để căn chỉnh khuôn mặt. Thuật tốn sẽ tìm cách khơi phục mặt về hình dáng mặc
định ban đầu: gọi khn mặt là I, hình dạng ban đầu là S 0 , thuật tốn sẽ tính tốn mức
tăng hình dạng ∆S từ các mơ tả sâu (deep descriptors) và cập nhật bằng công thức sau:

Hệ thống áp dụng hồi quy theo tầng, trong đó đầu ra được tạo bởi giai đoạn đầu
tiên sẽ được sử dụng làm đầu vào cho giai đoạn tiếp theo, tổng là năm giai đoạn tích
chập được áp dụng trong hệ thống. Các bộ lọc được chọn để trích xuất tính năng được
tinh chỉnh trong các giai đoạn sau để cải thiện việc chuẩn hóa các mốc trên khn mặt.
Sau khi hồn thành phát hiện các mốc trên khn mặt, mỗi khn mặt được căn chỉnh
theo tọa độ chính tắc bằng cách sử dụng biến đổi tương tự và các điểm mốc.

Hình 15 Phát hiện các điểm trên khn mặt

3.4
3.4.1

Kết quả các thuật toán sử dụng mạng nơ ron nhân tạo
Mơ hình DeepID 2 (NIPS 2014)

Cách thức hoạt động của mơ hình DeepID 2:
Trong q trình huấn luyện, 200 phần khn mặt được cắt với các vị trí, tỉ lệ và

kênh màu sắc khác nhau. Mỗi phần khuôn mặt và phần đối xứng được đưa vào
ConvNet. Hai vector 160 chiều được trích xuất từ phần khn mặt và phần đối xứng.
Chọn 25 phần khuôn mặt tốt nhất.


20

20


Hình 16. Kiến trúc mạng của mơ hình DeepID2

Một ví dụ về 25 phần khn mặt tốt nhất:

Hình 17. 25 phần khn mặt tốt nhất được chọn để trích xuất đặc điểm

Kết quả của mơ hình thể hiện trong bảng:

Hình 18. Thống kê xác minh độ chính xác của khn mặt bằng DeepID2
khi tăng dần số lượng của các phần khuôn mặt

21

21


Qua hình 18, ta có thể thấy, khi sử dụng 25 phần khn mặt để trích xuất đặc
điểm, độ chính xác của phương pháp rất cao, xấp xỉ tới 99%. Tuy nhiên, khi nhận diện với
25 phần khuôn mặt, máy tính cần mất 0.035 giây để tính tốn. Mặt khác, với việc chỉ sử
dụng một phần khn mặt để trích xuất đặc trưng, thời gian xử lý rất nhanh, chỉ 0,0017
giây, tuy nhiên độ chính xác chỉ cịn 95,43%. Dựa trên bảng thống kê này, các nhà phát
triển có thể căn chỉnh số phần khuôn mặt để tối ưu cho bài tốn thực tế. Ví dụ như, nếu
cần một hệ thống phản hồi nhanh mà không quá ưu tiên độ chính xác, có thể chỉ sử
dụng một phần khn mặt để trích xuất đặc trưng, ngược lại, ta có thể tăng số phần

khn mặt nhằm tăng độ chính xác.
3.4.2

Mơ hình DeepID3 (arXiv 2015)

Hình 19. Kiến trúc mạng của mơ hình DeepID3

DeepID3 là mơ hình nâng cấp của DeepID2+

22

22


3.5

Kết luận

Bài tốn nhận dạng đã có từ rất lâu với nhiều phương pháp khác nhau. Tuy nhiên,

với các kỹ thuật mới, ta có thể thấy rằng độ chính xác của các phương pháp ngày càng
tăng trong khi chi phí tính tốn ngày càng giảm.
Qua cách thức hoạt động và các mơ hình được sử dụng trong bài tốn nhận dạng,
ta có thể thấy dữ liệu là chìa khóa rất quan trọng trong việc đào tạo. Nếu mơ hình cịn
hạn chế, nhưng lại có rất nhiều dữ liệu để đào tạo thì độ chính xác của hệ thống sẽ được
cải 43 thiện ở mức đáng kể. Có thể thấy, các mơ hình có độ chính xác cao trên 97% đều
sử dụng trên 100 nghìn ảnh để huẩn luyện. Ngồi ra, việc xử lý nhiều phần khn mặt
cũng giúp ích rất nhiều cho độ chính xác của nhận diện, tuy nhiên hệ thống sẽ cần số
lượng tính tốn lớn hơn để có thể nhận diện.
Các phương pháp nhận dạng bằng mạng nơ ron tích chập hiện nay có độ sai số rất

nhỏ và nằm trong ngưỡng chấp nhận được. Nên việc áp dụng mạng nơ ron tích chập để
xây dựng một hệ thống nhận diện là hoàn toàn khả thi và có thể đáp ứng nhiều nhu cầu
khi chúng ta đang dần tiến tới cách mạng công nghiệp 4.0.

23

23


4

4.1

CHƯƠNG 4. SỬ DỤNG MẠNG NƠ RON TÍCH CHẬP
TRONG NHẬN DẠNG ĐỐI TƯỢNG

Sơ lược về áp dụng mạng nơ ron tích chập vào các giải pháp thơng minh trong
thực tế

Hiện nay, xã hội đang tiến dần đến kỷ nguyên cách mạng công nghiệp 4.0. Với

cách mạng công nghiệp 4.0, các mức tự động hóa, cũng như học máy đều ở mức cao, có
thể thay thế con người khỏi nhiều việc, nhằm góp phần giải phóng sức lao động. Ngồi
ra, việc khai phá dữ liệu cũng đem lại nhiều tối ưu cho các mơ hình kinh doanh, cũng
như cho xã hội. Để hướng đến cách mạng công nghiệp 4.0, rất cần các giải pháp tự động
hóa cho các mơ hình cơng hoặc mơ hình kinh doanh như bệnh viện, cửa hàng hoặc siêu
thị. Ở các giải pháp này, hệ thống thông minh sẽ tự động phân tích số lượng người
ra/vào, hay nhận diện thời điểm xuất hiện của khách hàng thân thiết.
Ở phạm vi của đề tài, đồ án áp dụng hai giải pháp về nhận diện người và nhận
diện khuôn mặt sử dụng CNN để áp dụng xây dựng các hệ thống thực tế. Các phương

pháp nhận diện người cũng như khn mặt qua thực tế đã có độ chính xác và có khả
năng thương mại hóa cao.
4.2 Áp dụng mạng nơ ron tích chập để xây dựng hệ thống nhận diện khuôn mặt
4.2.1 Giới thiệu hệ thống nhận diện khn mặt sử dụng mạng nơ ron tích chập

Mơ tả bài tốn: Hiện nay, camera rất thơng dụng và được lắp ở mọi nơi. Tuy

nhiên, camera dân dụng thông thường chỉ có chức năng chụp ảnh hoặc ghi hình mà
khơng có chức năng thơng minh nào khác. Do đó, giải pháp hướng đến là lập nên một
hệ thống có chức năng nhận diện khn mặt. Hệ thống có thể áp dụng cho nhiều địa
điểm như các cổng ra vào ở bệnh viện, trường học, siêu thị, ... Dựa trên kết quả nhận
diện, quản trị viên có thể phân tích, điều tra các đối tượng của khu vực đặt camera.
1. Hệ thống camera: hệ thống camera nhận dạng đối tượng được lắp đặt ở các
khu vực quan trọng.
2. Máy chủ xử lý nhận diện và phân tích đối tượng: máy chủ có cấu hình mạnh,
tốc độ xử lý cao, có thể xử lý toàn bộ dữ liệu của hệ thống camera, tạo thành báo cáo để
đẩy vào hệ thống trích xuất dữ liệu.
3. Hệ thống trích xuất dữ liệu và hình ảnh đối chiếu: sau khi được xử lý qua máy
chủ xử lý, dữ liệu được gom nhóm kèm video, và được lưu trữ ở đây trước khi được đẩy
về máy chủ trung tâm.

24

24


4. Cơ sở dữ liệu chứa thông tin nhận diện đối tượng: đây là dữ liệu bao gồm số
liệu và hình ảnh và video của hệ thống nhận diện đối tượng.
5. Quản trị viên: quản trị viên là người kết nối lên máy chủ tổng, là người xem xét
4.2.2


dữ liệu để nhận diện được đối tượng theo khung giờ, và lập các báo cáo cần thiết.
Giới thiệu ứng dụng nhận diện đối tượng bằng tích chập
Ứng dụng Teachable Machine.
Teachable Machine là một cơng cụ web giúp tạo mơ hình máy học cho các dự án
của bạn một cách nhanh chóng và dễ dàng mà không cần viết mã. Đào tạo máy tính để
phân tích các cơ sở dữ liệu đầu vào và nhận dạng hình ảnh các đối tượng thơng qua
camera.
Mơ tả q trình sử dụng
Bước 1: Các cơng cụ xây dựng hệ thống ngày càng đa dạng trên mạng, nên việc xây
dựng một hệ thống nhận dạng khuôn mặt hồn tồn khơng khó. Teachable Machine sẽ
hỗ trợ xây dựng một hệ thống mà không cần phải viết code. Để sử dụng, chúng ta truy
cập đường dẫn là: hoặc có thể tìm trên
google với từ khóa Teachable Machine

Hình 20 Ứng dụng Teachable Machine

Bước 2: Nhấn vào “Get Started” để bắt đầu, sau đó chọn vào “Image Project” để
tạo một dự án nhận diện hình ảnh.

25

25


×