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

Ứng dụng phương pháp học sâu vào nhận dạng cảm xúc để đánh giá độ hài lòng khách hà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 (3.22 MB, 61 trang )

HỌCVIỆNCƠNGNGHỆBƯUCHÍNHVIỄNTHƠNG
---------------------------------------

NguyễnPhướcĐại

ỨNGDỤNGPHƯƠNGPHÁPHỌCSÂUVÀONHẬNDẠN
GCẢMXÚCĐỂĐÁNHGIÁĐỘHÀILỊNGKHÁCH HÀNG

ĐỀÁNTỐT NGHIỆP THẠCSĨKỸTHUẬT
(Theođịnhhướngứng dụng)

THÀNHPHỐHỒCHÍ MINH -2023


HỌCVIỆNCƠNGNGHỆBƯUCHÍNHVIỄNTHƠNG
---------------------------------------

NguyễnPhướcĐại

ỨNGDỤNGPHƯƠNGPHÁPHỌCSÂUVÀONHẬNDẠN
GCẢMXÚCĐỂĐÁNHGIÁĐỘHÀILỊNGKHÁCH HÀNG
Chunngành:HệthốngthơngtinMã
số:
8.48.01.04

ĐỀÁNTỐTNGHIỆPTHẠCSĨKỸTHUẬT
(Theođịnhhướngứng dụng)
NGƯỜIHƯỚNGDẪNKHOAHỌCTS.
HUỲNHTRỌNGTHƯA

THÀNHPHỐHỒCHÍMINH -2023




1

LỜICAMĐOAN
Tôi xin cam đoan đề án thạc sĩ hệ thống thông tin“Ứng dụng phương
pháphọc sâu vào nhận dạng cảm xúc để đánh giá độ hài lịng khách hàng”là do
tơinghiêncứu,tổnghợpvàthựchiện.
Tấtcảcácnộidung,cácsốliệu,kếtquảnêutrongđềántốtnghiệpnàylàtrungthựcvàchưatừng
được ai cơng bố trong bất kỳ cơng trình nào khác. Tơi hoàn toànchịutráchnhiệmchomọihànhvi sao
chéptráiphéphoặcviphạm quychếđàotạo.
TPHCM, ngày12tháng10năm2023
Họcviênthựchiệnđềán

NguyễnPhướcĐại


LỜICÁMƠN
TơixingửilờicảmơnchânthànhvàsâusắcđếnTS.HuỳnhTrọngThưa,ngườithầy đã tận tâm và
nhiệt

tình

trong

việc

hướng

dẫn




động

viên

tơi

suốt

q

trìnhthựchiệnđềán.Nhờsựhỗtrợcủangườithầy,tơiđãđượcđịnhhướngvàhồnthànhcácmục
tiêumà tơiđãđề ra.
Tơi xin gửi lời tri ân chân thành đến các Thầy, Cô đã đồng hành và tận
tìnhgiảng dạy cho tơi suốt thời gian học tập trong chương trình Thạc sĩ Hệ thống
thơngtin tại khoa Đào tạo Sau đại học, Học viện Công nghệ Bưu chính Viễn thơng
cơ sởtạithànhphốHồChíMinh.
Tơi muốn bày tỏ lịng biết ơn đến ban Giám Đốc Trung tâm Cơng nghệ
Thơngtin–ViễnthơngTâyNinhđãtạođiềukiệnthuậnlợichoqtrìnhhọctậpcủatơi.
Tơibiếtơnđếntấtcảbạnbèđãđộngviên,hỗtrợvàđónggópnhữngýkiếnqbáuchođềánnà
y.Đónggópcủacácbạnđãgiúptơihồnthiệnnghiêncứunày.
Đềánđãhồnthànhvàđạtđượcmộtsốkếtquảnhấtđịnh,tuyvậytơithừanhậnrằngcịntồntạinhững
hạnchếvàthiếusót.Vìvậy,tơichânthànhmongnhậnđượcsựthơngcảm,sựđónggópqbáutừqthầycơvàcácbạnđểtơicóthểcải
thiện,nângcaochấtlượngcủanghiêncứunày.
Mộtlầnnữatơixinchânthànhcảmơn!
TPHCM, ngày12tháng10năm2023
Họcviênthựchiệnđềán


