Thuật ngữ sử dụng:Breadth-first search Tìm kiếm theo chiều rộng Depth-first search Tìm kiếm theo chiều sâu Graph-based segmentation Phân đoạn ảnh dựa trên đồ thị Bag-of-words Tập các từ
Trang 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Ữ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
Trang 2ĐẠ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
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS LÊ ANH CƯỜNG
Hà Nội - 2015
Trang 3LỜI CẢM ƠN
Trước tiên, tôi xin gửi lời cảm ơn PGS TS Lê AnhCườ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ànhluậ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ậtBả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ếpgiảng dạy, hướng dẫn và tạo điều kiện cho tôi trong quá trìnhhọ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ựchiệ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
Trang 4MỤC LỤC
Chương 1 MÔ TẢ BÀI TOÁN 2
1.1 Ý nghĩa 2
1.2 Nghiên cứu liên quan 2
Chương 2 PHƯƠNG PHÁP 3
2.1 Tập văn bản 3
2.1.1 Các loại tập văn bản 3
2.1.2 Cấu trúc của tập văn bản 3
2.1.3 Chú thích (annotation) 4
2.1.4 Sử dụng tập văn bản 4
2.2 Mô hình ngôn ngữ 4
2.2.1 Khái quát 4
2.2.2 Tầm quan trọng của mô hình ngôn ngữ N-gram 5
2.2.3 Mô hình ngôn ngữ N-gram 5
2.3 Thuật toán tìm kiếm 5
2.3.1 Thuật toán tìm kiếm theo chiều rộng 5
2.3.2 Thuật toán tìm kiếm theo chiều sâu 6
2.3.3 Thuật toán tìm kiếm theo lựa chọn tốt nhất(Best-first search) 6
Chương 3 MÔ HÌNH BÀI TOÁN 7
3.1 Tổng quan mô hình 7
3.2 Phát hiện đối tượng 7
Trang 53.2.1 Đề cử vùng 7
3.2.2 Trích chọn đặc trưng 8
3.3 Sinh câu miêu tả cho đối tượng 9
Chương 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 11
4.1 Môi trường cài đặt 11
4.2 Quá trình thử nghiệm 12
4.2.1 Nhận dạng đối tượng 12
4.2.2 Tập văn bản huấn luyện 12
4.2.3 Kết quả đầu ra 12
KẾT LUẬN 13
Trang 6CNN Convolutional Neural
Network-CNN
Mạng nơ-ron nhân chập
BFS
Best-first search Tìm kiếm theo lựa
chọn tối ưu
Trang 7Thuật ngữ sử dụng:
Breadth-first search Tìm kiếm theo chiều rộng
Depth-first search Tìm kiếm theo chiều sâu
Graph-based segmentation Phân đoạn ảnh dựa trên đồ
thị
Bag-of-words Tập các từ rời rạc nhau
Computer vision Thị giác máy
Text Description Văn bản miêu tả
Trang 8Trong luận văn tôi sẽ trình bày các kiến thức liên quantới bài toán này đồng cài đặt và đánh giá hiệu quả của phươngphá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.
1
Trang 9Chươ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á quenthuộc với hầu hết những người làm nghiên cứu trong lĩnh vựckhoa 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àitoá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ểudiễn ngữ nghĩa (semantic representation) sinh câu trong khiphả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 grammarmodel) để hình thành câu, với đầu vào là các keyphrases, các
2
Trang 10keyphrases này được giả định là nhận được sau khi phân tíchnội dung của ảnh [2]
3
Trang 11Chươ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ụngtậ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 choNLP 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ănbả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ậpvăn bản : 1 là quan tâm và tính toán đến sự cân bằng của tậpvă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ậpvăn bản sẽ có cấu trúc và quá trình xây dựng khác nhau
4
Trang 122.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ộidung gốc ban đầu Nói cách khác, quá trình chú thích khônglà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ậpvă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ănbản, cho biết xác suất của một câu, hoặc một cụm từ thuộc mộtngôn ngữ là bao nhiêu Mô hình ngôn ngữ tốt sẽ đánh giá đúngcác câu đúng ngữ pháp, trôi chảy hơn các từ có thứ tự ngẫunhiên
Thí dụ:
P(“It is raining heavily”) > P(“Raining heavily it is”)
5
Trang 132.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ừ đứngtrướ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ộtnú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ụngcấu trúc dữ liệu kiểu hàng đợi (queue) để lưu giữ các trạng thái
6
Trang 14nút lá của cây tìm kiếm Các nút lá sinh ra trong quá trình thựcthi giải thuật sẽ được cập nhật vào một hàng đợi theo nguyêntắc nút nào được đưa vào hàng đợi trước sẽ được lấy ra trướctrong 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éttrê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
để luôn sẵn sàng triển khai nếu phát hiện một hướng khác tiềmnăng hơn
7
Trang 15Chươ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ầngiả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 đốitượng trong ảnh sử dụng một kỹ thuật trong thị giác máy, bướcthứ 2 là sinh câu miêu tả cho các đối tượng đã được nhận dạngtrướ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” (category-independent region proposals), các đề cử này cho phép tìm ratậ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 NeuralNetwork-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ânvùng Mô-đun thứ 3 là tập các lớp máy vector hỗ trợ (SupportVector Machine - SVM) tuyến tính riêng biệt
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
8
Trang 16một cửa sổ cố định bất kỳ để quét toàn bộ ảnh theo mạng lướithì 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ầnlượt toàn bộ hình ảnh, sau đó lựa chọn những vị trí khả thinhấ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-basedsegmentation)
• 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ươngpháp phân đoạn ảnh khá phổ biến Từ các phân vùng khởi tạonhỏ 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ácphân vùng được đề cử, với vector đặc trưng 4096 chiều sửdụng caffe, một deep learning framework của trung tâmnghiên cứu thuộc trường đại học Berkeley
9
Trang 173.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ậpcá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ạcnhư 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ảnchúng ta áp dụng công thức xác suất có điều kiện:
10
Trang 18lý do khác như chúng ta đã biết thì phép tính tổng sẽ nhanhhơn phép tính tích.
Công thức (2.3-6) tương đương với:
log2( P (S ) ) =
w ∈S∑
i=0
n
( log2P ( wi −1| wi) +log2P ( wi−1) ) (3.2-7)
Sinh câu miêu tả cho hình ảnh áp dụng thuật toán tìmkiế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 trongbài toán tìm kiếm đường đi tốt nhất chúng ta có thể sử dụngtổng giá trị quãng đường đã đi qua để xác định quãng đườngngắn nhất thì trong bài toán này, xác suất này đạt giá trị lớnnhất tương đương với giá trị logarith cơ số 2 của chúng là lớnnhất, suy ra hàm đánh giá cho thuật toán sinh câu như sau:
Trang 19Chươ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ìnhCPU Intel(R) Xeon(R) CPU E5-2670 0 @
Công cụ phát triển Ipython notebook
Công cụ tạo mô SRILM
12
Trang 20số 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 đượctrí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ằngtiếng anh một cách thủ công
4.2.3 Kết quả hệ thống sinh câu miêu tả
13
Trang 21Trong 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 đượcthờ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
14
Trang 22Tà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 ofthe IEEE, 98(8):1485–1508, 2010
[2] Ushiku, Y., Harada, T., Kuniyoshi, Y.: EfficientImage Annotation for Automatic Sentence Generation In:ACM MM, 2012
[3] Hao Fang∗ Saurabh Gupta∗ Forrest Iandola∗.Rupesh K Srivastava∗ Li Deng Piotr Dollár† JianfengGao.: From Captions to Visual Concepts and Back MicrosoftResearch, 2015
[6] Stuart J Russell and Peter Norvig ArtificialIntelligence: A Modern Approach 3rd Edition Prentice Hall,Upper Saddle River, New Jersey, 2009
[7] I Endres and D Hoiem Category independentobject proposals In ECCV, 2010
[8] J Uijlings, K van de Sande, T Gevers, and A.Smeulders Selective search for object recognition IJCV,2013
15
Trang 23[9] Ross Girshick et al Rich feature hierarchies foraccurate object detection and semantic segmentation.CVPR14.
[10] H Harzallah, F Jurie, and C Schmid Combiningefficient 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 YasuoKuniyoshi 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: NXBKhoa học Kỹ thuật, 16-41, 2002
16
Trang 24[14] ngon-ngu-tu-nhien/mo-hinh-ngon-ngu
http://viet.jnlp.org/kien-thuc-co-ban-ve-xu-ly-[15] https://en.wikipedia.org/wiki/Computer_vision
17