BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU -------- --------
TRƯƠNG HỮU CHIẾN
PHÂN LỚP NGỮ NGHĨA HÌNH ẢNH DỰA TRÊN MẠNG NƠ-RON TÍCH CHẬP
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
BÀ RỊA VŨNG TÀU - 2020
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU -------- --------
TRƯƠNG HỮU CHIẾN
PHÂN LỚP NGỮ NGHĨA HÌNH ẢNH DỰA TRÊN MẠNG NƠ-RON TÍCH CHẬP
Chuyên ngành: Công nghệ thông tin
Mã ngành: 8480201
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. VĂN THẾ THÀNH
BÀ RỊA VŨNG TÀU - 2020
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Phân lớp ngữ nghĩa hình ảnh dựa trên mạng nơ-ron
tích chập” là công trình nghiên cứu của tôi dưới sự hướng dẫn của giảng viên hướng dẫn,
không trùng lắp của người khác. Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, công
trình nghiên cứu liên quan trong nước và quốc tế. Các tài liệu được luận văn tham khảo,
kế thừa và trích dẫn đều được liệt kê trong danh mục các tài liệu tham khảo.
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan trên.
Bà rịa - Vũng tàu, ngày 12 tháng 12 năm 2020.
Học viên
i
Trương Hữu Chiến
LỜI CẢM ƠN
Trước tiên, tôi xin gửi lời cảm ơn và bày tỏ sự biết ơn chân thành tới TS.Văn Thế Thành
– Giáo viên hướng dẫn khoa học đã trực tiếp hướng dẫn tôi, đã hết lòng hỗ trợ và giúp
đỡ tôi trong quá trình nghiên cứu và hoàn thiện luận văn của mình.
Tôi cũng xin gửi lời cảm ơn chân thành tới các thầy, các cô là giảng viên của Trường Đại
học Bà Rịa Vũng Tàu đã tạo những điều kiện thuận lợi cho tôi học tập và nghiên cứu
trong suốt quá trình học tập tại trường.
Và tôi cũng muốn gửi lời cảm tới các anh, chị, em lớp MIT18K1 khóa đầu tiên Thạc sĩ
ngành công nghệ thông tin, luôn bên cạnh và động viên tôi trong suốt thời gian học tập
và quá trình thực hiện luận văn tốt nghiệp.
Cuối cùng, tôi cũng xin gửi lời cảm ơn tới cha, vợ và các con, và những người thân trong
gia đình tôi, đã chăm lo, động viên tôi tích cực học tập và hoàn thành thật tốt khóa học
thạc sĩ này.
Vì thời gian có hạn, mặc dù đã hết sức cố gắng hoàn thành luận văn nhưng chắc chắn sẽ
không tránh khỏi những thiếu sót. Rất mong nhận được sự cảm thông, chia sẻ, đóng góp
ý kiến tận tình của quý thầy cô và các bạn để luận văn được hoàn thiện hơn.
ii
Tôi xin chân thành cảm ơn!
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................. i
MỤC LỤC ...................................................................................................................... iii
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................... vi
DANH MỤC HÌNH VẼ ................................................................................................... i
DANH MỤC BẢNG BIỂU ............................................................................................ iv
LỜI MỞ ĐẦU .................................................................................................................. 1
CHƯƠNG 1 ..................................................................................................................... 5
TỔNG QUAN PHÂN TÍCH NGỮ NGHĨA HÌNH ẢNH ............................................ 5
1.1. Đặc trưng văn bản đi kèm ảnh ................................................................................ 6
1.2. Đặc trưng nội dung ảnh ........................................................................................... 8
1.3. Hướng tiếp cận theo ngữ nghĩa hình ảnh .............................................................. 10
1.4. Trích xuất đặc trưng .............................................................................................. 13
1.4.1. Ý nghĩa của trích xuất đặc trưng .................................................................. 14
1.4.2. Các đặc trưng phổ biến ................................................................................ 14
1.5. Các nghiên cứu liên quan ...................................................................................... 15
1.6. Kết luận ................................................................................................................. 17
CHƯƠNG 2 ................................................................................................................... 18
TỔNG QUAN VỀ MẠNG NƠ-RON TÍCH CHẬP ................................................... 18
2.1. Giới thiệu .............................................................................................................. 18
2.2. Một số khái niệm .................................................................................................. 20
iii
2.3. Kiến trúc mạng nơ-ron tích chập .............................................................................. 21
2.3.1. Lớp tích chập (Convolutional) ...................................................................... 23
2.3.2. Hàm kích hoạt ReLU .................................................................................... 27
2.3.3. Lớp lấy mẫu (Pooling) ................................................................................. 28
2.3.4. Lớp kết nối đầy đủ ........................................................................................ 29
2.4. Kỹ thuật tối ưu mạng ............................................................................................ 31
2.5. Một số Kiến trúc mạng CNN phổ biến ................................................................. 32
2.5. 1. Kiến trúc LeNet-5 ........................................................................................ 33
2.5. 2. Kiến trúc AlexNet ........................................................................................ 34
2.5. 3. Kiến trúc VGG-16 ....................................................................................... 36
2.5.4. Kiến trúc Inception (GoogleLeNet) .............................................................. 38
2.6. Kết luận ................................................................................................................. 40
CHƯƠNG 3 ................................................................................................................... 41
ĐỀ XUẤT MÔ HÌNH PHÂN LOẠI ẢNH VÀ KẾT HỢP ........................................ 41
TÌM KIẾM THEO NGỮ NGHĨA ............................................................................... 41
3.1. Kiến trúc của hệ thống .......................................................................................... 41
3.2. Mô hình phân lớp hình ảnh bằng CNN ................................................................. 42
3.3. Mô hình tìm kiếm theo ngữ nghĩa ......................................................................... 46
3.3.1. Các chú thích cho hình ảnh .......................................................................... 47
3.3.2. Phát triển Ontology ...................................................................................... 49
3.3.3. Ontology hình ảnh ........................................................................................ 50
3.3.4. Truy xuất hình ảnh ngữ nghĩa (SIR-Semantic Image Retrieval) .................. 53
iv
3.4. Kết luận ................................................................................................................. 55
CHƯƠNG 4 ................................................................................................................... 56
KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ ........................................................... 56
4.1. Môi trường và các công cụ sử dụng cho thực nghiệm .......................................... 56
4.2. Tập dữ liệu thực nghiệm ....................................................................................... 56
4.3. Xây dựng mô hình phân loại ảnh cho hệ thống tìm kiếm ..................................... 58
4.3.1. Vai trò của Dropout ..................................................................................... 60
4.3.2. Ảnh hưởng của Batch size đến kết phân lớp dữ liệu .................................... 61
4.4. Kết quả tìm kiếm ảnh theo ngữ nghĩa ................................................................... 62
4.5. Kết luận ................................................................................................................. 69
TÀI LIỆU THAM KHẢO ............................................................................................ 70
Tiếng Việt .................................................................................................................... 70
v
Tiếng Anh .................................................................................................................... 70
DANH MỤC CÁC TỪ VIẾT TẮT
STT Từ viết tắt Tiếng anh Giải thích
01 AI Artificial Intelligence Trí tuệ nhân tạo
02 ANN Artificial Neural Network Mạng nơ-ron nhân tạo
03 CBIR Tìm kiếm ảnh theo nội dung Content-Based Images Retrieval
04 CNN Mạng nơ-ron tích tập Convolutional Neural Network
05 CSDL Database Cơ sở dữ liệu
06 DL Deep Learning Học sâu
07 DNN Deep Neural Network Mạng nơ-ron sâu
08 DT Decision Tree Cây quyết định
09 FNN Feedforward Neural Network Mạng nơ-ron truyền thẳng
10 GPU Graphic Proccessing Unit Bộ vi xử lý dữ liệu hình ảnh
11 HOG Biểu đồ độ dốc định hướng Histograms of Oriented Gradients
12 k-NN k-Nearest Neighbors K-láng giềng gần nhất
13 ILSVRC ImageNet Large Scale Visual Recognition Challenge Cuộc thi thử thách nhận biết hình ảnh quy mô lớn ImageNet
14 IoT Internet of Things Internet vạn vật
15 OWL Ontology Web language Ngôn ngữ ontology web
16 QBIC Query Based Image Content Truy vấn ảnh theo nội dung
vi
17 SBIR Truy vấn ảnh theo ngữ nghĩa Semantic Based Image Retrieval
18 SIFT Scale Invariant Feature Transform Biến đổi đặc trưng cục bộ bất biến SIFT
19 SURF Speeded Up Robust Features Trích chọn đặc trưng SURF
20 SVM Support Vector Machine Máy vec-tơ hỗ trợ
21 ReLU Rectified Linear Unit Điều chỉnh đơn vị tuyến tính
22 RGB Red Green Blue Hệ màu cơ bản
23 RDF Khung mô tả tài nguyên Resource Description Framework
24 SIR Semantic Image Retrieval Truy vấn ảnh nghữ nghĩa
25 SPARQL SPARQL Protocol And RDF Query Language Ngôn ngữ truy vấn cho CSDL ngữ nghĩa
vii
26 TBIR Text-Based Image Retrieval Truy xuất hình ảnh dựa trên văn bản
DANH MỤC HÌNH VẼ
Hình 1.1: Ví dụ hiển thị một ảnh……………………………………………….……………....7
Hình 1.2: Ví dụ truy vấn “d-80” của Google……………………………….………………..7
Hình 1.3: Ví dụ truy vấn “Apple” của Google……………………………….……………...8
Hình 1.4: Ví dụ về một số lọai kết cấu………………………………………….….………….9
Hình 1.5: Minh họa các tầng ngôn ngữ dùng trong ontology………..…….…………….13
Hình 2.1: Mô hình bộ não người……………………………………………………………..18
Hình 2.2: Mạng nơ-ron tích chập hay Convolutional Neural Networks (CNN)………..19
Hình 2.3: Kiến trúc của CNN………………………………………………………………….22
Hình 2.4: Mạng nơ-ron thông thường……………………………………………………….22
Hình 2.5: Mạng nơ-ron tích chập………………………………………….…...….…………22
Hình 2.6: Minh họa ảnh dữ liệu đầu vào và bộ lọc………………………………………..23
Hình 2.7: Minh họa tích chập ảnh đầu vào và kết quả Bảng đồ đặc trưng…………….24
Hình 2.8: Minh họa quá trình tích chập nhiều lớp…………………….…………………..26
Hình 2.9: Minh họa bảng đồ đặc trưng xếp chồng lên nhau………………….…………27
Hình 2.10: Các hàm kích hoạt…………………………………………….………………….28
Hình 2.11: Minh họa việc lấy mẫu con………………………………….………………......29
Hình 2.12: Một ví dụ về mô hình học sâu dựa trên mạng nơ-ron tích chập…….….….31
i
Hình 2.13: Mạng nơ-ron trước và sau quá trình Dropout…………………………….....32
Hình 2.14: Mô hình Kiến trúc LeNet-5………………………………………………………34
Hình 2.15: Mô hình Kiến trúc AlexNet…………………………………….…………..…….35
Hình 2.16: Mô hình Kiến trúc AGG-16………….…………………………..………...……37
Hình 2.17: Mô hình dạng cell của Kiến trúc Inception…………………..………..……...38
Hình 2.18: Mô hình Kiến trúc Inception……………………………..……………..……....39
Hình 3.1: Kiến trúc của hệ thống…………………………………………………...……..…41
Hình 3.2: Áp dụng kiến trúc mạng AlexNet………………….…………………..………....42
Hình 3.3: Kiến trúc mạng AlexNet ở dạng phẳng……………………..……......……..….43
Hình 3.4: Minh họa hình ảnh qua các lớp trong kiến trúc AleNet………….……………45
Hình 3.5: Kiến trúc tìm kiếm ngữ nghĩa……………………..……………..……..…………46
Hình 3.6: Chú thích một hình ảnh……………………………………..…........…………….48
Hình 3.7: Chú thích ontology cho hình ảnh hoa hồng…………………….…..…………...48
Hình 3.8: Domain ontology của hệ thống……………………………….……………….…50
Hình 3.9: Liên kết hình ảnh với các ontology trong protégé………….………………….52
Hình 3.10: Mô hình từ khóa tìm kiếm với ngữ nghĩa…………………..……….……….…53
Hình 4.1: Tập huấn luyện từng phần……………………………….…………….………..…57
Hình 4.2: Biểu đồ Confusion matrix đánh giá theo các chủ đề ảnh …………….………59
Hình 4.3: Biểu đồ Precision đánh giá mô hình phân loại theo các chủ đề ảnh …...….60
ii
Hình 4.4: Minh họa phân lớp dữ liệu hình ảnh……………………………...…………….62
Hình 4.5: Minh họa biểu đồ truy vấn khớp hình ảnh…………………...…………………63
Hình 4.6: Trường hợp thực nghiệm với hình ảnh ngựa vằn…………….……………….64
Hình 4.7: Trường hợp thực nghiệm với hình ảnh chú chó………………………………..65
Hình 4.8: Trường hợp thực nghiệm với từ khóa truy vấn “Dog”……………………..…66
Hình 4.9: Trường hợp thực nghiệm với từ khóa truy vấn “Monkey”……..……..…..…67
iii
Hình 4.9: Tìm kiếm với từ khóa “Animal”…………………………………………………..68
DANH MỤC BẢNG BIỂU
Bảng 4.1: Kết quả huấn luyện mô hình……………………………………………………..59
Bảng 4.2: Tỉ lệ lỗi khi thay đổi giá trị Dropout của hệ thống………………………..….60
iv
Bảng 4.3: Kết quả phân lớp khi sử dụng dữ liệu với các batch size khác nhau…..…..61
LỜI MỞ ĐẦU
1. Đặt vấn đề
Trong thời gian gần đây, với sự phát triển mạnh mẽ về khả năng tính toán của các
thế hệ máy tính hiện đại cũng như sự bùng nổ về dữ liệu thông qua mạng internet, dữ liệu
đa phương tiện ngày càng được phát triển nhanh chóng về mặt số lượng và kích thước,
và với việc chia sẻ hình ảnh trên các trang web, các mạng xã hội, kích thước của bộ sưu
tập hình ảnh kỹ thuật số đang gia tăng nhanh chóng về số lượng, độ phức tạp và tính đa
dạng. Theo WordStream, năm 2019, mỗi ngày có 8.95 triệu ảnh, video được chia sẻ trên
Instagram, mỗi năm một người tạo ra ít nhất 1.000 ảnh, mỗi năm tạo ra ít nhất 1 nghìn tỷ
hình ảnh… Cùng với sự phát triển vượt trội của các công nghệ kỹ thuật số, công nghệ
thông tin và sự phổ biến rộng rãi các thiết bị thông minh, dẫn đến dữ liệu hình ảnh trở
nên thân thuộc với cuộc sống của con người và được ứng dụng trong nhiều lĩnh vực quan
trọng, như hệ thống thông tin giao thông, hệ thống thông tin địa lý, hệ thống thông tin
bệnh viện, hệ thống thư viện số, ứng dụng tìm kiếm ảnh trong y học, giáo dục đào tạo,
giải trí,…[3].
Qua đó cho thấy dữ liệu cũng như số lượng ảnh ngày càng được gia tăng nên cần
phải có nhiều hệ thống, phương thức truy vấn ảnh trên các thiết bị cũng như trong các hệ
thống đa phương tiện. Chính vì thế, việc nghiên cứu và phát triển các hệ thống tra cứu
ảnh là một bài toán quan trọng trong các hệ thống đa phương tiện và phù hợp với xu thế
của xã hội hiện đại. Các nhà khoa học trong thập kỷ qua đã đề xuất rất nhiều phương
pháp tiếp cận hiệu quả cho tìm kiếm hình ảnh.
Với các hệ thống tìm kiếm ảnh sử dụng các văn bản đi kèm với ảnh (meta-data)
hoặc theo nội dung (sự tương đồng) của ảnh giúp cho việc tìm kiếm đơn giản và hiệu
quả. Tuy nhiên việc tìm kiếm ảnh trên thiếu cấu trúc ngữ nghĩa, nơi duy trì khả năng mở
rộng thành phần và sự phụ thuộc lẫn nhau, nên vẫn còn một số hạn chế làm cho kết quả
1
tìm kiếm chưa thật chính xác khi các mô tả này bị sai hoặc có thể các kết quả trả lại có
chứa hình ảnh không liên quan. Các công nghệ ngữ nghĩa cung cấp cách tiếp cận đầy hứa
hẹn cho việc tìm kiếm ảnh, giúp việc tìm kiếm hiệu quả và chính xác hơn.
Bên cạnh đó, với sự phát triển vượt bậc của các phương pháp học sâu đã giúp thị
giác máy tính đạt được những thành tựu đáng kể trong vấn đề nhận biết, phân tích, nhận
dạng và phân loại dữ liệu ảnh trên mạng CNN kết hợp với các kỹ thuật tối ưu nhằm nâng
cao khả năng phân loại các đối tượng và truy xuất dữ liệu ảnh [4]. Ưu điểm của CNN là
tận dụng được tính năng trích chọn đặc trưng của lớp tích chập và bộ phân lớp được huấn
luyện đồng thời. Nó có thể giải quyết các bài toán với số lượng lớn các biến, tham số kích
thước đầu vào lớn với hiệu năng cũng như độ chính xác vượt trội so với các phương pháp
phân lớp truyền thống. Mạng nơ-ron tích chập CNN là mô hình được sử dụng phổ biến
trong cộng đồng máy học cho hiệu quả trong các bài toán phân loại hình ảnh [5].
Từ những phân tích trên và sự gợi ý của giảng viên hướng dẫn, tôi quyết định chọn
nội dung “Phân lớp ngữ nghĩa hình ảnh dựa trên mạng nơ-ron tích chập” để làm đề tài
nghiên cứu thực hiện luận văn thạc sỹ của mình, với hy vọng có ý nghĩa và thiết thực,
ứng dụng thành công các mô hình học sâu hiện đại để xây dựng một hệ truy vấn ảnh theo
hướng tiếp cận ngữ nghĩa để tăng độ chính xác hơn so với các phương pháp tìm kiếm ảnh
theo các văn bản đi kèm với ảnh hoặc theo nội dung của ảnh, nhằm phục vụ cho nhiều
lĩnh vực khác nhau trong đời sống kinh tế xã hội, như nhận dạng và phân loại nông sản,
thủy sản trong lĩnh vực nông nghiệp và nông thôn,… nhằm góp phần bắt nhịp xu hướng
thời đại cách mạng công nghiệp 4.0, đã có tác động sâu sắc đến định hướng phát triển
kinh tế xã hội ở nước ta trong nhiều lĩnh vực như nông nghiệp thông minh, giao thông
thông minh, y tế thông minh,…
2. Mục tiêu của đề tài
Trong luận văn này, đề xuất mô hình học sâu là mạng nơ-ron tích chập trong việc
phân loại tập ảnh. Đồng thời, kết hợp ngữ nghĩa vào việc tìm kiếm dựa trên một domain-
ontology để mô tả các mối quan hệ giữa các chủ đề ảnh cần phân lớp. Phương pháp tìm
2
kiếm này không những hiệu quả và chính xác hơn phương pháp tìm kiếm dựa trên meta-
data hoặc nội dung của ảnh mà còn cho phép mở rộng và đa dạng hóa kết quả tìm kiếm
thông qua việc kết hợp ngữ nghĩa vào việc tìm kiếm.
2.1. Đối tượng nghiên cứu
Đề tài tiếp cận nghiên cứu các đối tượng về ảnh số, trích xuất đặc trưng trên ảnh
để làm cơ sở phân lớp dựa trên kỹ thuật mạng nơ-ron tích chập. Kết hợp ngữ nghĩa vào
quá trình tìm kiếm dựa trên một domain ontology được xây dựng để mô tả các mối quan
hệ ngữ nghĩa giữa các chủ đề ảnh.
2.2. Phương pháp nghiên cứu
Thực hiện việc phân tích hình ảnh để trích xuất đặc trưng hình ảnh và phân lớp dữ
liệu hình ảnh dựa trên mạng nơ-ron tích chập. Xây dựng một hệ truy vấn ảnh dựa trên
dựa trên mô hình phân loại ảnh CNN và kết hợp với domain ontology để hỗ trợ tìm kiếm
theo ngữ nghĩa.
2.3. Ý nghĩa của đề tài
Về khoa học: Đề tài sẽ mang ý nghĩa cung cấp về mặt lý thuyết để làm rõ về
phương pháp và kỹ thuật phân loại ảnh, truy vấn ảnh theo ngữ nghĩa.
Về thực tiễn: Góp phần cho việc truy vấn ảnh theo ngữ nghĩa dựa trên mô hình
phân loại ảnh CNN và kết hợp với domain ontology để hỗ trợ tìm kiếm theo ngữ nghĩa.
Cấu trúc luận văn được tổ chức gồm bốn chương, cụ thể như sau:
Chương 1: Tổng quan phân tích ngữ nghĩa hình ảnh
Nội dung chương này nhằm giới thiệu tổng quan phân tích ngữ nghĩa hình ảnh với
những đặc trưng văn bản đi kèm ảnh, đặc trưng nội dung ảnh, hướng tiếp cận ngữ nghĩa
hình ảnh và điểm qua một số nghiên cứu, công trình liên quan với phân tích ưu nhược
điểm. Từ đó làm cơ sở cho quá trình đề xuất một phương pháp tra cứu ảnh theo ngữ nghĩa
3
dựa trên mô hình phân loại ảnh CNN.
Chương 2: Tổng quan về Mạng nơ-ron tích chập
Trình bày tổng quan về mạng nơ-ron tích chập, với kiến trúc mạng qua lớp tích
chập nhằm trích xuất đặc trưng ảnh, biểu diễn vector đặc trưng cho việc phân loại ảnh,…
và kỹ thuật tối ưu mạng nhằm hạn chế overfiting. Bên cạnh đó cũng điểm qua một số
kiến trúc mạng CNN phổ biến, qua đó đề xuất mô hình cho bài toán phân lớp dữ liệu hình
ảnh trong chương sau.
Chương 3: Đề xuất mô hình phân loại ảnh và kết hợp tìm kiếm theo ngữ nghĩa.
Trong chương này đề xuất kiến trúc cho hệ thống với một mô hình cụ thể cho bài
toán phân lớp dữ liệu hình ảnh và mô hình tìm kiếm ảnh theo hướng tiếp cận ngữ nghĩa
với kỹ thuật ontology. Việc phân tích và mô tả mô hình được thực hiện nhằm minh chứng
tính khả thi và tính đúng đắn để từ đó làm cơ sở cho việc ứng dụng thực nghiệm.
Chương 4: Kết quả thử nghiệm và đánh giá
Trong chương này mô tả quá trình thực nghiệm và kết quả thực nghiệm trên cơ sở
dữ liệu hình ảnh thu thập từ bộ dữ liệu ImageNet nổi tiếng. Kết quả thực nghiệm được
4
phân tích đánh giá để từ đó đưa ra định hướng phát triển tiếp theo cho hệ thống sau này.
CHƯƠNG 1
TỔNG QUAN PHÂN TÍCH NGỮ NGHĨA HÌNH ẢNH
Trong những năm gần đây, dữ liệu hình ảnh đã gia tăng một cách nhanh chóng cả
về dung lượng lẫn về thể loại. Các dữ liệu hình ảnh đều phục vụ cho nhiều lĩnh vực quan
trọng trong cuộc sống như trong các hệ thống giao thông, an ninh, y tế,... Vì thế việc phân
tích một lượng lớn dữ liệu ảnh để nhận dạng, phân loại và tìm kiếm đóng vai trò hết sức
quan trọng trong các hệ thống đa phương tiện. Các nhà khoa học trong thập kỷ qua đã đề
xuất rất nhiều phương pháp tiếp cận hiệu quả cho tìm kiếm hình ảnh đang có xu hướng
trở nên phổ biến. Với nguồn tài nguyên ảnh vô cùng to lớn trên mạng internet, thì việc
tìm kiếm chính xác một bức ảnh đúng với yêu cầu của người dùng đối với thế hệ Web
2.0 đang gặp nhiều khó khăn.
Chúng ta khó có thể tìm kiếm một bức ảnh theo cách thông thường, có nghĩa là
việc tìm kiếm được thực hiện lần lượt trên từng tấm ảnh cho đến khi tìm thấy đúng ảnh
có nội dung cần tìm. Hơn nữa, theo sự phát triển của công nghệ số, nguồn tài nguyên ảnh
trên mạng internet ngày càng nhiều. Do đó, nhu cầu thật sự đòi hỏi chúng ta phải có một
công cụ hỗ trợ cho việc tìm kiếm ảnh chính xác là hết sức thiết thực trong thời đại cách
mạng công nghiệp 4.0.
Vì vậy, sự ra đời của Web ngữ nghĩa [6] đã mở ra một bước tiến của công nghệ
Web. Web ngữ nghĩa (Web 3.0) là bước tiến lớn so với kỹ thuật của Web 2.0 về khả năng
làm việc với thông tin thay vì chỉ đơn thuần là lưu trữ, cùng với xử lý ngôn ngữ tự nhiên,
trí thông minh nhân tạo,… đã giúp cho web ngữ nghĩa có cấu trúc hoàn chỉnh và mang
ngữ nghĩa mà máy tính có thể “hiểu” được.
Những thông tin này, có thể được sử dụng lại mà không cần qua các bước tiền xử
lý. Khi sử dụng các máy tìm kiếm thông thường (Google, Yahoo…), tìm kiếm thông tin
trên Web ngữ nghĩa sẽ không tận dụng được những ưu điểm vượt trội của Web ngữ nghĩa,
kết quả trả về không có sự thay đổi. Nói theo một cách khác thì với các máy tìm kiếm
5
hiện tại Web ngữ nghĩa hay Web thông thường chỉ là một.
Do vậy, cần thiết có một hệ thống tìm kiếm ngữ nghĩa (Semantic Search) tìm kiếm
trên Web ngữ nghĩa hay trên một mạng tri thức mang ngữ nghĩa, kết quả trả về là các
thông tin có cấu trúc hoàn chỉnh mà máy tính có thể “hiểu” được, nhờ đó việc sử dụng
hay xử lý thông tin trở nên dễ dàng hơn.
Quá trình truy xuất và hiển thị hình ảnh có liên quan dựa trên các truy vấn của
người dùng từ web hoặc cơ sở dữ liệu hình ảnh. Nói chung các phương pháp truy xuất
hình ảnh được phân thành ba loại kỹ thuật chính bao gồm tìm kiếm dựa trên đặc trưng
văn bản đi kèm ảnh, dựa trên đặc trưng nội dung ảnh và tìm kiếm ảnh theo ngữ nghĩa với
vai trò của ontology trong việc sử dụng bản thể học miền (domain ontology) cụ thể để
truy xuất hình ảnh có liên quan đến truy vấn của người dùng. Ontology được coi là trọng
tâm của web ngữ nghĩa và sẽ là kỹ thuật chính trong tìm kiếm ảnh theo tiếp cận ngữ
nghĩa.
1.1. Đặc trưng văn bản đi kèm ảnh
Mỗi ảnh trên web thường có các văn bản đi kèm như là tên ảnh (title), các thẻ
(tags), bình luận (comment),…để mô tả các thông tin về ảnh, đây là các dữ liệu mô tả về
ảnh (metadata). Các dữ liệu này thường do người dùng tạo ảnh gắn cho mỗi ảnh, vì vậy
chúng đều mang một ý nghĩa nhất định. Độ quan trọng của các loại siêu dữ liệu khác
nhau cũng khác nhau. Ví dụ, các thẻ thường quan trọng hơn tên ảnh, tên ảnh quan trọng
hơn bình luận.
Dưới đây là một ví dụ về văn bản đi kèm một ảnh:
• Title: “Red_Rose Flower”
• Tags: “redRoseflower, hongkongflowershow, 2009, bokeh, ausewaybay,
hongkong, jonnoj, jonbinalay, nikond80, interestingness50”
• Description: “HEAVEN SCENT"...FOR THE LOVE OF THE RED ROSE...
6
• Content:
Hình 1.1: Ví dụ hiển thị một ảnh
Vì văn bản đi kèm ảnh mang ngữ nghĩa về nội ảnh cho nên hai bức ảnh có nội
dung giống nhau thường có tên giống nhau và các thẻ tương tự nhau. Vì vậy, các công
cụ tìm kiếm ảnh theo văn bản đi kèm thường tập trung khai thác nội dung của các văn
bản này để tìm kiếm và xếp hạng ảnh. Phương pháp này cho kết quả khả quan cũng như
đáp ứng nhanh nhu cầu của người sử dụng. Tuy nhiên, với các câu truy vấn mang ý nghĩa
nhập nhằng có thể các kết quả trả về sẽ không đúng với yêu cầu đặt ra. Ví dụ khi truy vấn
là “d-80”, một máy ảnh phổ biến của Nikon, thì các hệ thống trả về kết quả khá tốt như
Hình 1.2 kết quả với truy vấn máy ảnh Nikon “d-80”.
7
Hình 1.2: Ví dụ truy vấn “d-80” của Google
Tuy nhiên, với truy vấn “apple’, nếu người dùng muốn tìm quả táo thì kết quả trả
về đầu tiên không thỏa mãn (logo của hãng Apple) như Hình 1.3 kết quả với truy vấn
“Apple”.
Hình 1.3: Ví dụ truy vấn “Apple” của Google
Mặt khác, các albumn cá nhân thường không có các thẻ hoặc văn bản đi kèm ảnh.
Cùng với số lượng ảnh số được chụp thêm mỗi ngày, việc gán thủ công các thẻ cho ảnh
rất tốn kém. Một hướng nghiên cứu nhằm khắc phục vấn đề trên là tìm kiếm theo chính
các đặc trưng trích xuất từ nội dung của ảnh.
1.2. Đặc trưng nội dung ảnh
Các đặc trưng phổ biến nhất được sử dụng là màu sắc, kết cấu và hình dạng. Tìm
kiếm ảnh theo nội dung (CBIR) hay truy vấn theo nội dung ảnh (QBIC) là một ứng dụng
của thị giác máy tính đối với bài toán tìm kiếm ảnh. Dựa vào nội dung ảnh việc tìm kiếm
sẽ phân tích nội dung thực sự của các bức ảnh. Nội dung ảnh ở đây được thể hiện bằng
màu sắc, hình dạng, kết cấu (texture), các đặc trưng cục bộ (local features),… hay bất cứ
thông tin nào có từ chính nội dung ảnh với một số đặc trưng [7]:
- Đặc trưng màu sắc: Màu sắc là một đặc trưng nổi bật và được sử dụng phổ biến
8
nhất trong tìm kiếm ảnh theo nội dung. Đây là phương pháp đơn giản, tốc độ tìm kiếm
tương đối nhanh tuy nhiên kết quả tìm kiếm có độ chính xác không cao. Mỗi một điểm
ảnh (thông tin màu sắc) có thể được biểu diễn như một điểm trong không gian màu sắc
ba chiều. Trong đó, lược đồ màu RGB được sử dụng phổ biến nhất. Tìm kiếm ảnh theo
màu sắc tiến hành tính toán biểu đồ màu cho mỗi ảnh để xác định tỉ trọng các điểm ảnh
của ảnh mà chứa các giá trị đặc biệt (màu sắc). Các nghiên cứu gần đây đang cố gắng
phân vùng ảnh theo các màu sắc khác nhau và tìm mối quan hệ giữa các vùng này.
- Đặc trưng kết cấu: Hiện tại, vẫn chưa có một khái niệm chính thức cụ thể về kết
cấu. Kết cấu là một đối tượng dùng để phân hoạch ảnh ra thành những vùng quan tâm để
phân lớp những vùng đó. Kết cấu cung cấp thông tin về sự sắp xếp về mặt không gian
của màu sắc và cường độ một ảnh. Kết cấu được đặc trưng bởi sự phân bổ không gian
của những mức cường độ trong một khu vực láng giềng với nhau. Kết cấu gồm các kết
cấu gốc hay nhiều kết cấu gộp lại đôi khi còn gọi là texel.
Hình 1.4: Ví dụ về một số lọai kết cấu
Kết cấu được biểu diễn bởi các texel mà sau đó được đặt vào một số các tập phụ
thuộc vào số kết cấu được phát hiện trong ảnh. Các tập này không chỉ xác định các kết
cấu mà còn chỉ rõ vị trí các kết cấu trong ảnh. Việc xác định các kết cấu đặc biệt trong
ảnh đạt được chủ yếu bằng cách mô hình các kết cấu như những biến thể cấp độ xám 2
9
chiều. Ví dụ về một số loại kết cấu như Hình 1.4.
- Đặc trưng hình dạng: Hình dạng của một ảnh hay một vùng là một đặc trưng
quan trọng trong việc xác định và phân biệt ảnh trong nhận dạng mẫu. Mục tiêu chính
của biểu diễn hình dạng trong nhận dạng mẫu là đo thuộc tính hình học của một đối tượng
được dùng trong phân lớp, so sánh và nhận dạng đối tượng.
Màu sắc và kết cấu là những thuộc tính có khái niệm toàn cục trong một ảnh.
Trong khi đó, hình dạng không phải là một thuộc tính của ảnh. Nói tới hình dạng không
phải là nhắc đến hình dạng của một ảnh. Thay vì vậy, hình dạng có khuynh hướng chỉ
đến một khu vực đặc biệt trong ảnh, hay hình dạng chỉ là biên của một đối tượng nào đó
trong ảnh. Trong tìm kiếm ảnh theo nội dung, hình dạng là một cấp cao hơn so với màu
sắc và kết cấu. Nó đòi hỏi sự phân biệt giữa các vùng để tiến hành xử lý về độ đo của
hình dạng. Các hệ thống tìm kiếm ảnh theo nội dung thường khai thác hai nhóm biểu diễn
hình dạng sau:
+ Biểu diễn hình dạng theo đường biên: Biểu diễn các đường biên bao bên ngoài
+ Biểu diễn theo vùng: Biểu diễn một vùng toàn vẹn.
Tìm kiếm ảnh theo mẫu (example-based image search)
Tìm kiếm ảnh theo mẫu là một dạng của tìm kiếm ảnh dựa vào nội dung. Trong
hệ thống đó, đầu vào là một ảnh, hệ thống tìm kiếm và trả lại cho người dùng những ảnh
tương đồng với ảnh mẫu.
1.3. Hướng tiếp cận theo ngữ nghĩa hình ảnh
Trong phần trên đã đề cập đến 2 kỹ thuật đặc trưng là đặc trưng văn bản đi kèm
ảnh và đặc trưng nội dung ảnh cho nục đích tìm kiếm hình ảnh dựa trên văn bản và dựa
trên nội dung.
- Trong tìm kiếm dựa trên văn bản đi kèm với ảnh, các hình ảnh được tìm kiếm
thông qua việc kết hợp các truy vấn của người dùng và chú thích từ khoá. Mô tả về hình
10
ảnh thường do người dùng cung cấp. Hệ thống tìm kiếm dựa trên từ khoá khớp với tìm
kiếm văn bản của người dùng để mô tả văn bản của hình ảnh và trả lại tất cả các hình ảnh
có mô tả phù hợp. Tuy nhiên, phương pháp tìm kiếm ảnh dựa trên văn bản hoặc các mô
tả (meta-data) kèm theo ảnh sẽ không chính xác khi các mô tả này bị sai sót hoặc không
tồn tại, có thể các kết quả trả lại có chứa hình ảnh không liên quan.
- Hệ thống truy xuất hình ảnh dựa trên nội dung (CBIR) đã được nghiên cứu trong
nhiều năm, tập trung vào việc trích xuất và so sánh các tính năng trực quan cấp thấp như
màu sắc, kết cấu, hình dạng và vị trí,… để lấy lại hình ảnh. Các tính năng cấp thấp này
được trích xuất từ hình ảnh tự động. Các nhà nghiên cứu trong thập kỷ qua đã chứng
minh tính hiệu quả và tính chính xác trong nghiên cứu xử lý hình ảnh kỹ thuật số để tạo
ra nội dung trực quan để sử dụng. Tuy nhiên, phương pháp này vẫn còn hạn chế là làm
cách nào để xác định và chọn ra được những đặc trưng đại diện có ảnh hưởng cao đến độ
chính xác của kết quả tìm kiếm? Quá trình chọn lựa sẽ mất nhiều thời gian trong quá trình
xây dựng hệ thống. Hơn nữa khả năng phân loại một số lượng lớn các hình ảnh với độ
chính xác cao bị hạn chế bởi các đặc trưng, sự biến thiên về hình dạng, màu sắc.
- Tìm kiếm dựa trên ngữ nghĩa cung cấp kết quả phù hợp và có liên quan hơn so
với tìm kiếm dựa trên từ khóa truyền thống, áp dụng ngữ nghĩa để nâng cao khả năng
truy xuất hình ảnh. Hiệu quả của tìm kiếm dựa trên ngữ nghĩa phụ thuộc vào việc sử dụng
các thuộc tính và mối quan hệ giữa các hình ảnh được gọi là Ontology [8] và nó được
xây dựng bằng cách xem xét mức độ hiểu biết của con người. Ontology được xây dựng
bằng cách sử dụng các tính năng cấp thấp như kết cấu, màu sắc và hình dạng của hình
ảnh để tái tạo sự hiểu biết của con người. Để biểu diễn, tổ chức và truy xuất hình ảnh, các
phương pháp tìm kiếm dựa trên ngữ nghĩa mang lại kết quả và hiệu quả bằng cách sử
dụng bản thể học (ontology) hình ảnh.
+ Ontology là một tập hợp các thuật ngữ tri thức, bao gồm từ vựng, các quan hệ
ngữ nghĩa, và một số luật suy diễn và logic về lĩnh vực chủ đề cụ thể. Ontology về một
lĩnh vực sẽ mô tả rõ ràng những thực thể, khái niệm, ràng buộc, quan hệ ngữ nghĩa thuộc
lĩnh vực đó giúp con người và máy có thể hiểu và suy luận được theo ngữ nghĩa trong
11
lĩnh vực đó.
+ Ontology cung cấp phương pháp tiếp cận để truy xuất hình ảnh, nó ánh xạ các
trích xuất hình ảnh có liên quan từ cơ sở dữ liệu bằng cách sử dụng các tính năng cấp
thấp như kết cấu, hình dạng và màu sắc với các khái niệm ontology cấp cao. Là một công
nghệ chính của web ngữ nghĩa, đại diện cho kiến thức trong web ngữ nghĩa. Web ngữ
nghĩa là bước tiến lớn so với kỹ thuật của Web thế hệ 2.0 về khả năng làm việc với thông
tin thay vì chỉ đơn thuần là lưu trữ, cùng với xử lý ngôn ngữ tự nhiên, trí thông minh nhân
tạo,… đã giúp cho web có thể hiểu những gì chúng ta nghĩ.
Trong web ngữ nghĩa (Semantic Web), dữ liệu ảnh có ý nghĩa rất rõ ràng. Nó cho
phép mọi người tạo ra các kho dữ liệu trên web, xây dựng các từ vựng và viết các quy
tắc để xử lý dữ liệu. Mạng ngữ nghĩa nhằm trình bày dữ liệu web mà máy tính được hiểu
là để làm tổng hợp và tìm kiếm thông tin trên web mà không có người điều khiển con
người. Nó thêm metadata vào các tài liệu hiện có để mở rộng các tài liệu đó thành các
thông tin được xác định rõ ràng. Phần mở rộng này cho phép web tự động được xử lý
bằng máy móc và được sử dụng bởi con người.
Với việc tìm kiếm ảnh theo tiếp cận ngữ nghĩa, người dùng có thể thu thập ảnh
theo nội dung hiệu quả cho web ngữ nghĩa. Tuy nhiên, vẫn cần thêm cơ chế để giảm
khoảng cách ngữ nghĩa với nội dung của các đối tượng. Đối với các đối tượng trực quan,
các tính năng cấp thấp như kích thước, màu sắc, kết cấu,... có thể được sử dụng để tìm
các đối tượng thích hợp dựa trên yêu cầu của người dùng. Ngoài ra, các kỹ thuật khác
nhau được sử dụng để lấy nội dung dữ liệu ảnh.
Tìm kiếm hình ảnh theo cách tiếp cận dựa trên nội dung với các tính năng ngữ
nghĩa đang được sử dụng rộng rãi. Cách tiếp cận xử lý ngôn ngữ tự nhiên được tích hợp
với các tính năng cấp thấp được sử dụng để tìm kiếm hình ảnh. Nó cung cấp cơ sở ngữ
nghĩa cho việc tạo ra ontology của cơ sở dữ liệu hình ảnh và cải thiện độ chính xác của
truy xuất.
12
+ Một số ngôn ngữ để xây dựng ontology là RDF, OWL, SPARQL [9].
Hình 1.5: Minh họa các tầng ngôn ngữ dùng trong ontology
1.4. Trích xuất đặc trưng
Phân lớp ngữ nghĩa hình ảnh là một kỹ thuật để rút gọn đặc trưng nhằm giải quyết
vấn đề thu gọn chiều dữ liệu cho giải quyết các vấn đề nêu trên. Rút gọn đặc trưng được
phân loại thành “lựa chọn đặc trưng” và “trích xuất đặc trưng”. Trong đó, lựa chọn đặc
trưng có thể chọn ra một nhóm con các đặc trưng phù hợp, liên quan từ tập dữ liệu gốc
bằng cách loại bỏ các đặc trưng nhiễu, dư thừa không liên quan, trong khi đó hướng tiếp
cận trích xuất đặc trưng xác định một phép biến đổi đặc trưng hiệu quả để thu được tập
đặc trưng mới phù hợp với bộ phân lớp tương ứng.
Trích xuất đặc trưng được hiểu là quá trình thu gọn hoặc biến đổi không gian biểu
diễn dữ liệu ban đầu thành một không gian con hoặc một không gian mới có số đặc trưng
nhỏ hơn không gian ban đầu mà vẫn giữ được các đặc tính của dữ liệu gốc. Trong nhiều
trường hợp, tập dữ liệu ban đầu có chứa nhiều đặc trưng không liên quan cho sự mô tả
bản chất của hiện tượng mà ta quan tâm, khi đó có thể loại bỏ các đặc trưng không liên
13
quan này và chỉ giữ lại các đặc trưng quan trọng.
Trích xuất đặc trưng [10]: biến đổi không gian đặc trưng ban đầu sang một không
gian khác mà có thể dễ dàng phân tích hơn. Hay nói cách khác là nó xây dựng một tập
đặc trưng mới từ tập đặc trưng ban đầu với số đặc trưng nhỏ hơn.
Trích xuất đặc trưng liên quan tới việc tạo ra tập đặc trưng “mới” từ tập đặc trưng
ban đầu, thông qua việc áp dụng một hàm hoặc một quá trình chuyển đổi. Trích xuất đặc
trưng thực hiện một số phép biến đổi từ đặc trưng ban đầu để tạo ra các đặc trưng mới
(tập đặc trưng đích) để có thể dễ dàng phân tích hơn.
1.4.1. Ý nghĩa của trích xuất đặc trưng
- Tăng hiệu năng của thuật toán học do dữ liệu sau khi trích xuất có thể dễ dàng
phân tích hơn so với dữ liệu ban đầu.
- Trực quan hóa dữ liệu được thực hiện dễ dàng hơn do dữ liệu sau phép biến đổi
có thể dễ dàng biểu diễn hơn so với dữ liệu gốc
- Giảm nhiễu và dư thừa.
1.4.2. Các đặc trưng phổ biến
Trích xuất đặc trưng liên quan đến việc trích chọn các thông tin có ý nghĩa từ ảnh.
Vì vậy, nó làm giảm việc lưu trữ cần thiết, và do đó hệ thống sẽ trở nên nhanh hơn và
hiệu quả trong tìm kiếm ảnh theo nội dung (Content Based Images Retrieval - CBIR).
Khi đặc trưng được trích chọn, chúng sẽ được lưu trữ trong cơ sở dữ liệu để sử dụng
trong lần truy vấn sau này. Mức độ mà một máy tính có thể trích chọn thông tin có ích từ
ảnh là vấn đề then chốt nhất cho sự tiến bộ của hệ thống diễn giải hình ảnh thông minh.
Một trong những ưu điểm lớn nhất của trích chọn đặc trưng là nó làm giảm đáng kể các
thông tin (so với ảnh gốc) để biểu diễn một ảnh cho việc hiểu nội dung của ảnh đó. Kỹ
thuật này đã đóng góp rất lớn cho các hướng tiếp cận khác nhau để phát hiện các loại đặc
trưng trong ảnh. Những đặc trưng này có thể được phân loại như là đặc trưng toàn cục và
14
đặc trưng cục bộ [11].
- Đặc trưng toàn cục: Đặc trưng toàn cục phải được tính toán trên toàn bộ ảnh. Ví
dụ, mức độ màu xám trung bình, biểu đồ về cường độ hình dạng, v.v… Ưu điểm của việc
trích chọn toàn cục là nó cho ra cả trích chọn đặc trưng và tính toán độ tương tự một cách
nhanh chóng. Tuy nhiên, chúng có thể bị tràn qua cho vị trí và do đó thì thất bại cho việc
nhận dạng đặc trưng trực quan quan trọng. Để gia tăng cái thô cho biến đổi không gian,
chúng ta có thể tìm hiểu trích chọn đặc trưng cục bộ.
- Đặc trưng cục bộ: Trong đặc trưng toàn cục, việc trích chọn đặc trưng được tính
toán trên toàn bộ ảnh. Tuy nhiên, đặc trưng toàn cục không thể xử lý tất cả các phần của
ảnh có đặc điểm khác nhau. Do vậy, chúng ta cần trích chọn các đặc trưng cục bộ của
ảnh. Các đặc trưng đó có thể được tính toán trên các kết quả của phân đoạn ảnh và thuật
toán phát hiện đường biên. Vì thế, tất cả chúng đều dựa trên một phần của ảnh với một
số tính chất đặc biệt.
- Điểm quan tâm: Trong việc tính toán đặc trưng cục bộ, việc trích chọn đặc trưng
ảnh được giới hạn trong một tập con các điểm ảnh. Các điểm quan tâm, tập các điểm
quan tâm được gọi là điểm nổi bật. Điểm nổi bật là những điểm có biến thiên cao trong
đặc trưng của vùng lân cận điểm ảnh cục bộ. Nhiều hệ thống tìm kiếm ảnh theo nội dung
trích chọn những điểm nổi bật. Ví dụ, chúng ta có thể tham khảo một số đặc trưng cục bộ
như là ảnh nguyên bản, đường tròn, đường nét, texel (các phần tử tập trung ở một khu
vực kết cấu), hoặc các đặc trưng cục bộ khác, hình dạng của đường nét,… Trích xuất nội
dung ảnh theo kết cấu nhằm tìm ra mô hình trực quan của ảnh và cách thức chúng được
xác định trong không gian.
1.5. Các nghiên cứu liên quan
Trong những năm gần đây, có nhiều nhóm nghiên cứu về nâng cao hiệu quả cho
bài toán tìm kiếm ảnh theo nội dung và theo ngữ nghĩa nhằm cải tiến hiệu quả tìm kiếm
ảnh để đáp ứng nhu cầu của người dùng ngày càng tốt hơn, như:
- Trong nghiên cứu của Hyvönen et al, 2003, các tác giả đã trình bày một phương
15
pháp tìm kiếm ảnh theo ngữ nghĩa bằng cách kết hợp meta-data đi kèm với ảnh và
ontology của công nghệ web ngữ nghĩa. Ưu điểm của phương pháp này là dung ontology
để tạo một mạng ngữ nghĩa cho những thông tin có liên quan đến các ảnh trong bộ máy
tìm kiếm. Do đó, phương pháp tìm kiếm này có thể gợi ý những hình ảnh có liên quan về
ngữ nghĩa ngoài các kết quả tìm kiếm dựa trên meta-data [12].
- Nhóm nghiên cứu Magesh, N., and P. Thangaraj, 2011, đề xuất một phương pháp
tìm kiếm ảnh bằng chú thích hình ảnh với ontology để nâng cao khả năng tìm kiếm.
Ontology được sử dụng cho chú thích hình ảnh ngữ nghĩa và tìm kiếm trong bộ sưu tập
lớn các hình ảnh (2000 ảnh). Tạo ra ontology để tìm kiếm hình ảnh với mối quan hệ hoàn
chỉnh, giúp nâng cao khả năng lấy hình ảnh với tốc độ nhanh hơn. Ontology được tạo ra
để xác định không gian ngữ nghĩa. Câu ngôn ngữ tự nhiên RDF (Resource Description
Framework) gán kèm theo mỗi ảnh được chuyển đổi thành câu lệnh SPARQL và các hình
ảnh có liên quan được truy cập bằng truy vấn SPARQL. Truy xuất được thực hiện bằng
cách sử dụng từ khóa mô tả. Cơ sở tri thức được làm giàu bằng các ontology với việc bổ
sung dữ liệu metadata của hình ảnh, để xây dựng các câu trả lời có ý nghĩa hơn cho các
truy vấn [13].
- Năm 2016, Van T.T. và cộng sự đã giới thiệu một phương pháp cải tiến cho hệ
truy vấn ảnh theo nội dung. Trong công trình này, nhóm tác giả đã đề xuất cải tiến một
cấu trúc dữ liệu cây đa nhánh và thực nghiệm trên bộ ảnh COREL. Tuy nhiên, trong công
trình này, nhóm tác giả chưa phân tích ngữ nghĩa hình ảnh, cây S-Tree chưa thể lưu trữ
chỉ mục và chú thích của hình ảnh đồng thời nhóm tác giả chưa tạo ra câu truy vấn
SPARQL để thực hiện hệ truy vấn theo tiếp cận ngữ nghĩa của hình ảnh [14].
- Nghiên cứu gần đây của Patel and Sampat, 2017, đã sử dụng kỹ thuật học sâu
theo sự kết hợp giữa mạng CNN để phân lớp ảnh và mạng RNN để phân tích ngôn ngữ
tự nhiên câu truy vấn nhằm xây dựng hệ thống tìm kiếm ảnh bằng ngôn ngữ tự nhiên.
Phương pháp này có ưu điểm là việc tìm kiếm không cần meta-data. Việc sử dụng CNN
còn giúp tận dụng được ưu điểm của công nghệ học sâu trong phân lớp nội dung ảnh.
Ngoài ra, kết hợp ngôn ngữ tự nhiên trong tìm kiếm giúp cho người dùng có thể đưa ra
16
các truy vấn tìm kiếm một cách tự nhiên, gần gũi hơn [15].
Qua các nghiên cứu trên và các công trình đã công bố cho thấy bài toán phân lớp
và tra cứu ảnh có sự quan tâm của nhiều nhóm tác giả. Những nghiên cứu về tìm kiếm
ảnh theo ngữ nghĩa, mà cụ thể là tìm kiếm ảnh dựa vào ontology cho ra kết quả vô cùng
khả thi khi hiệu suất tìm kiếm nhanh chóng và chính xác hơn mong đợi. Hơn nữa, việc
áp dụng mô hình mạng CNN trong trích chọn các đặc trưng ảnh cho phân lớp để thực
hiện tìm kiếm ảnh theo ngữ nghĩa là một hướng tiếp cận có tính khả thi và nhiều triển
vọng. Đây là một định hướng nghiên cứu phù hợp với xu thế nghiên cứu chung của thế
giới, mang tính cấp thiết cao và có khả năng ứng dụng hiệu quả trong thực tiễn.
1.6. Kết luận
Chương này tập trung vào giới thiệu tổng quan các kiến thức cơ bản về bài toán
đặc trưng văn bản đi kèm ảnh, đặc trưng nội dung ảnh trong kỹ thuật tìm kiếm ảnh, đặc
biệt là trích xuất đặc trưng nội dung thông tin và kỹ thuật ontology để chú thích hình ảnh
ngữ nghĩa và nâng cao khả năng truy xuất hình ảnh theo hướng tiếp cận ngữ nghĩa. Bên
cạnh đó cũng đề cập một số nghiên cứu liên quan, để phân tích và là cơ sở giúp ích cho
định hướng nghiên cứu của luận văn.
Trên cơ sở phân tích trên và sự kế thừa từ các công trình đã có và khắc phục những
hạn chế của các phương pháp liên quan đã công bố, để đưa ra một hệ truy vấn ảnh theo
hướng tiếp cận ngữ nghĩa nhằm nâng cao hiệu quả tìm kiếm, với mô hình truy vấn ảnh
dựa trên kỹ thuật phân loại ảnh CNN với ưu điểm của công nghệ học sâu trong phân lớp
nội dung ảnh và kết hợp với domain ontology để xác định không gian ngữ nghĩa các hình
17
ảnh có liên quan cho việc truy cập bằng cách sử dụng ngôn ngữ truy vấn SPARQL.
CHƯƠNG 2
TỔNG QUAN VỀ MẠNG NƠ-RON TÍCH CHẬP
2.1. Giới thiệu
Khi chúng ta nhìn thấy một cái gì đó, bộ não của chúng ta cảm nhận được nó
bằng sự dán nhãn, dự đoán và nhận ra các hình mẫu cụ thể. Mạng nơ-ron nhân tạo lấy
cảm hứng từ não người, có mối liên kết chặt chẽ với sinh học, cụ thể là của võ não thị
giác, nơi xử lý thông tin liên quan đến hình ảnh từ các tế bào cảm thụ ánh sáng nằm ở
mắt người [16].
Hình 2.1: Mô hình bộ não người
Nghiên cứu trong những thập niên 1950 và 1960 của hai nhà thần kinh học người
Mỹ là D.H Hubel và T.N Wiesel trên não của động vật đã thực hiện thí nghiệm khám phá
cách tổ chức của các tế bào não để xử lý thông tin thị giác và các tổ chức này đảm nhận
nhiệm vụ nào, đề xuất một mô hình mới cho việc cách mà động vật nhìn nhận thế giới.
Trong báo cáo, hai ông đã diễn tả 2 loại tế bào nơ-ron trong não và cách hoạt động khác
18
nhau: tế bào đơn giản (Simple cell - S cell) và tế bào phức tạp (Complex cell - C cell).
Các tế bào đơn giản được kích hoạt khi nhận diện các hình dáng đơn dản như đường nằm
trong một khu vực cố định và một góc cạnh của nó. Các tế bào phức tạp có vùng tiếp
nhận lớn hơn và đầu ra của nó không nhạy cảm với những vị trí cố định trong vùng. Trong
thị giác, vùng tiếp nhận của một nơ-ron tương ứng với một vùng trên võng mạc nơi mà
sẽ kích hoạt nơ-ron tương ứng. Điều này có nghĩa là mỗi neuron được thiết lập để phản
ứng lại một số đặc điểm cố định của nơ-ron đó.
Một mạng lưới thần kinh sẽ học theo thời gian nếu dự đoán của nó là chính
xác. Giống như với bất cứ điều gì khác, phải mất rất nhiều đào tạo cho máy tính để có
được dự đoán của họ đúng, họ không tự động biết cách phân loại những vật thể được gọi
trong thế giới thực.
Để dạy thuật toán nhận diện đối tượng trong hình ảnh, ta sử dụng một loại mạng
nơ-ron tích chập, phép tính quan trọng được sử dụng trong mạng đó là tích chập.
Một máy tính sử dụng CNN xử lý thông tin theo cách tương tự, nhưng nó làm
như vậy bằng cách sử dụng các con số. Con người chúng ta nhận ra các hình mẫu thông
qua cảm nhận thị giác (kết hợp với các giác quan khác của chúng ta), còn một CNN thực
hiện tương tự bằng cách chia nhỏ hình ảnh thành các con số.
19
Hình 2.2: Mạng nơ-ron tích chập hay Convolutional Neural Networks (CNN)
Hoạt động bên trong của CNN rõ ràng phức tạp và mang tính kỹ thuật hơn nhiều
so với chỉ các hình mẫu của con số, nhưng điều quan trọng là phép toán tích chập, sự kết
hợp của hai chức năng tạo ra chức năng thứ ba. Một mạng lưới thần kinh sử dụng tích
chập đang lấy mẫu nhiều bộ thông tin, gộp chúng lại với nhau để tạo ra một đại diện
chính xác của một hình ảnh. Sau khi lấy mẫu, hình ảnh được mô tả trong rất nhiều dữ liệu
mà mạng thần kinh có thể sử dụng để đưa ra dự đoán về nó là gì. Sau đó, máy tính có thể
áp dụng dự đoán đó cho các ứng dụng khác, như mở khóa điện thoại hoặc đề nghị bạn bè
gắn thẻ trên Facebook.
Kiến trúc mạng CNN đã được giới thiệu bởi Yann LeCun và năm 1998, nhưng
sau 14 năm thì mạng CNN mới được sự chú ý của cộng đồng vì sự xuất hiện của bộ ảnh
lớn ImageNet. Ngày nay, mạng CNN đã được phổ biến và trở thành một phương pháp
tiên tiến (state-of-the-art), được ứng dụng nhiều trong lĩnh vực thị giác máy tính, nhận
dạng (recognition), khai phá dữ liệu ảnh (image mining)…
2.2. Một số khái niệm
Ngày nay, trong kỷ nguyên số, máy tính là một phần không thể thiếu trongb nghiên
cứu khoa học cũng như trong đời sống hàng ngày. Tuy nhiên, do hệ thống máy tính dựa
trên lý thuyết cổ điển (tập hợp, logic nhị phân), nên dù có khả năng tính toán lớn và độ
chính xác cao, thì máy tính cũng chỉ có thể làm việc theo một chương trình gồm các thuật
toán được viết sẵn do lập trình viên chứ chưa thể tự lập luận hay sáng tạo [17].
- Học máy (Machine learning) là một phương pháp phân tích dữ liệu có thể tự
động hóa phân tích dữ liệu và tìm ra các trích xuất đặc trưng của bộ dữ liệu. Học máy sử
dụng các thuật toán trừu tượng để tự học từ dữ liệu, cho phép máy tính tìm thấy những
thông tin có giá trị ẩn ở rất sâu mà không thể lập trình được bằng cách thông thường. Khi
tiếp xúc với dữ liệu mới, học máy có thể thích ứng rất nhanh và độc lập.
- Học sâu (Deep Learning) là một ngành đặc biệt của học máy. Học sâu sử dụng
mạng nơ-ron nhân tạo (Artificial Neural Networks) để giải quyết các bài toán mà tính
20
toán cứng chưa thể xử lý được như dữ liệu trừu tượng, dữ liệu mờ, dữ liệu không rõ
ràng,... Với tính chất như vậy, học sâu thường đượ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 hoặc dự đoán, dự báo [18].
- Mạng nơ-ron nhân tạo (Artificial Neural Networks) là một mô hình xử lý thông
tin, cấu thành từ các lớp nơ-ron, được ra đời trên cơ sở mô phỏng hoạt động não bộ của
sinh vật. Mạng nơ-ron nhân tạo gắn kết nhiều nơ-ron theo một mô hình nhất định, được
trải qua huấn luyện để rút ra được kinh nghiệm, và sử dụng các kinh nghiệm đã có để xử
lý các thông tin mới. Mạng nơ-ron nhân tạo thường áp dụng vào giải các bài toán nhận
dạng mẫu, hoặc dự đoán.
- Mạng nơ-ron tích chập (Convolutional Neural Network) là một trong những mô
hình học sâu hiện đại nhất hiện nay. Mạng nơ-ron Tích chập hiện nay thường được sử
dụng nhiều trong các hệ thống thông minh do ưu điểm của mạng là có độ chính xác cao,
tuy nhiên tốc độ tính toán lại rất nhanh. Vì lý do đó, mạng nơ-ron tích chập rất mạnh
trong xử lý hình ảnh, và được ứng dụng rất nhiều trong ngành thị giác máy tính trong các
bài toán liên quan đến nhận dạng đối tượng.
Máy tính nhìn hình ảnh dưới dạng mảng các pixel và nó phụ thuộc vào độ phân
giải của hình ảnh. Mạng nơ-ron tích chập là một trong những mô hình Deep Learning
tiên tiến và phổ biến. Nó giúp cho chúng ta xây dựng được những hệ thống thông minh
với độ chính xác cao, được sử dụng nhiều trong các bài toán nhận dạng các đối tượng
trong ảnh. Như hệ thống xử lý ảnh lớn như nhận diện khuôn mặt người dùng, phát triển
xe hơi tự lái hay drone giao hàng tự động.
2.3. Kiến trúc mạng nơ-ron tích chập
Hình 2.3 trình bày một kiến trúc mạng CNN, các lớp cơ bản trong một mạng CNN
bao gồm: lớp tích chập (Convolutional); hàm kích hoạt ReLU (Rectifed Linear Unit); lớp
lấy mẫu (Pooling); lớp kết nối đầy đủ (Fully connected) được thay đổi về số lượng và
21
cách sắp xếp để tạo ra các mô hình huấn luyện phù hợp cho từng bài toán khác nhau [19].
Hình 2.3: Kiến trúc của CNN
Mạng nơ-ron tích chập có kiến trúc khác với mạng nơ-ron thông thường. Mạng
nơ-ron thông thường chuyển đổi đầu vào thông qua hàng loạt các lớp ẩn. Mỗi lớp là một
tập các nơ-ron và các lớp được liên kết đầy đủ với các nơ-ron ở lớp trước đó. Và ở lớp
cuối cùng sẽ là lớp kết quả đại diện cho dự đoán của mạng.
Hình 2.4: Mạng nơ-ron thông thường
22
Hình 2.5: Mạng nơ-ron tích chập
Về mặt kỹ thuật, mô hình học sâu CNN sẽ thực hiện một chuỗi phép toán tích
chập (convolution) + lấy mẫu (pooling), tiếp theo là một số lớp được kết nối đầy đủ và
sau đó sẽ dẫn tới các đơn vị là đại diện cho mỗi lớp với hàm kích hoạt là softmax để phân
loại một đối tượng có giá trị xác suất từ 0 đến 1. Sau đây sẽ đi sâu vào từng thành phần.
2.3.1. Lớp tích chập (Convolutional)
Lớp tích chập là một khối quan trọng của mạng nơ-ron tích chập nhằm thực hiện
trích xuất đặc trưng không gian cho hình ảnh, thể hiện sự liên kết cục bộ thay vì kết nối
toàn bộ các điểm ảnh. Các liên kết cục bộ được tính toán bằng phép tích chập giữa các
giá trị điểm ảnh trong một vùng ảnh cục bộ với các bộ lọc (flters) có kích thước nhỏ. Tích
chập được áp dụng trên dữ liệu đầu vào bằng cách sử dụng bộ lọc tích chập hay còn gọi
là mặt nạ tích chập (kernel) để tạo ra một bản đồ đặc trưng (feature map).
Hình 2.6: Minh họa ảnh dữ liệu đầu vào và bộ lọc
Phép tích chập được sử dụng trong xử lý ảnh để tạo ra ảnh mờ hoặc ảnh rõ, sắc
nét... Dựa trên mặt nạ tích chập (kernel) phép tích chập hình ảnh được thực hiện để tìm
ra đặc trưng của hình ảnh. Giả sử ta có chiều cao n và chiều rộng m, ma trận mặt nạ tích
chập K và I là hình ảnh, ta có phép toán tính tích chập được thực hiện như sau:
23
(1.1)
(2.2)
Nếu mặt nạ tích chập đối xứng theo chiều dọc và ngang thì phép tích chập là:
(2.3)
Trong xử lý ảnh, một Kernel được sử dụng với kích thước thông thường là 3x3,
5x5, 7x7,… và mỗi hình ảnh lại có một kích thước bất kỳ. Do đó, việc tính toán tích chập
được di chuyển Kernel trên toàn bộ hình ảnh bắt đầu từ góc trên bên trái. Sau đó, mặt nạ
Kernel được dịch chuyển sang phải một điểm ảnh (pixel) và một giá trị tích chập mới
được tính. (Lưu ý: vùng ảnh tính tích chập và mặt nạ Kernel có cùng kích thước). Khi
dịch chuyển Kernel từ góc trên bên trái đến toàn bộ hình ảnh để tính tích chập, một ánh
xạ đặc trưng hay còn gọi là bản đồ đặc trưng (feature map) được tạo ra.
24
Hình 2.7: Minh họa tích chập ảnh đầu vào và kết quả Bảng đồ đặc trưng
Mặt nạ kernel trong hình vẽ được sử dụng để dò cạnh của đối tượng, các giá trị
dương trong feature map mô tả các đặc tính có thể nhìn thấy được, các giá trị zero có
nghĩa là không có giá trị đặc trưng và các giá trị âm mô tả các đặc trưng dưới dạng âm
bản của các đặc tính dương. Kết quả feature map đầu ra nhỏ hơn kích thước của ảnh ban
đầu sau khi đã thực hiện phép toán tích chập. Nếu sử dụng một kernel càng lớn hơn thì
feature map sẽ càng nhỏ hơn. Giả sử một kernel có kích thước là thì ảnh đầu vào
sẽ giảm kích thước là . Để feature map đầu ra có cùng kích thước với ảnh
đầu vào, ta cần phải thêm các giá trị cho ảnh đầu vào (thường là giá trị 0). Ví dụ như nếu
ảnh đầu vào có kích thước là và kernel có kích thước là thì ta phải thêm 4
dòng (cột) cho ảnh đầu vào, hoặc có thể thêm 2 dòng và 2 cột cho mỗi cạnh bên của ảnh
đầu vào.
Việc thực hiện phép toán tích chập này tương tự như tính toán các nơ-ron nhưng
kết nối không đầy đủ (nghĩa là mỗi nơ-ron không kết nối với toàn bộ nơ-ron ở lớp trước
đó). Theo như ví dụ trên, ảnh đầu vào có kích thước là được thực hiện tích chập với
kernel và cho kết quả là feature map có kích thước , nghĩa là đầu vào là 64
nút, đầu ra tương ứng với 36 nơ-ron, mỗi nơ-ron này chỉ kết nối với một nhóm các nơ-
ron trước đó dựa trên phép tích chập (trong trường hợp trên là 9 kết nối). Các kết nối này
được thực hiện cùng một cách dựa trên việc trượt mặt nạ kernel trên ảnh ban đầu để tính
tích chập.
Trong thực nghiệm, mỗi lớp tích chập dựa trên nhiều mặt nạ kernel khác nhau và
được xem như là một mạng nơ-ron nhân tạo với trọng số là các giá trị trong kernel và giá
trị bias được tạo ra tương ứng với các feature map khác nhau. Ví dụ như hình trên nhưng
lớp tích chập có 5 kernel, mỗi kernel có kích thước là , với 36 đầu ra cho mỗi kernel
(theo cơ chế share weight), khi đó số nơ-ron đầu ra là . Mỗi nhóm nơ-ron
chia sẻ các trọng số, do đó ta có 45 trọng số trong 5 nhóm kernel và 5 giá trị bias cho toàn
25
mạng trong trường hợp này.
Nếu áp dụng mạng tích chập cho ảnh màu thì các nơ-ron đầu ra là ba chiều theo
không gian màu RGB, mỗi chiều là một dãy các feature map theo từng màu sắc. Tại mỗi
(2.4)
điểm , công thức tích chập có thể được mô tả lại như sau:
Ví dụ: có hình ảnh 32x32x3 và sử dụng bộ lọc có kích thước 5x5x3 (lưu ý rằng độ
sâu của bộ lọc tích chập khớp với độ sâu của hình ảnh, cả hai đều là 3). Khi bộ lọc ở một
vị trí cụ thể, nó sẽ bao phủ một lượng nhỏ đầu vào và thực hiện phép toán tích chập được
mô tả ở trên. Tiến hành trượt bộ lọc qua đầu vào như trên và thực hiện phép tích chập ở
mọi vị trí tổng hợp kết quả trong một bản đồ đặc trưng. Bản đồ đặc trưng này có kích
thước 32x32x1, được hiển thị dưới dạng lát màu đỏ ở bên phải Hình 2.8.
Hình 2.8: Minh họa quá trình tích chập nhiều lớp
Nếu sử dụng 10 bộ lọc khác nhau, thì sẽ có 10 bản đồ đặc trưng có kích thước
32x32x1 và xếp chúng dọc theo kích thước chiều sâu sẽ cho kết quả cuối cùng của lớp
tích chập: một khối lượng có kích thước 32x32x10, được hiển thị dưới dạng hộp lớn màu
xanh lam ở bên phải. Lưu ý rằng chiều cao và chiều rộng của bản đồ đặc trưng là không
26
thay đổi và vẫn là 32, đó là do có lớp đệm.
Hình 2.9 dưới đây, ta có thể thấy cách hai bản đồ đặc trưng được xếp chồng lên
nhau dọc theo chiều sâu. Thao tác tích chập cho mỗi bộ lọc được thực hiện độc lập và
các bản đồ tính năng kết quả là rời rạc.
Hình 2.9: Minh họa bảng đồ đặc trưng xếp chồng lên nhau
* Lớp tích chập như là bộ phát hiện đặc trưng (feature detector)
Lớp tích chập có chức năng chính là phát hiện các đặc trưng cụ thể của bức ảnh.
Những đặc trưng này bao gồm đặc trưng cơ bản là góc, cạnh, màu sắc, hoặc đặc trưng
phức tạp hơn như texture của ảnh. Vì bộ lọc quét qua toàn bộ bức ảnh, nên những đặc
trưng này có thể nằm ở vị trí bất kì trong bức ảnh, cho dù ảnh bị xoáy trái/phải thì những
đặc trưng này vẫn bị phát hiện.
2.3.2. Hàm kích hoạt ReLU
Hàm kích hoạt được xây dựng để đảm bảo tính phi tuyến của mô hình huấn luyện
sau khi đã thực hiện một loạt các phép tính toán tuyến tính qua các lớp tích chập, với đầu
ra là một ảnh mới có kích thước giống với ảnh đầu vào, để đạt được điều này bằng cách
chuyển tổng trọng số các đầu vào của nó thông qua một hàm kích hoạt, các giá trị điểm
ảnh cũng hoàn toàn tương tự, trừ các giá trị âm đã bị loại bỏ.
Các hàm kích hoạt phi tuyến như ReLU hoặc sigmoid, tanh… để giới hạn phạm
27
vi biên độ cho phép của giá trị đầu ra. Trong số các hàm kích hoạt này, hàm ReLU (ReLU
activation function) định nghĩa là f(x) = max(0,x) thường được chọn do cài đặt đơn giản,
tốc độ xử lý nhanh mà vẫn đảm bảo được tính toán hiệu quả.
Hình 2.10: Các hàm kích hoạt
Hàm ReLU về cơ bản là nhằm hiệu chỉnh giá trị các nút trong mạng, nó có vai trò
quan trọng trong quá trình xử lý của mạng CNN nhằm loại bỏ những phần tử âm và thay
thế tất cả các phần tử âm bởi giá trị không (0).
2.3.3. Lớp lấy mẫu (Pooling)
Lớp lấy mẫu thường đi liền sau lớp tích chập và hàm kích hoạt ReLU để làm giảm
kích thước ảnh đầu ra trong khi vẫn giữ được các thông tin quan trọng của ảnh đầu vào.
Việc giảm kích thước dữ liệu có tác dụng làm giảm số lượng tham số, tăng hiệu quả tính
toán và tránh được quá khớp dữ liệu (overfitting). Lớp lấy mẫu cũng sử dụng một cửa sổ
trượt để quét toàn bộ các vùng trong ảnh như lớp tích chập, và thực hiện phép lấy mẫu
thay vì phép tích chập, sẽ chọn lưu lại một giá trị duy nhất đại diện cho toàn bộ thông tin
của vùng ảnh đó. Các phương thức lấy mẫu thường được sử dụng nhất hiện nay, đó là
Max Pooling (lấy giá trị điểm ảnh lớn nhất) và Avarage Pooling (lấy giá trị trung bình
của các điểm ảnh trong vùng ảnh cục bộ). Thông thường kỹ thuật được sử dụng là Max
28
Pooling với cửa sổ phép lọc là và bước nhảy stride = 2.
Như vậy, với mỗi ảnh đầu vào được đưa qua lấy mẫu sẽ thu được một ảnh đầu ra
tương ứng, có kích thước giảm xuống đáng kể nhưng vẫn giữ được các đặc trưng cần
thiết cho quá trình tính toán và nhận dạng.
Hình 2.11: Minh họa việc lấy mẫu con
2.3.4. Lớp kết nối đầy đủ
Lớp cuối cùng trong mô hình CNN là lớp kết nối đầy đủ (fully connected layer),
được thiết kế tương tự như trong mạng nơ-ron truyền thống, tất cả các điểm ảnh được kết
nối đầy đủ với node trong lớp tiếp theo. Fully connected là cách kết nối các nơ-ron ở hai
lớp với nhau trong đó lớp sau kết nối đẩy đủ với các nơ-ron ở lớp trước nó. Đây cũng là
dạng kết nối thường thấy ở ANN, trong CNN lớp này thường được sử dụng ở các lớp
phía cuối của kiến trúc mạng.
Hãy nhớ rằng đầu ra của cả hai lớp tích chập và lấy mẫu đều là khối lượng 3D,
nhưng một lớp được kết nối đầy đủ sẽ mong đợi một vectơ 1D là các số. Vì vậy, san
phẳng đầu ra của lớp lấy mẫu cuối cùng thành một vector và đó trở thành đầu vào cho
lớp được kết nối đầy đủ.
Làm phẳng chỉ đơn giản là sắp xếp khối lượng 3D của các con số thành một vector
1D chứa xác suất của các đối tượng cần được dự đoán.
29
* Hàm truyền SoftMax
Hàm truyền đặt ở lớp cuối cùng trong mạng được sử dụng để phân lớp, ta có thể
sử dụng hàm sigmoid để có đầu ra trong miền giá trị (0, 1) tương ứng với các giá trị phân
bố xác xuất là 0% và 100%. Tuy nhiên, để có tổng xác xuất của các đầu ra là 100% thì
cần phải được thực hiện chuẩn hóa các đầu ra bằng cách sử dụng hàm SoftMax với miền
giá trị (0, 1).
Hàm truyền SoftMax sẽ so sánh kết quả dự đoán của mạng với nhãn thực sự đã
có. Hàm có giá trị bé nếu kết quả dự đoán trùng với nhãn và ngược lại.
(2.5)
Trong đó, y là véc-tơ đầu ra, C là số lượng nhãn, c là nhãn đã biết.
Quá trình huấn luyện nhằm cập nhật các trọng số để tối thiểu hóa tổn hao, kỹ thuật
lan truyền ngược được sử dụng cho quá trình huấn luyện.
* Phân lớp dữ liệu
Trong phần phân lớp, ta sử dụng một vài lớp với kết nối đầy đủ để xử lí kết quả
của phần tích chập. Vì đầu vào của mạng liên kết đầy đủ là 1 chiều, ta cần làm phẳng
đầu vào trước khi phân lớp. Lớp cuối cùng trong mạng CNN là một lớp liên kết đầy
đủ, phần này hoạt động tương tự như mạng nơ-ron thông thường. Kết quả thu được
cuối cùng cũng sẽ là một véc-tơ với các giá trị xác suất cho việc dự đoán như mạng
nơ-ron thông thường.
Hình 2.12 mô tả một ví dụ về mạng nơ-ron tích chập. Mạng gồm hai phần: phần
tích chập và kết nối đầy đủ.
Phần tích chập rút trích tự động đặc trưng của dữ liệu đầu vào, lớp càng nhỏ thì
học các đặc trưng thô (mức thấp), lớp càng sâu thì học đặc trưng càng chi tiết (mức
30
cao) của khái niệm cần học. Ví dụ trong hình cho thấy lớp đầu học các đặc trưng cạnh
(edge), các lớp kế tiếp học được đặc trưng các thành phần, rồi đến đặc trưng chi tiết
của đối tượng học.
Hình 2.12: Một ví dụ về mô hình học sâu dựa trên mạng nơ-ron tích chập
Các vùng sáng trong Hình 2.12 là vùng được “kích hoạt”, nghĩa là bộ lọc đã phát
hiện ra mẫu mà nó đang tìm kiếm. Bộ lọc này dường như mã hóa một máy dò mắt và
mũi. Khi đi sâu hơn vào mạng, các bản đồ đặc trưng trông ít giống với hình ảnh gốc hơn
và giống như một bản trình bày trừu tượng của nó. Lúc đầu có thể nhìn thấy được, nhưng
sau đó nó trở nên không thể nhận ra. Lý do là bản đồ đặc trưng sâu hơn mã hóa các khái
niệm cấp cao như “mũi” hoặc “tai” trong khi bản đồ đặc trưng cấp thấp hơn phát hiện
các cạnh và hình dạng đơn giản. Đó là lý do tại sao bản đồ đặc trưng sâu hơn chứa ít
thông tin hơn về hình ảnh và nhiều thông tin hơn về loại hình ảnh.
2.4. Kỹ thuật tối ưu mạng
Một trong những giải pháp nhằm tối ưu quá trình huấn luyện mạng được đề xuất
là giảm số lượng các trọng số (weight) để tăng tốc độ tính toán, giảm thời gian huấn
luyện, tránh hiện tượng quá khớp khi mà lượng dữ liệu đầu vào là rất lớn như các bức
31
ảnh màu, video…
Khi xây dựng được mạng CNN, ngoài kỹ thuật regularization và pooling ở lớp lấy
mẫu để giảm kích thức ảnh sau khi tính tích chập để lấy các pixel đặc tính đặc trưng nhất,
có thể thêm vào kỹ thuật dropout để tối ưu thời gian huấn luyện và tránh hiện tượng quá
khớp (overfitting). Dropout cắt bớt số nơ-ron khi thực hiện thuật toán lan truyền ngược
nhằm tăng tốc độ huấn luyện mạng. Dropout loại bỏ một cách ngẫu nhiên một số nơ-ron
trong mạng bằng cách cho nó bằng 0 (bỏ kết nối). Có nghĩa là hệ thống sẽ quyết định ngõ
ra trong khi thiếu thông tin [20].
Quá trình loại bỏ ngẫu nhiên các node được minh họa trong Hình 2.13. Ta sẽ xem
xét ảnh hưởng của tỉ lệ này đến kết quả nhận dạng và phân loại ảnh trong phần thực
nghiệm.
Hình 2.13: Mạng nơ-ron trước và sau quá trình Dropout
2.5. Một số Kiến trúc mạng CNN phổ biến
Có một số kiến trúc mạng nơ-ron tích chập nổi tiếng và thông dụng hiện nay. Một
số thử nghiệm cho thấy chúng có hiệu suất tốt hơn. Vì vậy, đôi khi nhiều người sử dụng
mạng được thiết kế sẵn thay vì tự thiết kế mạng. Hầu hết các mạng CNN đều được thiết
kế theo nguyên tắc chung:
32
• Sử dụng nhiều convolution layer chồng lên nhau
• Giảm dần kích thước output mỗi lớp
• Tăng dần số lượng feature map
Trong khi các mạng CNN trước đây hầu hết theo dạng chỉ đơn giản thiết kế theo
lối nhiều lớp Convolution xếp chồng lên nhau thì nhiều mạng mới đây đã thiết kế sáng
tạo hơn và cho kết quả hiệu quả hơn. Các kiến trúc mạng này đóng vai trò rất quan trọng
và áp dụng cho những nhiệm vụ cụ thể trong Computer Vision. Các mạng này được dùng
nhiều trong việc trích xuất các feature để phục vụ cho các nhiệm vụ chuyên biệt.
2.5. 1. Kiến trúc LeNet-5
Kiến trúc LeNet-5 [21] được tạo ra bởi Yann Lecun năm 1998, để nhận diện chữ
viết tay. Mô hình này là cơ sở thiết kế cho các mạng sau này. Model ban đầu khá đơn
giản và chỉ bao gồm 2 convolutional layers + 3 fully-connected layers. Mặc dù đơn giản
nhưng nó đã cho thấy ưu thế vượt trội so với các thuật toán machine learning trong phân
33
loại chữ số viết tay.
Trong kiến trúc mạng nơ-ron đầu tiên, để giảm chiều dữ liệu, Yan Lecun sử dụng
Sub-Sampling Layer là một Average-Pooling Layer (các layer nhằm mục đích giảm chiều
dữ liệu mà không thay đổi đặc trưng chúng ta còn gọi là Sub-Sampling Layer). Kiến trúc
này khá khó huấn luyện trọng số nên ngày nay rất hạn chế được sử dụng trong các mạng
CNN. Thay vào đó là các layer Max-Pooling.
Đầu vào của mạng LeNet có kích thước 32x32 và ít layers nên số lượng tham số
của nó chỉ khoảng 60 nghìn.
Hình 2.14: Mô hình Kiến trúc LeNet-5
Cấu trúc như hình vẽ
2.5. 2. Kiến trúc AlexNet
Được phát triển bởi Alex Krizhevsky năm 2012 trong cuộc thi ImageNet 2012.
Phá vỡ lối mòn sử dụng các đặc trưng thủ công từ các thuật toán truyền thống như HOG,
SIFT, SURF thay cho các đặc trưng được huấn luyện trong các tác vụ học có giám sát
của thị giác máy tính. Với những cải tiến so với mô hình mô hình kiến trúc LeNet-5:
+ Tăng cường kích thước mạng sâu hơn.
+ Đầu vào có độ phân giải lớn hơn.
34
+ Sử dụng các bộ lọc (kernel) với kích thước giảm dần qua các layers
+ Sử dụng local normalization để chuẩn hóa các layer giúp cho quá trình hội tụ
nhanh hơn.
Ngoài ra mạng còn cải tiến trong quá trình optimizer như:
+ Sử dụng hàm kích hoạt ReLU (Rectified Linear Unit).
+ Sử dụng dropout layer giúp giảm số lượng liên kết nơ-ron và kiểm soát
overfitting.
+ Qua các layers, kích thước output giảm dần nhưng độ sâu tăng dần qua từng
kernel.
Cho tới thời điểm hiện tại, kiến trúc mạng AlexNet [22] vẫn còn đang được sử
dụng phổ biến và rộng rãi. Mạng AlexNet có năm lớp chập và ba lớp kết nối đầy đủ. Cấu
trúc trong AlexNet được chia thành hai khối. Nguyên nhân vì tác giả đã sử dụng hai GPU
để huấn luyện dữ liệu song song. Mạng này được sử dụng trong phân loại đối tượng quy
mô lớn. Lớp đầu ra có một nghìn nơ-ron. Đó là bởi vì kiến trúc ban đầu được thiết kế để
phân loại một nghìn nhãn. Thông thường, những người áp dụng kiến trúc mạng nơ-ron
AlexNet sẽ thay thế lớp cuối cùng, phụ thuộc vào mục đích của họ.
Tác giả của mạng này đã làm nhiều thử nghiệm để có thể ra được mô hình này có
kết quả tốt nhất. Vì vậy, hiệu suất của cấu trúc này rất ổn định và mạng này được sử dụng
rộng rãi trong nhiều ứng dụng.
Kiến trúc tương đối giống với LeNet-5. Khác biệt ở điểm mạng này được thiết kế
lớn hơn, rộng hơn lượng tham số: 60.000.000 (gấp 1000 lần LeNet-5 ) Kiến trúc như hình
35
dưới đây:
Hình 2.15: Mô hình Kiến trúc AlexNet
2.5. 3. Kiến trúc VGG-16
Được phát triển năm 2014, là một biến thể sâu hơn nhưng lại đơn giản hơn so với
kiến trúc convolution (từ gốc: convolutional structure) thường thấy ở CNN Kiến trúc như
hình dưới, có thể thấy số mặc dù các lớp cao hơn được đơn giản hóa so với LeNet,
AlexNet … thu gọn về kích thước nhưng số lượng lại lớn hơn, sâu hơn.
Bởi vì một cách dễ dàng nhất để cải thiện độ chính xác của mạng đó là gia tăng
kích thước của mạng thông qua độ sâu của chúng. Từ kiến trúc mạng VGG-16 [23] ta có
thể thấy những cải tiến so với AlexNet:
+ Kiến trúc VGG-16 sâu hơn, bao gồm 13 layers tích chập 2 chiều (thay vì 5 so
với AlexNet) và 3 layers fully connected.
+ Lần đầu tiên trong VGG-16 chúng ta xuất hiện khái niệm về khối (block) là
những kiến trúc giống nhau lặp lại. Kiến trúc khối đã khởi nguồn cho một dạng kiến trúc
hình mẫu rất thường gặp ở các mạng CNN trở về sau.
36
+ VGG-16 cũng kế thừa lại hàm activation ReLU ở AlexNet.
+ VGG-16 cũng là kiến trúc đầu tiên thay đổi thứ tự của các block khi xếp nhiều
layers CNN + max pooling thay vì xen kẽ một layer CNN + max pooling. Các layers
CNN sâu hơn có thể trích xuất đặc trưng tốt hơn so với chỉ 1 layers CNN.
+ VGG-16 chỉ sử dụng các bộ lọc kích thước nhỏ 3x3 thay vì nhiều kích thước bộ
lọc như AlexNet. Kích thước bộ lọc nhỏ sẽ giúp giảm số lượng tham số cho mô hình mà
mang lại hiệu quả tính toán hơn. VD: Nếu sử dụng 2 bộ lọc kích thước 3 x 3 trên một
featurs map (là output của một layer CNN) có độ sâu là 3 thì ta sẽ cần n_filters x
kernel_size x kernel_size x n_channels = 2 x 3 x 3 x 3 = 54 tham số. Nhưng nếu sử dụng
1 bộ lọc kích thước 5 x 5 sẽ cần 5 x 5 x 3 = 75 tham số. Vì 2 bộ lọc 3 x 3 vẫn mang lại
hiệu quả hơn so với 1 bộ lọc 5 x 5.
Mạng VGG-16 sâu hơn so với AlexNet và số lượng tham số của nó lên tới 138
triệu tham số. Ngoài ra còn một phiên bản nữa của VGG-16 là VGG-19 tăng cường thêm
3 layers về độ sâu.
37
Hình 2.16: Mô hình Kiến trúc AGG-16
2.5.4. Kiến trúc Inception (GoogleLeNet)
Vào năm 2014, các nhà nghiên cứu của google đã đưa ra mạng Inception [23]
tham dự cuộc thi ImageNet 2014.
Kiến trúc này đã giải quyết một câu hỏi lớn trong mạng CNN đó là sử dụng
kernel_size với kích thước bao nhiêu thì hợp lý. Các kiến trúc mạng nơ-ron trước đó đều
sử dụng các bộ lọc với đa dạng các kích thước 11x11, 5x5, 3x3 cho tới nhỏ nhất là 1x1.
Mô hình này khá đặc biệt, không hoàn toàn là các lớp layer nối tiếp gối đầu lên
nhau như các mạng trên. Mạng gồm các đơn vị gọi là “inception cell” - thực hiện
convolution 1 input với nhiều filter khác nhau rồi tổng hợp lại, theo nhiều nhánh. Việc
cùng kết hợp đồng thời các kernel này vào cùng một module có thể mang lại hiệu quả đó
chính là kiến trúc khối Inception.
Để tiết kiệm tính toán, các convolution kích thước 1x1 được sử dụng để giảm
chiều sâu chanel của input. Với mỗi 1 cell, sử dụng các 1x1, 3x3, 5x5 filter để extract các
feature từ input.
Dưới đây là dạng 1 cell.
38
Hình 2.17: Mô hình dạng cell của Kiến trúc Inception
Các nhà nghiên cứu đã thử thay các filter 3x3, 5x5 bằng các filter lớn hơn như
7x7, 11x11. Có hiệu quả hơn về việc trích xuất các đặc trưng, tuy nhiên đánh đổi lại là
thời gian tính toán lâu hơn rất nhiều. Người ta cũng nhận ra rằng 1 filter 5x5 có thể thay
bằng 2 filter 3x3 nối nhau, hiệu quả tương đương nhưng tiết kiệm được tính toán rất lớn.
Dưới đây là kiến trúc mạng Inception
Mạng được xây dựng từ việc ghép các inception cell lại với nhau.
Hình 2.18: Mô hình Kiến trúc Inception
Inception có một đặc điểm khá hay là có thêm 2 output phụ. Người ta tin rằng hai
output phụ này không quá ảnh hưởng tới chất lượng của mạng trong khi train những
epoch đầu. Nó giúp cho việc train diễn ra nhanh hơn khi tối ưu những layer đầu dựa vào
các output phụ (trong những epoch đầu). Có thể nghĩ đơn giản rằng trong những epoch
đầu, các layer càng gần cuối càng ít được tối ưu ngay, do đó chưa cần thiết phải tối ưu
ngay. Sau một thời gian tối ưu các layer đầu rồi mới tối ưu các layer tiếp theo dựa vào
final input. Việc này cải thiện khả năng tính toán và tốc độ train khá nhiều.
Hiện nay, Inception liên tục được cải tiến và đã cho ra nhiều phiên bản, Inception
39
V1 (5 triệu tham số), Inception V3 (23 triệu tham sô), Inception V4.
Ngoài ra còn có những kiến trúc ResNet-50 (2015), sử dụng kết nối tắt để ánh xạ
các đầu vào từ những layer trước đó tới những layer sau. Là kiến trúc mạng rất sâu nhưng
có số tham số nhỏ hơn nhờ kế thừa những kỹ thuật từ GoogleNet; Kiến trúc DenseNet
(2016), là bước phát triển tiếp theo cua ResNet khi kế thừa kiến trúc khối và phát triển
kết nối tắt theo một mạng lưới dày đặc.
Trên đây là điểm qua một số mạng CNN phổ biến dược sử dụng trong bài toán
Image Classification. Trong thực tế, việc sử dụng kết hợp nhiều phương pháp khác nhau
thường sẽ cho hiệu quả tốt hơn.
2.6. Kết luận
Hiện nay, mạng nơ-ron tích chập CNN ngày càng trở nên phổ biến và thường được
dùng trong các kiến trúc học sâu (deep learning), mang lại nhiều thành công trong các
bài toán trí tuệ nhân tạo: thị giác máy tính, xử lý ngôn ngữ tự nhiên. Cơ sở lý thuyết mạng
nơ-ron tích chấp CNN trong chương này được áp dụng đề xuất mô hình hệ thống hiệu
quả trong việc trích xuất các đặc trưng dữ liệu đầu vào một cách tự động, để phân loại
ảnh và kết hợp với domain ontology để hỗ trợ tìm kiếm theo ngữ nghĩa sẽ được trình bày
40
trong các chương tiếp theo.
CHƯƠNG 3
ĐỀ XUẤT MÔ HÌNH PHÂN LOẠI ẢNH VÀ KẾT HỢP TÌM KIẾM THEO NGỮ NGHĨA
3.1. Kiến trúc của hệ thống
Trong nghiên cứu này, hệ thống tìm kiếm ảnh sẽ không hỗ trợ tìm kiếm theo dạng
ngôn ngữ tự nhiên mà chỉ hỗ trợ người dùng tìm theo từ khóa hoặc nội dung ảnh truy vấn
theo những chủ đề ảnh đã định trước. Tìm theo nội dung ở đây có nghĩa là nhãn của mỗi
Pha huấn luyện
MÔ HÌNH TRUY VẤN ẢNH
Dữ liệu ảnh huấn luyện
CSDL ảnh
Truy vấn ảnh theo “Từ khóa”/”ảnh”
Xây dựng mô hình phân lớp ảnh CNN
Mô hình CNN
Câu truy vấn SPARQL (ngữ nghĩa)
Xây dựng Domain ontology
Domain ontology
Phân lớp và tạo chỉ mục ảnh
Tìm kiếm
ảnh sẽ được gán dựa trên nội dung của ảnh thông qua mô hình phân lớp CNN.
Chỉ mục ảnh theo chủ đề: Animals, flowers, vehicles,..
Kết quả truy vấn ảnh
MÔ HÌNH PHÂN LỚP HÌNH ẢNH CNN
41
Hình 3.1: Kiến trúc của hệ thống
Kiến trúc của hệ thống tìm kiếm ảnh theo nội dung kết hợp với ngữ nghĩa được
trình bày trong Hình 3.1. Hệ thống này được xây dựng dựa trên mô hình phân loại ảnh
CNN và kết hợp với miền tri thức (domain ontology) để hỗ trợ tìm kiếm theo ngữ nghĩa.
3.2. Mô hình phân lớp hình ảnh bằng CNN
Kiến trúc mạng AlexNet [22] được đề xuất trong hệ thống phân loại ảnh tự động
như Hình 3.2. AlexNet đưa ra mô tả cụ thể về kiến trúc của mạng AlexNet cũng như cách
thức cài đặt và sử dụng các lớp trong mạng để huấn luyện mô hình với bộ dữ liệu ảnh của
ImageNet.
Hình 3.2: Kiến trúc mạng AlexNet
Mạng có cấu trúc tương đối đơn giản nếu so với các mạng CNN hiện đại gần đây,
bao gồm 5 lớp Tích chập và 3 lớp kết nối đầy đủ với các lớp giữa là các lớp lấy mẫu và
ReLU, được huấn luyện song song trên hai card đồ họa GPU.
Trong Hình 3.3 thể hiện rõ kiến trúc từng lớp của mạng AlexNet, trong đó:
42
- Lớp 1 (Tích chập):
+ Đầu vào: Ảnh với kích thước n * n = 224 x 224 x 3 (3 là con số tương ứng với
3 màu đỏ, xanh lục, xanh lam trong hệ màu RGB thông thường)
+ Số bộ lọc: 96
+ Kích thước bộ lọc (f * f): 11 x 11 x 3
+ Bước trượt (s): 4
+ Đầu ra: (224/4) x (224/4) x 96 = 55 x 55 x 96, chia đều cho hai GPU
Sau thao tác tích chập này, sẽ nhận được bản đồ đặc trưng có kích thước 55 x 55
x 96, trong đó 96 là số lượng bản đồ đặc trưng bằng với số bộ lọc được sử dụng. Sau đó,
hàm kích hoạt ReLu được thực hiện trong mỗi bản đồ đặc trưng.
- Lớp chuyển tiếp sang lớp 2 (Lấy mẫu tối đa):
+ Đầu vào: 55 x 55 x 96
+ Đầu ra: (55/2) x (55/2) x 96 = 27 x 27 x 96
- Lớp 2 (Tích chập):
+ Đầu vào: 27 x 27 x 96
+ Số bộ lọc: 256
+ Kích thước bộ lọc: 5 x 5 x 48
+ Đầu ra: 27 x 27 x 256, chia đều cho hai GPU
- Lớp 3, 4, 5: Tương tự như với lớp 1 và lớp 2 với các kích thước bộ lọc lần lượt
là 3 x 3 x 256, 3 x 3 x 384 và 3 x 3 x 384. Toàn bộ các lớp tính toán này đều được chia
đều cho hai GPU để tăng tốc độ xử lý. Đầu ra cuối cùng qua lớp tích chập thứ 5 là dữ liệu
với kích thước 13 x 13 x 128, dữ liệu này sau khi đi qua một lớp lẫy mẫu tối đa cuối cùng
43
sẽ được dùng làm đầu vào cho các lớp sau đó là các lớp kết nối đầy đủ.
- Lớp 6 (Kết nối đầy đủ):
+ Đầu vào: 6 x 6 x 256
+ Số nơ-ron: 4096
- Lớp 7 (Kết nối đầy đủ): Tương tự lớp 6.
- Lớp 8 (Kết nối đầy đủ): Lớp cuối cùng trong mạng AlexNet này có 1000 nơ-ron,
tương ứng với 1000 lớp khác nhau mà bộ huấn luyện cần nhận dạng. Ta có thể nhìn rõ
hơn kiến trúc mạng AlexNet ở dạng phẳng như trong Hình 3.3.
Hình 3.3: Kiến trúc mạng AlexNet ở dạng phẳng
Các lớp tích chập sẽ trích xuất đặc trưng các thông tin hữu ích trong các bức ảnh.
Lớp 1 và lớp 2 kết nối với nhau qua một lớp Max Pooling ở giữa. Tương tự như vậy giữa
lớp 2 và lớp 3. Lớp 3, lớp 4 và lớp 5 kết nối trực tiếp với nhau, không thông qua trung
gian. Lớp 5 kết nối fully connected layter thứ 1 thông qua một Max pooling, tiếp theo là
một fully connected layter thứ 2 nữa. Và đầu ra cuối cùng sử dụng chức năng hàm truyền
softmax. Bằng cách này, CNN chuyển đổi từng lớp hình ảnh gốc từ các giá trị pixel chính
đến điểm số lớp cuối cùng. Kết quả thu được của lớp 8 (kết nối đầy đủ) là 1 vector đặc
trưng (feature vector) thể hiện cho một đối tượng, chính là dữ liệu đầu vào cho lớp đầu
ra cuối có số nơ-ron bằng số lượng lớp (nhãn) với hàm truyền Softmax cho phân lớp đối
44
tượng.
Hình 3.4 minh họa kết quả của quá trình này là một hình ảnh đầu vào qua các bộ
lọc tích chập và có kết quả đầu ra là phân lớp hình ảnh. Mỗi bộ lọc sẽ có 1 tác dụng chiết
xuất đặc trưng khác nhau từ cùng 1 bức ảnh, hoạt động như một bộ phát hiện cho một
tính năng cụ thể.
+ Các bộ lọc lớp đầu tiên chủ yếu phát hiện các cấu trúc đơn giản như màu sắc và
cạnh.
Bản đồ đặc trưng lớp đầu tiên giữ lại hầu hết thông tin có trong ảnh. Trong kiến
trúc CNN, các lớp đầu tiên thường hoạt động như bộ dò cạnh.
Hình 3.4: Minh họa hình ảnh qua các lớp trong kiến trúc AlexNet
+ Khi hình ảnh được đưa sâu hơn vào mạng ở lớp tích chập 3, các bộ lọc phát hiện
cấu trúc, hình dạng đơn giản.
+ Nhưng khi hình ảnh tiếp tục đưa vào mạng ở tầng tích chập 5, các bộ lọc xây
dựng chồng lên nhau, học cách mã hóa các mẫu phức tạp hơn. Nghĩa là bộ lọc đã phát
45
hiện ra các phần đặc trưng ảnh, mẫu mà nó đang tìm kiếm.
Bản đồ đặc trưng sâu hơn mã hóa các khái niệm cấp cao, các tính năng hữu ích về
hình ảnh, chứa nhiều thông tin hơn về loại hình ảnh.
+ Các lớp được kết nối đầy đủ sẽ học cách sử dụng các tính năng này được tạo ra
bởi sự tích chập để phân loại hình ảnh một cách chính xác.
3.3. Mô hình tìm kiếm theo ngữ nghĩa
Mục tiêu chính là tìm ra hình ảnh hoặc tập hợp hình ảnh đáp ứng tốt nhất nhu cầu
thông tin của người dùng trong bộ sưu tập hình ảnh. Mô hình kiến trúc tìm kiếm theo ngữ
nghĩa được mô tả như Hình 3.5, nó bao gồm hai thành phần chính:
(1) Phần giao diện người dùng (front end) có hai chức năng chính:
- Giao diện truy vấn: cho phép người dùng nhập câu hỏi, truy vấn.
- Hiển thị câu trả lời, kết quả.
46
Hình 3.5: Kiến trúc tìm kiếm ngữ nghĩa
(2) Phần kiến trúc bên trong (back end) gồm ba thành phần chính đó là:
- Phân tích câu hỏi
- Tìm kiếm kết quả cho truy vấn hay câu hỏi
- Tập tài liệu, dữ liệu tìm kiếm/ mạng ngữ nghĩa.
Trong hệ thống này, dùng ontology làm cơ sở cho việc kết hợp ngữ nghĩa và truy
vấn SPARQL để tìm kiếm hình ảnh theo ngữ nghĩa. Ontology là một phương thức biểu
diễn tri thức chuẩn cho web ngữ nghĩa [6]. Phương thức biểu diễn tri thức này cho hình
hóa các khái niệm và quan hệ giữa các khái niệm trong miền tri thức.
Các ontology được xây dựng để cung cấp cách biểu diễn hình ảnh theo cách thức
ngữ nghĩa, tổ chức thông tin web theo cách có cấu trúc, được chia sẻ nội dung hình ảnh.
Ontology được biểu diễn dưới dạng RDF và chúng dựa trên tiêu chuẩn dữ liệu và kho dữ
liệu kiến thức hiện có. Do đó, hình ảnh được trình bày theo cách máy dễ hiểu, điều này
dẫn đến nhiệm vụ truy xuất hình ảnh được đơn giản hóa so với các cách tiếp cận trước
đó. Hình ảnh được truy xuất bằng cách sử dụng mô tả nội dung của hình ảnh bằng truy
vấn SPARQL.
3.3.1. Các chú thích cho hình ảnh
Chú thích hình ảnh là quá trình liên kết hình ảnh không xác định với lớp được đặt
tên. Đó là ánh xạ hình ảnh chưa biết tới một trong số các lớp đã biết. Hình 3.6 cho thấy
việc chú thích một hình ảnh bằng cách sử dụng protégé. Sau đó, hình ảnh kế thừa các
thuộc tính của lớp và chú thích của lớp được chỉ định của nó. Cách tiếp cận của tác giả
47
dựa trên ý tưởng về chú thích hình ảnh bằng cách sử dụng các ontology.
Hình 3.6: Chú thích một hình ảnh
Hình 3.7 cho thấy chú thích hình ảnh hoa hồng trong cấu trúc bản thể học. Các
nhãn được sử dụng để biểu thị thông tin bổ sung như các tính năng cấp cao và mối quan
hệ giữa các dữ liệu trong hình ảnh.
48
Hình 3.7: Chú thích ontology cho hình ảnh hoa hồng
3.3.2. Phát triển Ontology
Mô hình Ontology được xây dựng để cung cấp giải thích ngữ nghĩa được chia sẻ
nội dung hình ảnh. Hình ảnh được kết nối với lớp tương ứng của nó trong ontology bằng
thuộc tính xác nhận.
Dựa vào CSDL ảnh thu thập của hệ thống để xây dựng ontolgy cho một miền tri
thức (domain ontology) của các chủ đề ảnh để mô tả các khái niệm, các mối quan hệ ngữ
nghĩa giữa chúng.
Trong nghiên cứu này đã xây dựng một domain ontology bao gồm 15 khái niệm
liên quan đến chủ đề của các ảnh trong CSDL thu thập tương ứng với lớp dữ liệu ảnh
được phân lớp dựa trên kiến trúc mạng AlexNet. Domain onotlogy này có thể được mở
rộng tương ứng với tập dữ liệu ảnh trong CSDL.
Hình ảnh được kết nối với lớp tương ứng của nó trong ontology bằng thuộc tính
xác nhận. Theo đó mọi lớp khác đều có thể được tạo, ở đây tác giả chia toàn bộ mọi thứ
thành hai lớp con chính. Đó là Living_Thing và Nonliving_Thing.
Trong mục Living_Thing, tác giả đã phân loại tất cả các sinh vật sống như động
vật (animal) và thực vật (plant) thành các lớp con riêng biệt. Và từ đó, động vật lại được
phân loại thành ăn cỏ (herbivore), ăn thịt (carnivore), v.v.,
Những khái niệm Cat, Dog, Lion đều là lớp con của lớp động vật ăn thịt
(carnivore). Các khái niệm Car, Bus, Plane là lớp con của lớp phương tiện (vehicle) và
các khái niệm Sunflower, Rose, LiLy là lớp con của lớp hoa (Flower).
Hình 3.8 hiển thị 15 chủ đề ảnh trong cơ sở dữ liệu ảnh được phân lớp tương ứng
49
với các đỉnh là các khái niệm và các cạnh biểu diễn mối quan hệ giữa các khái niệm.
Hình 3.8: Domain ontology của hệ thống
3.3.3. Ontology hình ảnh
Ontology hình ảnh có hai thành phần, đó là cấu trúc phân cấp lớp của một miền
và mô tả văn bản của miền. Văn bản được chia thành mô tả văn bản (từ khóa) và mô tả
văn bản trực quan (dữ liệu số cho các đặc trưng). Điều này được sử dụng để lưu giữ tất
cả thông tin cần thiết về các hình ảnh trong cơ sở dữ liệu bản thể học.
PROTÉGÉ [24] được sử dụng để xây dựng một hệ thống phân cấp ontology hoàn
chỉnh và có thể đại diện cho mối quan hệ kết nối chính xác với cấu trúc đã tạo đó và cũng
có thể tải lên hình ảnh với các mô tả phức tạp của chúng và ánh xạ nó tới các lớp trong
50
hệ thống phân cấp. Việc biểu diễn và truy xuất hình ảnh được thực hiện theo ba bước.
- Bước đầu tiên là tạo các lớp trong bản thể học (ontology) và hoàn thành mối
quan hệ với hệ thống phân cấp đó.
- Bước thứ hai là tải lên hình ảnh với mô tả đầy đủ của nó về hình ảnh đại diện.
- Bước thứ ba là truy xuất hình ảnh bằng truy vấn SPARQL.
Image Ontology được xây dựng bằng cách sử dụng Class, Properties và instance.
Hệ thống phân cấp lớp danh từ của hình ảnh cũng là các thể hiện của các lớp lá đại diện
cho hình ảnh. Các mô tả chung được sắp xếp cho phân cấp lớp (thuộc tính kiểu dữ liệu).
Thuộc tính đối tượng được sử dụng để kết nối các thể hiện của lớp ngữ nghĩa với các thể
hiện từ các lớp chứa mô tả. Hình ảnh được chú thích cho nhiều hơn một lớp bằng cách
sử dụng thuộc tính xác nhận. Các thuộc tính chung khác được thêm vào các lớp khi cần
thiết (Chẳng hạn như chim có hai chân).
Protégé được sử dụng để tạo các lớp (class), thuộc tính (properties), cá thể
(instance) và ánh xạ hình ảnh tới các lớp liên quan của nó. Các mã RDF / XML được tạo
tự động bởi protégé. Bên trong các mã đại diện cho đồ thị RDF. Meta của một hình ảnh
được thêm vào.
Một lớp riêng biệt được tạo cho dữ liệu meta về các tính năng cấp thấp của hình
ảnh. Chúng được sử dụng để truy cập các khái niệm chung của một hình ảnh. Các biểu
mẫu được sử dụng để thiết kế nhãn hoặc khung. Khi một phiên bản mới được tạo, các
nhãn này giữ hình ảnh và thông tin chú thích của nó.
Thông tin tường thuật cấp cao của mô tả hình ảnh từ nguồn thông tin bên ngoài
được thu thập và đóng gói thành các lớp và cá thể. Trong việc tạo ra các loại xác nhận
riêng biệt để mọi hình ảnh liên quan đến một lớp cụ thể sẽ được hiển thị mà không bị
thiếu.
Hình 3.9 hiển thị ảnh chụp màn hình của giao diện chú thích để biểu thị thông tin
bổ sung về hình ảnh. Trong trường hợp này, là đang chú thích hình ảnh đại diện cho một
51
con Voi trong rừng.
Hình cũng cho thấy các khe để biểu thị thông tin bổ sung về hình ảnh. Chúng được
thêm vào bằng các thuộc tính là Người tạo, Chủ đề, Vị trí và Thời gian với kiểu dữ liệu.
Bốn yếu tố được liên kết với các cây con trong bản thể luận.
Hình 3.9: Liên kết hình ảnh với các ontology trong protégé
Hình 3.9 mô tả ảnh và các giá trị của nó được chú thích cho một hoặc nhiều lớp
bằng cách sử dụng các vị trí và nhãn. Việc lập chỉ mục hình ảnh ngữ nghĩa được thực
hiện bằng cách chú thích hình ảnh vào lớp. Hình ảnh có cùng thể loại được dễ dàng xác
52
định và truy xuất bằng cách sử dụng các tính năng.
3.3.4. Truy xuất hình ảnh ngữ nghĩa (SIR-Semantic Image Retrieval)
Công cụ truy vấn lấy thông tin đầu vào từ người dùng qua giao diện với nội dung
đầu vào mà người dùng muốn tìm kiếm. Người dùng có thể cung cấp đầu vào theo hai
cách.
1) Đầu vào văn bản: Phương pháp đầu tiên cung cấp đầu vào cho SIR là dựa trên
văn bản. Tìm kiếm theo ngữ nghĩa khác với tìm kiếm dựa trên từ khóa thông thường. Tìm
kiếm ngữ nghĩa bao gồm việc xây dựng một công cụ truy vấn nhận yêu cầu bằng ngôn
ngữ truy vấn bản thể học (chẳng hạn như SPARQL), thực thi chúng trên cấu trúc bản thể
học và trả về các bộ giá trị thỏa mãn các điều kiện trong truy vấn.
DOMAIN ONTOLOGY
Animal
Carnivore
Herbivore
Zebra
Dog
Lion
Cat
Monke y
Return
SPARQL
Lion, Cat, Carnivore
Build
Label
Predict
Mạng nơ-ron tích chập (CNN)
53
Hình 3.10: Mô hình từ khóa tìm kiếm với ngữ nghĩa
Ngôn ngữ truy vấn SPARQL đã được W3C (World Wide Web Consortium) chấp
nhận như một phương tiện để truy vấn các ontology được xây dựng bằng cách sử dụng
RDF và đã được mở rộng để hỗ trợ định dạng OWL. SPARQL là một ngôn ngữ truy vấn
RDF có thể truy xuất và thao tác dữ liệu được lưu trữ ở định dạng RDF.
Trong cách tiếp cận này, người dùng được yêu cầu nhập văn bản có chứa thông
tin về thứ mà họ muốn tìm kiếm, để thực hiện tìm kiếm theo ngữ nghĩa thì bước đầu tiên
là xây dựng câu truy vấn SPARQL thích hợp từ các từ khóa tìm kiếm và thực hiện câu
truy vấn trên domain ontology. Sau đó, các từ khóa được sử dụng để tìm kiếm các ảnh đã
được chỉ mục trong hệ thống.
Hình 3.10 minh họa thao tác kết quả tìm kiếm bằng cách sử dụng CNN để tìm ra
nhãn của ảnh truy vấn của người dùng. Sau đó từ khóa mô tả nhãn của ảnh sẽ dùng để
xây dựng câu truy vấn SPARQL, để tìm và trả về thêm các từ khóa có liên hệ về ngữ
nghĩa trong domain-ontology.
2) Đầu vào hình ảnh: Phương pháp thứ hai để cung cấp đầu vào cho SIR là dựa
trên hình ảnh.
Trong cách tiếp cận này, người dùng được yêu cầu cung cấp hình ảnh của đối
tượng mà họ muốn tìm kiếm. Hình ảnh đầu vào có thể chứa một đối tượng hoặc nhiều
đối tượng. Cách tiếp cận này là khả thi khi người dùng muốn tìm kiếm các đối tượng /
hình ảnh liên quan tương tự như đối tượng / hình ảnh mà họ có. Hơn nữa, phương pháp
này cung cấp tính linh hoạt trong phương thức nhập, vì nó mang lại chiều hướng mới cho
việc tìm kiếm. Sau khi nhận đầu vào từ người dùng, công cụ truy vấn đã xây dựng truy
vấn cho đầu vào. Khi cơ sở tri thức dựa trên Ontology được sử dụng, truy vấn được xây
dựng bằng ngôn ngữ SPARQL.
Các đối tượng trong hình ảnh được phát hiện bằng cách sử dụng trích xuất đặc
trưng trong mạng nơ-ron tích chập với mô hình áp dụng là kiến trúc mạng AlexNet, các
đặc trưng này được chuyển đổi thành các khái niệm bản thể luận cấp cao; mô tả hình ảnh
54
nếu được người dùng cung cấp trong tìm kiếm cũng được chuyển đổi thành các khái niệm
bản thể học, sau khi hoàn thành bước này, truy vấn SPARQL được tạo bằng các tham số
này.
3.4. Kết luận
Trong chương này, tác giả đề xuất kiến trúc cho hệ thống với một mô hình phân
lớp dữ liệu hình ảnh dựa trên CNN và mô hình truy vấn ảnh. Trong đó, kiến trúc mạng
AlexNet được áp dụng để phân lớp dữ liệu hình ành theo hướng tiếp cận ngữ nghĩa với
kỹ thuật ontology. Ngôn ngữ truy vấn SPARQL được sử dụng để truy xuất dữ liệu hình
55
ảnh phù hợp nhất với từ khoá hoặc ảnh đầu vào mà người sử dụng mong muốn.
CHƯƠNG 4
KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ
4.1. Môi trường và các công cụ sử dụng cho thực nghiệm
Thực nghiệm được thực hiện trên 2 máy tính có cấu hình như sau:
- Thành phần Cấu hình
CPU: Intel Core i9-9900K [Turbo 5.00 GHz]
8 Cores, 16 Threads, 16MB, FCLGA1151
RAM: PC4 Kingmax Zeus 32G/3000
MAIN: Z390 CHIPSET INTEL
HDD: Seagate 1TB
SSD: Dato 120GB
VGA: RTX-2080/8GB/DDR6/256 BIT
- Ngôn ngữ lập trình, các thư viện và phần mềm hỗ trợ học sâu được sử dụng trong
thực nghiệm là Python, Tensoflow, Karas, Protégé, OWL và Sparql.
4.2. Tập dữ liệu thực nghiệm
Tập dữ liệu thực nghiệm trong nghiên cứu này là ImageNet [25], một tập dữ liệu
rất nổi tiếng trong lĩnh vực thị giác máy tính. Từ năm 2010, tập dữ liệu ảnh ImageNet
được sử dụng để tổ chức cuộc thi thường niên ILSVRC (ImageNet Large Scale Visual
56
Recognition Challenge) [26].
Tập dữ liệu ImageNet có khoảng 15 triệu hình ảnh có độ phân giải cao đã được
gán nhãn thuộc khoảng 22.000 danh mục. ILSVRC sử dụng một tập hợp con của
ImageNet với khoảng 1.000 hình ảnh trong mỗi 1.000 danh mục (trung bình mỗi nhãn có
khoảng 1,2 ngàn hình ảnh), tổng cộng có khoảng 1,2 triệu hình ảnh đào tạo, 50.000 hình
ảnh xác nhận (validation) và 150.000 hình ảnh thử nghiệm (tập validation và tập test đều
có 1.000 nhãn thuộc tập train).
Có tất cả 11.850 ảnh được thu thập từ tập dữ liệu và trên internet, bao gồm 15 chủ
đề là: Cat, Dog, Peacok, LiLy, Car, Mountain, Sea, Sunflower, Plane, Rose, Lion, Zebras,
Bus, Monkey và People.
Đầu vào của mạng AlexNet là một bức ảnh RGB có kích thước 224x224 pixel.
Do đó, các ảnh được điều chỉnh lại theo cùng độ phân giải là 224x224.
57
Hình 4.1: Tập huấn luyện từng phần
4.3. Xây dựng mô hình phân loại ảnh cho hệ thống tìm kiếm
Mô hình giải quyết bài toán phân lớp một bức ảnh vào 1 lớp trong 15 chủ đề khác
nhau (Cat, Dog, Peacok, … ). Đầu ra của mô hình là một vector có 1.000 phần tử. Phần
tử thứ i của vector đại diện cho xác suất bức ảnh thuộc về lớp thứ i. Do đó, tổng của các
phần tử trong vector là 1.
Phân loại hình ảnh bằng mạng AlexNet với sự hỗ trợ thư viện nguồn mở
TensorFlow là một nền tảng mã nguồn mở end-to-end dành cho học máy giúp đào tạo
các mô hình ML [27].
Để xây dựng mô hình phân loại ảnh cho hệ thống tìm kiếm, tập dữ liệu thực
nghiệm được chia thành 3 tập dữ liệu con là tập huấn luyện (training set) gồm 7.110 ảnh
(60%), tập kiểm thử (test set) gồm 2.370 ảnh (20%) và tập giám sát (validation set) gồm
2.370 ảnh (20%). Tập dữ liệu giám sát dùng để giám sát quá trình học xem mạng có đang
trong trạng thái bị học chậm (underfitting) hoặc quá khớp (overfitting) không?
Dữ liệu huấn luyện được chia thành từng batch, với batch size là 500 ảnh để đưa
vào huấn luyện nhằm tránh tắt nghẽn mạng và giảm dung lượng bộ nhớ cần thiết để huấn
luyện. Phương pháp tính độ lỗi của mạng là Momentum với các tham số base learning
là 0,05 và lr_decay là 0,96. Khi mạng đã học qua toàn bộ ảnh trong tập huấn luyện một
lần thì được xem như mạng đã học được một chu kỳ (epoch) và số epoch là 400 nên phải
lặp tối đa là 5.688 lần theo công thức như sau:
(4.1)
Qua quá trình huấn luyện và kiểm tra mô hình mạng nơ-ron tích chập đã thu được
58
một số kết quả qua bảng thống kê về thời gian huấn luyện mô hình ở Bảng 1.
Bảng 4.1: Kết quả huấn luyện mô hình
Bước lặp Độ chính xác Thời gian (giờ:phút:giây)
00:15:39 00:45:39 01:15:26 01:45:52 02:15:36 02:45:36 03:15:25 03:45:19 04:15:58 04:45:38 05:15:29 06:09:30 270 790 1,268 1,778 2,289 2,829 3,352 3,868 4,232 4,639 5,129 5,688 36.80% 52.39% 63.52% 69.27% 72.36% 73.38% 75.79% 77.26% 80.37% 82.52% 83.26% 85.39%
Để học được mô hình đạt độ chính xác hơn 85% trên tập train thì cần hơn 6 giờ
huấn luyện. Để kiểm tra độ chính xác của mô hình phân lớp trên tập test thì chúng được
đánh giá theo 3 độ đo là Confusion matrix ở Hình 4.2 và Precision ở Hình 4.3.
59
Hình 4.2: Biểu đồ Confusion matrix đánh giá theo các chủ đề ảnh
Hình 4.3: Biểu đồ Precision đánh giá mô hình phân loại theo các chủ đề ảnh
Hình 4.2 và hình 4.3 cho thấy mô hình phân lớp chủ đề ảnh ngựa vằn (zebras) có
độ chính xác khá cao, đạt 97,89%. Nguyên nhân là do các đặc trưng của ngựa vằn nổi bật
hơn so với các chủ đề ảnh còn lại như có các vệt vằn đen trên lưng. Ngược lại mô hình
phân lớp chủ đề ảnh mèo (cat) có độ chính xác chưa cao, chỉ đạt 68,79%. Nguyên nhân
có thể là do các đặc trưng ở mèo khó nhận dạng hơn các chủ đề ảnh khác và có nhiều đặc
trưng tương đồng với một số chủ đề ảnh khác như chó và khỉ vì chúng đều là những động
vật 4 chân, hình dáng đều nhỏ nhắn và chỉ khác biệt rõ nhất ở gương mặt.
4.3.1. Vai trò của Dropout
Như đã đề cập ở phần trên, các lớp Dropout sẽ loại bỏ một số ngẫu nhiên các nơ-
ron, từ đó giúp cho quá trình huấn luyện không bị overfitting. Để đánh giá vai trò của lớp
Dropout trong việc phân loại dữ liệu hình ảnh thông qua việc sử dụng các tỉ lệ dropout
khác nhau: 0% (tức không sử dụng lớp dropout), 30%, 50%, 70% và 90%. Chú ý rằng tỉ
lệ dropout thể hiện tỉ lệ nơ-ron được loại bỏ. Kết quả đưa ra thể hiện xu thế học của mô
hình và được mô tả ở Bảng 2.
60
Bảng 4.2: Tỉ lệ lỗi khi thay đổi giá trị Dropout của hệ thống
Thông qua kết quả nhận được, ta thấy mô hình không có lớp Dropout cho tỉ lệ lỗi
khi huấn luyện thấp nhất (9,31%). Nhưng độ chênh lệch tỉ lệ lỗi giữa quá trình huấn luyện
và kiểm tra lại cao hơn so với các trường hợp khác. Mối quan hệ giữa tỉ lệ dropout, tỉ lệ
lỗi khi huấn luyện và kiểm tra cho thấy được hiện tượng overfitting rõ ràng ở trường hợp
không có lớp Dropout. Hiện tượng này giảm dần khi tăng tỉ lệ dropout. Tuy nhiên, khi tỉ
lệ dropout quá lớn, ví dụ 90%, thì tỉ lệ lỗi nhận dạng trong huấn luyện và kiểm tra đều
tăng vọt (thể hiện quá trình underfitting). Nguyên nhân gây ra hiện tượng này là thông
tin bị mất khá nhiều trong quá trình xử lý dẫn đến phân loại không được chính xác.
Thực tế, để có được tỉ lệ phân loại tối ưu nhất, yêu cầu phải thực hiện thử nghiệm
nhiều tỉ lệ khác nhau và riêng lẻ cho từng mô hình.
4.3.2. Ảnh hưởng của Batch size đến kết phân lớp dữ liệu
Batch size quyết định số lượng ảnh được dùng cho mỗi lần cập nhật trọng số, với
kích thước tập huấn luyện của tập dữ liệu thu thập là 11.850 ảnh. Một chu kỳ học tương
ứng với xử lý 11.850 ảnh. Nếu chọn batch size = 20, có nghĩa là dữ liệu sẽ được chia
thành 592 gói con để xử lý. Tương tự, nếu batch size = 200, thì số gói dữ liệu là 59 gói.
Bảng 3 là kết quả khi có sự thay đổi về kích thước gói dữ liệu batch.
Với kích thước Batch size nhỏ, tỉ lệ lỗi cao (47,41%). Khi kích thước tăng dần,
kết quả thu được có những thay đổi khả quan.
Nhìn chung, khi batch size lớn, các trọng số sẽ được cập nhật một cách ổn định
hơn. Nhưng cũng lưu ý rằng, batch size lớn sẽ yêu cầu nhiều bộ nhớ hơn.
61
Bảng 4.3: Kết quả phân lớp khi sử dụng dữ liệu với các batch size khác nhau
Kích thước tập huấn luyện ảnh hưởng đến độ chính xác tăng lên khi số lượng dữ
liệu tăng lên. Càng nhiều dữ liệu trong tập huấn luyện, tác động của lỗi huấn luyện và lỗi
thử nghiệm càng nhỏ và cuối cùng là độ chính xác có thể được cải thiện.
Bằng quá trình này, mô hình được đào tạo sẽ được sử dụng để phân loại hình ảnh
có trong dữ liệu thử nghiệm như minh họa Hình 4.4.
Hình 4.4: Minh họa phân lớp dữ liệu hình ảnh
4.4. Kết quả tìm kiếm ảnh theo ngữ nghĩa
Truy xuất hình ảnh dựa trên Ontology tập trung nhiều hơn vào việc nắm bắt nội
dung ngữ nghĩa (tức là ánh xạ các tính năng hình ảnh với các khái niệm), bởi vì điều này
có thể giúp đáp ứng các yêu cầu của người dùng theo cách tốt hơn nhiều.
Người dùng có thể đưa ra khái niệm / từ khóa làm đầu vào văn bản hoặc có thể
nhập chính hình ảnh. Kết quả thực nghiệm cho thấy hiệu quả và độ chính xác của hệ
62
thống đề xuất.
Bằng cách đưa ra một hình ảnh dưới dạng truy vấn như Hình 4.5, công cụ này sẽ
tìm kiếm, so sánh với tập hợp các hình ảnh lưu trữ trong cơ sở dữ liệu được gắn nhãn
hiện có (hình ảnh được đào tạo) để tìm ra điểm tương đồng. Hình ảnh truy vấn phải được
đặt trong số các danh mục ảnh hiện có. Nếu có bất kỳ hình ảnh không rõ ràng nào, chúng
được đặt vào danh mục hình ảnh gần nhất, theo mức độ phù hợp với ảnh truy vấn của
người dùng. Mô hình bản thể học ngữ nghĩa cùng với dữ liệu cá thể hình ảnh có thể được
sử dụng để tìm ra mối quan hệ giữa hình ảnh đã chọn và các hình ảnh khác trong cơ sở
dữ liệu lưu trữ.
Những hình ảnh này được giới thiệu cho người dùng, tập kết quả được sắp xếp
theo thứ tự giảm dần theo giá trị phù hợp. Chúng không nhất thiết phải phù hợp với truy
vấn lọc nhưng có khả năng được quan tâm.
63
Hình 4.5: Minh họa biểu đồ truy vấn khớp hình ảnh
- Trường hợp thực nghiệm 1, người dùng đã sử dụng hình ảnh con ngựa vằn làm
đầu vào. Công cụ truy vấn tạo truy vấn cho cùng một truy vấn và thực thi nó trên cơ sở
kiến thức ontology. Kết quả là các hình ảnh được tìm thấy trong cơ sở dữ liệu ảnh phù
hợp nhất như trong Hình 4.6.
64
Hình 4.6: Trường hợp thực nghiệm với hình ảnh ngựa vằn
Hình 4.7 tương tự như trường hợp thực nghiệm 1 ở Hình 4.6 trong đó người dùng
nhập một hình ảnh và các hình ảnh liên quan phù hợp nhất được trả về người dùng.
65
Hình 4.7: Trường hợp thực nghiệm với hình ảnh chú chó
- Trường hợp thực nghiệm 2, người dùng đã sử dụng tính năng nhập văn bản của
hệ thống SIR và cung cấp đầu vào dưới dạng văn bản. Ở đây đưa vào từ khóa “Dog” để
truy vấn ảnh, ta thấy kết quả trả về là các hình ảnh liên quan đến dog ở Hình 4.8.
66
Hình 4.8: Trường hợp thực nghiệm với từ khóa truy vấn “Dog”
Tương tự Hình 4.9 với từ khóa truy vấn “Monkey” hệ thống SIR tạo truy vấn
tương ứng cho cùng một truy vấn và thực thi nó trên cơ sở dữ liệu ảnh để đưa ra các hình
ảnh liên quan được hiển thị cho người dùng.
67
Hình 4.9: Trường hợp thực nghiệm với từ khóa truy vấn “Monkey”
- Trường hợp thực nghiệm với từ khóa “animal”. Do không có hình ảnh nào trong
hệ thống có chủ đề là “animal” nên khi tìm với ngữ nghĩa thì sẽ trả về hình của một số
loại động vật như monkey, zebra, dog,... vì tất cả các loài này đều là động vật.
68
Hình 4.10: Tìm kiếm với từ khóa “Animal”
4.5. Kết luận
Trong nghiên cứu này, tôi đề xuất mô hình phân lớp dữ liệu hình ảnh dựa trên
mạng tích chập CNN với mô hình kiến trúc AleNet và kết hợp với domain ontology để
hỗ trợ tìm kiếm theo ngữ nghĩa. Tác giả cũng phân tích tác động của tốc độ học đến việc
rút ngắn thời gian huấn luyện, cho thấy vai trò của lớp dropout trong việc giảm
overfitting, cũng như kích thước gói batch size ảnh hưởng đến kết quả phân lớp đối tượng.
Trong đó, kết quả thực nghiệm cho thấy mô hình kiến trúc AlexNet với kỹ thuật học sâu
được sử dụng để trích xuất thông tin đặc trưng ảnh cho phân lớp hiệu quả với độ chính
xác cao hơn 85%.
Nghiên cứu cũng xây dựng domain ontology cụ thể giúp cho việc biểu diễn mối
quan hệ ngữ nghĩa giữa các chủ đề ảnh được rõ ràng hơn, việc tạo bản thể luận (ontology)
cho bộ sưu tập các hình ảnh và thiết lập mối quan hệ giữa chúng, giúp cho việc chuẩn
hóa từ khóa tìm kiếm, bổ sung thông tin cho hình ảnh để việc truy xuất hình ảnh có liên
quan đến truy vấn của người dùng. Truy vấn SPARQL được sử dụng cho quá trình truy
xuất hiệu quả hình ảnh và văn bản dựa trên chủ đề, vị từ và đối tượng bằng cách sử dụng
domain ontology. Hệ thống đề xuất đã được thử nghiệm trên bộ dữ liệu hình ảnh thu thập
được liên quan đến miền này, kết quả thực nghiệm cho thấy kiểu truy xuất hình ảnh này,
truy xuất hiệu quả các hình ảnh rất gần với hình ảnh truy vấn từ cơ sở dữ liệu bản thể
học. So với các phương pháp truy xuất hình ảnh dựa trên văn bản / từ khóa và nội dung,
truy xuất hình ảnh dựa trên Ontology tập trung nhiều hơn vào việc nắm bắt nội dung ngữ
nghĩa (tức là ánh xạ các tính năng hình ảnh với các khái niệm), bởi vì điều này giúp tăng
tính năng truy xuất hình ảnh với tốc độ nhanh hơn so với truy xuất thông thường, đã đáp
ứng các yêu cầu của người dùng một cách tốt hơn.
Tuy nhiên, hướng phát triển dự kiến được mở rộng trên tập dữ liệu ảnh với số
lượng lớn hơn để cải thiện độ chính xác phân lớp dữ liệu ảnh hơn 85%. Hiệu quả của việc
tìm kiếm hình ảnh có thể được cải thiện bằng cách tích hợp bản thể học và SPARQL để
69
truy xuất các hình ảnh có liên quan một cách chính xác hơn./.
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Nguyễn Đắc Thành, (2017). Nhận dạng và phân loại hoa quả trong ảnh màu.
[2] Vũ Hữu Tiệp, (2017). Machine Learning cơ bản.
http://machinelearningcoban.com/general/2017/02/06/featureengineering/
Tiếng Anh
[3] P. Muneesawang, N. Zhang, L. Guan, Multimedia Database Retrieval: Technology
and Applications, Springer, New York, 2014.
[4] Yushi Chen, Hanlu Jiang, Chunyang Li, Xiuping Jia, and Pedram Ghamisi, “Deep
Feature Extraction and Classification of Hyperspectral Images Based on Convolutional
Neural Networks” IEEE Trans. Geosci. Remote Sens., vol. 54, no. 10, Oct. 2016.
[5] https://towardsdatascience.com/applied-deep-learning-part-4-convolutional-neural-
networks-584bc134c1e2#5777
[6] Li, Man, Xiao-Yong Du, and Shan Wang. 2005. “Learning Ontology from Relational
Database.” In Machine Learning and Cybernetics, 2005. Proceedings of 2005
International Conference On, 6:3410–3415. IEEE.
[7] Arivazhagan, S., Shebiah, R. N., Nidhyanandhan, S. S., & Ganesan, L. (2010). Fruit
Recognition using Color and Texture Features. Information Sciences, 1(2), 90–94.
[8] Sergey Sosnovsky, D., Dicheva, “Ontological technologies for user modeling”, Int.
J. Metadata, Semantics and Ontologies, Vol. 5, No. 1, 2010.
[9] Website: www.w3.org/rdf-sparql-query “SPARQL Query Language for RDF”;
70
Website:http://www.w3.org.- "Resource Description Framework (RDF)”.
[10] Y. Kim, “Convolutional neural networks for sentence classification”, 2016.
[11]. Tee Cheng Siew (2008). Feature selection for content-based image retrieval
using statistical discriminant analysis. PhD thesis Faculty of Computer Science and
Information System Universiti Teknologi Malaysia.
[12] Hyvönen, Eero, Samppa Saarela, Avril Styrman, and Kim Viljanen. 2003.
“Ontology-Based Image Retrieval.” In WWW (Posters).
[13] Magesh, N., and P. Thangaraj. 2011. “Semantic Image Retrieval Based on Ontology
and SPARQL Query.” In International Conference on Advanced Computer Technology
(ICACT).
[14] Van T. T. , Le M. T. (2017), “Mot so cai tien cho he truy van anh dua tren cay S-
Tree”, proceeding o f Publishing House for Science and Technology.
[15] Patel, Shabaz Basheer, and Anand Sampat. 2017. “Semantic Image Search Using
Queries.” Accessed September 8.
[16] Tim Morris: Computer Vision and Image Processing. Palgrave Macmillan. (2004).
[17] AbdAlmageed, W., Wu, Y., Rawls, S., Harel, S., Hassne, T., Masi, I., Choi, J.,
Lekust, J., Kim, J., Natarajana, P., Nevatia, R., Medioni, G. Face recognition using deep
multi-pose representations. In: IEEE Winter Conference on Applications of Computer
Vision (WACV) (2016)
[18] Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, The MIT Press,
2016.
[19] Andrej Karpathy. CS231n Convolutional Neural Networks for Visual Recognition-
71
Image Classification. http://cs231n.github.io/classification/
[20] N. Srivastava, G. E. Hinton, A. Krizhevsky, I. Sutskever, R. Salakhutdinov,
Dropout: a simple way to prevent neural networks from overfitting, Journal of machine
learning research 15, 2014, pp. 1929-1958.
[21] Lecun, Y.; Bottou, L.; Bengio, Y.; Haffner, P. (1998). "Gradient-based learning
applied to document recognition" . Proceedings of the IEEE. 86 (11): 2278–2324.
[22] Krizhevsky, A., Sutskever, I., & Geoffrey E., H. (2012). ImageNet Classification
with Deep Convolutional Neural Networks. Advances in Neural Information Processing
Systems 25 (NIPS2012), 1–9.
[23] Source: Illustrated: 10 CNN Architectures - Raimi Karim
https://towardsdatascience.com/illustrated-10-cnn-architectures-95d78ace614d
[24] A. Gauthami Latha, Ch. Satyanarayana, Y. Srinivas. Semantic Image Annotation
using Ontology And SPARQL. International Journal of Innovative Technology and
Exploring Engineering (IJITEE) ISSN: 2278-3075, Volume-9 Issue-3, January 2020
[25] Russakovsky, O., Deng, J., Su, H., Krause, J., Satheesh, S., Ma, S., Fei-Fei, L.
(2015). ImageNet Large Scale Visual Recognition Challenge. International Journal of
Computer Vision, 115(3), 211–252.
[26] http://www.image-net.org/challenges/LSVRC/
72
[27] https://www.tensorflow.org/api_docs/python/tf/keras/applications/alexnet