NguyễnPhướcĐại


MỤCLỤC

LỜICAMĐOAN.......................................................................................................i
LỜICÁMƠN............................................................................................................ii
MỤCLỤC................................................................................................................iii
DANHMỤCCÁCTHUẬTNGỮ,CHỮVIẾTTẮT...................................................v
DANHSÁCHHÌNHVẼ...........................................................................................vi
DANHSÁCHBẢNG.............................................................................................viii
MỞĐẦU................................................................................................................... 1
CHƯƠNG1 –TỔNGQUAN....................................................................................2
2.1. Lýdochọnđềtài............................................................................................2
2.2. Mụcđíchnghiêncứu.....................................................................................2
2.3. Đốitượngvàphạm vinghiêncứu..................................................................2
2.4. Phươngphápnghiêncứu..............................................................................3
2.5. Tínhthựctiễn...............................................................................................3
2.6. Bốcụctrìnhbàyđềán....................................................................................3
CHƯƠNG2–CƠSỞ LÝTHUYẾT VÀCÁCNGHIÊNCỨULIÊNQUAN..............5
2.1. Cơsở lýthuyết..............................................................................................5
2.1.1.

GiớithiệuTensorFlow.........................................................................5

2.1.2.

GiớithiệuvềOpenCV...........................................................................6

2.1.3.


GiớithiệuvềPython.............................................................................8

2.2. Cácnghiêncứu liên quan.............................................................................9
2.2.1.

MơhìnhVGG......................................................................................9

2.2.2.

MơhìnhResNet.................................................................................11


2.2.3.

MơhìnhMobileNet............................................................................12

2.2.4.

Kiếntrúc Finetune-MobileNet...........................................................15

CHƯƠNG3 –MƠHÌNHĐỀXUẤT........................................................................19
3.1. Chuẩn bịdữliệu.........................................................................................19
3.1.1.

Tậpdữ liệu........................................................................................19

3.1.2.

Xửlýdữ liệu......................................................................................19


3.2. Huấnluyệnmơhình....................................................................................21
3.2.1.

Xửlýdữ liệuđầuvào...........................................................................21

3.2.2.

Xâydựngmơhình...............................................................................22

3.2.3.

Huấnluyệnmơ hình...........................................................................24

3.2.4.

Kếtquảhuấnluyệnmơhình..................................................................24

3.2.5.

Mơhìnhđượcchọn.............................................................................29

3.3. Cảitiếnmơhình..........................................................................................30
3.3.1.

Kiếntrúc Finetune-MobileNetV2......................................................30

3.3.2.

Phânnhómđộhàilịng.........................................................................31


3.3.3.

Kếtquảhuấnluyệnsaucảitiến............................................................312

Chương4– THỰCNGHIỆM..................................................................................36
4.1. Thuthậpthêmdữliệucảmxúcthựctế.............................................................36
4.2. Huấnluyệnmơhình.......................................................................................36
4.3. Triển khaimơhình.......................................................................................36
4.4. Càiđặtthựcnghiệm......................................................................................38
KẾTLUẬNVÀHƯỚNGPHÁTTRIỂN.................................................................41
DANHMỤCCÁCTÀILIỆU THAMKHẢO.........................................................42


DANHMỤCCÁCTHUẬTNGỮ,CHỮVIẾTTẮT
Viếttắt
DCNN

TiếngAnh
DeepConvolutionalNeural
Networks

Mạngnơrontíchchập sâu

Finetune

Tinhchỉnh

MobileNet


Mạngdiđộng

VGG

VisualGeometryGroup

ResNet

ResidualNetwork

OpenCV

TiếngViệt

OpenSourceComputerVision

Thưviệnthịgiácmáytính

Library

mãnguồnmở


DANHSÁCHHÌNHVẼ
Hình1.1:CấuhìnhConvNet................................................................................10
Hình1.2: KiếntrúcchoImageNet........................................................................11
Hình1.3:TỷlệlỗikhixácthựcImageNet.MơhìnhVGG-16,ResNet50/101/152chỉsử dụngphépchiếuđểtăngkíchthước.................................................12
Hình1.4:KiếntrúcthânMobileNet......................................................................13
Hình1.5:Lớptíchchậptiêuchuẩn:(a)vớiđịnhmứchàngloạtvàReLU,
(b)Lớptíchchậptheo chiềusâuvới Depthwisevà Pointwise..................................14

