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

XÂY DỰNG ỨNG DỤNG tạo mô tả CHO HÌNH ẢNH

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 (763.66 KB, 33 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 2
ĐỀ TÀI: ỨNG DỤNG TỰ ĐỘNG TẠO MÔ TẢ CHO ẢNH
Thực hiện:
Nguyễn Trường Khoa Nguyên

17520827

Phạm Huỳnh Tấn Đạt

17520338

GIẢNG VIÊN HƯỚNG DẪN
TS.HUỲNH NGỌC TÍN

TP. Hồ Chí Minh, ngày 22 tháng 01 năm 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN TRƯỜNG KHOA NGUYÊN – 17520827
PHẠM HUỲNH TẤN ĐẠT – 17520338

ĐỒ ÁN 2


ỨNG DỤNG TỰ ĐỘNG TẠO MÔ TẢ CHO ẢNH
AUTOMATIC IMAGE CAPTIONING

GIẢNG VIÊN HƯỚNG DẪN
TS.HUỲNH NGỌC TÍN

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG TẠO MÔ TẢ CHO HÌNH ẢNH
Cán bộ hướng dẫn: TS.HUỲNH NGỌC TÍN
Thời gian thực hiện:Từ ngày…28/10/2020…..đến ngày……21/01/2021…
Sinh viên thực hiện:
Nguyễn Trường Khoa Nguyên - 17520827
Phạm Huỳnh Tấn Đạt

- 17520338

Nội dung đề tài:


1. Đặt vấn đề
Trong cuộc sống, khi con người nhìn thấy một bức ảnh, não của họ có thể dễ
dàng phân tích và nhận thức, mơ tả về bức ảnh đó một cách dễ dàng. Nhưng cịn
với máy tính thì sao ? Làm thế nào để máy tính có thể mơ tả một bức ảnh như con
người ? Và với khả năng giúp máy tính mơ tả một bức ảnh, ta có thể ứng dụng
khả năng này trong việc tăng cường khả năng tìm kiếm hình ảnh thơng qua các
tiêu đề, hoặc ứng dụng trong camera an ninh,...
2. Phạm vi đề tài
2.1. Phạm vi cơng nghệ
-

Ngơn ngữ lập trình : Python

-

Thư viện hỗ trợ : Tensorflow

2.2. Phạm vi đối tượng
-

Phân tích bất kỳ hình ảnh đưa vào thành mơ tả
3. Phương pháp thực hiện

3.1. Phương pháp phân tích dữ liệu
-

Rút kết các đặc trưng bức ảnh nhờ vào CNN sau đó so sánh với các mô tả



được gán nhãn với bức hình đầu vào.
3.2. Phương pháp lập trình
-

Cài đặt thuật tốn
4. Nội dung thực hiện

4.1. Khảo sát các thuật tốn
-

Khảo sát các mơ hình xây dựng cho bài tốn image captioning.

-

Đánh giá độ chính xác của từng mơ hình.

4.2. Tìm hiểu lựa chọn thuật tốn, cơng nghệ
-

Tìm đọc và chọn paper về vấn đề tạo mơ tả cho ảnh phù hợp.

-

Kiểm thử kết quả với mô hình được chọn.

4.3. Xây dựng bài tốn tạo mơ tả ảnh
-

Tiến hành thiết lập theo mơ hình được đề xuất bởi paper.


-

Tìm, chọn bộ dữ liệu cho quá trình kiểm thử.

-

Chạy và so sánh kết quả đạt được qua các model khác nhau.
5. Kết quả mong đợi

-

Tạo ra được mô tả đúng với hình ảnh được đưa vào


Kế hoạch thực hiện:
STT

Nội Dung Thực Hiện

Thời gian dự kiến
(tuần)

1

Xác định đề tài thực hiện.Viết mơ tả đề tài.Tìm hiểu các
mơ hình tạo mơ tả đang được áp dụng, cơng nghệ, thuật
toán.

28/10/2020
14/11/2020




2

Chọn thuật toán phù hợp. Kiểm thử kết quả thuật tốn
được chọn

15/11/2020
28/11/2020



3

Nghiên cứu phân tích, xử lý đầu vào cho thuật toán đã
chọn

29/11/2020
09/12/2020



4

Xây dựng bài toán Image Captioning

10/12/2020–
23/12/2020


5

Thử nghiệm mơ hình với các tập dữ liệu khác nhau

24/12/202002/01/2021

6

Kiểm thử độ chính xác mơ hình và sửa lỗi

03/01/2021
15/01/2021



7

Viết báo cáo hoàn chỉnh

16/01/2021
21/01/2021



Xác nhận của CBHD

TP. HCM, ngày….tháng …..năm…..

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


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



LỜI CẢM ƠN
Nhóm xin chân thành cảm ơn tới giảng viên hướng dẫn Huỳnh Ngọc Tín đã
tận tình chỉ dẫn cho chúng em trong quá trình thực hiện đề tài này.
Nhóm cũng xin gửi lời cảm ơn tới anh Trần Văn Tùng – sinh viên khóa 10
trường đại học Cơng nghệ Thơng tin đã góp ý, giúp đỡ chúng em trong việc xác
định cũng như thực hiện đề tài một cách tốt nhất.
Nhóm cũng xin cảm ơn các anh chị ở VCCorp đã hướng dẫn và củng cố các
kiến thức cần thiết cho đồ án này.


MỤC LỤC

Contents

Tóm Tắt
Bài tốn tự động thêm mơ tả cho ảnh là một trong những bài toán đang được chú
trọng trong lĩnh vực máy học và học sâu ngày nay. Hệ thống góp phần phát triển các
hệ thống AI và tạo ra nhiều sản phẩm cơng nghệ có tính ứng dụng cao trong đời
sống. Nhận thấy được điều đó, đề tài đồ án 2 này của nhóm chúng em đã nghiên
cứu là thực hiện xây dựng một mơ hình thêm mô tả cho ảnh. Phương pháp sử dụng
mạng neural network để rút trích đặc trưng từ một bức ảnh thành một vector và
cũng như sinh câu văn mô tả cho bức ảnh. Phương pháp tập trung vào hai nhiệm vụ
chính, đó là: rút trích đặc trưng từ một bức ảnh thành một vector, sinh câu văn mô tả
dựa trên vector đặc trưng thu được thông qua mạng neural network. Để thực hiện
tốt đề tài này, nhóm đã sử dụng bộ dữ liệu Flickr 8k của COCO. Kết thúc đề tài

nhóm đã thu được các kết quả như sau :
• Học được kiến thức về máy học, cụ thể là bài tốn Neural Network.
• Thu được kiến thức về mơ hình thêm mơ tả cho ảnh.
• Xây dựng được một mơ hình thêm mơ tả cho ảnh đơn giản.


Mở Đầu
Với sự phát triển không ngừng tăng của công nghệ hiện đại số, lĩnh vực AI đang
ngày càng được mở rộng cùng với đó là sự phát triển của Deep Learning. Và nhu
cầu áp dụng các công nghệ trên vào ứng dụng trong cuộc sống ngày càng tăng. Một
trong những bài tốn đang được phát triển là thêm mơ tả cho ảnh. Mơ hình thêm mơ
tả cho ảnh là với nhiều bức hình khác nhau, máy tính có thể nhận diện chính xác sự
vật, sự việc đang xảy ra trong bức ảnh, từ đó sinh ra câu văn mơ tả bức ảnh đó một
cách có nghĩa nhất. Việc thêm mơ tả cho ảnh có thể giúp các cơng cụ tìm kiếm tìm
được những bức ảnh theo tiêu đề nhanh hơn, hỗ trợ các bài toán Computer Vision
khác như giúp camera nhận diện tình huống khẩn cấp,….và là một tính năng làm
cho các mạng xã hội thu hút người dùng hơn. Mơ hình thêm mơ tả cho ảnh thường
dùng mơ hình CNN-RNN để xây dựng nhưng kết quả câu văn sinh ra thường khơng
chính xác và độ dài của câu văn thì khơng đủ dài để diễn tả đầy đủ nội dung, ý
nghĩa của câu. Vì vậy việc áp dụng mơ hình CNN - LSTM sẽ giúp mơ hình học tốt
hơn và khả năng sinh câu tốt hơn.

9


CHƯƠNG 1 PHÁT BIỂU BÀI TỐN
1.1.

Mở đầu
Chương này sẽ trình bày tổng qt về mục đích đề tài, bài tốn của đề tài và


những khó khăn khi thực hiện đề tài này.
1.2.

Thêm mơ tả cho hình ảnh
Ứng dụng thêm mơ tả cho ảnh là ứng dụng tự động thêm mô tả chi tiết về

một bức ảnh cho người dùng. Với những mơ tả chi tiết và chính xác về các sự vật,
sự việc trong bức ảnh. Việc tự động sinh mơ tả cho hình ảnh có thể giúp cho người
dùng có được thơng tin mơ tả chi tiết về bức ảnh đó. Đó cũng là mục tiêu lớn nhất
của bất kỳ ứng dụng thêm mơ tả cho ảnh.
Bên cạnh đó, ứng dụng thêm mơ tả cho ảnh cịn có thể giúp người kém thị
lực biết cảnh vật xung quanh, hỗ trợ di chuyển hoặc giúp các cơng cụ tìm kiếm có
thể tìm các bức ảnh dựa vào mơ tả, … Ngày nay, ứng dụng thêm mô tả cho ảnh là
một trong các lĩnh vực thú vị và nổi bật, mang lại nhiều lợi ích trong cuộc sống.
Chúng ta có thể điểm qua các ứng dụng sinh mô tả cho ảnh như phân biệt địa danh
Google Photos, tìm ảnh mặt bạn trong bức hình Picasa,..
Làm thế nào để sinh ra mơ tả cho ảnh vừa chính xác cao và có ý nghĩa ? Đó
chính là vấn đề mà nhóm quan tâm và muốn giải quyết, cũng như là mục tiêu chính
của đề tài hướng tới. Nhóm mong muốn tìm ra được phương pháp hợp lý và hiệu
quả hơn so với nhiều phương pháp hiện tại. Qua đó để có thể nâng cao được độ
chính xác của mơ tả cho ảnh .

10


1.3.

Phát biểu bài tốn thêm mơ tả cho ảnh


Ứng dụng thêm mơ tả cho hình ảnh là ứng dụng sẽ tạo ra các mơ tả phù hợp
với bức hình được truyền vào. Hiện nay có nhiều hướng tiếp cận để xây dựng một
bài tốn thêm mơ tả cho hình ảnh: Show and Tell , Up-Down model, Show, Attend
and Tell,…
Dựa qua việc tìm hiểu các mơ hình liên quan để bài tốn thêm mơ tả cho
ảnh, nhóm đã tập trung vào việc tìm hiểu mơ hình Show and Tell để làm tiền đề
phát triển sau này.
Mơ hình Show and Tell là mơ hình sử dụng hai mạng lưới trong học sâu
giúp nó có thể hiểu được đặc điểm của hình ảnh đưa vào và từ đó tạo ra được mơ tả
tương ứng. Một số khái niệm cần biết trước khi đi vào phát biểu bài toán một cách
cụ thể:
● CNN (Convolutional Neural Network) : Là mạng neural tích chập, được
sử dụng để chuyển đổi một bức ảnh về dạng vector cho máy có thể học

11


và hiểu được. Các vector này sẽ thể hiện được đặc trưng của những đối
tượng có trong hình và mối liên quan giữa chúng (màu sắc, hành động,
số lượng,…), qua đó đóng vai trị làm input đầu vào trong q trình sinh
text.
● LSTM (Long-Short Term Memory) : Long Short – Term Memory, là
mạng được sử dụng với mục đích tạo ra được mơ tả cho hình ảnh. Mạng
này sẽ nhận vào dữ liệu đầu vào là vector đặc trưng lấy từ mạng CNN và
một token bắt đầu được label là <start> để bắt đầu quy trình sinh text. Cứ
mỗi một từ đưa vào trong mạng thì mạng LSTM sẽ dự đốn từ kế tiếp và
sử dụng nó làm input đầu vào cho lần chạy kế. Quá trình này sẽ được
diễn ra liên tục cho tới
Phát biểu bài toán : Với đầu vào là một bức hình, mơ hình đưa vào mạng
CNN để trích xuất các vector đặc trưng và đưa những vector đặc trưng đó vào

mạng LSTM để tạo ra được
1.4.

Khó khăn, thách thức
Những khó khăn, thách thức trong việc hiện thực mơ hình:
● Dữ liệu học chưa đủ lớn.
● Câu văn sinh ra khơng có hoặc sai ý nghĩa.
● Nhận định sai sự vật, sự việc trong ảnh.

1.5.

Kết chương.
Ở chương này chúng ta đã có cái nhìn tổng quan về bài tốn tạo mơ tả cho

ảnh theo model Show And Tell cũng như những khó khăn và thách thức trong q
trình thực hiện bài tốn này.

12


CHƯƠNG 2 NGHIÊN CỨU BÀI TOÁN
2.1. Mở đầu
Chương này sẽ trình bày về một số nghiên cứu liên quan đã được ứng dụng,
ưu điểm, nhược điểm của nghiên cứu đó và lý do tại sao các nghiên cứu được đề
cập khơng được áp dụng để giải quyết bài tốn trong báo cáo này.
2.2. Giới thiệu bài tốn thêm mơ tả cho ảnh
Mơ hình thêm tả cho ảnh được giới thiệu trong paper “Show and Tell: A
Neural Image Caption Generator”. Mô hình thêm mơ tả cho ảnh là cơng cụ tạo ra
các câu văn mơ tả chính xác về sự vật, sự việc trong một bức ảnh cụ thể. Hiện nay,
có rất nhiều mơ hình Image Caption nổi tiếng đã và đang được áp dụng trên các hệ

thống lớn như: Facebook, Google,…. Mơ hình máy học được áp dụng cho mơ hình
thêm mơ tả cho ảnh là CNN-RNN, là sự kết hợp của hai thuật toán là
Convolutional Neural Network và Recurrent Neural Network. Convolutional
Neural Network (CNN) là mơ hình trích xuất các đặc trưng của một bức ảnh thành
một vector. Recurrent Neural Network (RNN) là mơ hình sinh ra chuỗi text mô tả
bức ảnh. Cụ thể, RNN nhận vector đặc trưng từ mạng CNN và với thông tin nhận
được, RNN sẽ bắt đầu sinh ra câu văn mô tả bức ảnh.
2.3. Kết chương
Chương này đã đề cập phương pháp thêm mô tả cho ảnh cùng với những
khó khăn gặp phải. Bên cạnh đó cũng đưa ra giải pháp hạn chế cũng như phương
pháp thực hiện.

13


CHƯƠNG 3 TIẾP CẬN DỰA VÀO MODEL
SHOW AND TELL
3.1. Mở đầu
Chương trước đã trình bày nội dung của bài tốn thêm mô tả cho ảnh, phương pháp
tiếp cận cũng như thách thức, khó khăn cần giải quyết của bài tốn này. Ở chương
này, sẽ trình bày ý tưởng, phương pháp thực hiện và các mơ hình học máy được áp
dụng để giải quyết bài toán này.
3.2. Hướng tiếp cận
Câu hỏi đặt ra cho bài tốn là làm sao để mơ hình thêm mơ tả cho ảnh sinh
ra câu văn mơ tả chính xác, đúng ý nghĩa và độ dài của câu văn phải đủ lớn để miêu
tả rõ ràng bức ảnh đó. Mơ hình máy học CNN-RNN khi sinh câu văn thì RNN sẽ
khơng thể tạo ra các câu văn dài đúng bởi vấn đề Vanishing Gradient mà RNN hay
gặp phải, khiến cho câu mô tả sinh ra sai ý nghĩa hoặc vơ nghĩa. Vì thế độ chính
xác của câu văn miêu tả bức ảnh sinh ra không cao. Vậy làm sao để mơ hình sinh ra
câu mơ tả cho bức ảnh với độ chính xác cao ?

Như đã đề cập ở chương trước, hướng giải quyết vấn đề trên đã được các
tác giả Oriol Vinyals, Alexander Toshev, Samy Bengio, Dumitru Erhan công bố
trong nghiên cứu khoa học công bố năm 2015: Show and Tell: A Neural Image
Caption Generator. Với giải pháp được đề cập, các tác giả đã thay vì sử dụng mơ
hình NN thì họ đã thay đổi, sử dụng mơ hình LSTM (Long-Short Term Memory).
Bên cạnh đó, phương pháp Word Embedding cũng được áp dụng cho giải pháp này.
Từ đây, mơ hình có thể học và tạo ra những câu văn dài hơn, đầy đủ ý nghĩa và mơ
tả chính xác bức ảnh hơn.
Ý tưởng chính của mơ hình tác giả đưa ra là các chữ có trong từ điển thực
tế sẽ được biểu diễn dưới dạng vector trong không gian vector được gọi là word
embedding . Sau đó sẽ huấn luyện mơ hình Long-Short Term Memory (LSTM) với
đầu vào là một vector đặc trưng được rút trích từ bức ảnh thơng qua một mơ hình
gọi là Convolutional Neural Network (CNN), đầu ra là một câu văn mô tả bức ảnh

14


đó. Mơ hình này sẽ được huấn luyện với tập dữ liệu lớn. Quá trình thực hiện
phương pháp này sẽ được chia thành 2 quá trình độc lập nhau: rút trích đặc trưng từ
ảnh và huấn luyện mơ hình sinh câu văn. Chi tiết các quá trình được trình bày chi
tiết như sau:
Rút trích đặc trưng từ ảnh: là một trong hai q trình quan trọng của bài
tốn. Với nhiệm vụ trích xuất các đặc tính nổi bật trong bức hình và chuyển hóa
chúng thành một vector thơng qua mơ hình học sâu Convolutional Neural Network
(CNN). Đầu vào của CNN là một bức hình. Đầu ra là một vector chứa các thơng tin
được rút trích từ bức ảnh. Kiến trúc CNN được sử dụng là GoogLeNet. Sau khi
input được đưa vào vào mơ hình, qua xử lý bởi các Convolutional layer và Average
pool layer, cuối cùng thông qua fully connected layer, ta sẽ thu được vector đặc
trưng của bức ảnh.
Huấn luyện mơ hình sinh câu văn: là q trình thực hiện sau khi thu được

vector đặc trưng của bức ảnh từ mơ hình CNN. Áp dụng mơ hình LSTM. Trước khi
huấn luyện, các nhãn, tập dữ liệu câu văn mô tả các bức hình, sẽ được tiền xử lý.
Các nhãn này, từng câu sẽ được tách thành các từ độc lập, loại bỏ các dấu đặc biệt
như: ., :, ;, #, $,…. chỉ chừa lại các từ mà tất cả các kí tự đều là alphabets, cuối cùng
chuyển tất cả từ về dạng chữ thường. Sau đó ta sẽ đánh số tồn bộ chữ bắt đầu từ số
0. Sau đó, nạp vector đặc trưng thu được từ mơ hình CNN vào mơ hình LSTM, với
mỗi câu mơ tả, mơ hình sẽ tự động gán
3.5. Kết chương
Chương này đã cung cấp thông tin về các phương pháp, cũng như cơ sở lý
thuyết trong việc thực hiện bài tốn. Ngồi ra, nhóm cũng đã nêu chi tiết cách thực
hiện bài toán

15


CHƯƠNG 4 HIỆN THỰC BÀI TOÁN
4.1. Mở đầu
Ở chương trước, chúng ta đã đi qua các phương pháp, lý thuyết áp dụng
cho việc thực hiện bài toán của hệ thống. Ở chương này, chúng ta sẽ đi chi tiết hơn
về kiến trúc hệ thống và công nghệ sử dụng.
4.2. Yêu cầu hệ thống
Hệ thống xây dựng cần phải đáp ứng các yêu cầu:
● Python phiên bản 3.5-3.8
● Tensorflow, Keras
4.3. Kiến trúc mơ hình
4.3.1. Kiến trúc tổng qt.

Mơ hình tổng qt bài toán image captioning

16



4.3.2. Xây dựng theo kiến trúc
Mạng CNN sẽ đảm nhiệm vai trò lấy ra được những đặc điểm thể hiện lên
bức ảnh như đối tượng, màu sắc, hành động, … . Để mạng CNN có thể làm được
điều này cần phải qua hai giai đoạn: tiền xử lý và training biểu diễn. Ở giai đoạn
tiền xử lý sẽ làm sạch các dữ liệu và số hóa các dữ liệu để đưa vào mạng CNN phục
vụ cho quá trình training. Giai đoạn training nhận các dữ liệu đã được số hóa trong
giai đoạn tiền xử lý và biểu diễn những sự vật, sự kiện của bức ảnh thành một
vector đặc trưng.

Ở giai đoạn tiền xử lý, dữ liệu đưa vào là những bức hình được lựa chọn
ngẫu nhiên, khơng trùng nhau chứa đựng nhiều đặc điểm khác nhau (các hoạt động,
màu sắc, số lượng, …) để cải thiện khả năng học và dự đốn cho mạng, những hình
ảnh sẽ được phân vào các mục riêng dành cho mình. Quá trình training với những
bức ảnh được đưa vào, sẽ qua hàm kích hoạt softmax giúp phân phối xác suất vật
thể nào có khả năng xuất hiện cao nhất và quá so với kết quả được gán nhãn từ
trước, tính độ lỗi cập nhật lại mơ hình cải thiện những dự đốn về sau.Nhờ vào việc
sử dụng tập pretrained ImageNet chứa hơn 14 triệu bức hình với hơn 20000 lớp
phân loại đã hỗ trợ nhóm thành cơng tách ra được các vector miêu tả đặc trưng của
một bức ảnh, và tiến hành đưa những vector được trả về vào mạng LSTM để tạo ra
mơ tả cho bức ảnh.
Đầu tiên hình ảnh sẽ được biểu diễn dưới dạng vector bằng cách quét và
phân tích ảnh theo giá trị màu sắc.

17


Sau khi hình ảnh được tách làm ba kernel, những giá trị này sẽ được đưa
vào input cho filter để có thể lấy được các giá trị đặc trưng của bức hình, sau đó kết

hợp lại truyền vào lớp pooling.

Do cần lấy tất cả đặc trưng bức hình nên đã chọn sử dụng phương pháp
average pooling. Lấy kết quả thu được vào tầng flatten, tầng này sẽ giúp chuyển các
ma trận có kích thước M x N thành vector với các đặc trưng của bức hình.
Trong quá trình rút vector đặc trưng mơ hình, do sử dụng các model CNN
có sẵn từ Keras như Inception và Xception cùng với dữ liệu được pre-trained từ tập
dataset ImageNet, khi input đưa vào mảng là một bức ảnh thì sẽ trả về vector không
cần phải đi qua fully connected layer.

18


19


Ở giai đoạn train các vector này sẽ được đưa vào một fully connected layer
để mạng có thể học được phân loại các đối tượng có trong một bức hình.

Để có thể quyết định và phân loại bức hình dựa vào layer softmax để phân
phối xác suất và lấy ra đối tượng có xác suất có khả năng cao nhất.

Các vector đặc trưng sau khi được lấy từ mạng CNN sẽ đóng vai trị làm
input ở hidden layer cho mạng LSTM (kiến trúc mạng sẽ được nói rõ hơn ở phần
phụ lục).

20


Các giá trị input đưa vào là những câu mô tả đã được gán nhãn. tương ứng.

Tập data Flickr 8k đã cung cấp file các câu miêu tả hỗ trợ cho q trình training mơ
hình, với mỗi bức hình sẽ được dán nhãn bởi năm câu mô tả tương ứng được
Ở giai đoạn tiền xử lý các câu đưa vào sẽ được format lại thành chữ
thường, loại bỏ các khoảng cách dư thừa và các ký tự đặc biệt (!"#$
%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n) và tách câu ra thành từng từ riêng lẻ để sử dụng
trong quá trình xây dựng nên bộ từ điển.

Các từ sau khi được xử lý với mỗi từ vựng sẽ được gán cho một giá trị
index để hỗ trợ cho việc sử dụng cũng như lưu thông tin của từ để tiện cho việc truy
xuất.
Các câu miêu tả bức hình lần lượt được gán các token đầu cuối <start> và
<end> để mạng học phát sinh miêu tả biết khi nào nên dừng lại

.
Ở giai đoạn training, có hai inputs được đưa vào mạng LSTM là vector đặc
trưng được lấy từ mạng CNN từ trước, các vector đặc trưng này sẽ được truyền vào
LSTM tại hidden layer và token <start> sẽ được truyền vào input bắt đầu tạo mô tả
với những đặc điểm lấy được.

21


Các từ input vào LSTM để mạng có thể sử dụng được, đã được đưa qua
một tầng Embedding để vector hóa các giá trị giúp mơ hình có thể học và cập nhật
các giá trị.

Sau khi từ vựng được vector hóa, mạng LSTM bắt đầu q trình train, khi
đưa vào hai input là vector đặc trưng hình đóng vai trị ở tầng hidden và token để
bắt đầu khởi tạo câu <start>, mạng sẽ khởi tạo đến khi xuất hiện token <end> báo
hiệu kết thúc của câu khởi tạo.

Trong quá trình phát sinh văn bản, các từ được dự đoán sẽ được đem đi so
sánh với từ gán nhãn để tính độ sai, độ sai đó sẽ được sử dụng trong quá trình
truyền ngược để cập nhật lại các trọng số, cải thiện khả năng dự đốn của mơ hình.

22


4.4. Tổng quan công nghệ
4.4.1. Tensorflow – Keras
Tensorflow là một thư viện mã nguồn mở cung cấp khả năng xử lý tính
tốn số học dựa trên biểu đồ mơ tả sự thay đổi của dữ liệu. Tensor được sử dụng khi
bạn cần giải quyết các bài toán supervised learning.
Keras là một open source cho Neural Network được viết bởi ngôn ngữ
Python. Nó là một library được phát triển vào năm 205 bởi Francois Chollet, là một
kỹ sư nghiên cứu Deep Learning. Keras có thể sử dụng chung với các thư viện nổi
tiếng như Tensorflow, CNTK, Theano.
4.6. Kết chương
Trong chương này, các yêu cầu, kiến trúc tổng quan của hệ thống đã được
giới thiệu, Ngoài ra chúng ta đã đi sâu vào chi tiết các thành phần chính của hệ
thống, cùng các công nghệ sử dụng.

23


CHƯƠNG 5 THỰC NGHIỆM, ĐÁNH GIÁ
5.1. Mở đầu
Ở chương trước, chúng ta đã đi qua phần hiện thực của hệ thống, cái nhìn
tổng quan về hệ thống, cấu trúc đầu vào và đầu ra của hệ thống. Ở chương
này,chúng ta sẽ đi chi tiết hơn về quá trình thực nghiệm và các phương pháp đánh
giá mơ hình.

5.2. Mơ tả tập dữ liệu
Qua khảo sát về các dataset về việc tạo mơ tả cho hình ảnh hiện nay, thì các
dataset hiện giờ tuy có một tập dữ liệu với kích thước rất lớn nhưng hầu hết các dữ
liệu được công bố là tiếng nước ngồi. Nhưng nhóm đang mong muốn có áp dụng
hệ thống này đối với cộng đồng người Việt.
Về việc xây dựng dữ liệu mới cũng gặp nhiều khó khan, do một bức hình
có thể có nhiều cách nhìn nhận về sự vật và sự việc khác nhau nên sẽ gây khó khăn
cho người làm dữ liệu, cần có một thước đo để lấy các mô tả dán nhãn một cách
chính xác để có thể đưa vào mơ hình để học và đánh giá.
Dataset nhóm sử dụng trong đồ án này là tập dữ liệu Flickr8k, tập dữ liệu
này bao gồm 8091 hình với năm câu ở mỗi hình. Tập dữ liệu được thiết kế cứ với
mỗi image name sẽ có các mơ tả khác nhau để đánh giá
Tập dữ liệu thể hiện được mối quan hệ giữa những sự việc trong bức ảnh.

24


5.3. Phương pháp đánh giá
5.3.1. Các độ đo
Để đánh giá kết quả dự đốn của model huấn luyện, nhóm sử dụng độ đo
thường dùng để đánh giá mơ hình tạo mô tả: bleu-score.
5.3.2. Độ đo BLEU
BLEU là viết tắt của Bilingual Evaluation Understudy, là phương pháp
đánh giá một bản dịch dựa trên các bản dịch tham khảo, được giới thiệu trong paper
BLEU: a Method for Automatic Evaluation of Machine Translation)

25



×