BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC TPHCM
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGUYỄN VĂN PHÚC
ỨNG DỤNG HỌC SÂU TRONG PHÂN LOẠI
TRÁI CÂY
THÀNH PHỐ HỒ CHÍ MINH – 10/2019
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC TPHCM
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGUYỄN VĂN PHÚC
ỨNG DỤNG HỌC SÂU TRONG PHÂN LOẠI
TRÁI CÂY
Ngành: CÔNG NGHỆ THÔNG TIN
Mã số: 60480201
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. VŨ THANH HIỀN
THÀNH PHỐ HỒ CHÍ MINH – 10/2019
LỜI CAM ĐOAN
Tôi xin cam đoan đề tài: “Ứng dụng học sâu trong phân loại trái cây” là cơng
trình nghiên cứu được tôi thực hiện dưới sự hướng dẫn của giảng viên hướng dẫn
khoa học.
Các kết quả nghiên cứu và kết quả thử nghiệm nêu trong luận văn là trung thực và
chưa từng được công bố trong bất kỳ tài liệu nào khác.
Trong phần kiến thức chung nghiên cứu giải thuật áp dụng, luận văn có tham khảo ở
một số tài liệu và đã có trích dẫn đúng và đầy đủ.
Học Viên
Nguyễn Văn Phúc
LỜI CẢM ƠN
Tơi xin bày tỏ lịng biết ơn sâu sắc đến Thầy, TS. Vũ Thanh Hiền, người đã hết
lòng hướng dẫn, động viên và giúp đỡ cho tơi hồn thành luận văn này.
Tôi cũng xin chân thành gửi lời cám ơn đến quý Thầy Cô trường Đại Học Ngoại
ngữ - Tin học TP.HCM đã tận tình dạy dỗ, chỉ bảo kiến thức q báu giúp tơi hồn
thành khóa học đúng tiến độ và là nền tảng cho nghiên cứu của mình. Xin cảm ơn
Ban Hợp tác và Đào tạo Sau đại học đã nhiệt tình hỗ trợ trong suốt quá trình học tập
tại trường.
Cuối cùng, xin chân thành cảm ơn bạn bè và đồng nghiệp đã khích lệ, động viên,
tạo điều kiện thuận lợi cho tôi trong suốt thời gian thực hiện luận văn.
TP. HCM,
tháng 10 năm 2019
Học Viên
Nguyễn Văn Phúc
2-2
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
DANH MỤC CÁC CHỮ VIẾT TẮT
Ý nghĩa
Chữ viết tắt
AI
Artificial Intelligent
ANN
Artificial neural networks
CNN
Convolutional Neural Network
PCA
Principal Component Analysis
SVM
Support Vector Machine
2-3
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
DANH MỤC CÁC HÌNH VẼ, ĐỜ THỊ
Hình 2.1 Minh hoạ sơ đồ Deep Learning .................................................................13
Hình 2.2 Minh hoạ các lớp trong Deep Learning ....................................................14
Hình 2.3 Kiến trúc tổng quát của một ANN ............................................................18
Hình 2.4 Mơ hình tích chập......................................................................................20
Hình 2.5 Mơ hình mạng neuron tích chập ...............................................................22
Hình 2.6 Mơ hình mạng perceptron đa tầng ............................................................24
Hình 2.7 Mơ tả các neuron đầu vào .........................................................................25
Hình 2.8 Mơ hình neuron cục bộ .............................................................................26
Hình 2.9 Mơ hình neuron cục bộ .............................................................................26
Hình 2.10 Mơ hình neuron cục bộ ...........................................................................27
Hình 2.11 Cơng thức xây dựng lớp tính Neuron......................................................28
Hình 2.12 Minh hoạ đặc trưng cấu trúc neuron .......................................................29
Hình 2.13 Bản đồ đặc trưng .....................................................................................30
Hình 2.14 Sơ đồ phân lớp ........................................................................................32
Hình 2.15 Sơ đồ phân lớp ........................................................................................32
Hình 2.16 Sơ đồ phân lớp ........................................................................................33
Hình 2.17 Kiến trúc AlexNet ...................................................................................34
Hình 2.18 Kiến trúc VGG 16 ...................................................................................35
Hình 2.19 Kiến trúc Inception ..................................................................................36
Hình 2.20 Inception ..................................................................................................36
Hình 3.1 Hình dạng khác nhau của cùng một loại táo .............................................37
Hình 3.2 Hình dạng quả nho ....................................................................................37
Hình 3.3 Trái cây Apple Braeburn ...........................................................................42
2-4
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
Hình 3.4 Trái cây Apple Braeburn đã bị xoay .........................................................43
Hình 3.5 Trái cây Apple Golden 1 ...........................................................................44
Hình 3.6 Trái cây Apple Golden 1 đã bị xoay .........................................................45
Hình 3.9 Độ lỗi của mơ hình trong q trình huấn luyện dựa trên tensorboard ......50
Hình 3.10 Độ chính xác của mơ hình trong quá trình huấn luyện dựa trên
tensorboard ................................................................................................................50
Hình 3.7 Giao diện chính của ứng dụng ..................................................................52
Hình 3.8 Huấn luyện mơ hình ..................................................................................54
Hình 3.11 Kiểm tra trên tập dữ liệu test ...................................................................55
2-5
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1 Các loại trái cây ........................................................................................41
Bảng 3.2 Các thơng số của mơ hình.........................................................................47
Bảng 3.3 Các chức năng của ứng dụng ....................................................................53
2-6
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
TRANG THÔNG TIN VỀ LUẬN VĂN THẠC SĨ
1. Họ tên học viên: NGUYỄN VĂN PHÚC
Nam/ Nữ: Nam
2. Ngày tháng năm sinh: 30 tháng 4 năm 1990
Nơi sinh: Campuchia
3. Ngành học: Công nghệ Thông tin
Mã số: 60480201
4. Ngày nhập học: 2016
5. Các thay đổi trong quá trình đào tạo: (nếu có)
6. Tên đề tài luận văn (chính thức bảo vệ):
7. 6.1. Tên Tiếng Việt: “Ứng dụng học sâu trong phân loại trái cây”
6.2. Tên Tiếng Anh: “Apply Deep Learning to Classify Fruit”
Cán bộ hướng dẫn (họ tên, học hàm, học vị): TS. VŨ THANH HIỀN
8. Tóm tắt các kết quả của luận văn:
“Tóm tắt các kết quả của luận văn: Đã tìm hiểu cơ sở lý thuyết của mạng neuron
và đặc biệt là mơ hình mạng neuron tích chập để giải quyết bài toán phân loại 60
loại trái cây trên cơ sở dữ liệu Fruit. Qua quá trình thực nghiệm, chúng tôi đã xác
định kiến trúc cũng như bộ tham số phù hợp để giải quyết bài tốn với độ chính
xác cao”
9. Khả năng ứng dụng thực tiễn (nếu có)
10. Những hướng nghiên cứu tiếp theo (nếu có)
11. Các cơng trình đã cơng bố có liên quan đến luận văn:
CÁN BỘ HƯỚNG DẪN
HỌC VIÊN
(ký tên, họ và tên)
(ký tên, họ và tên)
TS. Vũ Thanh Hiền
Nguyễn Văn Phúc
2-7
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
LỜI MỞ ĐẦU
Ngày nay công nghệ thông tin là ngành chủ lực quan trọng góp phần thúc đẩy sự
phát triển mọi mặt của con người. Một trụ cột của thời đại cơng nghiệp 4.0 là sự phát
triển mạnh của Trí tuệ nhân tạo (Artificial Intelligence - AI). AI có mặt ở tất cả các
ứng dụng thông minh như nhận dạng giọng nói của Apple, dịch tự động, search engine
của Google, xe lái tự động của Tesla, … có thể nói AI đang là một trong những công
nghệ được quan tâm đầu tư nghiên cứu và phát triển nhất thời điểm hiện nay.
Ở nước ta hiện nay đã bắt đầu áp dụng Trí tuệ nhân tạo vào nghiên cứu và
kinh doanh đã cho ra những kết quả rất đáng kể. Trong lương lai nước ta sẽ áp dụng
và đưa công nghệ thông tin vào tất cả các lĩnh vực nhằm phát triển mạnh mẽ hơn để
có thể thay thế những thủ tục thủ công mà con người bấy lâu nay vẫn cịn phụ thuộc…
Khi nền cơng nghiệp 4.0 được đưa vào áp dụng thì máy móc sẽ giúp cho con người
hồn thành tốt cơng việc và thực hiện nhanh hơn, chính xác hơn và công sức tối ưu
nhất, tương lai máy móc sẽ thay thế con người làm việc trên mọi mặt, do đó, những
chuyên gia hay bất cứ ai nghiên cứu về lĩnh vực này ln muốn tìm hiểu và nghiên
cứu sâu về sự thay đổi mạnh mẽ của công nghiệp 4.0 và sự phát triển mạnh của Trí
tuệ nhân tạo.
Bây giờ, Trí tuệ nhân tạo đang góp phần thay đổi sâu sắc nhiều khía cạnh của
cuộc sống, dần trở thành một yếu tố quan trọng trong hoạt động muôn màu muôn vẻ
của nhân loại. Nhiều bức tranh về tương lai xán lạn do trí tuệ nhân tạo mang tới cho
loài người đã được khắc họa. Riêng về mặt kinh tế cho thấy trí tuệ nhân tạo trở thành
cơ hội thương mại lớn nhất ngày nay trong nền kinh tế tồn cầu đang thay đổi nhanh
chóng với phần đóng góp của nó, Chính vì lý do đó, nhiều nước trên thế giới đã và
đang tiến hành xây dựng chiến lược phát triển trí tuệ nhân tạo quốc gia của họ.
2-8
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
MỤC LỤC
CHƯƠNG 1. TỔNG QUAN ..................................................................................... 2
1.1 ĐẶT VẤN ĐỀ......................................................................................................... 2
1.2 GIỚI THIỆU TRÍ TUỆ NHÂN TẠO VÀ HỌC MÁY ................................................... 4
1.3 TỔNG QUAN VỀ XỬ LÝ ẢNH SỐ ........................................................................... 6
1.3.1 GIỚI THIỆU ........................................................................................................ 6
1.3.2 MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG XỬ LÝ ẢNH ................................................ 7
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ....................................................................... 10
2.1 GIỚI THIỆU VỀ DEEP LEARNING...................................................................... 10
2.2 MỘT SỐ ỨNG DỤNG CỦA DEEP LEARNING ...................................................... 14
2.3 GIỚI THIỆU MẠNG NEURON............................................................................. 17
2.4 MẠNG NEURON TÍCH CHẬP .............................................................................. 18
2.4.1 ĐỊNH NGHĨA MẠNG NEURON TÍCH CHẬP ......................................................... 19
2.4.2 CONVOLUTION (TÍCH CHẠP̂ ) ............................................................................ 19
2.4.3 MÔ HÌNH MẠNG NƠ-RON TÍCH CHẠP̂ ............................................................... 20
2.4.4 XAY
̂ DỰNG MẠNG NƠ-RON TÍCH CHẠP̂ ............................................................ 22
2.5 MỘT SỐ KIẾN TRÚC CONVOLUTIONAL NEURAL NETWORK THÔNG DỤNG .... 34
2.5.1 KIẾN TRÚC ALEXNET [17] .............................................................................. 34
2.5.2 KIẾN TRÚC VGG 16 [17] ................................................................................. 35
2.5.3 KIẾN TRÚC INCEPTION/GOOGLENET [18] ....................................................... 35
CHƯƠNG 3. PHÂN LOẠI ẢNH TRÁI CÂY ...................................................... 37
3.1 PHÁT BIỂU BÀI TOÁN ........................................................................................ 37
3.2 CƠ SỞ DỮ LIỆU TRÁI CÂY ................................................................................. 38
3.3 CẤU TRÚC THƯ MỤC CƠ SỞ DỮ LIỆU ẢNH TRÁI CÂY ....................................... 41
3.4 DỮ LIỆU MẪU .................................................................................................... 41
3.5 PHƯƠNG PHÁP ĐỀ XUẤT ................................................................................... 45
B. HÀM LOSS.............................................................................................................. 48
C.
PHƯƠNG PHÁP HUẤN LUYỆN ........................................................................... 48
CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...................................... 49
4.1 THỰC NGHIỆM VÀ KẾT QUẢ ............................................................................. 49
4.2 KẾT LUẬN VÀ PHƯỚNG PHÁT TRIỂN ................................................................ 55
4.3 HƯỚNG PHÁT TRIỂN TIẾP THEO....................................................................... 56
TÀI LIỆU THAM KHẢO ...................................................................................... 57
CHƯƠNG 1. TỔNG QUAN
1.1 Đặt vấn đề
-
Cơ sở hình thành đề tài:
Trong luận văn này trình bày khái quát về xử lý ảnh, các phương pháp trích chọn đặc
trưng. Mạng neuron tích chập và sử dụng trong bài tốn phân loại đối tượng.
Hiện nay, với sự phát triển của công nghiệp 4.0, cơng nghệ thơng tin nói chung
và sự phát triển trong lĩnh vực Trí tuệ nhân tạo, các hệ thống phát hiện và nhận dạng
và ngày càng có nhiều ứng dụng trong thực tế như vấn đề an ninh, các hệ thống bảo
mật, nhận dạng người trên các bằng lái xe, hộ chiếu, nhận dạng người trong các hệ
thống tương tác người-máy, nhận dạng đối tượng, nhận dạng vân tay, nhận dạng màu
sắc, trong lĩnh vực giải trí...
Đặc biệt khi cách mạng cơng nghiệp 4.0 ra đời thì cơng nghệ ngày càng được
phát triển cao hơn, các công nghệ tối tân sẽ dần dẫn được đưa vào xử dụng nhằm
phục vụ cho con người. Nhu cầu tăng lên trong ứng dụng Trí tuệ nhân tạo, đã giúp
các nhà khoa học có thêm nhiều phương pháp mới để phát triển các dự án nghiên cứu.
Mặc dù ban đầu thực hiện gặp nhiều khó khăn do mới tiếp xúc cơng nghệ hoặc đang
áp dụng lý thuyết vào thực tế nhưng những kết quả đạt được trong thời gian đầu cũng
xem như một kết quả khả quan tạo động lực cho các cơng trình sau này. việc nhận
dạng đối tượng khơng thể chính xác được như các phương pháp nhận dạng khác như
nhận dạng vân tay, nhận dạng mặt người…nhưng đề tài này nó vẫn nhận được sự
quan tâm lớn của các nhà nghiên cứu trong lĩnh vực thị giác máy tính. Lý do chủ yếu
2
là trên thực tế, nhận dạng đối tượng vẫn là cách truyền thống để con người nhận dạng
và phát hiện ra đối tượng.
Có rất nhiều mơ hình tính tốn mơ phỏng bộ não của người được nghiên cứu
trong đó có mạng neuron. Đề tài này cũng một phần áp dụng mạng neuron vào khả
năng giải quyết hàng loạt các bài tốn như tính tốn tối ưu, nhận dạng đối tượng, điều
khiển và được ứng dụng trong nhiều lĩnh vực của bài toán phát hiện và nhận dạng.
Một mạng neuron nhân tạo bao gồm một tập các đơn vị xử lý cơ bản, gọi là
neuron, chúng truyền thông tin bằng cách gửi các tín hiệu cho nhau qua các kênh kết
nối có trọng số. Mỗi neuron thực hiện một cơng việc tương đối đơn giản: nhận tín
hiệu từ các neuron lân cận hoặc từ nguồn bên ngồi, tính tốn tín hiệu ra rồi truyền
sang cho các neuron khác. Ngoài việc xử lý này, nhiệm vụ thứ hai của neuron là điều
chỉnh lại các trọng số. Hệ thống sẽ được thực hiện song song vì nhiều neuron có thể
thực hiện tính tốn ở cùng thời điểm. Xuất phát trong hồn cảnh đó tôi đã quyết định
lựa chọn đề tài: “Nhận dạng ảnh xác định đối tượng của ảnh khi sử dụng mạng
Neuron” là một việc làm khơng chỉ có ý nghĩa khoa học và cịn mang đậm tính thực
tiễn nhất khi thực tế đang đặt ra những yêu cầu đòi hỏi.
- Mục tiêu nghiên cứu:
• Tìm hiểu bài tốn phân loại dữ liệu nói chung và bài tốn phân loại dữ ảnh trái
cây nói riêng.
• Nghiên cứu mơ hình mạng neuron đa tầng, các thuật toán lan truyền tiến, lan
truyền ngược để sử dụng và huấn luyện mạng neuron.
3
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
• Nghiên cứu một số kiến trúc mạng neuron hiện đại giải quyết bài tốn phân
loại dữ liệu ảnh
• Tiến hành xây dựng kiến trúc của mơ hình, tiến hành thực nghiệm mơ hình, và
đánh giá kết quả thực nghiệm của mơ hình để giải quyết bài tốn phân loại ảnh
trái cây
1.2 Giới thiệu trí tuệ nhân tạo và học máy
Trí tuệ nhân tạo là một hướng nghiên cứu của lĩnh vực Cơng nghệ thơng tin
và Khoa học máy tính nhằm phát triển các hệ thống thông minh nhằm giải quyết các
bài toán trong thực tế giống như hoạt động của bộ não người. Trí tuệ nhân tạo được
bắt đầu nghiên cứu từ những năm 50 của thế kỷ 20 và trong khoảng 30 năm trở lại
đây đã được cộng đồng các nhà khoa học quan tâm mạnh mẽ. Rất nhiều các hội thảo
lớn về lĩnh vực này được tổ chức hàng năm trên thế giới. Các ứng dụng tiêu biểu của
trí tuệ nhân tạo vào đời sống xã hội bào gồm: người máy, robot, xử lý ngôn ngữ tự
nhiên, nhận dạng, phát hiện dị thường, an ninh quốc phòng, tin sinh học, khoa học vũ
trụ và trái đất,...
Trong khuôn khổ luận văn Thạc sỹ của mình, qua việc được trang bị các mơn
học lỹ thuyết như thuật tốn, xử lý ảnh, trí tuệ nhân tạo,... tơi đã lựa chọn đề tài Nghiên
cứu một số phương pháp cơ bản về nhận dạng và phát hiện một số loại trái cây thông
dụng trong ảnh màu. Chủ đề phân lớp dữ liệu là một nhánh quan trọng trong lĩnh vực
học máy (machine learning) của trí tuệ nhân tạo, có thể kể các ứng dụng của học máy
trong thực tế như người máy, robot, nhận dạng mặt người, nhận dạng tiếng nói và chữ
viết,...
4
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
+ Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu
• Nghiên cứu mạng neuron đa tầng và mạng neuron tích chập
• Nghiên cứu bài tốn phân lớp ảnh trái cây
• Tìm hiểu xây dựng kiến trúc và thực nghiệm mơ hình mạng neuron
tích chập để giải quyết bài toán phân lớp ảnh trái cây
- Phạm vi nghiên cứu
- Lý thuyết: Nghiên cứu lý thuyết về xử lý ảnh, Học máy, Deep Learning,
Mạng neuron tích chập.
- Thực nghiệm: Lập trình trên phần mềm Python cho chương trình phân
loại một số loại trái cây thông dụng trong ảnh.
+ Phương pháp nghiên cứu
- Thu thập, phân tích các tài liệu và thơng tin liên quan đến đề tài từ đó đưa
ra cái nhìn tổng quan, các khó khăn gặp phải, các ràng buộc của bài tốn...
- Tiến hành phân tích, xây dựng giải pháp phát hiện gồm có : Tiền xử lý,
trích chọn đặc trưng, huấn luyện mơ hình dữ liệu, hậu xử lý.
- Xây dựng và kiểm thử việc đánh giá hiệu quả phương pháp mạng neuron
tích chập để phân loại đối tượng bằng ngôn ngữ Python.
+ Cấu trúc của luận văn
5
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
Cấu trúc của luận văn Nghiên cứu và ứng dụng mạng Neuron tích chập vào thực
nghiệm trên nhiều tầng khác nhau để tìm ra kết quả tốt nhất cho bài toán và
chương trình bao gồm những cấu trúc như sau:
Chương 1: Tổng quan về
Chương 2: Lý thuyết về Deep Learning và Mạng neuron tích chập.
Chương 3: Chương này sẽ đi sâu vào việc cài đặt ứng dụng cụ thể cho bài toán phát
hiện và phân loại một số loại trái cây thơng dụng bằng phương pháp Deep Learning
trong mơ hình mạng neuron tích chập.
Chương 4: Kết quả và hướng phát triển
Kết luận: Tóm tắt các vấn đề được tìm hiểu trong luận văn và các vấn đề liên quan
trong luận văn.
1.3
Tổng quan về xử lý ảnh số
1.3.1 Giới thiệu
Con người thu nhận thơng tin qua các giác quan, trong đó thị giác đóng vai
trị quan trọng nhất. Những năm trở lại đây với sự phát triển của phần cứng máy tính,
xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc
sống. Xử lý ảnh và đồ hoạ đóng một vai trị quan trọng trong tương tác người và máy.
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho
ra kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh
“tốt hơn” hoặc một kết luận.
6
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
- Các bước cơ bản trong một hệ thống xử lý ảnh:
+ Khối thu nhận ảnh: có nhiệm vụ tiếp nhận ảnh đầu vào.
+ Khối tiền xử lý: có nhiệm vụ xử lý nâng cao chất lượng ảnh như giảm nhiễu,
phân vùng, tìm biên v.v..
+ Khối trich chọn đặc điểm: có nhiệm vụ trích chọn các đặc trưng quan trọng của
các bức ảnh đã được tiền xử lý để sử dụng trong hệ quyết định
+ Khối hậu xử lý: có nhiệm vụ xử lý các đặc điểm đã trích chọn, có thể lược bỏ
hoặc biến đổi các đặc điểm này để phù hợp với các kỹ thuật cụ thể sử dụng trong hệ
quyết định
+ Khối hệ quyết định và lưu trữ: có nhiệm vụ đưa ra quyết định (phân loại) dựa
trên dự liệu đã học lưu trong khối lưu trữ
+ Khối kết luận: đưa ra kết luận dựa vào quyết định của khối quyết định
1.3.2 Một số khái niệm cơ bản trong xử lý ảnh
+ Ảnh và điểm ảnh:
Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại một vị trí nào đó
của đối tượng trong khơng gian và ảnh được xem như là một tập hợp các
điểm ảnh.
+ Mức xám, màu:
Là số các giá trị có thể có của các điểm ảnh của ảnh
+ Nắn chỉnh biến dạng:
Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử.
7
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
+ Khử nhiễu:
Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh mà chúng ta cần loại bỏ:
Nhiễu hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi
Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân có thể khắc phục bằng các
phép lọc
+ Chỉnh số mức xám:
Chỉnh số mức xám là nhằm khắc phục tính khơng đồng đều của hệ thống xử
lý ảnh, thơng thường có 2 hướng tiếp cận:
Giảm số mức xám: Thực hiện bằng cách nhóm các mức xám gần nhau thành
một bó. Trường hợp giảm xuống 2 mức xám thì chính là chuyển về ảnh đen trắng.
Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng kỹ thuật nội
suy. Kỹ thuật này nhằm tăng cường độ mịn cho ảnh.
Phân tích ảnh: Là khâu quan trọng trong quá trình xử lý ảnh để tiến tới hiểu
ảnh. Trong phân tích ảnh việc trích chọn đặc điểm là một bước quan trọng. Các đặc
điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử
lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau đây:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn v.v..
Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc
vùng (zonal filtering). Các bộ vùng được gọi là “mặt nạ đặc điểm” (feature mask)
thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn v.v..)
8
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
+ Nén ảnh:
Nén ảnh là kỹ thuật nhằm giảm thiểu khơng gian lưu trữ. Có hai hướng tiếp cận
chính là nén có bảo tồn và khơng bảo tồn thơng tin. Nén khơng bảo tồn thì thường
có khả năng nén cao hơn nhưng không phục hồi được ảnh gốc, ngược lại nén có bảo
tồn cho phép khơi phục hồn tồn ảnh gốc. Nén ảnh nói chung có 4 cách tiếp cận cơ
bản:
Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất xuất hiện của giá
trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp. Một ví dụ điển
hình cho kỹ thuật mã hóa này là *.TIF
Nén ảnh không gian: Kỹ thuật này dựa vào vị trí khơng gian của các điểm ảnh để tiến
hành mã hóa. Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần
nhau. Ví dụ cho kỹ thuật này là mã nén *.PCX
Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén khơng bảo
tồn và do vậy tỉ lệ nén tương đối cao. *.JPG chính là tiếp cận theo kỹ thuật nén này.
Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh. Tính chất Fractal
của ảnh thể hiện sự lặp lại của các chi tiết tại nhiều vị trí khác nhau với kích thước và
hướng khác nhau. Kỹ thuật nén sẽ tính tốn để chỉ cần lưu trữ phần gốc ảnh và quy
luật sinh ra ảnh theo nguyên lý Fractal.
9
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu về Deep Learning
Deep Learning là một phương pháp của Học máy. Nó cho phép huấn luyện một
tập dữ liệu có thể dự đoán được các đầu ra dựa vào một tập các đầu vào. Cả hai phương
pháp có giám sát và khơng giám sát đều có thể sử dụng để huấn luyện. Sẽ huấn luyện
nó bằng phương pháp học có giám sát.
Nói rộng ra, deep learning là một tên gọi dễ hiểu hơn của mạng neuron nhân tạo.
Từ "deep" trong deep learning đề cập đến độ sâu của mạng lưới. Một mạng neuron
nhân tạo cũng có thể rất cạn. Mạng neuron được lấy cảm hứng từ cấu trúc của vỏ não.
Mức cơ bản được gọi là perceptron, biểu diễn toán học của một neural sinh học. Giống
như vỏ não, có thể có nhiều lớp perceptron kết nối với nhau.
Lớp đầu tiên là lớp input (đầu vào). Mỗi nút trong lớp này lấy một đầu vào, và
sau đó chuyển output (đầu ra) của nó làm đầu vào cho mỗi nút trong lớp tiếp theo.
Nói chung khơng có kết nối giữa các nút trong cùng một lớp và lớp cuối cùng tạo nên
kết quả đầu ra. gọi phần giữa là lớp ẩn. Những neuron này khơng có kết nối với bên
ngồi (ví dụ như đầu vào hoặc đầu ra) và chỉ được kích hoạt bởi các nút trong lớp
trước.
Điều mà nhiều người không nhận ra là tất cả các công nghệ này, về mặt bản
chất đều xuất phát từ cùng một nguồn gốc. Chúng được phát triển từ “deep learning”,
một nhánh đặc biệt trong trí tuệ nhân tạo (AI). Nhiều nhà khoa học vẫn thích gọi nó
theo tên ngun gốc là deep neural network (mạng neuron sâu).
Trên thực tế, chẳng kỹ sư nào có thể lập trình cho máy tính thực hiện được
những tính năng đề cập ở trên. Thay vào đó, họ tạo ra một thuật tốn giúp máy tính
10
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
có khả năng tự học rồi cho nó tiếp xúc với hàng terabyte các dữ liệu liên quan –
chẳng hạn như vài trăm ngàn bức ảnh các loại chó, hay những băng ghi giọng nói kéo
dài hàng năm trời.
Sự tiếp xúc liên tục này sẽ dần dần “huấn luyện” máy tính và khiến nó tự nhận
diện được những hình ảnh, giọng nói được yêu cầu. Cũng giống như cách một đứa
trẻ học hỏi về thế giới xung quanh, sau một thời gian dài được xem những hình ảnh
mặc định là chó hay nghe cách người ta phát âm từ gì đó, máy tính sẽ “nhìn” được
đâu là chó và “nghe” được người ta đang nói gì.
Người ta có thể tự hỏi tại sao việc học sâu chỉ mới được công nhận là một cơng
nghệ quan trọng mặc dù các thí nghiệm đầu tiên với mạng thần kinh nhân tạo được
tiến hành vào những năm 1950. Học tập sâu đã được sử dụng thành công trong các
ứng dụng thương mại từ những năm 1990, nhưng thường được coi là nghệ thuật hơn
là một cơng nghệ và thứ mà chỉ có một chuyên gia mới có thể sử dụng, cho đến gần
đây. Đúng là một số kỹ năng là cần thiết để có được hiệu suất tốt từ một thuật tốn
học tập sâu. May mắn thay, số lượng kỹ năng cần thiết giảm khi lượng dữ liệu đào
tạo tăng lên. Các thuật toán học tập đạt được hiệu suất của con người trên các nhiệm
vụ phức tạp ngày, Ngày càng có nhiều hoạt động diễn ra trên máy tính, ngày càng
nhiều những tính tốn được ghi lại. Khi các cơng nghệ ngày càng phát triển, việc tập
trung những bản ghi này và sắp xếp chúng trở nên dễ dàng hơn vào một tập dữ liệu
thích hợp cho các ứng dụng học máy. Và khi một thời điểm bùng nổ Dữ liệu lớn (Big
Data) đã khiến cho việc học máy trở nên dễ dàng hơn nhiều vì gánh nặng chính của
ước lượng thống kê - tổng quát hóa dữ liệu mới sau khi quan sát chỉ một lượng nhỏ
dữ liệu - đã được làm sáng tỏ một cách đáng kể, và nguyên tắc cơ bản là thuật tốn
11
Luận văn thạc sĩ cơng nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
học được giám sát sẽ đạt được hiệu suất chấp nhận được với khoảng 5.000 ví dụ được
gắn nhãn cho mỗi danh mục và sẽ khớp hoặc vượt quá hiệu suất của con người khi
được đào tạo với tập dữ liệu chứa ít nhất 10 triệu ví dụ được gắn nhãn. Làm việc
thành công với các tập dữ liệu nhỏ hơn đây là một lĩnh vực nghiên cứu quan trọng,
tập trung đặc biệt vào cách có thể tận dụng số lượng lớn các ví dụ khơng dán nhãn,
với việc học khơng giám sát hoặc bán giám sát.
Deep Learning Là Gì?
Deep Learning là một thuật toán dựa trên một số ý tưởng từ não bộ tới việc tiếp
thu nhiều tầng biểu đạt, cả cụ thể lẫn trừu tượng, qua đó làm rõ nghĩa của các loại dữ
liệu.
Deep Learning đượ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.
Điểm đặc biệt của Deep Learning là tính chính xác dựa vào lượng dữ liệu, lượng
dữ liệu có thể có kích thước khổng lồ mà khơng bị hạn chế.
Để hiểu được Deep Learning là gì, trước hết chúng ta cần phải hiểu được mối
quan hệ giữa Deep Learning và machine learning, mạng neuron, và trí tuệ nhân tạo.
Cách tốt nhất để hiểu về mối quan hệ này là mường tượng chúng thành những vòng
tròn đồng tâm:
12
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
Hình 2.1 Minh hoạ sơ đồ Deep Learning
/>
Ở vịng ngồi cùng, bạn có trí thơng minh nhân tạo (sử dụng máy tính và lập
luận). Bên trong lớp này là machine learning. Với mạng neuron nhân tạo và deep
learning tại trung tâm. Nói rộng ra, deep learning là một tên gọi dễ hiểu hơn của
mạng neuron nhân tạo. Từ "deep" trong deep learning đề cập đến độ sâu của mạng
lưới. Một mạng neuron nhân tạo cũng có thể rất cạn.
Mạng neuron được lấy cảm hứng từ cấu trúc của vỏ não. Mức cơ bản được gọi
là perceptron, biểu diễn toán học của một neuron sinh học. Giống như vỏ não, có thể
có nhiều lớp perceptron kết nối với nhau.
Lớp đầu tiên là lớp input (đầu vào). Mỗi nút trong lớp này lấy một đầu vào, và
sau đó chuyển output (đầu ra) của nó làm đầu vào cho mỗi nút trong lớp tiếp theo.
Nói chung khơng có kết nối giữa các nút trong cùng một lớp và lớp cuối cùng tạo nên
kết quả đầu ra.
Chúng ta gọi phần giữa là lớp ẩn. Những neuron này khơng có kết nối với bên
ngồi (ví dụ như đầu vào hoặc đầu ra) và chỉ được kích hoạt bởi các nút trong lớp
trước.
13
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
Hình 2.2 Minh hoạ các lớp trong Deep Learning
/>
Deep learning là kỹ thuật học tập trong mạng neuron sử dụng nhiều lớp trừu
tượng để giải quyết các vấn đề nhận dạng khuôn mẫu. Machine learning được coi là
một nhánh hoặc phương pháp tiếp cận trí tuệ nhân tạo, trong khi deep learning là một
loại machine learning chuyên biệt.
Machine learning liên quan đến trí thơng minh máy tính mà chưa biết câu trả
lời trước. Thay vào đó, chương trình sẽ đi ngược lại dữ liệu bài giảng (training data),
xác minh sự thành cơng của những nỗ lực đó, và sửa đổi phương pháp tiếp cận sao
cho phù hợp.
Machine learning điển hình yêu cầu một nền tảng kiến thức chuyên nghiệp, bao
gồm cơng nghệ phần mềm và khoa học máy tính đến các phương pháp thống kê và
đại số tuyến tính.
2.2 Một số ứng dụng của Deep Learning
Máy tính từ lâu đã có các kỹ thuật để nhận ra các đặc điểm bên trong của hình
14
Luận văn thạc sĩ cơng nghệ thơng tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011
ảnh. Kết quả không phải lúc nào cũng tuyệt vời. Thị giác máy tính (computer vision)
là lợi ích chính của deep learning. Thị giác máy tính sử dụng deep learning hiện nay
đã ngang ngửa với con người trong nhiều nhiệm vụ nhận dạng hình ảnh.
Facebook đã thành cơng lớn trong việc nhận dạng khuôn mặt trong các bức ảnh
bằng cách sử dụng deep learning. Nó khơng chỉ là một cải tiến nhỏ nhặt, mà là một
sự thay đổi xu hướng: "Khi được hỏi liệu hai bức ảnh lạ mặt trên là cùng một người,
thì con người sẽ mất 97.53% thời gian. Phần mềm mới được phát triển bởi các nhà
nghiên cứu tại Facebook có thể đạt được 97,25% trong cùng một thử thách, bất kể sự
thay đổi ánh sáng nào hay liệu người trong ảnh có trực tiếp đối mặt với camera hay
khơng."
Nhận dạng giọng nói là một lĩnh vực khác chịu ảnh hưởng sâu sắc của deep
learning. Ngôn ngữ nói chuyện thực sự quá rộng và mơ hồ. Google đang sử dụng
deep learning để quản lý năng lượng tại trung tâm dữ liệu của công ty. Họ đã cắt giảm
nhu cầu năng lượng làm mát khoảng 40%. Điều đó làm tăng thêm 15% hiệu suất sử
dụng điện cho công ty và hàng trăm triệu đô la tiền tiết kiệm.
Illustration Tagger. Phiên bản thực của Illustration2Vec, ứng dụng này có thể gắn
thẻ một hình ảnh có đánh giá an tồn, có vấn đề hoặc rõ ràng, bản quyền, và phân loại
chung để biết được nhiều thứ hơn về hình ảnh. DeepFilter là một ứng dụng chuyển
đổi phong cách giúp áp dụng bộ lọc nghệ thuật cho hình ảnh.
Ứng dụng phân loại độ tuổi (age classification) sử dụng tính năng nhận diện khuôn
mặt để xác định độ tuổi của người trong bức ảnh. Places365 Classifier sử dụng dữ
liệu CNN có sẵn và dựa trên Places: An Image Database for Deep Scene
15
Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011