Hình1.6:KiếntrúchệthốngMobileNettinhchỉnh.................................................16
Hình1.7:MơhìnhMobileNetCNN.....................................................................17
Hình1.8: KiếntrúcFinetunedMobileNet............................................................18
Hình2.1:Xửlýdữliệu input................................................................................22
Hình2.2:MơhìnhResNet50...............................................................................23
Hình2.3:MơhìnhVGG16..................................................................................23
Hình2.4:MơhìnhMobileNetV2.........................................................................23
Hình2.5: KếtquảtrainingvớiResNet50..............................................................24
Hình2.6:Kếtquả trainingvớiVGG16.................................................................25
Hình2.7: KếtquảtrainingvớiMobileNetV2........................................................25
Hình2.8:Kếtquả độchínhxácnhãncảmxúc vớiVGG16......................................26
Hình2.9:Kếtquả độchínhxácnhãncảmxúc vớiResNet50...................................27
Hình2.10:Kếtquả độ chínhxácnhãncảmxúcvớiMobileNetV2............................28
Hình2.11:Biểuđồsosánhgiữa3mơ hình.............................................................29
Hình3.1: KiếntrúcMobileNetV2.......................................................................30


Hình3.2:KếtquảtrainingvớiMobileNetV2 saucải tiến......................................32
Hình3.3:Biểuđồ độchínhxáccủacácnhãncảmxúcvớiMobileNetV2...................33
Hình3.4:Biểuđồsosánhgiữa4mơhìnhtheo nhãncảmxúc....................................35
Hình4.1:Kiếntrúc hệ thống thực nghiệm..........................................................36
Hình4.2:Giaodiệnhệthốngdemo.......................................................................38
Hình4.3:Cácbướcđưadữ liệuvàohệthống đểnhậndạng......................................39
Hình4.4:Kếtquảdựđốncảmxúcquanhậndạngkhnmặt...................................39
Hình4.5:Kếtquả dữ liệunhậndạngchưa chuẩnxáchồn tồn..............................40


DANHSÁCHBẢNG
Bảng1.1:Kếtquả kiểmthửmơhìnhVGG16 đãtraining........................................26
Bảng1.2:Kếtquả kiểmthử mơhìnhResNet50đãtraining.....................................27

Bảng1.3:KếtquảkiểmthửmơhìnhMobileNetV2đãtraining.................................28
Bảng1.4:Kếtquả sosánhgiữa3mơ hình..............................................................29
Bảng2.1:Kếtquả8lớpcảmxúcchạythửMobileNetV2 saucải tiến........................32
Bảng2.2:Kếtquả sosánhgiữakỹthuậtđóng băng5lớp,20lớpvà 40lớp..................33
Bảng2.3: KếtquảkiểmthửmơhìnhFinetune20-MobileNetV2đãtraining..............34
Bảng2.4:Kếtquả kiểmthử4mơhình...................................................................34


1

MỞĐẦU
Trong thời đại số hóa và phát triển cơng nghệ như hiện nay, ứng dụng của
trítuệnhântạovàhọcmáyđãmanglạinhữngtiếnbộđángkểtrongnhiềulĩnhvực,đặcbiệtlà trong việc
nhận

dạng



xử



dữ

liệu

hình

ảnh.


Một

trong

những

ứng

