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.

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 trang 1

Trang 1

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 trang 2

Trang 2

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 trang 3

Trang 3

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 trang 4

Trang 4

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 trang 5

Trang 5

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 trang 6

Trang 6

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 trang 7

Trang 7

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 trang 8

Trang 8

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 trang 9

Trang 9

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 trang 10

Trang 10

pdf 10 trang duykhanh 4700
Bạn đang xem 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

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

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:

  • pdftim_kiem_anh_theo_noi_dung_dua_tren_mang_noron_tich_chap_va.pdf