ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
-----*-----
ĐÀO BẢO LINH
SINH CÂU MIÊU TẢ CHO HÌNH ẢNH SỬ DỤNG
MÔ HÌNH NGÔN NGỮ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
-----*-----
ĐÀO BẢO LINH
SINH CÂU MIÊU TẢ CHO HÌNH ẢNH SỬ DỤNG
MÔ HÌNH NGÔN NGỮ
Ngành: Công Nghệ Thông Tin
Chuyên ngành: Kỹ Thuật Phần Mềm
Mã số: 60.48.01.03
LUẬN VĂN THẠC SĨ
CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS LÊ ANH CƯỜNG
Hà Nội - 2015
2
LỜI CẢM ƠN
Trước tiên, tôi xin gửi lời cảm ơn PGS. TS Lê Anh
Cường (University of Enginerring and Technology) người đã
trực tiếp hướng dẫn và tạo điều kiện tốt nhất để tôi hoàn thành
luận văn này.
Tôi cũng xin gửi lời cảm ơn tới PGS.TS Yusuke Miyao
(National Institute of Informatics), người đã hướng dẫn và tạo
điều kiện cho tôi trong quá trình nghiên cứu đề tài bên Nhật
Bản.
Tôi cũng xin gửi lời cảm ơn chân thành tới các thầy cô
giáo trường Đại học Công Nghệ, những người đã trực tiếp
giảng dạy, hướng dẫn và tạo điều kiện cho tôi trong quá trình
học tập và thực hành ở trường.
Cuối cùng, tôi xin gửi lời cảm ơn tới tất cả các bạn học
và gia đình đã ủng hộ, giúp đỡ tôi trong suốt quá trình tôi thực
hiện luận văn này.
Hà Nội, ngày 8 tháng 9 năm 2015
Học viên
Đào Bảo Linh
3
4
MỤC LỤC
Danh mục từ viết tắt:
Ký hiệu viết tắt
Viết đầy đủ
SVM
support vector machine
Máy hỗ
NLP
Natural Language Processing
Xử lý n
CNN
Convolutional Neural Network-CNN
Mạng n
OWs
Other words
Các từ k
BFS
Best-first search
Tìm kiế
Thuật ngữ sử dụng:
Tiếng Anh
Tiế
Breadth-first search
Tìm kiếm theo chiều
Depth-first search
Tìm kiếm theo chiều
Graph-based segmentation
Phân đoạn ảnh dựa tr
Bag-of-words
Tập các từ rời rạc nha
Dataset
Tập dữ liệu
Computer vision
Thị giác máy
Text Description
Văn bản miêu tả
Corpus
Tập văn bản
MỞ ĐẦU
Ngày nay sự phát triển của internet đang phát triển
nhanh chóng, việc chia sẻ dữ liệu đa phương tiện như hình ảnh
và các đoạn phim trên các website cũng trở nên phổ biến, kéo
theo một vấn đề là một số dữ liệu không được đặt tiêu đề hay
thiếu các miêu tả, gây khó khăn cho việc tìm kiếm và khai thác
thông tin trên internet, từ đó tôi quyết định nghiên cứu phát
triển đề tài “Sinh câu miêu tả cho hình ảnh sử dụng mô hình
ngôn ngữ”. Đề tài này sẽ tập trung vấn đề sinh ra câu miêu tả
cho hình ảnh. Đề tài cũng tạo tiền đề cho việc phát triển các hệ
thống tự động miêu tả video, và các hệ thống trợ lý miêu tả lại
môi trường xung quanh cho người mù, hay hỗ trợ việc tiếp thu
tri thức hoặc môi trường của Robot.
Trong luận văn tôi sẽ trình bày các kiến thức liên quan
tới bài toán này đồng cài đặt và đánh giá hiệu quả của phương
pháp mà tôi đã sử dụng để sinh câu cho ảnh, cuối cùng là
những định hướng nghiên cứu trong tương lai dựa trên cơ sở
luận văn này.
8
Chương 1. MÔ TẢ BÀI TOÁN
1.1. Ý nghĩa
Nhận dạng đối tượng trong ảnh là bài toán khá quen
thuộc với hầu hết những người làm nghiên cứu trong lĩnh vực
khoa học máy tính nói chung, hay thị giác máy nói riêng, có
rất nhiều phương pháp với các mục đích khác nhau đã được đề
xuất nhằm nhận dạng khuân mặt, nhận dạng vị trí, nhận dạng
đối tượng.
Việc sinh câu miêu tả cho hình ảnh được quy về bài
toán tìm ra câu có xác suất lớn nhất có thể. Trong điều kiện cụ
thể, chúng ta có đầu vào nhiều hơn 2 từ.
1.2. Nghiên cứu liên quan
Nghiên cứu về sinh câu từ ảnh lần đầu tiên vào năm
2010. Bức ảnh đầu vào được áp dụng kỹ thuật Image Parsing
để phân đoạn thành các đối tượng [1], mỗi đối tượng tiếp tục
được phân chia thành nhiều thành phần, sau đó từ các biểu
diễn ngữ nghĩa (semantic representation) sinh câu trong khi
phải bảo đảm chính xác về mặt ngữ pháp.
Một nghiên cứu khác đã được công bố, thông qua một
mô hình ngữ pháp thực nghiệm (experimental grammar
model) để hình thành câu, với đầu vào là các keyphrases, các
9
keyphrases này được giả định là nhận được sau khi phân tích
nội dung của ảnh [2].
10
Chương 2. PHƯƠNG PHÁP
2.1. Tập văn bản
Để tạo được mô hình ngôn ngữ chúng ta cần sử dụng
tập văn bản mẫu huấn luyện. Cùng với từ điển, tập văn bản là
những tài nguyên ngôn ngữ vô cùng căn bản và cần thiết cho
NLP. Từ điển là tập hợp các tri thức về ngôn ngữ, cách sử
dụng và ý nghĩa của từ, thì ngược lại, tập văn bản là dữ liệu về
cách sử dụng, cách viết của từ đó trong thực tế.
2.1.1. Các loại tập văn bản
•
•
•
Tập văn bản thô (raw tập văn bản)
tập văn bản được gắn nhãn (tagged tập văn
bản).
Parallel Tập văn bản .
2.1.2. Cấu trúc của tập văn bản
Như đã trình bày ở trên, có 2 hướng khi thiết kế 1 tập
văn bản : 1 là quan tâm và tính toán đến sự cân bằng của tập
văn bản, và 1 là tập trung vào số lượng mà không quan tâm
đến sự cân bằng. Tuỳ theo 2 hướng xây dựng này mà các tập
văn bản sẽ có cấu trúc và quá trình xây dựng khác nhau.
11
2.1.3. Chú thích (annotation)
Chú thích là quá trình sửa đổi các nội dung gốc (tagging
) hay loại bỏ các nội dung đã thêm vào (tag). Vế thứ 2 có
nghĩa là khi ta loại bỏ các chú thích, ta sẽ thu lại được nội
dung gốc ban đầu. Nói cách khác, quá trình chú thích không
làm mất đi nội dung gốc.
2.1.4. Sử dụng tập văn bản
Tập văn bản được sử dụng trong thống kê ngôn ngữ
học, để quan sát và phân tích các hiện tượng ngôn ngữ. Từ
khoảng những năm 1990, với sự phát triển vượt bậc của tốc độ
máy tính, hàng loạt tập văn bản được làm tự động hay bán tự
động đã được ra đời, điều này cũng làm tăng kích thước tập
văn bản và độ chính xác của các thống kê.
2.2. Mô hình ngôn ngữ
2.2.1. Khái quát
Mô hình ngôn ngữ là phân bố xác suất trên các tập văn
bản, cho biết xác suất của một câu, hoặc một cụm từ thuộc một
ngôn ngữ là bao nhiêu. Mô hình ngôn ngữ tốt sẽ đánh giá đúng
các câu đúng ngữ pháp, trôi chảy hơn các từ có thứ tự ngẫu
nhiên.
Thí dụ:
P(“It is raining heavily”) > P(“Raining heavily it is”)
12
2.2.2. Tầm quan trọng của mô hình ngôn ngữ N-gram.
Mô hình ngôn ngữ quan trọng trong việc phát hiện từ bị
nhiễu. Trong nhận dạng giọng nói, với đầu vào là các tín hiệu
âm thanh có nhiễu, độ nhập nhằng, hay là sự tương đồng cao.
2.2.3. Mô hình ngôn ngữ N-gram
Nếu áp dụng xấp xỉ Markov, xác suất xuất hiện của một
từ (w) được coi như chỉ phụ thuộc vào n từ đứng liền trước nó
(ww…w) chứ không phải phụ thuộc vào toàn bộ dãy từ đứng
trước (ww…w). Như vậy, công thức tính xác suất văn bản
được tính lại theo công thức:
P(ww…w) = P(w) P(w|w) P(w|ww) … P(w|
ww …w) P(w|ww…w)
(2.1.1)
2.3. Thuật toán tìm kiếm
Trong bài toán chúng ta đang xét, nếu coi mỗi từ là một
nút trong một đồ thị và khoảng cách (chi phí) giữa mỗi nút là
giá trị xác suất thì chúng ta có thể đưa về bài toán tìm đường
đi tốt nhất.
2.3.1. Thuật toán tìm kiếm theo chiều rộng
Giải thuật tìm kiếm lời giải theo chiều rộng là cài đặt cụ
thể của giải thuật chung tìm kiếm lời giải, trong đó có sử dụng
13
cấu trúc dữ liệu kiểu hàng đợi (queue) để lưu giữ các trạng thái
nút lá của cây tìm kiếm. Các nút lá sinh ra trong quá trình thực
thi giải thuật sẽ được cập nhật vào một hàng đợi theo nguyên
tắc nút nào được đưa vào hàng đợi trước sẽ được lấy ra trước
trong quá trình mở rộng cây
2.3.2. Thuật toán tìm kiếm theo chiều sâu
Tư tưởng chính của thuật toán: Giả sử chúng ta đang xét
trên đồ thị G(V,E). Từ một đỉnh u_V hiện thời nào đó ta sẽ
thăm tới đỉnh kề v của u và quá trình được lặp lại đối với đỉnh
v.
2.3.3. Thuật toán tìm kiếm theo lựa chọn tốt nhất(Best-first
search)
Như chúng ta đã biết nếu tìm kiếm theo chiều sâu thì
chúng ta không cần quan tâm đến việc mở rộng các nhánh,
tránh tiêu tốn tài nguyên hệ thống một cách không cần thiết
nhưng có có thể bị sa vào nhánh mà có thể không thể tìm ra lời
giải như tìm kiếm theo chiều sâu. Thuật toán tìm kiếm theo lựa
chọn tốt nhất sẽ giúp chúng ta giải quyết cả 2 vấn đề này.
Trong cùng một thời điểm chúng ta vừa có thể khai thác
hướng theo chiều sâu trong khi vẫn luôn quan sát hướng khác
để luôn sẵn sàng triển khai nếu phát hiện một hướng khác tiềm
năng hơn.
14
Chương 3. MÔ HÌNH BÀI TOÁN
3.1. Tổng quan mô hình
Như đã giới thiệu ở phần đầu tiên, bài toán chúng ta cần
giải quyết là Sinh câu miêu tả cho hình ảnh, như vậy bài toán
được chia ra làm 2 bước chính bước đầu tiên là phát hiện đối
tượng trong ảnh sử dụng một kỹ thuật trong thị giác máy, bước
thứ 2 là sinh câu miêu tả cho các đối tượng đã được nhận dạng
trước đó, bước này cũng là một phần trong xử lý ngôn ngữ tự
nhiên.
3.2. Phát hiện đối tượng
Hệ thống nhận dạng đối tượng bao gồm có 3 mô-đun.
Đầu tiên là tạo “đề cử vùng phân loại độc lập” (categoryindependent region proposals), các đề cử này cho phép tìm ra
tập các ứng viên sử dụng cho hệ thống nhận dạng. Mô-đun thứ
2 là Một mạng neural nhân chập (Convolutional Neural
Network-CNN) có nhiệm vụ trích xuất các vector đặc trưng có
chiều dài cố định (Fixed-length feature vector) cho mỗi phân
vùng. Mô-đun thứ 3 là tập các lớp máy vector hỗ trợ (Support
Vector Machine - SVM) tuyến tính riêng biệt.
15
3.2.1. Đề cử vùng
Đối tượng có thể nằm ở bất kỳ vị trí nào trong ảnh và
cũng có kích thước khác nhau, với cách thức thông thường với
một cửa sổ cố định bất kỳ để quét toàn bộ ảnh theo mạng lưới
thì chi phí cho một lần thực hiện quá lớn [8].
•
Tìm kiếm toàn diện
Sử dụng một cửa sổ có kích thước nhất định quét lần
lượt toàn bộ hình ảnh, sau đó lựa chọn những vị trí khả thi
nhất.
•
Phân đoạn ảnh
Phương pháp phân đoạn ảnh được sử dụng ở đây là
phương pháp phân đoạn ảnh dựa trên đồ thị (Graph-based
segmentation).
•
Tìm kiếm chọn lựa theo kỹ thuật nhóm cụm thứ bậc.
Chúng ta lựa chọn sử dụng thuật toán nhóm cụm thứ
bậc hướng hội tụ cho tìm kiếm chọn lựa, vì đây là một phương
pháp phân đoạn ảnh khá phổ biến. Từ các phân vùng khởi tạo
nhỏ chúng ta nhóm dần từng vùng nhỏ lại cho đến khi tất cả
các vùng đã được nhóm lại thành một nhóm duy nhất.
3.2.2. Trích chọn đặc trưng
Quá trình trích chọn đặc trưng được thực hiện trên các
phân vùng được đề cử, với vector đặc trưng 4096 chiều sử
16
dụng caffe, một deep learning framework của trung tâm
nghiên cứu thuộc trường đại học Berkeley.
3.3. Sinh câu miêu tả cho đối tượng
Mục đích của giai đoạn sinh câu miêu tả cho đối tượng
là từ kết quả đầu ra của quá trình phát hiện đối tượng, đó là tập
các nhãn bao gồm các danh từ, có thể có thêm động từ, người
ta còn gọi theo cách khác là bag-of-words, tới từ ngữ rời rạc
như thế, chúng ta phải tìm ra câu trả lời có xác suất cao.
Để tính xác suất của các cặp từ trong một tập văn bản
chúng ta áp dụng công thức xác suất có điều kiện:
(
Tương đương với:
(3.2-2)
(3.2-6)
17
Nhưng khi cài đặt tính toán chúng ta không nên để giá
trị ở dạng xác suất mà chúng ta lấy logarith cơ số 2 của hai vế,
nếu 1 câu dài dễ dẫn đến hiện tượng underflow, ngoài ra còn 1
lý do khác như chúng ta đã biết thì phép tính tổng sẽ nhanh
hơn phép tính tích.
Công thức (2.3-6) tương đương với:
(3.2-7)
Sinh câu miêu tả cho hình ảnh áp dụng thuật toán tìm
kiếm theo lựa chọn tối ưu, thuật toán này yêu cầu một hàm
đánh giá, tính toán chi phí giữa mỗi nút tìm kiếm, nếu trong
bài toán tìm kiếm đường đi tốt nhất chúng ta có thể sử dụng
tổng giá trị quãng đường đã đi qua để xác định quãng đường
ngắn nhất thì trong bài toán này, xác suất này đạt giá trị lớn
nhất tương đương với giá trị logarith cơ số 2 của chúng là lớn
nhất, suy ra hàm đánh giá cho thuật toán sinh câu như sau:
H(s)
18
Chương 4. THỰC NGHIỆM VÀ ĐÁNH
GIÁ
4.1. Môi trường cài đặt
Hệ thống được cài đặt trên Amazon server:
Cấu hình
CPU
Intel(R) Xeon(R) CPU E5-2670 0 @
2.60GHz
Môi trường
Linux AMI release 2015.03
HDD
493 GB
RAM
15 GB
Công cụ hỗ trợ cài đặt:
Công cụ
Ngôn ngữ lập trình
Python 3.2
Công cụ phát triển
Ipython notebook
Framework
Caffe
19
Công cụ tạo mô
hình ngôn ngữ
SRILM
4.2. Quá trình thử nghiệm
4.2.1. Nhận dạng đối tượng
Chúng tôi đã sử dụng mô hình nhận dạng R-CNN cho
ImageNet. Đối tượng sẽ được nhận dạng dựa trên các đầu mục
huấn luyện ban đầu, đầu ra nhận được là các nhãn và các điểm
số tương ứng.
4.2.2. Tập văn bản huấn luyện
Tập văn bản được sử dụng trong luận văn này được
trích từ tập dữ liệu Microsoft COCO, chứa hơn 123.000 hình
ảnh, trong đó mỗi hình ảnh được chú thích và miêu tả bằng
tiếng anh một cách thủ công.
4.2.3. Kết quả hệ thống sinh câu miêu tả
20
KẾT LUẬN
Luận văn này thực hiện hoàn chỉnh “sinh câu cho hình
ảnh sử dụng mô hình ngôn ngữ”.
Tuy nhiên, do hạn chế về quy mô và thời gian cho nên
chúng tôi tập trung hơn vào sinh câu miêu tả, phần còn lại là
nhận dạng đối tượng được cài đặt dựa trên nghiên cứu của
nhóm nghiên cứu thị giác máy Berkerley.
Trong quá trình thực nghiệm chúng tôi nhận thấy nhiệm
vụ phát hiện đối tượng, nếu có thể nhận diện được hành vi hay
là mối liên hệ giữa các đối tượng trong ảnh thì sẽ giảm được
thời gian xử lý, tăng chất lượng kết quả đầu ra.
Nghiên cứu hiện tại tập trung trên ngôn ngữ Tiếng Anh,
trong tương lai chúng tôi sẽ phát triển hệ thống trên ngôn ngữ
Tiếng Việt và cải tiến đáp ứng cho sinh câu miêu tả cho các
đoạn phim ngắn.
21
Tài liệu sử dụng
Tiếng Anh
[1] B. Z. Yao, X. Yang, L. Lin, M. W. Lee, and S.-C.
Zhu. I2T: Image Parsing to Text Description. Proceedings of
the IEEE, 98(8):1485–1508, 2010.
[2] Ushiku, Y., Harada, T., Kuniyoshi, Y.: Efficient
Image Annotation for Automatic Sentence Generation. In:
ACM MM, 2012.
[3] Hao Fang∗. Saurabh Gupta∗. Forrest Iandola∗.
Rupesh K. Srivastava∗. Li Deng. Piotr Dollár†. Jianfeng
Gao.: From Captions to Visual Concepts and Back. Microsoft
Research, 2015.
[6] Stuart J. Russell and Peter Norvig. Artificial
Intelligence: A Modern Approach. 3rd Edition. Prentice Hall,
Upper Saddle River, New Jersey, 2009.
[7] I. Endres and D. Hoiem. Category independent
object proposals. In ECCV, 2010.
[8] J. Uijlings, K. van de Sande, T. Gevers, and A.
Smeulders. Selective search for object recognition. IJCV,
2013.
22
[9] Ross Girshick et al. Rich feature hierarchies for
accurate object detection and semantic segmentation.
CVPR14.
[10] H. Harzallah, F. Jurie, and C. Schmid. Combining
efficient object localization and image classification. In ICCV,
2009.
[11] P. Arbela ́ ez, M. Maire, C. Fowlkes, and J. Malik.
Contour detection and hierarchical image segmentation.
TPAMI, 2011.
[12] P. F. Felzenszwalb and D. P. Huttenlocher.
Efficient Graph Based Image Segmentation. IJCV, 59:167–
181, 2004.
[13] Yoshitaka Ushiku, Tatsuya Harada, and Yasuo
Kuniyoshi. Understanding images with natural sentences.
ACM Multimedia, page 679-682. ACM, (2011)
Tiếng Việt
[4] Phạm Thọ Hoàn, Phạm Thị Anh Lê: Giáo trình trí
tuệ nhân tạo, Khoa Công nghệ thông tin, trường Đại học Sư
Phạm Hà Nội: 10-31 ,2011.
[5] Đinh Mạnh Tường: Giáo trình trí tuệ nhân tạo: NXB
Khoa học Kỹ thuật, 16-41, 2002.
23
Website:
[14]
/>[15] />
24