dụngquantrọngcủahọcmáytronglĩnhvựcnàylàkhảnăngnhậndạngcảmxúcmặtngười,gópphầnnân
gcaokhảnăngtươngtácgiữaconngườivàmáytính.
Cảm xúc mặt người chứa đựng những thông điệp quan trọng về tâm trạng,
tìnhcảm và thái độ của một cá nhân tại thời điểm cụ thể. Để hiểu được những thơng
điệpnày,máytínhcầncókhảnăngxửlývànhậnbiếtcácđặcđiểmtronghìnhảnhkhnmặt,từđóph
ânloạicảmxúcnhưvuivẻ,buồnbã,tứcgiận,sợhãi,kinhngạc,vàghétbỏ.Trongbốicảnhnày,việcs
ửdụngmơhìnhDeepConvolutionalNeuralNetworks(DCNN)vàkỹthuậtFine-tuneđãchứngminhsựhiệu
quảtrongviệcxâydựngcáchệthốngnhậndạngcảmxúcmặtngười.
Mơ hình MobileNet, một loại mơ hình DCNN, đã được phát triển để đáp
ứngnhu cầu trong việc xử lý hình ảnh trên các thiết bị có tài nguyên hạn chế như
điệnthoại di động và thiết bị nhúng. Kết hợp với kỹ thuật Fine-tune, mơ hình
MobileNetcóthểđượctinhchỉnhvàđàotạolạitrêndữliệucụthể,giúpnângcaokhảnăngnhậndạn
gcảmxúcmặtngườitrêncáctậpdữ liệucụthể.
Đề án tốt nghiệp này nhằm khám phá tiềm năng của mơ hình MobileNet và
kỹthuật Fine-tune trong việc xây dựng hệ thống nhận dạng cảm xúc mặt người. Quaviệc nghiên cứu và thực
nghiệm,

mong

muốn


rằng

luận

văn

sẽ

đóng

góp

vào

pháttriểncủalĩnhvựcnàyvàmởranhữnghướng nghiêncứutiềmnăngtrongtươnglai.

sự


CHƯƠNG1–TỔNGQUAN
2.1.

Lýdo chọn đềtài
Hiện nay, một phần rất quan trọng trong chiến lược sản xuất kinh doanh

củanhiều doanh nghiệp là công tác đánh giá độ hài lịng của khách hàng. Ngồi
cácphươngpháptruyềnthốnglàkhảosáttrựctiếpýkiếnkháchhàngngaytạiđiểmgiaodịch,gửiliên
kết

đánh


giá

trực

truyến…,

thì

một

phương

pháp

được

đề

cập

đến

lànhậndạngcảmxúckhnmặtđểđánhgiáđộhàilịngcủakháchhàngkhitrảinghiệmdịchvụ.
Xây dựng một ứng dụng thử nghiệm khả năng nhận dạng cảm xúc trên
mặtngười từ các tập dữ liệu mở trên internet, đánh giá tính khả thi trước khi phát
triển ýtưởngthànhứngdụnghồnchỉnhápdụngvàothựctế.Nênviệcđềxuấtgiảipháp“Ứng dụng phương pháp
học

sâu


vào

nhận

dạng

cảm

xúc

để

đánh

giá

độ

hàilịngkháchhàng”làcótínhthiết thựcvàmangtínhứngdụngcao.

2.2.

Mụcđíchnghiêncứu
Đềán“Ứngdụngphươngpháphọcsâuvàonhậndạngcảmxúcđểđánhgiáđộhài lịng khách

hàng”hướngtớimộtứngdụngcóchứcnăngpháthiệnrakhnmặtngười và nhận dạng cảm xúc trên khn
mặt

đó


như

giận

giữ,

khinh

thường,

sợ

hãi,vuivẻ/hạnhphúc,bìnhthường,buồn,ngạcnhiên.Thơngquanghiêncứucácphươngpháp học
máychobàitốnnhậndạngcảmxúcmặtngườivàngơnngữlậptrìnhPython, đề án muốn xây dựng một ứng
dụng



thể

nhận

dạng

được

cảm

xúc


củakhnmặtngườitừđóđánhgiáđộhàilịngcủakháchhàng.

2.3.

Đối tượngvàphạmvinghiêncứu
Vớimụctiêuđặtraởtrên,đềánthựchiệnnhữngvấnđềsau:
- Đốitượngnghiêncứulàcácphươngpháppháthiệnkhnmặtngườivànhậndạng cảm xúc

củakhnmặtquađólựachọnmộtphươngphápphùhợp.Tìmhiểuvàđềxuấtmộtphươngphápcụthể.
- Nghiêncứuvàsửdụngphươngpháphọcmáy,cụthểlàl à mơhìnhMobileNetđểphânloạic
ảmxúccủakháchhàng.


- Phạm vi thực hiện: sử dụng tập dữ liệu trên Kaggle để huấn luyện và đưa
rakỹthuậttốiưumơhìnhápdụng.

2.4.

Phươngphápnghiêncứu
- Phương pháp nghiên cứu lý thuyết: Mô tả kiến thức về mạng nơron và

