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