Tìm kiếm ảnh theo nội dung dựa trên mạng nơron tích chập và phương pháp sinh mã nhị phân
Tìm kiếm ảnh theo nội dung là hướng nghiên cứu đang được quan tâm trong những năm gần đây vì phương
pháp tìm kiếm này có thể khắc phục nhược điểm của phương pháp tìm kiếm dựa trên văn bản mô tả là không bị ảnh
hưởng bởi sự thiếu hoặc sai của văn bản kèm theo ảnh. Bên cạnh đó, các phương pháp học sâu như mạng nơron
tích chập đã chứng minh được khả năng xử lý dữ liệu lớn đặc biệt trong lĩnh vực thị giác máy tính và xử lý ảnh. Mục
tiêu của nghiên cứu này là giải bài toán tìm kiếm ảnh theo nội dung và phương pháp để giảm thời gian truy vấn ảnh
sử dụng mạng nơtron tích chập. Đồng thời, chúng tôi kết hợp phương pháp này với phương pháp sinh mã nhị phân
để cải thiện thời gian truy vấn ảnh. Kết quả thực nghiệm trên hai bộ dữ liệu cifar-10 và mnist cho thấy việc sử dụng
mạng nơron tích chập kết hợp phương pháp sinh mã nhị phân trong tìm kiếm ảnh đạt độ chính xác xấp xỉ 89% và
98% và cải thiện đáng kể thời gian truy vấn ảnh.

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tóm tắt nội dung tài liệu: Tìm kiếm ảnh theo nội dung dựa trên mạng nơron tích chập và phương pháp sinh mã nhị phân
à cách thức Conv hoạt động trên một dữ
2.2.1. Mạng nơron tích chập liệu đầu vào được biểu diễn bằng một ma trận
hai chiều. Phép tính này được thực hiện bằng
Với mạng nơron truyền thẳng (ANN) thông
cách dịch chuyển một cửa sổ mà ta gọi là bộ lọc
thường: nhận đầu vào là một véctơ và chuyển
(hay kernel) trên ma trận đầu vào, trong đó kết
đổi nó thông qua một loạt các lớp ẩn. Mỗi lớp ẩn
quả mỗi lần dịch chuyển được tính bằng tổng
bao gồm một tập các nơ-ron, trong đó mỗi nơron
tích chập (tích của các giá trị giữa 2 ma trận tại
được kết nối đầy đủ với tất cả các nơron trong
vị trí tương ứng), trong hình 4 là giá trị đầu ra
lớp trước và các nơron trong một lớp không có
khi dịch chuyển bộ lọc có kích thước [3 × 3] trên
bất kỳ kết nối nào với nhau. Lớp được kết nối
toàn bộ ma trận đầu vào có kích thước [7 × 7].
đầy đủ cuối cùng được gọi là lớp đầu ra. Như
vậy, với tập dữ liệu gồm các hình ảnh có kích Trong trường hợp tổng quát, hình ảnh có
thước [200 × 200 × 3], mỗi nơron trong lớp ẩn kích thước [W1 × H1 × D1], sử dụng K bộ lọc có
đầu tiên của mạng sẽ có 200 × 200 × 3 = 120.000 kích thước [F × F], trong quá trình xử lý sẽ dịch
chuyển các bộ lọc trên toàn bộ ảnh với bước dịch
trọng số kết nối. Điều này gây khó khăn cho việc
chuyển (stride) S (S được tính bằng pixel).
huấn luyện ANN trên cả hai yếu tố: chi phí để
Trong một số trường hợp để cân bằng giữa số
xây dựng dữ liệu huấn luyện lớn và thời gian
bước dịch chuyển và kích thước của ảnh người ta
huấn luyện lâu.
có thể chèn thêm P pixel với một giá trị cho
Từ thực tế đó, mạng CNN ra đời với ý tưởng trước (thường là 0) xung quanh viền của ảnh khi
chính là mỗi nơron chỉ cần kết nối tới một vùng đó ta được ma trận đầu ra (feature map) là
cục bộ của ảnh thay vì trên toàn bộ ảnh. Về cơ [W2 × H2 × D2] trong đó:
bản CNN là một kiểu mạng ANN truyền thẳng,
W2 = (W1 – F + 2P)/S + 1
trong đó kiến trúc chính gồm nhiều thành phần
được ghép nối với nhau theo cấu trúc nhiều lớp H2 = (H1 – F + 2P)/S + 1
đó là: Convolution, ReLU, Pooling và liên kết đầy D2 = K
500
Nguyễn Thị Huyền, Trần Thị Thu Huyền, Vũ Thị Lưu
Hình 4. Minh hoa phép nhân chập
Hình 5. Lớp nhân chập thực hiện nhân chập ảnh đầu vào có kích thước [227×227×3] với 96
bộ lọc có kích thước [11×11×3], bước dịch chuyển S = 4 pixel và P = 0. Tương ứng với mỗi bộ
lọc sẽ cho một feature map có kích thước là W2 = H2 = (227 – 11)/4 +1 = 55 ở kết quả đầu ra
Lược đồ chia sẻ tham số được sử dụng trong lớp Conv trong ví dụ của chúng ta bây giờ chỉ có
các lớp tích chập để kiểm soát số lượng tham số. 96 bộ trọng số, với tổng số 96 × 11 × 11 × 3 =
Ví dụ trong lớp tích chập ở hình 3, có 55 × 55 × 34,848 hoặc 34.944 tham số (96 bias).
96 = 290.400 nơron, mỗi nơron có 11 × 11 × 3 =
b. Lớp ReLU
363 trọng số kết nối và 1 bias. Như vậy có
290.400 × 364 = 105.705.600 tham số. Rõ ràng, Lớp ReLU thường được cài đặt ngay sau lớp
con số này rất lớn. Chúng ta có thể giảm đáng Conv. Lớp này sử dụng hàm kích hoạt f(x) =
kể số lượng tham số bằng cách sử dụng cùng bộ max(0,x). Nói một cách đơn giản, lớp này có
trọng số và bias cho các nơron trong cùng nhiệm vụ chuyển toàn bộ giá trị âm trong kết
feature map. Với lược đồ chia sẻ tham số này, quả lấy từ lớp Conv thành giá trị 0. Ý nghĩa của
501
Tìm kiếm ảnh theo nội dung dựa trên mạng nơron tích chập và phương pháp sinh mã nhị phân
cách cài đặt này chính là tạo nên tính phi tuyến d. Lớp liên kết đầy đủ
cho mô hình. Có rất nhiều cách để khiến mô Liên kết đầy đủ là cách kết nối các nơron ở
hình trở nên phi tuyến như sử dụng các hai lớp với nhau trong đó lớp phía sau kết nối
hàm kích hoạt sigmoid, tanh,„ nhưng hàm đầy đủ với các nơron ở lớp phía trước nó. Đây
f(x) = max(0,x) dễ cài đặt, tính toán nhanh mà cũng là dạng kết nối thường thấy ở ANN, trong
vẫn hiệu quả (Krizhevsky & cs., 2012). CNN lớp này thường được sử dụng ở các lớp
c. Lớp Pooling phía cuối của kiến trúc mạng.
Lớp này sử dụng một cửa sổ trượt quét qua 2.2.2. Ứng dụng mạng nơron tích chập vào
toàn bộ ảnh, mỗi lần trượt theo một bước dịch bài toán tìm kiếm ảnh
chuyển cho trước. Khác với lớp Conv, lớp Pooling
Như đã đề cập ở trên, phương pháp tìm
không tính tích chập mà thực hiện lấy mẫu. Khi
kiếm ảnh theo nội dung “truyền thống” thường
cửa sổ trượt trên ảnh, chỉ có một giá trị được dựa vào các đặc trưng trực quan như màu sắc,
xem là giá trị đại diện cho thông tin ảnh tại kết cấu, hình dạng, đặc trưng cục bộ được rút
vùng đó (giá trị mẫu) được giữ lại. Các phương trích từ ảnh và thường không hiệu quả trong
thức lấy mẫu phổ biến trong lớp Pooling là một số trường hợp. Ví dụ, lược đồ màu có thể
MaxPooling (lấy giá trị lớn nhất), MinPooling được dùng để miêu tả đặc trưng màu của một
(lấy giá trị nhỏ nhất) và AveragePooling (lấy giá ảnh. Tuy nhiên, hạn chế chính của lược đồ màu
trị trung bình). là chưa tận dụng được thông tin không gian của
Với ma trận đầu vào có kích thước [W1 × H1 các vùng ảnh. Điều này có thể dẫn đến các sai số
× D1], thực hiện toán tử pooling trên cửa sổ có không mong muốn như minh họa trong hình 7,
kích thước [F×F] với bước dịch chuyển S pixel ta hai ảnh có cấu trúc khác nhau nhưng có lược đồ
được ma trận đầu ra [W2 × H2 × D2] trong đó: màu giống nhau, hoặc trong trường hợp ảnh bị
W2 = (W1– F)/S + 1 lệch như minh họa trong hình 8.
H2 = (H1 – F)/S + 1 Trong khi đó sử dụng đặc trưng được trích
chọn bởi CNN có thể khắc phục được những hạn
D2 = D1
chế nêu trên do sử dụng các bộ lọc với kích thước
Hình 6 là ví dụ minh họa về sử dụng toán
khác nhau trượt trên ảnh, do đó tạo ra được
tử pooling. Trong đó, hình 6(a) phía bên trái là
nhiều dữ liệu hơn.
cách thức lớp pooling xử lý đối với một đầu vào
có kích [224 × 224 × 64], cửa sổ có kích thước [2 a. Kiến trúc mạng CNN
× 2], bước dịch chuyển S = 2 khi đó đầu ra thu Chúng tôi sử dụng mô hình CNN do
được có kích thước [112 × 112 × 64]. Hình 6(b) Krizhevsky & cs. (2012) đề xuất, mô hình này
phía bên phải mô tả chi tiết cách thức hoạt động được cung cấp sẵn trong thư viện Caffe CNN
của max-pooling với F = 2, S = 2. (Jia, 2014).
Hình 6. Ví dụ về sử dụng toán tử pooling
502
Nguyễn Thị Huyền, Trần Thị Thu Huyền, Vũ Thị Lưu
Nguồn: Văn Thế Thành, 2017.
Hình 7. Hai ảnh khác nhau nhưng có cùng lược đồ màu
Hình 8. Số 8 ở các vị trí khác nhau trong ảnh
Hình 9. Mô hình mạng CNN do Krizhevsky và các cộng sự (2012) đề xuất
Trong kiến trúc trên, lớp nhân chập thứ là khoảng cách Euclidean giữa hai véctơ đặc
nhất thực hiện lọc ảnh đầu vào có kích thước trưng tương ứng của chúng.
[227 × 227 × 3] bởi 96 bộ lọc có kích thước [11 × SVV P (1)
11 × 3] với bước dịch chuyển S = 4 pixel, P = 0 i q i
kết quả thu được đầu ra có kích thước [55 × 55 × Khoảng cách Euclidean càng nhỏ thì mức
96]. Lớp nhân chập thứ hai thực hiện lọc đầu độ giống nhau của hai ảnh càng cao. Dựa vào
vào có kích thước [55 × 55 × 96] bởi 256 bộ lọc có khoảng cách này có thể xác định được top k hình
kích thước [5 × 5 × 96] với bước dịch chuyển ảnh giống với ảnh truy vấn nhất.
S = 1 pixel, P = 2 và thu được đầu ra có kích
b. Nâng cao hiệu quả tìm kiếm ảnh
thước [27 × 27 × 256]. Tương tự với các lớp nhân
Việc sử dụng đầu ra của lớp FC7 làm véctơ
chập khác. Các lớp pooling sử dụng toán tử
đặc trưng cho thấy kết quả tìm kiếm ảnh tốt.
maxpooling với cửa sổ có kích thước [3 × 3] và
Tuy nhiên, nó không hiệu quả trong hệ thống
bước dịch chuyển S = 2.
tìm kiếm ảnh với cơ sở dữ liệu lớn do việc tính
Sau khi mạng được huấn luyện, đầu ra của
khoảng cách Euclidean trên các véctơ chiều cao
lớp FC7 được sử dụng như véctơ đặc trưng của mất nhiều thời gian. Để cải thiện thời gian truy
ảnh và được sử dụng cho bài toán tìm kiếm ảnh. xuất hình ảnh, một cách đơn giản là chuyển đổi
i
Với ảnh truy vấn Iq và tập cơ sở dữ liệu ảnh P, các vectơ đặc trưng của ảnh thành dạng nhị
gọi V và VP tương ứng là các véctơ đặc trưng
q i phân. Khi đó việc so sánh độ giống nhau của hai
của ảnh truy vấn Iq và của ảnh Ii trong tập P. hình ảnh có thể được thực hiện nhanh chóng
Chúng tôi xác định mức độ tương tự giữa Iq và Ii bằng cách sử dụng khoảng cách Hamming.
503
Tìm kiếm ảnh theo nội dung dựa trên mạng nơron tích chập và phương pháp sinh mã nhị phân
Hình 10. Mô hình mạng CNN sau khi chèn lớp ẩn H
Để thực hiện ý tưởng này, chúng tôi chèn và từng ảnh trong tập train, sau đó lấy ra 1.000
thêm một lớp ẩn H sau lớp FC7 và lớp ra FC8 là ảnh có độ đo tương tự cao nhất để đánh giá độ
phân loại softmax ứng với 10 lớp dữ liệu để phù chính xác của việc tìm kiếm bằng một độ đo
hợp với các bộ dữ liệu mà chúng tôi sử dụng để Precision như sau:
thực nghiệm. Các nơron trong lớp H được kết 1.000
nối đầy đủ với các nơron ở lớp trước và lớp sau Rel i
i1
và được kích hoạt bởi hàm truyền sigmoid. Các Precision (3)
1.000
trọng số liên kết từ lớp thứ nhất đến lớp FC7
được lấy từ mạng CNN đã được huấn luyện Trong đó Rel(i) biểu thị sự liên quan giữa
ảnh truy vấn q và ảnh được xếp thứ hạng i
trước đó, trọng số kết nối từ lớp FC7 tới lớp H và
trong số 1.000 ảnh được lấy ra. Ở đây, chúng tôi
từ lớp H đến lớp FC8 ban đầu được khởi tạo
sử dụng nhãn lớp của ảnh để đo mức độ liên
ngẫu nhiên và được cập nhật trong quá trình
quan. Rel(i) = 1 nếu ảnh truy vấn q và ảnh thứ i
huấn luyện mạng.
thuộc cùng một lớp và bằng 0 nếu ngược lại.
Do các nơron trong lớp H sử dụng hàm
Thời gian truy vấn là thời gian trung bình
truyền sigmoid nên đầu ra của lớp H ký hiệu là
để tính độ đo tương tự giữa ảnh truy vấn và
O(H) là các giá trị trong khoảng {0,1}, để đưa về
từng ảnh trong tập train.
dạng mã nhị phân chúng tôi thực hiện phân
ngưỡng cho mỗi bit j = 1,„, h (với h là số nơron 2.3.2. Kết quả thực nghiệm
trong lớp H) như sau:
Chúng tôi thực nghiệm các trường hợp: (1)
1 nếu Oj(H) 0,5 Sử dụng đầu ra của lớp FC7 làm đặc trưng ảnh,
Hj
(2) khi đó, mỗi ảnh sẽ được biểu diễn bằng véctơ có
0 nếu ngược lại
độ dài 4096 và sử dụng khoảng cách Euclidean
Gọi P = {I1, I2,... , In} là tập cơ sở dữ liệu để đo độ tương tự giữa hai ảnh; (2) sử dụng
ảnh bao gồm n ảnh, mã nhị phân tương ứng phương pháp sinh mã nhị phân với số nơron
trong lớp ẩn H lần lượt là 16, 32, 48, 64 và 128
của tập ảnh được ký hiệu là PH = {H1, H2,„,
h chính là độ dài của vec-tơ đặc trưng (hash code),
Hn} với Hi {0, 1} . Cho một hình ảnh truy
trong trường hợp này, chúng tôi sử dụng khoảng
vấn Iq với mã nhị phân tương ứng là Hq.
cách Hamming để đo độ tương tự giữa hai ảnh.
Chúng tôi xác định mức độ tương tự giữa Iq và Ij
Kết quả thực nghiệm được cho trong bảng 1.
là khoảng cách Haming giữa Hq và Hj.
Kết quả thực nghiệm cho thấy việc sử dụng
2.3. Kết quả thực nghiệm mạng CNN vào bài toán tìm kiếm ảnh theo nội
dung cho kết quả tìm kiếm với độ chính xác cao,
2.3.1. Phương pháp đánh giá tuy nhiên thời gian truy vấn khá lâu. Việc áp
Với mỗi bộ dữ liệu, chúng tôi sử dụng dụng mạng CNN kết hợp với phương pháp sinh
10.000 ảnh trong tập test làm ảnh truy vấn. Với mã nhị phân không những làm tăng hiệu suất
một ảnh truy vấn q và một phép đo độ tương tự, tìm kiếm mà còn cải thiện rất nhiều về thời gian
chúng tôi tính độ đo tương tự giữa ảnh truy vấn truy vấn ảnh.
504
Nguyễn Thị Huyền, Trần Thị Thu Huyền, Vũ Thị Lưu
Bảng 1. Kết quả thực nghiệm
Bộ dữ liệu Độ dài véctơ đặc trưng Độ đo Độ chính xác (%) Thời gian truy vấn (giây)
CIFAR-10 4096 Euclidean 87,48 17,43
16 (bit) Hamming 89,77 0,02
32 (bit) Hamming 89,72 0,04
48 (bit) Hamming 89,74 0,06
64 (bit) Hamming 89,79 0,07
128 (bit) Hamming 89,79 0,13
MNIST 4096 Euclidean 98,12 15,32
48 (bit) Hamming 98,31 0,05
128 (bit) Hamming 98,43 0,11
Ảnh truy
vấn
4096
16 bit 16
32 bit 32
48 bit 48
64 bit 64
128 bit 128
Hình 11. Top 10 ảnh kết quả tìm kiếm ảnh trên bộ dữ liệu CIFAR-10
Hình 12. Top 10 ảnh kết quả tìm kiếm ảnh trên bộ dữ liệu MNIST
505
Tìm kiếm ảnh theo nội dung dựa trên mạng nơron tích chập và phương pháp sinh mã nhị phân
Krizhevsky A., Nair V., & Hinton G. (2009). CIFAR-
3. KẾT LUẬN 10 and CIFAR-100 dataset. Retrieved from
https://www.cs.toronto.edu/~kriz/cifar.html on
Khi sử dụng mạng CNN trên tập hai tập dữ
May 12, 2018.
liệu CIFAR-10 và MNIST cho kết quả tìm kiếm
Krizhevsky A., Sutskever I. & E. Hinton G. (2012).
với độ chính xác cao (~ 87% trên bộ dữ liệu
ImageNet Classification with Deep Convolutional
CIFAR-10 và (~ 98% trên bộ dữ liệu MNIST) Neural Networks. In Proc. NIPS.
nhưng thời gian truy vấn lâu (trên 10 giây). Lecun Y., Cortes C., Burges C. (1998). MNIST
Thực hiện sinh mã nhị phân bằng cách chèn handwritten digit database. Retrieved from
thêm một lớp ẩn vào mạng CNN cho thấy thời on May
gian truy vấn đã giảm đáng kể còn chưa đến 1 12, 2018.
giây. Nghiên cứu này đã cho thấy việc áp dụng Lecun Y., Bottou L., Bengio Y. & Haffner P. (1998).
mạng CNN và phương pháp sinh mã nhị phân Gradient-based learning applied to document
đáng được quan tâm để góp phần nâng cao hiệu recognition. Proceedings of the IEEE.
quả cho các hệ thống tìm kiếm ảnh. Li H., Lin Z., Shen X., Brandt J. & Hua G. (2015). A
Convolutional Neural Network Cascade for Face
Detection. Proceedings of the IEEE Conference on
TÀI LIỆU THAM KHẢO Computer Vision and Pattern Recognition.
Babenko A., Slesarev A., Chigorin A. & Lempitsky V. pp. 5325-5334.
(2014). Neural codes for image retrieval. Lecture Luo P., Tian, Y., Wang X. & Tang X. (2014).
Notes in Computer Science (Including Subseries Switchable Deep Network for Pedestrian Detection
Lecture Notes in Artificial Intelligence and Lecture Ping. Computer Vision Fundation.
Notes in Bioinformatics), 8689 LNCS(PART 1).
pp. 584-599. Lê Minh Phúc & Trần Công Án (2017). Tìm kiếm ảnh
theo nội dung và ngữ nghĩa. Tạp chí Khoa
Cheng Z., Yang Q. & Sheng B. (2015). Deep
Colorization. Proceedings of the IEEE học, Trường Đại học Cần Thơ. Số chuyên đề:
International Conference on Computer Vision. Công nghệ thông tin. tr. 58-64.
pp. 415-423. Photoindustrie-Verband e.V. (2016). Photo and
Ciressan D., Meier U. & Schmidhuber J. (2012). Multi- imaging market: Trend report. p. 63.
column Deep Neural Networks for Image Văn Thế Thành (2017). Tìm kiếm ảnh dựa trên đồ thị
Classification. Proceedings of the IEEE chữ ký nhị phân. Luận án tiến sĩ khoa học máy
Conference on Computer Vision and Pattern tính. Đại học Huế.
Recognition.
Jia Y., Shelhamer E., Donahue J., Karayev S., Long J., Văn Thế Thành & Lê Mạnh Thạnh (2016). Một số cải
Girshick R., Guadarame S. & Darrell T. (2014). tiến cho hệ truy vấn ảnh dựa trên cây S-Tree. Kỷ
Caffe: Convolutional Architecture for Fast Feature yếu hội nghị khoa học quốc gia lần thứ IX -
Embedding. UC Berkeley EECS, Berkeley, Nghiên cứu cơ bản và ứng dụng công nghệ thông
CA 94702 tin (FAIR’9).
506 File đính kèm:
tim_kiem_anh_theo_noi_dung_dua_tren_mang_noron_tich_chap_va.pdf