họcsâu cần thiết để hiểu về mơ hình MobileNet. Phân tích chi tiết cách MobileNet
hoạtđộng,cáchápdụngvàobàitốnphânloạicảmxúc.
- Phươngphápnghiêncứuthựcnghiệm:Trìnhbàyquytrìnhxâydựngtậpdữliệu, tiền xử lý,
huấn

luyện




đánh

giá



hình.

Thử

nghiệm

nhiều



hình

khácnhaunhưVGG,Resnet,thửnghiệmkỹthuậtFinetunevớimơhìnhMobileNetđểtăngđộchínhx
ác.

2.5.

Tính thựctiễn
Đề án nghiên cứu một số kỹ thuật, các mơ hình hỗ trợ cho việc phát hiện

vànhậndạng cảmxúcmặtngười.
Bêncạnhđó,đềánnàygópphầnxâydựngứngdụngnhậndạngcảmmặtngườiđểápdụngđá
nhgiáđộhàilịngkháchhàngtrongthựctiễn.


2.6.

Bốcục trìnhbàyđềán
Nội dung của đề án được chia thành các phần như
sau:MỞĐẦU
CHƯƠNG1–TỔNGQUAN
- Lý do thực hiện đề tài, mục đích nghiên cứu Ứng dụng phương pháp học

sâuvàonhậndạngcảmxúcđểđánhgiáđộhài lịngkháchhàng.
- Đốitượngnghiêncứu,phạmvinghiêncứu vàphươngphápnghiêncứu
- Tínhthựctiễn
- Trìnhbày bốcụcchínhcủa đềán
CHƯƠNG2–CƠSỞLÝTHUYẾTVÀCÁCNGHIÊNCỨULIÊNQUAN
- Giớithiệucácthưviệnsửdụng: Tensorflow, Python, OpenCV
- Giới thiệu các mơ hình pretrained: VGG, Resnet,
MobilenetV2CHƯƠNG3–MƠHÌNHĐỀXUẤT


- Phươngphápđềxuấ t được huấnluyện trê nb ộ dữliệu“FacialExpressio
nsTrainingData”trênKaggle
- Đểgiảiquyếtbàitoáncầnxemxétthựchiệnhaibước:giaiđoạnhuấnluyệnvàgiai
đoạnthử nghiệm
- Trìnhbàycáchthựchiệngồm:chuẩnbịdữliệu,xửlýdữliệu,huấn
luyệnmơhìnhvàđưarakếtquảbằngmơhìnhMobileNetV2kếthợpkỹthuậtFine-tune
CHƯƠNG4–THỰCNGHIỆM
- Xâydựngứngdụngthửnghiệmnềnwebđểxửlýnhậndạngcảmxúcmặtng
ườitừcácnguồndữliệuđầuvào.
- Kếtquảthực nghiệm.
KẾT LUẬN VÀ HƯỚNG PHÁT

TRIỂNDANHMỤCTÀI
LIỆUTHAMKHẢO


CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN
CỨULIÊNQUAN
2.1.

Cơsở lýthuyết

2.1.1. GiớithiệuTensorFlow
TensorFlowlàmộtthư việnmãnguồnmởcủaGoogledànhchohọcmáyvàtrítuệ nhân tạo.
Nóđượcpháttriểnbanđầuđểtạoramơhìnhhọcmáyvàmạngnơronmột cách dễ dàng và hiệu quả. Từ đó,
TensorFlow đã trở thành một trong những thưviệnphổbiếnnhấtvàmạnhmẽnhấttronglĩnhvựchọcmáy,
chophépnhànghiêncứuvànhàpháttriểntạoravàtriểnkhaicácmơhìnhphứctạp.[4]
ĐặcđiểmchínhcủaTensorFlow:
- Data Flow Graphs (Đồ thị luồng dữ liệu): TensorFlow sử dụng cơ chế
biểudiễnmơhìnhthơngquađồthịluồngdữliệu.Trongđồthịnày,cácnodeđạidiệnchocác phép
tốn



các

cạnh

đại

diện


cho

dữ

liệu

chạy

qua

các

phép

tốn.

Điều

này

tạoracơsởchoviệcphântántínhtốnvàtốiưuhóa.
- StaticandDynamicComputation(Tínhtốntĩnhvàđộng):TensorFlowhỗtrợcả tính tốntĩnh
và tính tốn động. Trong tính tốn tĩnh, đồ thị tínhtốnđược xácđịnh trước và tối ưu hóa trước khi chạy.
Trong

tính

tốn

động,


bạn



thể

tạo

vàthayđổiđồthịtrongqtrìnhchạy,đặcbiệthữchtrongviệcxâydựngcácmơhìnhcócấu

ra
trúc

linh hoạthơn.
- High-level APIs và Low-level APIs: TensorFlow cung cấp cả hai loại
API.High-level APIs như Keras giúp bạn xây dựng và huấn luyện mơ hình một
cách

dễdàng,trongkhiLow-

levelAPIschophépbạntùychỉnhvàkiểmsốtchitiếthơncủaqtrìnhtínhtốn.
- Auto Differentiation (Tự động đạo hàm): TensorFlow có khả năng tính
tốntự động đạo hàm, giúp bạn dễ dàng tính tốn đạo hàm của các biểu thức phức
tạptrongqtrìnhhuấnluyệnmơhình.


- Hỗtrợđanềntảng:TensorFlowkhơngchỉhỗtrợCPUmàcịnhỗtrợGPUvàTPU(Tenso
rProcessingUnit)đểgiatăngtốcđộtínhtốn,đặcbiệttrongcácmơhìnhsâuvàphứctạp.
- Community lớn và sự phát triển liên tục: TensorFlow có một cộng đồng

lớnvà đa dạng, đồng thời Google và cộng đồng đang liên tục phát triển thư viện,
cungcấpcập nhậtvà cải tiếnthường xuyên.
ỨngdụngcủaTensorFlow:
- Học máy và trí tuệ nhân tạo: TensorFlow được sử dụng rộng rãi để xây
dựng,đàotạovàtriểnkhaicácmơhìnhhọcmáyvàtrítuệnhântạotrênnhiềulĩnhvựcnhưnhậndạng
hìnhảnh,xửlýngơnngữtựnhiên,dựbáo,vànhiềuứngdụngkhác.
- Nghiên cứu và phát triển mới: Các nhà nghiên cứu và nhà phát triển có thể
sửdụng TensorFlow để thử nghiệm các ý tưởng mới, thiết kế các mơ hình tùy chỉnh
vàthựcnghiệmcácgiảipháptronglĩnhvựctrítuệnhântạo.
- Triểnkhaisảnphẩm:TensorFlowcũngcókhảnăngtriểnkhaicácmơhìnhđãxây dựng vào
cácsảnphẩmthựctế,từứngdụngdiđộng,ứngdụngwebchođếnhệthốngnhúng.
Tóm lại, TensorFlow là một cơng cụ mạnh mẽ và đa dạng trong lĩnh vực
họcmáy và trí tuệ nhân tạo, cho phép bạn xây dựng và triển khai các mơ hình từ cơ
bảnđến phức tạp, đáp ứng nhiều nhu cầu khác nhau trong cộng đồng nghiên cứu và
pháttriển.

2.1.2. GiớithiệuvềOpenCV
OpenCV (Open Source Computer Vision Library) là một thư viện mã
nguồnmở chuyên dụng cho xử lý hình ảnh và thị giác máy tính. Được phát triển bởi
Intelvào năm 1999 [5], OpenCV đã trở thành một công cụ quan trọng trong lĩnh
vực xửlýhìnhảnh,hỗtrợcho việcphântích,xửlývà hiểuthơng tintừdữliệuhìnhảnh.
ChứcnăngchínhcủaOpenCV:
- Xửlýảnhvàvideo:OpenCVcungcấpnhiềuchứcnăngđểthựchiệncácthaotácxử
lýcơbảnnhưlọc,biếnđổi,cắt,ghép,xoay,đảongượchìnhảnhvàvideo.


- Phân tích đối tượng và thị giác máy tính: OpenCV hỗ trợ việc phát hiện,
theodõi, và phân loại đối tượng trong hình ảnh và video. Điều này bao gồm nhận
dạngkhnmặt,đốitượng,vàcácđặctrưngquantrọngkhác.
- Pháthiệnvàtheodõiđườngviền:OpenCVcókhảnăngpháthiệnđườngviềntronghìnhả

nh,chophépbạnxácđịnhcáchìnhdạngvàcạnh.
- Xử lý dữ liệu từ camera: OpenCV cho phép bạn truy cập và xử lý dữ liệu
từcácthiếtbịcamera,giúp xâydựngcácứng dụng thịgiác máytính thờigianthực.
- Xử lý ảnh y tế và khoa học: OpenCV cũng được sử dụng trong lĩnh vực y
tếvàkhoahọc,giúpphântíchvàxử lýdữ liệuhìnhảnhyhọcvàkhoahọc.
- Pháttriểnứngdụngthịgiácmáytính:OpenCVcungcấpAPIvàcơngcụpháttriểnđểxâyd
ựngcácứngdụngthịgiácmáytínhtrựcquanvàmạnhmẽ.
ĐặcđiểmchínhcủaOpenCV:
- Đa nền tảng: OpenCV được hỗ trợ trên nhiều hệ điều hành như
Windows,Linux,macOSvàcảAndroid.
-Hỗ trợ nhiều ngôn ngữ lập trình: OpenCV có API cho nhiều ngơn ngữ nhưC+
+,Python,Java,vàC#.
- Cộngđồnglớnvàsựpháttriểnliêntục:OpenCVcómộtcộngđồngđơngđảovàtíchcực,giúp
duytrìvàpháttriểnthưviện,cũngnhưcungcấphỗtrợ,tàiliệuvàvídụchongườidùng.
- Hỗ trợ phân tán tính tốn: OpenCV hỗ trợ tính tốn phân tán để tận dụng
khảnăngxử lýsongsongcủacácmáytính.
- Tiện ích trong việc học máy và trí tuệ nhân tạo: OpenCV cung cấp các
cơngcụ hữu ích để xử lý và trích xuất dữ liệu hình ảnh để sử dụng trong các mơ
hình họcmáyvàtrí tuệnhântạo.
ỨngdụngcủaOpenCV:
- Xửlýhìnhảnhytế:OpenCVcóthểgiúppháthiệnvàphântíchcácvùngkhốiu,dấuvếttron
ghìnhảnhyhọc.
- Nhậndạngkhnmặtvàđốitượng:OpenCVđượcsửdụngrộngrãitrongcácứngdụngnh
ậndạngkhnmặt,pháthiệnđối tượngvànhận dạngvật thể.


- Xử lý ảnh và video trong ứng dụng di động và web: OpenCV cung cấp
cáccôngcụphùhợp choviệcxử lýảnhvàvideotrongcácứngdụngdiđộngvàweb.
- Robotics và tự động hóa: OpenCV có thể được sử dụng trong các ứng
dụngroboticsvàtựđộnghóađểnhậnbiếtvàtươngtácvớimơi trường.

Tóm lại, OpenCV là một thư viện quan trọng và mạnh mẽ trong lĩnh vực xử
lýhình ảnh và thị giác máy tính, hỗ trợ cho việc xây dựng và triển khai các ứng
dụngthịgiácmáytínhđadạngvàmạnhmẽ.

2.1.3. Giớithiệu vềPython
Pythonlàmộtngơnngữlậptrìnhmãnguồnmở,cócúphápđơngiảnvàdễđọc,đượcpháttriển
bởiGuidovanRossumvàđượcramắtlầnđầuvàonăm1991.Pythonđượcthiếtkếđểdễdàngđọc,vi
ếtvàhiểu,giúpchongườilậptrìnhtậptrungvàogiảiquyếtvấnđềthayvìtốnthờigianvớicúphápp
hứctạp.[6]
ĐặcđiểmchínhcủaPython:
- Cú pháp đơn giản và rõ ràng: Python sử dụng cú pháp rất giống với ngôn
ngữtựnhiên,giúpdễdànghọcvàsử dụng.
- Dễ đọc và dễ hiểu: Code Python thường rất dễ đọc, người mới học lập
trìnhcũngcó thểnhanh chóng hiểuvàviếtmã.
- Thưviệnvàcộngđồngphongphú:Pythoncómộthệthốngthưviệnrộnglớn,hỗtrợchonh
iềulĩnhvựckhácnhaunhưxửlýhìnhảnh,họcmáy,webdevelopment,xửlýdữ
liệu,vànhiềuứngdụngkhác.
- Hỗ trợ đa nền tảng: Python có thể chạy trên nhiều nền tảng như
Windows,macOSvàLinux.
- Học và nghiên cứu: Python là một ngôn ngữ phổ biến trong lĩnh vực học
tậpvànghiêncứu,vớinhiềutàiliệu,sáchvàkhóahọcchấtlượng.
ỨngdụngcủaPython:
- Web Development: Python được sử dụng trong việc xây dựng các trang
webvàứngdụng websửdụngcácframeworknhưDjangovàFlask.
- Xửlýdữliệuvàphântích:Pythonlàngơnngữưathíchchoviệcxửlývàphântíchdữ
liệu,vớicácthư việnnhư NumPy,PandasvàMatplotlib.


- Học máy và trí tuệ nhân tạo: Python là một ngơn ngữ phổ biến trong lĩnh
vựchọcmáyvàtrítuệnhântạo,vớicácthưviệnnhưTensorFlow,PyTorchvàScikit-learn.

- Ứng dụng di động và phát triển game: Python có thể được sử dụng trong
pháttriểnứngdụngdiđộngsửdụngcácframeworknhưKivyvàBeeWare,cũngnhưtrongpháttriểngame.
- Xửlýhìnhảnhvàthịgiácmáytính:Pythoncóthểđượcsửdụngđểxâydựngcácứngdụng
xử lýhìnhảnhvàthịgiácmáytínhsử dụngthưviệnOpenCV.

2.2.

Các nghiên cứuliênquan

2.2.1. MơhìnhVGG
Kiến trúc mạng VGG là một dạng kiến trúc mạng nơron tích chập sâu
(CNN)được giới thiệu trong bài báo "Very Deep Convolutional Networks For
Large-scaleImage Recognition" của Karen Simonyan và Andrew Zisserman [1].
Kiến trúc nàyđược thiết kế để thực hiện nhận dạng hình ảnh trên quy mô lớn và đã
đạt được hiệusuấtấntượngtrêncáctập dữliệunhư ImageNet.
Môtảkiến trúcVGG:
- Lớp đầu vào (Input Layer): Mạng VGG khởi đầu bằng một lớp đầu
vào(inputlayer)được dùngđểchứa hìnhảnh đầu vào.
- Lớp tích chập (Convolutional Layer): Mạng VGG sử dụng một chuỗi
cáclớp tích chập với kích thước nhỏ (3x3) và bước nhảy là 1. Những lớp tích chập
nàythựchiệnviệchọccácđặctrưngcụcbộtừ hìnhảnh.
- Lớpgộp(PoolingLayer):Saumỗilớptíchchập,mộtlớpgộp(poolinglayer)đượcthêmvà
ovớikíchthướclà2x2vàbướcnhảylà2.Lớpgộpnàygiúpgiảmkíchthướcdữ
liệu,tăngtínhtrừutượngvàgiảmsốlượngthamsố.
- Lớp kết nối đầy đủ (Fully Connected Layer): Sau chuỗi các lớp tích
chậpvàgộp,mạngVGGsửdụngmộthoặcvàilớp kếtnốiđầyđủđểhọccácmốiquanhệtoàncục
giữacácđặctrưng.


- Lớpđầura(OutputLayer):Cuốicùng,kiếntrúcVGGkếtthúcvớimộtlớpđầu ra (output

layer)chứasốlượngnơ-rontươngứngvớisốlượnglớpphânloại(vídụ:sốlượnglớptrongbộdữliệuImageNet).
- Hàm kích hoạt (Activation Function): Giữa các lớp, hàm kích hoạt
thườngđược áp dụng, thường là hàm ReLU (Rectified Linear Activation), nhằm
tăng tínhkhơngtuyếntínhvàgiảmtìnhtrạngmấtmátđạohàm.

Hình1.1:CấuhìnhConvNet

- Các phiên bản phổ biến: Một số phiên bản phổ biến của mạng VGG
làVGG16vàVGG19.VGG16baogồmtổngcộng16lớp,với13lớptíchchậpvà3lớpkếtnốiđầyđ
ủ.VGG19cũngtntheocấutrúctươngtự,nhưngcótổngcộng19lớp.



×