Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.Phát triển mô hình tìm kiếm ảnh dựa trên cấu trúc KDTREE.
TỔNG QUAN VỀ TÌM KIẾM ẢNH VÀ CẤU TRÚC KD-TREE
Giới thiệu
Bài toán tìm kiếm ảnh trong luận án được xác định là tìm ra tập các hình ảnh có độ tương tự gần nhất với ảnh đầu vào dựa trên độ đo tương tự giữa hai hình ảnh
[5], [30] Một số thuật ngữ tương tự cho khái niệm này xuất phát từ thuật ngữ tiếng Anh “retrieval” như “truy vấn”, “tra cứu”, “truy hồi” Tuy nhiên, để phù hợp với thuật ngữ đã sử dụng trong các công trình liên quan và không ảnh hưởng đến nội dung, thuật ngữ “tìm kiếm ảnh” được sử dụng trong luận án này.
Một kỹ thuật quan trọng được sử dụng cho các bài toán tìm kiếm ảnh là học máy Có nhiều kỹ thuật học máy khác nhau được sử dụng để truy xuất hình ảnh với việc sử dụng các đặc trưng hình ảnh như màu sắc, kết cấu, hình dạng, đặc trưng không gian, v.v [31] Chất lượng đặc trưng của hình ảnh được trích xuất là một trong những yếu tố ảnh hưởng trực tiếp đến quá trình nhận diện các đối tượng trên ảnh và kết quả bài toán tìm kiếm ảnh theo nội dung CBIR [10] Ngoài ra, các kỹ thuật sắp xếp tổ chức lưu trữ dữ liệu hình ảnh cũng đóng vai trò quan trọng trong việc nâng cao hiệu quả tìm kiếm ảnh [6], [16] Trong những năm gần đây, ảnh số đã gia tăng với tốc độ khá nhanh thông qua việc chia sẻ hình ảnh bằng các phương tiện thông tin đại chúng, mạng xã hội, v.v đã tạo nên một kho dữ liệu khổng lồ Vì vậy, việc tìm kiếm một tập hình ảnh liên quan với ảnh đầu vào là thật sự khó khăn nếu dữ liệu chưa được tổ chức theo một quy tắc hoặc chưa có phương tiện, công cụ đáp ứng nhu cầu tìm kiếm của người dùng Vì vậy, một yêu cầu đặt ra là cần kết hợp giữa trích xuất đặc trưng hình ảnh và một cấu trúc lưu trữ là những yếu tố quan tâm hàng đầu cho bài toán tìm kiếm ảnh theo nội dung.
Nội dung đặc trưng của hình ảnh bao gồm màu sắc, kết cấu, vị trí tương đối, chu vi, diện tích, hình dạng, v.v đôi khi cũng chưa mô tả hết ý nghĩa cần thể hiện trên mỗi hình ảnh Một phương pháp tìm kiếm ảnh theo tiếp cận ngữ nghĩa SBIR ra đời trong thập kỷ vừa qua với những thành tích đột phá nhằm cải tiến những hạn chế còn tồn tại trong phương pháp tìm kiếm ảnh theo nội dung Tìm kiếm ảnh theo tiếp cận ngữ nghĩa đáp ứng được nhu cầu người dùng thông qua việc mô tả nội dung hình ảnh kết hợp với mô tả mối quan hệ giữa các đối tượng trên ảnh [32] Đặc trưng ngữ nghĩa của hình ảnh được mô tả bằng văn bản để nêu lên đặc điểm nhận diện đối tượng, mô tả vị trí tương đối giữa các đối tượng hoặc mô tả mối quan hệ giữa các đối tượng trên mỗi hình ảnh Vì vậy, phương pháp tìm kiếm ảnh theo tiếp cận ngữ nghĩa là sự kết hợp giữa đặc trưng hình ảnh và đặc trưng ngữ nghĩa đã góp phần nâng cao độ chính xác cho quá trình tìm kiếm được thực hiện trong luận án này. Hiện nay, có nhiều phương pháp thực hiện bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa như: (1) sử dụng các kỹ thuật học máy để trích xuất đặc trưng hình ảnh, liên kết các đặc trưng hình ảnh với các từ vựng trực quan để mô tả ngữ nghĩa các đối tượng hình ảnh [33]; (2) sử dụng ontology để xác định ngữ nghĩa cấp cao của hình ảnh, từ đó trích xuất tập ảnh tương tự với mô tả ảnh đầu vào [34]; (3) sử dụng phương pháp phản hồi liên quan để xác định mức độ quan trọng từng câu truy vấn
[35] và một số phương pháp khác Mỗi phương pháp tiếp cận có những ưu điểm và nhược điểm riêng, dựa trên mục tiêu hướng đến trong mỗi bài toán để có giải pháp kết hợp và lựa chọn phương pháp phù hợp Phương pháp sử dụng các kỹ thuật học máy đôi khi tìm được những hình ảnh tương tự theo đặc trưng hình ảnh nhưng lại khác xa về mặt ngữ nghĩa Phương pháp phản hồi liên quan còn phụ thuộc vào cảm tính người dùng đầu cuối, đôi khi kết quả tìm kiếm chưa thực sự khách quan Trong khi đó, hướng tiếp cận tìm kiếm ảnh theo ngữ nghĩa dựa vào ontology giúp tìm được những hình ảnh khá gần với đặc trưng ngữ nghĩa của người dùng mô tả Trên cơ sở phân tích này, nội dung luận án thực hiện bài toán tìm kiếm ảnh theo đặc trưng hình ảnh kết hợp với đặc trưng ngữ nghĩa mô tả đối tượng và mối quan hệ giữa các đối tượng trên ảnh được thực hiện dựa trên cấu trúc KD-Tree nhằm nâng cao độ chính xác tìm kiếm ảnh tương tự, cải thiện thời gian tìm kiếm trong các tập dữ liệu ảnh lớn.
Tìm kiếm ảnh theo nội dung
Phương pháp tìm kiếm ảnh theo nội dung được thực hiện bằng cách trích xuất nội dung hình ảnh thành véc-tơ đặc trưng đa chiều, tổ chức lưu trữ nhằm giảm chi phí về bộ nhớ và thực hiện tìm kiếm tập ảnh có độ tương tự gần nhất dựa trên cơ sở dữ liệu ảnh đã có Hệ thống CBIR khắc phục được những hạn chế của phương pháp tìm kiếm ảnh theo từ khóa TBIR [36] Tuy nhiên, một số hạn chế của tìm kiếm ảnh theo nội dung là chỉ sử dụng các đặc trưng hình ảnh, chưa sử dụng các đặc trưng ngữ nghĩa cũng như mô tả ngữ cảnh của ảnh đầu vào Vì vậy, kết quả đánh giá thực nghiệm của các mô hình tìm kiếm ảnh theo nội dung còn phụ thuộc vào kỹ thuật trích xuất đặc trưng, chất lượng hình ảnh và một số yếu tố khác.
Một số công trình đã thực hiện phương pháp tìm kiếm ảnh theo nội dung chịu ảnh hưởng khá lớn vào kỹ thuật trích xuất đặc trưng hình ảnh như: Mutasem K. Alsmadi (2020) [31] đã thực hiện bài toán tìm kiếm ảnh theo nội dung dựa trên đặc trưng màu sắc, hình dạng, kết cấu và kết hợp các nhóm đặc trưng với hiệu suất khá cao trên bộ ảnh COREL Lakshmi R Nair và cộng sự [37] thực hiện tìm kiếm ảnh theo nội dung dựa trên các đặc trưng màu sắc, hình dạng, kết cấu, đặc trưng không gian vị trí, các đặc trưng cục bộ và sự kết hợp các nhóm đặc trưng này với nhau để thực nghiệm trên bộ ảnh COREL Trong công trình này, tác giả cũng đề cập đến mối quan hệ giữa đặc trưng hình ảnh và đặc trưng ngữ nghĩa và trình bày phương pháp liên kết giữa đặc trưng này với nhau Điều này cho thấy, đặc trưng hình ảnh là yếu tố ảnh hưởng lớn đến kết quả tìm kiếm trên các hệ tìm kiếm ảnh theo nội dung.
1.2.1 Đặc trưng hình ảnh và trích xuất véc-tơ đặc trưng Đặc trưng của hình ảnh là đặc điểm sử dụng để nhận diện sự xuất hiện các đối tượng trực quan trên ảnh, bao gồm hình dạng, màu sắc, kết cấu bề mặt, vị trí tương đối, chu vi và diện tích đối tượng, v.v đặc trưng hình ảnh được mô tả như sau:
Phân đoạn ảnh (Image segmentation): Phân đoạn ảnh là công việc đầu tiên trong trích xuất đặc trưng Việc phân đoạn ảnh màu được thực hiện bằng cách phân chia hình ảnh thành các vùng riêng biệt dựa trên từng đối tượng được nhận diện để từ đó trích xuất đặc trưng trên từng vùng Phương pháp phân vùng ảnh dựa trên độ tương
13 phản giữa ảnh nền và ảnh đối tượng, việc phân biệt ảnh nền và ảnh đối tượng sẽ bị nhập nhằng trong một số hình ảnh khó phân biệt Để làm giảm độ nhiễu giữa các vùng quá sáng hoặc quá tối, một số điểm ảnh nằm trong vùng lân cận của giá trị lớn nhất và giá trị nhỏ nhất thuộc độ tương phản thì được quy về giá trị tương đương [38]. Đặc trưng màu sắc (Color feature): Màu sắc là một trong những đặc điểm quan trọng nhất trong trích xuất đặc trưng hình ảnh mà mắt người có thể phân biệt giữa các hình ảnh trên cơ sở màu sắc Màu sắc có mối quan hệ chặt chẽ với các đối tượng và ảnh nền Đặc điểm màu sắc là không thay đổi đối với kích thước, tỷ lệ, phép dịch chuyển, xoay và hướng của đối tượng [38] Những hình ảnh của đối tượng trong thế giới thực được thực hiện trong phạm vi quang phổ hình ảnh để phân biệt trên cơ sở sự khác biệt về màu sắc [39] Tính năng màu sắc sử dụng bộ mô tả màu chủ đạo (DCD) [40] tổng thể thông tin màu sắc của hình ảnh có thể được thay thế bằng một lượng màu đại diện Do đó, màu sắc dễ dàng phân tích và trích xuất bằng cách sử dụng mô men màu (Color Moment), biểu đồ màu (Color Histogram), không gian màu (Color Space), v.v Luận án sử dụng đặc trưng màu sắc được trích xuất theo hệ màu MPEG-7 và Newton [22] Đối với đặc trưng màu sắc, mỗi điểm ảnh được gom cụm theo các màu sắc cơ bản của dãy màu Newton (Red, Green, Blue, Yellow, Orange, Purple) Vì vậy, mỗi điểm ảnh là một véc-tơ dữ liệu trong không gian RGB. Đặc trưng hình dạng (Shape feature): Hình dạng đối tượng là một trong những đặc trưng cơ bản trong đặc trưng hình ảnh Đặc trưng hình dạng được sử dụng để phát hiện các đối tượng tương tự từ cơ sở dữ liệu mà không phụ thuộc vào vị trí,góc quay [41] Các phương pháp trích xuất đặc trưng hình dạng thường được chia thành hai loại: dựa theo đường biên và dựa theo vùng ảnh Kỹ thuật xác định đường biên đối tượng có thể dùng phương pháp Gradient và Laplacian Vì vậy, để trích xuất các đặc trưng hình dạng, trước hết các đối tượng ảnh cần phải được phân đoạn thành những thành phần có cùng tính chất tương đồng dựa trên đường biên hay các vùng lân cận Sau đó sử dụng các kỹ thuật phát hiện đường biên ảnh để xác định hình dạng cho đối tượng đã được tách ra khỏi hình nền [41].
14 Đặc trưng kết cấu (Texture feature): Kết cấu của một hình ảnh cho biết dữ liệu liên quan đến sự sắp xếp theo một hướng cụ thể và liên quan đến cường độ màu của hình ảnh Các thuộc tính bao gồm đặc trưng kết cấu là kích thước, sắc thái, độ chiếu sáng và hình dạng Kết cấu quy định độ mịn, độ đồng đều, độ thô, độ nhám và tính đồng nhất hay đều đặn của các đối tượng hiện diện trong một hình ảnh Các bộ mô tả kết cấu có thể là bộ lọc Gabor, phép biến đổi Wavelet và tính năng Tamura [37]. Các đặc trưng kết cấu khác nhau có thể được áp dụng trong các lĩnh vực truy xuất hình ảnh khác nhau Đặc trưng kết cấu đại diện cho một nhóm pixel ảnh, do đó đặc trưng này có ý nghĩa hơn về mặt ngữ nghĩa so với đặc trưng màu sắc Nhược điểm chính của các đặc trưng kết cấu là độ nhạy với nhiễu hình ảnh và biểu diễn ngữ nghĩa cũng phụ thuộc vào hình dạng của các đối tượng trong ảnh [31]. Đặc trưng SIFT (Scale-invariant Feature Transform) được trích chọn các điểm đặc trưng (keypoint), các điểm này kèm theo các mô tả và một véc-tơ lấy keypoint làm điểm gốc Đặc trưng SIFT được biểu thị bởi một cấu trúc hoặc thiết kế phân biệt hiện có trong một hình ảnh; có thể là một cạnh, điểm hoặc vùng ảnh Đặc trưng này được liên kết với một vùng hình ảnh cùng cường độ và kết cấu Các bộ mô tả đặc trưng cục bộ có thể là SIFT, SURF, biểu đồ định hướng vị trí gradient, v.v [37]. Đặc trưng SIFT được trích xuất số lượng thuộc tính từ một hình ảnh phụ thuộc vào tác động chiếu sáng và phối cảnh cùng với các góc nhìn khác nhau Bộ mô tả đặc trưng SIFT sẽ phân biệt các yếu tố lân cận của một hình ảnh Các giai đoạn chính để trích xuất đặc trưng SIFT là: (1) phát hiện cực đại không gian quy mô cục bộ và bộ lọc; (2) định vị các điểm đặc trưng; (3) mô tả điểm đặc trưng [37]. Đặc trưng HOG (Histograms of Oriented Gradients) được tính toán trên một lưới các ô (cell) và chuẩn hóa sự tương phản giữa các khối (block) để nâng cao độ chính xác HOG được sử dụng chủ yếu để mô tả hình dạng và sự xuất hiện của một đối tượng trong ảnh [42] Đặc trưng HOG trích xuất các thông tin về hình dạng và nét bề ngoài của các đối tượng cục bộ trong ảnh có thể được mô tả bằng cách sử dụng thông tin về sự phân bố của các cường độ gradient (intensity gradients) hoặc các hướng biên (edge directions) Một véc-tơ đặc trưng HOG được tạo ra bằng cách kết
15 hợp tính toán gradient của mỗi pixel, tạo biểu đồ cho từng khối bằng cách sử dụng giá trị gradient, tính toán chuẩn hóa biểu đồ dưới dạng lược đồ được hiển thị Cuối cùng là tổng hợp các đặc trưng theo từng khối ảnh được phân đoạn [42].
Phương pháp trích xuất đặc trưng: Để trích xuất đặc trưng màu sắc, phương pháp phát hiện biên đối tượng bằng phép biến đổi LoG (Laplacian of Guassian) cho ảnh màu được sử dụng Phép biến đổi LoG bất biến đối với sự biến đổi cường độ ảnh cũng như sự biến đổi tỉ lệ, phép quay, phép biến đổi affine Vì vậy, giá trịGaussian được xác định bởi công thức (1.1) [42].
Trong đó là đạo hàm chuẩn, biểu diễn không gian tỷ lệ Gaussian 𝐿(𝑥, 𝑦, 𝜎) của ảnh 𝑓(𝑥, 𝑦) theo công thức (1.2) [42].
Trong công thức (1.2), phép toán * là phép tích chập (convolution); (𝑥, 𝑦) là tọa độ điểm ảnh Toán tử Laplacian 2 được tính toán theo công thức (1.3) [42].
Toán tử LoG được tính toán đầu tiên và sau đó được đối sánh với ảnh để tạo ra biểu diễn không gian tỷ lệ LoG theo công thức (1.4) [42].
Phương pháp LoG nhằm xác định đường biên, đặc trưng của đối tượng được trích xuất gồm chu vi đối tượng, vị trí tương đối của đường viền.
Ngoài ra, để nhận dạng đối tượng dựa trên biên và làm mịn bề mặt, phép lọc Sobel [20] được sử dụng Phép lọc Sobel là toán tử Gradient dựa trên vùng láng giềng kích thước 3x3 Mặt nạ tích chập cho toán tử Sobel trên ảnh số tỷ lệ xám Sobelx và Sobely được xác định trong công thức (1.5) [20] như sau:
Sobelx Các vị trí trên hai mặt nạ được áp dụng riêng biệt trên ảnh đầu vào để tạo thành phần Gradient Gx, Gy theo hướng ngang và dọc tương ứng với công thức (1.6) [20].
𝑖,𝑗 𝑥+1−2.𝑦+𝑗−2 Độ lớn Gradient được tính bởi công thức (1.7) [20].
𝐺[𝑓(𝑥, 𝑦)] = √𝐺𝑥 2 + 𝐺𝑦 2 (1.7) Để xác định vị trí tương đối của đối tượng theo trục X và trục Y, hàm khoảng cách trọng tâm CDF (Centroid Distance Function) được sử dụng CDF tính toán khoảng cách từ tâm (𝑥 0 , 𝑦 0 ) đến các điểm đường viền của một hình dạng và được biểu diễn bằng công thức (1.8) [20].
Quá trình trích xuất véc-tơ đặc trưng hình ảnh được thực hiện như Hình 1.1. Quá trình tạo mặt nạ phân đoạn ảnh dựa trên độ tương phản; dò biên theo phương pháp LoG; trích xuất màu sắc theo thuật toán gom cụm màu K-Means Trên cơ sở này, một véc-tơ đặc trưng hình ảnh 81 chiều gồm các thành phần được trình bày trong Bảng 1.1 [CT1].
Hình 1.1 Minh họa trích xuất véc-tơ đặc trưng 81 chiều [CT1]
Bảng 1.1 Các giá trị véc-tơ đặc trưng hình ảnh (81 chiều)
Mô tả Kích thước Đặc trưng màu sắc theo MPEG-7 25
Phép lọc tần số cao để lấy ảnh đường nét 9
Lấy cường độ ảnh theo phép lọc Gaussian 9 Đặc trưng cường độ các điểm ảnh theo láng giềng 9 Đặc trưng cường độ của đối tượng 9 Đặc trưng cường độ của hình nền 9 Đặc trưng diện tích đối tượng 1 Đặc trưng hình dạng của đường biên ảnh 1 Đặc trưng vị trí tương đối của đối tượng theo trục X, Y 2 Đặc trưng vị trí tương đối của hình nền theo trục X, Y 2 Đặc trưng chu vi của đối tượng 1 Đặc trưng chu vi của đối tượng theo phép lọc Sobel 1 Đặc trưng cường độ điểm ảnh láng giềng theo phép lọc Sobel 1 Đặc trưng chu vi của đối tượng theo phép lọc Laplacian 1 Đặc trưng dò biên đối tượng dùng phép Laplacian 1 Đặc trưng hình ảnh được sử dụng cho các thực nghiệm với bộ ảnh đơn đối tượng khá hiệu quả Tuy nhiên, nếu áp dụng cho các tập ảnh đa đối tượng đồng thời kết hợp với ngữ nghĩa người dùng thì kết quả chưa cao Vì vậy, cải tiến quá trình trích xuất đặc trưng; đồng thời kết hợp mô tả của người dùng để xây dựng đặc trưng ngữ nghĩa của hình ảnh trong các bộ ảnh đa đối tượng được thực nghiệm trên các nhóm đặc trưng được minh họa như Hình 1.2 Đối với bộ ảnh đa đối tượng MS- COCO và Flickr, sau khi phân đoạn ảnh đối tượng là quá trình trích xuất đặc trưng. Mỗi ảnh đối tượng được trích xuất bằng các đặc trưng mô tả trong Bảng 1.2 [CT3] như sau:
Bảng 1.2 Các giá trị véc-tơ đặc trưng được trích xuất (225 và 513 chiều)
Mô tả đặc trưng Kích thước Đặc trưng Shi MPEG7 25 Đặc trưng SHIF MPEG7 25 Đặc trưng màu sắc MPEG7 25 Đặc trưng màu sắc Newton 6 Đặc trưng HOG 36/144 Đặc trưng Laplace HOG 36/144 Đặc trưng Sobel HOG 36/144 Đặc trưng Prewitt HOG 36
Hình 1.2 Minh họa trích xuất véc-tơ đặc trưng 189, 225 và 513 chiều
Từ cơ sở lý thuyết này, đặc trưng hình ảnh được trích xuất minh họa bởi Hình
1.1 – 1.2 [CT3] Mỗi bộ ảnh thực nghiệm trong các công trình được chọn những loại đặc trưng riêng với số đặc trưng khác nhau để có kết quả phù hợp từng bộ dữ liệu.
Tìm kiếm ảnh theo tiếp cận ngữ nghĩa
Để đáp ứng nhu cầu người dùng về độ chính xác và thời gian tìm kiếm, mô hình tìm kiếm ảnh theo tiếp cận ngữ nghĩa được nhiều công trình công bố [6], [19],
[20] Với mô hình tìm kiếm ảnh theo ngữ nghĩa, ngoài việc sử dụng đặc trưng hình ảnh còn kết hợp đặc trưng ngữ nghĩa để tìm kiếm tập ảnh tương tự dựa trên mô tả ngữ nghĩa ảnh đầu vào Hệ tìm kiếm ảnh theo ngữ nghĩa đã khắc phục được những hạn chế của phương pháp tìm kiếm ảnh theo nội dung Đồng thời mô tả ngữ nghĩa nội dung hình ảnh giúp cho quá trình tìm kiếm ảnh mang lại độ chính xác cao, đáp ứng nhu cầu thực tế người dùng ngày càng phổ biến Đây là một phương pháp được nhiều nhóm nghiên cứu quan tâm và được triển khai trong thực tế.
Một bước phát triển so với tìm kiếm ảnh theo nội dung là không chỉ thực hiện so sánh độ đo tương tự giữa hai hình ảnh bằng khoảng cách Euclide mà dựa trên đặc trưng ngữ nghĩa của hình ảnh Trong tìm kiếm ảnh theo tiếp cận ngữ nghĩa việc đối sánh độ tương tự giữa hai hình ảnh thông qua đặc trưng ngữ nghĩa Ngữ nghĩa này được diễn đạt qua các khái niệm, mô tả, nhận thức của con người về đối tượng cần tìm kiếm Trong khi đó, véc-tơ đặc trưng mô tả nội dung hình ảnh chỉ biểu diễn bằng các tính năng như màu sắc, hình dạng, vị trí, chu vi, v.v Điều này dẫn đến, có những hình ảnh giống nhau về mặt nội dung chẳng hạn như hai ảnh chứa cùng hai đối tượng con người (person) và xe cộ (vehicle) nhưng ảnh thứ nhất mô tả “người ngồi trên xe”; ảnh thứ hai mô tả “người ở bên trái xe” chỉ có đặc trưng ngữ nghĩa hình ảnh mới diễn đạt chính xác các nội dung hình ảnh [37] Đặc trưng hình ảnh mô tả được hai ảnh này tương tự nhau nhưng không giống nhau về mặt ngữ nghĩa Vì vậy, luôn có một sự khác biệt về ngữ nghĩa hình ảnh thông qua mô tả bằng đặc trưng ngữ nghĩa Thách thức cho bài toán tìm kiếm ảnh theo ngữ nghĩa là chuyển từ đặc trưng hình ảnh, liên kết các đặc trưng để xây dựng ngữ nghĩa mô tả hình ảnh. Để thực hiện điều này, cấu trúc Ontology lưu trữ và mô tả ngữ nghĩa hình ảnh được xây dựng dựa trên các bộ dữ liệu thực nghiệm Quá trình xây dựng đặc trưng ngữ nghĩa mô tả hình ảnh dựa trên các đặc trưng hình ảnh và khái niệm người dùng minh họa như Hình 1.3.
Hình 1.3 Mô tả đặc trưng ngữ nghĩa của hình ảnh [37] Đặc trưng ngữ nghĩa được xây dựng trên cơ sở các đặc trưng hình ảnh kết hợp với mối quan hệ giữa các đối tượng và khái niệm đặc trưng ngữ nghĩa của người dùng Vị trí không gian được mô tả vị trí tương đối trái, phải, trên, dưới và trước, sau theo vị trí của từng đối tượng của hình ảnh Chẳng hạn trên một hình ảnh có biển và bầu trời có thể có màu sắc và kết cấu giống nhau nhưng đặc trưng không gian lại không giống nhau Bầu trời trong bất kỳ hình ảnh nào được thể hiện ở trên cùng của hình ảnh trong khi biển ở phần dưới của hình ảnh [37].
1.3.2 Mối quan hệ ngữ nghĩa
Mối quan hệ ngữ nghĩa theo đặc trưng không gian giữa các đối tượng trên mỗi hình ảnh được sử dụng trong các công trình về tìm kiếm ảnh theo tiếp cận ngữ nghĩa Các mối quan hệ này được xác định bằng cách xây dựng đồ thị SG hoặc KG để xác định vị trí tương đối giữa các đối tượng trên ảnh như một số công trình đã công bố [45], [46] được minh họa như Hình 1.4 Trên cơ sở xác định và trích xuất từng đối tượng thuộc ảnh đầu vào, mối quan hệ giữa từng cặp đối tượng được xác định thông qua tọa độ vị trí, khoảng cách tương đối giữa các đối tượng trên ảnh Từ đó, mối quan hệ ngữ nghĩa này gồm: bên trái, bên phải, phía trước, phía sau, ở trên, ở dưới, v.v được xác định bằng KD-Tree và áp dụng cho bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa được thực hiện trong luận án này Mối quan hệ ngữ nghĩa mô tả đặc trưng không gian cho ảnh đầu vào được minh họa như Hình 1.5
[CT5] Trong đó cặp đối tượng , được xác định một mối quan hệ không gian là , từ đó hình thành nên bộ ba (Triple) mô tả mối quan hệ ngữ nghĩa là “people on chair” Ngoài ra, một số mối quan hệ ngữ nghĩa khác được xác định như: “people in mountain”, “people left people”.
Hình 1.4 Xác định mối quan hệ không gian giữa các đối tượng bằng SG [46]
Hình 1.5 Xác định mối quan hệ không gian giữa các đối tượng bằng KD-Tree
1.3.3 Các phương pháp tìm kiếm ảnh theo tiếp cận ngữ nghĩa
Hiện nay, một số phương pháp để tìm kiếm ảnh theo tiếp cận ngữ nghĩa, đó là:
(1) Sử dụng ontology để xác định đặc trưng ngữ nghĩa cho bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa [22];
(2) Sử dụng các kỹ thuật học máy để liên kết các đặc trưng hình ảnh với ngữ nghĩa bằng các nhãn ngữ nghĩa hay từ vựng trực quan [19], [20], [40];
(3) Sử dụng phản hồi liên quan nhằm tìm hiểu ý nghĩ người dùng [34];
(4) Tạo các mẫu ngữ nghĩa để truy xuất ảnh dựa trên ngữ nghĩa [47].
Trong đó, phương pháp phản hồi liên quan phụ thuộc vào cảm tính của người dùng nên kết quả chưa khách quan Mặt khác, phương pháp sử dụng nhiều nguồn thông tin như văn bản thu được từ Web và tạo mẫu ngữ nghĩa thu được với độ chính xác chưa cao Trong luận án này, phương pháp tìm kiếm ảnh theo tiếp cận ngữ nghĩa sử dụng Ontogoly được đề xuất Ontology được phát triển trên nền tảng bổ sung thông tin ảnh đối tượng, phân lớp ảnh, phân lớp con và mối quan hệ giữa các đối tượng trên ảnh để áp dụng cho quá trình tìm kiếm theo bộ ba mô tả hình ảnh.Đây là một điểm cải tiến trong quá trình xây dựng và tìm kiếm ảnh trên Ontology.
Tìm kiếm ảnh dựa trên cấu trúc KD-Tree
Hiện nay, có nhiều phương pháp tổ chức dữ liệu đa chiều như sử dụng cấu trúc cây [6], [13] cấu trúc đồ thị [30], [48]; trong đó, cấu trúc dữ liệu đa chiều KD-Tree được tiếp cận và sử dụng trong luận án cho bài toán tìm kiếm ảnh.
1.4.1 Cấu trúc KD-Tree cho tìm kiếm ảnh
Cấu trúc KD-Tree nguyên thủy được Bentley (1975) [49] đề xuất là một dạng cây tìm kiếm nhị phân BST Trên cơ sở phát triển cây BST với mỗi nút trên cây lưu trữ một điểm không gian đa chiều hình thành nên cấu trúc mới, gọi là KD-Tree. KD- Tree cũng là cấu trúc cây tìm kiếm nhị phân bao gồm một nút gốc (𝑅𝑜𝑜𝑡), các nút trong (𝑁𝑜𝑑𝑒) và nhiều nút lá (𝐿𝑒𝑎𝑓) Tại mỗi nút chỉ có tối đa hai nhánh con, chia cây thành hai phần gồm cây con trái và cây con phải Phần các điểm ở bên trái nút gốc biểu thị bằng cây con trái và các điểm ở bên phải nút gốc biểu thị bằng cây con phải Cấu trúc KD-Tree ứng dụng khá hiệu quả trong nhiều lĩnh vực như: biểu diễn cơ sở dữ liệu không gian và thời gian, biểu diễn các hệ cơ sở dữ liệu lớn nhằm giảm không gian lưu trữ và tìm kiếm nhanh, v.v Vì cấu trúc KD-Tree lưu trữ được dữ liệu đa chiều, trong khi đó dữ liệu đa phương tiện như video, hình ảnh, v.v sau khi trích xuất là véc-tơ đặc trưng đa chiều Do đó, một cấu trúc dữ liệu đa chiều được sử dụng để lưu trữ véc-tơ đặc trưng là cần thiết cho bài toán tìm kiếm ảnh. Trong đó, cấu trúc dữ liệu đa chiều KD-Tree được sử dụng nhiều trong các công trình tìm kiếm ảnh đã công bố ngoài những cấu trúc dữ liệu như S-Tree [5], C-Tree
[6], v.v Bên cạnh đó, KD-Tree có khả năng tăng trưởng số nhánh tại mỗi nút trên cây nên chiều cao cây được giới hạn mà vẫn đảm bảo được số nút lá cần thiết, khi đó thời gian tìm kiếm từ nút gốc đến nút lá là ổn định [CT1] Vì vậy, cấu trúc dữ liệu KD-Tree là một lựa chọn đúng đắn và phù hợp trong bối cảnh dữ liệu ảnh số gia tăng nhanh như hiện nay.
Trong phạm vi luận án, một cấu trúc KD-Tree được cải tiến từ việc lưu trữ dữ liệu tại tất cả các nút trên cây thành cấu trúc KD-Tree chỉ lưu dữ liệu hình ảnh tại các nút lá; các nút trong và nút gốc chỉ đóng vai trò phân nhánh cho dữ liệu khi thêm vào cây được duyệt từ gốc đến lá Đề xuất này được áp dụng hiệu quả cho bài toán phân lớp hình ảnh và tìm kiếm ảnh Đề xuất cải tiến cấu trúc KD-Tree gồm:
(1) quá trình gom cụm thì mỗi nút lá là một cụm dữ liệu tương đồng [CT7]; (2) quá trình phân lớp thì mỗi nút lá là một phân lớp hình ảnh [CT8].
1.4.2 Phân lớp hình ảnh dựa trên cấu trúc KD-Tree
Phân lớp hình ảnh là quá trình phân lớp đối tượng trên ảnh thuộc một hay nhiều nhãn lớp nhờ một mô hình phân lớp [2] Mô hình phân lớp được xây dựng dựa trên một tập dữ liệu trước đó có gán nhãn gọi là tập huấn luyện; quá trình phân lớp là quá trình gán nhãn cho đối tượng dữ liệu mới dựa trên mô hình đã xây dựng. Nhiệm vụ của bài toán phân lớp hình ảnh là cần xây dựng một mô hình để khi có dữ liệu mới thì có thể xác định được nhãn lớp cho dữ liệu đầu vào Hiện nay, có những bài toán phân lớp dữ liệu như phân lớp nhị phân (binary classification), phân lớp đa lớp (multiclass classification) [2].
Bài toán phân lớp dữ liệu sử dụng các thuật toán học có giám sát để xây dựng mô hình phân lớp Hiện nay có nhiều kỹ thuật để phân lớp hình ảnh như k-NN [50], CNN [41], Decision Tree [51], v.v Bài toán phân lớp hình ảnh được ứng dụng vào hai mảng chính là phân lớp đối tượng bằng hình ảnh và ứng dụng vào bài toán tìm kiếm ảnh Trong luận án, một phương pháp phân lớp dữ liệu hình ảnh theo tiếp cận KD-Tree [CT8], quá trình phân lớp ảnh được thực hiện theo các bước:
1) Chuẩn bị tập dữ liệu huấn luyện (Training dataset) và trích xuất véc-tơ đặc trưng.
2) Xây dựng và huấn luyện mô hình phân lớp ảnh dựa trên tập dữ liệu huấn luyện.
3) Kiểm tra mô hình với dữ liệu kiểm thử (Testing dataset).
4) Đánh giá mô hình phân lớp và chọn bộ trọng số tốt nhất.
Cấu trúc KD-Tree được xây dựng theo phương pháp phân lớp hình ảnh, các nút trong lưu trữ véc-tơ trọng số đã được huấn luyện theo phương pháp học có giám sát Phân lớp ảnh bằng cấu trúc KD-Tree là quá trình phân lớp một đối tượng khi qua mỗi tầng nút trong thực hiện một lần phân lớp Tại mỗi nút trên KD-Tree là mạng nơ-ron một nút dùng để phân lớp đối tượng hình ảnh một lần Vì vậy, cấu trúcKD-Tree sau khi huấn luyện đã mang lại kết quả phân lớp hình ảnh cao.
Kết quả đánh giá mô hình phân lớp ảnh bằng KD-Tree sử dụng phương pháp thống kê theo tỷ lệ tập ảnh được phân lớp đúng nhãn trong tổng số ảnh thực nghiệm.
Vì vậy, một hướng tiếp cận phát triển nhiều cấu trúc KD-Tree độc lập để hình thành rừng ngẫu nhiên nhằm nâng cao độ chính xác phân lớp hình ảnh trước khi thực hiện cho bài toán tìm kiếm ảnh.
1.4.3 Phân lớp mối quan hệ ngữ nghĩa dựa trên cấu trúc KD-Tree
Phân lớp mối quan hệ ngữ nghĩa các đối tượng ảnh là bài toán được thực hiện qua nhiều giai đoạn; từ phân lớp từng đối tượng trên ảnh đến xác định quan hệ các đối tượng này để xây dựng mối quan hệ ngữ nghĩa Hiện nay, có nhiều phương pháp để thực hiện bài toán phân lớp mối quan hệ giữa các đối tượng trên ảnh như sử dụng mạng học sâu Deep Learning [12], đồ thị ngữ cảnh [45], đồ thị tri thức [46], v.v đã mang lại những kết quả khác nhau Trong luận án, một phương pháp phân lớp mối quan hệ các đối tượng trên ảnh bằng cấu trúc KD-Tree được gọi là Re KD-Tree. Đối với những bộ ảnh đa đối tượng, mỗi ảnh gồm nhiều đối tượng có các mối quan hệ về vị trí tương đối cần được xác định và phân lớp Để phát huy những ưu điểm của cấu trúc KD-Tree phân lớp ảnh, cấu trúc Re KD-Tree được xây dựng nhằm thực hiện phân lớp mối quan hệ về giữa các đối tượng trên một hình ảnh Cấu trúc Re KD-Tree được xây dựng gồm một nút gốc, tập nút trong và nhiều nút lá. Nút gốc và nút trong lưu trữ véc-tơ phân lớp; nút lá lưu trữ từ vựng chỉ mối quan hệ giữa hai đối tượng Mục đích của quá trình xây dựng cấu trúc Re KD-Tree là nhằm phân loại mối quan hệ giữa các đối tượng trên ảnh; từ đó làm cơ sở bổ sung vào khung ontology để thực hiện bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa Sau khi xây dựng và huấn luyện bộ trọng số trên cấu trúc Re KD-Tree là quá trình phân lớp mối quan hệ giữa các đối tượng trên ảnh đầu vào được thực hiện [CT5].
1.4.4 Tìm kiếm ảnh dựa trên cấu trúc KD-Tree
Trên cơ sở cấu trúc KD-Tree được xây dựng cho bài toán tìm kiếm ảnh bằng cách phát triển các nút lá lưu trữ tập véc-tơ đặc trưng, nút gốc và tập nút trong lưu véc-tơ trọng số Quá trình hình thành một đường đi từ nút gốc đến nút lá là một cụm chứa tập ảnh có độ tương tự gần nhất [CT1] Vì vậy, một mô hình tìm kiếm ảnh theo nội dung dựa trên cấu trúc KD-Tree được đề xuất như Hình 1.6 gồm hai pha:
Pha tiền xử lý: (1) trích xuất đặc trưng hình ảnh thành tập véc-tơ đặc trưng; (2) xây dựng cấu trúc dữ liệu KD-Tree lưu trữ véc-tơ đặc trưng hình ảnh; (3) huấn luyện KD-Tree để thu được bộ trọng số với kết quả phân cụm hình ảnh tại nút lá cao nhất.
Pha tìm kiếm: (1) trích xuất véc-tơ đặc trưng của ảnh đầu vào; (2) thực hiện tìm kiếm trên cấu trúc KD-Tree sau khi huấn luyện để tìm vị trí nút lá chứa ảnh đầu vào;
(3) trích xuất tập ảnh tương tự là tập các ảnh tại nút lá tìm được.
Hình 1.6 Mô hình tìm kiếm ảnh theo nội dung dựa trên cấu trúc KD-Tree Đối với các bộ ảnh đa đối tượng, mô hình tìm kiếm ảnh theo tiếp cận ngữ nghĩa dựa trên cấu trúc KD-Tree được minh họa như Hình 1.7.
Hình 1.7 Mô hình tìm kiếm ảnh theo tiếp cận ngữ nghĩa dựa trên KD-Tree
Mô hình chung cho hệ tìm kiếm ảnh theo tiếp cận ngữ nghĩa dựa trên cấu trúc KD-Tree gồm hai pha:
Phương pháp thực nghiệm và đánh giá
1.5.1 Môi trường và dữ liệu thực nghiệm Để đánh giá hiệu quả của các mô hình tìm kiếm ảnh được đề xuất, các thực nghiệm được thực hiện với nền tảng dotNET Framework 4.8, ngôn ngữ lập trình C#; các đồ thị được xây dựng trên Mathlab 2015 Cấu hình máy tính của thực nghiệm tìm kiếm ảnh: Intel(R) CoreTM i7- 5200U, CPU 2,50GHz, RAM 16GB và hệ điều hành Windows 10 Professional Cấu hình máy server dùng để huấn luyện cấu trúc KD- Tree, iKD_Tree, KD-Tree lồng nhau, Re KD-Tree và rừng ngẫu nhiên là: CPU Xeon(R) Gold 6258R CPU 2.70Ghz, ổ cứng SSD 1024GB, Ram 16GB, hệ điều hành Server Datacenter 2019 Các bộ ảnh tiêu chuẩn sử dụng cho thực nghiệm được mô tả trong Bảng 1.3.
Bảng 1.3 Mô tả các bộ dữ liệu ảnh thực nghiệm
STT Tên tập ảnh Số lượng ảnh Số thư mục ảnh Số chủ đề ảnh Dung lượng
Bộ ảnh COREL gồm 1,000 ảnh JPEG chia thành 10 chủ đề khác nhau bao gồm: beach, bus, castle, dinosour, elephant, flower, horse, meal, moutain, people. Mỗi chủ đề gồm 100 ảnh, mỗi ảnh trong tập ảnh COREL chỉ thuộc về một chủ đề.
Bộ ảnh Wang cũng là tập ảnh đơn đối tượng, gồm 10,800 ảnh chia làm 80 chủ đề.
Số lượng ảnh của mỗi chủ đề là khác nhau, ít nhất là 100 ảnh, nhiều nhất là 545 ảnh.
Bộ ảnh Caltech-101 gồm 9,144 ảnh JPEG chia thành 102 chủ đề khác nhau. Mỗi chủ đề chứa từ 40 đến 800 ảnh, mỗi ảnh trong tập ảnh Caltech-101 chỉ thuộc về một chủ đề Bộ ảnh Caltech-256 là một cải tiến so với người tiền nhiệm Caltech-
101, kích thước danh mục lớn hơn và độ khó tổng thể tăng lên; có 30,607 hình ảnh trong tập dữ liệu này bao gồm 257 chủ đề đối tượng Mỗi chủ đề chứa từ 80 đến 827 hình ảnh, với giá trị trung bình là 100 hình ảnh cho mỗi chủ đề.
Ngoài ra, một số bộ ảnh đa đối tượng cũng được sử dụng đánh giá mô hình đề xuất trong luận án này gồm MS-COCO và Flickr Trong đó, tỷ lệ tập ảnh huấn luyện, kiểm thử và thực nghiệm được trình bày trong Bảng 1.4.
Bảng 1.4 Mô tả bộ ảnh đa đối tượng
Bộ dữ liệu ảnh Tổng số lượng ảnh Số ảnh huấn luyện Số ảnh kiểm thử Số ảnh thực nghiệm
1.5.2 Các đại lượng đánh giá hiệu suất
Các kết quả cần được đánh giá hiệu suất gồm: Kết quả phân lớp hình ảnh và độ chính xác tìm kiếm ảnh.
Kết quả phân lớp ảnh số được đánh giá dựa trên mô hình phân lớp Trong giai đoạn này, bài toán thực hiện xây dựng cấu trúc KD-Tree, huấn luyện mô hình phân lớp theo tiếp cận KD-Tree, tính kết quả phân lớp (P) dựa trên tổng số lượng hình ảnh được phân lớp đúng đối với tổng số hình ảnh thực nghiệm theo công thức(1.9).
Trong đó: ∑(𝑓 𝑘𝑖 ) là tổng số véc-tơ được phân lớp nhãn lớp đúng theo mô
∑(𝑓 𝑚𝑖 ) là tổng số véc-tơ cùng nhãn lớp thuộc tập dữ liệu kiểm thử mô hình Độ chính xác tìm kiếm ảnh đánh giá trên từng bộ dữ liệu thực nghiệm Bài toán tìm kiếm ảnh được thực hiện trên một cơ sở dữ liệu, kết quả là một tập hợp các ảnh tương tự, nhằm xác định các ảnh trong tập kết quả thuộc về các chủ đề Do đó, thước đo để đánh giá hiệu suất trong tìm kiếm ảnh là độ chính xác (precision), độ phủ (recall) và độ dung hoà (F-measure) [53] Độ chính xác là tỷ lệ giữa số hình ảnh có liên quan trong kết quả đầu tiên với tổng số hình ảnh tìm kiếm được, độ phủ và độ dung hòa được tính toán theo các công thức sau:
Trong đó, relevant images là tập ảnh tương tự với ảnh tra cứu thuộc tập dữ liệu ảnh, retrieved images là tập ảnh đã tìm kiếm được Độ phủ recall là tỷ lệ của các hình ảnh có liên quan được truy xuất với số lượng các hình ảnh có liên quan trong cơ sở dữ liệu ảnh F-measure là độ dung hòa cho giá trị precision và recall được thể hiện trong công thức (1.12) Giá trị F-measure càng cao, cho thấy khả năng dự đoán của hệ thống càng tốt Các giá trị precision, recall và F-measure được tính theo tỉ lệ % và quy đổi thành giá trị trên đoạn [0, 1] Ngoài ra, độ chính xác trung bình MAP (Mean Average Precision) được tính toán theo công thức (1.13)
[53] là độ chính xác của mỗi ảnh truy vấn so với số ảnh tập dữ liệu thực nghiệm.
(1.13) Để mô tả kết quả của hệ tìm kiếm ảnh, đường cong ROC cho biết tỷ lệ kết quả truy vấn đúng (True positive rate) và kết quả truy vấn sai (False positive rate) được thực hiện bằng ngôn ngữ Matlab 2015.
Kết quả về trích xuất đặc trưng hình ảnh, tìm kiếm ảnh dựa trên cấu trúc KD-Tree, phân lớp ảnh bằng cấu trúc KD-Tree được trình bày trong các bài báo [CT1],[CT7], [CT8] trong danh mục công trình liên quan đến luận án của tác giả.
Tổng kết chương
Nội dung chủ yếu của chương bao gồm: các vấn đề liên quan tìm kiếm ảnh như đặc trưng hình ảnh, phương pháp trích xuất đặc trưng, đặc trưng ngữ nghĩa, mối quan hệ ngữ nghĩa giữa các đối tượng trên ảnh; cấu trúc dữ liệu đa chiều và cấu trúcKD- Tree cho bài toán tìm kiếm ảnh và mô hình tìm kiếm ảnh dựa trên cấu trúc KD-Tree được đề xuất Ngoài ra, các phương pháp tổ chức thực nghiệm được trình bày bao gồm: môi trường thực nghiệm, tập dữ liệu thực nghiệm và các giá trị đánh giá hiệu suất tìm kiếm ảnh Nội dung của chương làm cơ sở cho các nghiên cứu tiếp theo sẽ được trình bày trong các chương sau.
TÌM KIẾM ẢNH DỰA TRÊN CẤU TRÚC KD-TREE
Giới thiệu
Trích xuất tập ảnh tương tự với ảnh đầu vào từ tập dữ liệu lớn có số lượng ảnh nhiều nhất là vấn đề cần được quan tâm trong bài toán tìm kiếm ảnh Hiện nay, có nhiều kỹ thuật và phương pháp để thực hiện bài toán tìm kiếm ảnh theo các tiếp cận khác nhau Dữ liệu ảnh số gia tăng cần phải có một phương pháp lưu trữ và sắp xếp sao cho quá trình tìm kiếm nhanh và hiệu quả.
Những công trình về tìm kiếm ảnh trong những năm gần đây sử dụng cấu trúc dữ liệu đa chiều KD-Tree được công bố rộng rãi [49], [50], [51], [54] Điều này cho thấy tính thời sự của KD-Tree áp dụng cho tìm kiếm ảnh, cụ thể là: Fengquan Zhang
[16] và cộng sự đã xây dựng cấu trúc Vocabulary-KDTree là một biến thể của KD-Tree nhằm thực hiện đối sánh hình ảnh Mô hình tìm kiếm ảnh được thực hiện theo hai pha online và offline; kết quả thu được với hiệu suất đối sánh ảnh ổn định Bên cạnh đó, Y Narasimhulu [55] đã đề xuất một mô hình phân lớp hình ảnh dựa vàoKD- Tree Quá trình phân lớp ảnh dựa trên số láng giềng nhiều nhất; sau đó độ đo khoảng cách được sử dụng để phân lớp tập dữ liệu hình ảnh huấn luyện Mô hình này được đánh giá tốt đối với bài toán phân lớp ảnh dựa trên cấu trúc KD-Tree.Trên cơ sở phân tích những công trình liên quan về tìm kiếm ảnh sử dụng KD-Tree cho thấy có một số biến thể và cải tiến để nâng cao khả năng lưu trữ, tìm kiếm ảnh và phân lớp hình ảnh có độ chính xác cao Cấu trúc KD-Tree nguyên thủy [49] chỉ để lưu trữ dữ liệu đa chiều; sau đó phát triển KD-Tree cho bài toán tìm kiếm ảnh và hiện nay đã có nhiều đề xuất cải tiến trên KD-Tree nhằm tăng khả năng lưu trữ khi dữ liệu tăng trưởng theo thời gian Khi các bộ dữ liệu thực nghiệm tăng lên đến hàng chục gigabyte thì việc tổ chức và lưu trữ là một thách thức lớn Trong chương này, cấu trúc KD-Tree đa nhánh cân bằng được đề xuất xây dựng và một số cải tiến là iKD_Tree, KD-Tree lồng nhau; đồng thời thực nghiệm tìm kiếm ảnh được xây dựng với các bộ ảnh đơn đối tượng COREL, Wang, Caltech-101, Caltech-256.
Cấu trúc KD-Tree đa nhánh cân bằng
Để thực hiện bài toán tìm kiếm ảnh, mỗi hình ảnh được trích xuất thành một véc-tơ đa chiều gồm các đặc trưng thị giác như hình dạng, màu sắc, kích thước, diện tích, tỷ lệ, kết cấu bề mặt, v.v Cấu trúc KD-Tree sau khi xây dựng và huấn luyện sẽ thực hiện quá trình phân lớp ảnh và tìm kiếm tập ảnh tương tự với ảnh đầu vào Một số thao tác trên cấu trúc KD-Tree gồm: xây dựng KD-Tree, gán nhãn nút lá, huấn luyện trọng số, tìm kiếm trên KD-Tree Trong quá trình xây dựng cây, việc xóa các phần tử tại nút lá không ảnh hưởng đến cấu trúc KD-Tree; việc xóa một số phần tử tại nút lá thì không ảnh hưởng đáng kể đến độ chính xác trung bình của bài toán.
Việc tách nút lá trên KD-Tree không cần thiết phải thực hiện vì mỗi nút lá không giới hạn số phần tử tối đa Một nút trong không thể xóa vì nút trong chỉ đóng vai trò trung gian để xây dựng cây và không chứa dữ liệu Quá trình chèn dữ liệu vào cây theo các thứ tự khác nhau sẽ dẫn đến số phần tử tại các cụm nút lá thay đổi; tuy nhiên sau khi hình thành số cụm nút lá có thể áp dụng thuật toán K-Means tại các cụm nút lá thì kết quả các cụm sẽ ổn định và không làm giảm độ chính xác tìm kiếm ảnh Cây được tạo ra không duy nhất là do một số ít phần tử bị sai cụm nút lá trong quá trình xác định đường đi trên KD-Tree Vì vậy, kết quả tìm kiếm ảnh tổng thể của hệ tìm kiếm ảnh có sự chênh lệch nhỏ Tuy nhiên, để cho kết quả tìm kiếm ảnh là tốt nhất thì sau khi hình thành các cụm tại nút lá thì tiến hành áp dụng thuật toán gom cụm K-Means với số cụm là số nút lá và tâm cụm là giá trị trung bình của tập véc-tơ tại mỗi cụm Tuy nhiên, kết quả này chưa thực sự có sự ảnh hưởng lớn đến luận án, thực nghiệm đề cập đến các cải tiến chính trên iKD_Tree và KD-Tree lồng nhau.
2.2.1 Xây dựng cấu trúc KD-Tree
KD-Tree được đề cập đến trong luận án là cây đa nhánh, cân bằng gồm một nút gốc, tập nút trong và nhiều nút lá, được mô tả như sau:
1)Nút gốc (𝑅𝑜𝑜𝑡) là nút không có nút cha, lưu trữ một véc-tơ trọng số (w 0 ), có tập nút con trái {𝑙𝑒𝑓𝑡}, tập nút con phải {𝑟𝑖𝑔ℎ𝑡} và có một mức trên cây ℎ 0 (𝑙𝑒𝑣𝑒𝑙
2)Nút trong (𝑁𝑜𝑑𝑒 𝑖 ) là nút có một nút cha (parent), lưu trữ một véc-tơ trọng số (𝑤 𝑖 ), có tập nút con trái {𝑙𝑒𝑓𝑡}, tập nút con phải {𝑟𝑖𝑔ℎ𝑡} và có một mức trên cây (𝑙𝑒𝑣𝑒𝑙 = ℎ 𝑖 ) Ký hiệu: 𝑁𝑜𝑑𝑒 𝑖 = < 𝑝𝑎𝑟𝑒𝑛𝑡, 𝑤 𝑖 , {𝑙𝑒𝑓𝑡}, {𝑟𝑖𝑔ℎ𝑡}, ℎ 𝑖 > ;
3)Nút lá (𝐿𝑒𝑎𝑓 𝑘 ) là nút có một nút cha (𝑝𝑎𝑟𝑒𝑛𝑡), không có nút con, lưu trữ tập véc-tơ đặc trưng hình ảnh {𝑓 1 , … , 𝑓 𝑚 }, có một mức trên cây (𝑙𝑒𝑣𝑒𝑙 = ℎ) và được gán một nhãn (𝑙𝑎𝑏𝑒𝑙) Ký hiệu: 𝑙𝑒𝑎𝑓 𝑘 = < 𝑝𝑎𝑟𝑒𝑛𝑡, {𝑓 1 , … , 𝑓 𝑚 }, 𝑙𝑒𝑣𝑒𝑙, 𝑙𝑎𝑏𝑒𝑙 > ;
4) Hai nút 𝑁𝑜𝑑𝑒 𝑖 và 𝑁𝑜𝑑𝑒 𝑗 có quan hệ anh em nếu 𝑁𝑜𝑑𝑒 𝑖 và 𝑁𝑜𝑑𝑒 𝑗 có cùng một nút cha: 𝑁𝑜𝑑𝑒 𝑖 𝑝𝑎𝑟𝑒𝑛𝑡 = 𝑁𝑜𝑑𝑒 𝑗 𝑝𝑎𝑟𝑒𝑛𝑡 ;
5) Hai nút 𝑁𝑜𝑑𝑒 𝑖 và 𝑁𝑜𝑑𝑒 𝑗 có quan hệ cha con nếu 𝑁𝑜𝑑𝑒 𝑗 𝑝𝑎𝑟𝑒𝑛𝑡 𝑁𝑜𝑑𝑒 𝑖 hoặc 𝑁𝑜𝑑𝑒 𝑖 𝑝𝑎𝑟𝑒𝑛𝑡 = 𝑁𝑜𝑑𝑒 𝑗 ;
6) Hai nút 𝑁𝑜𝑑𝑒 𝑖 và 𝑁𝑜𝑑𝑒 𝑗 là đồng cấp nếu 𝑁𝑜𝑑𝑒 𝑖 𝑙𝑒𝑣𝑒𝑙 = 𝑁𝑜𝑑𝑒 𝑗 𝑙𝑒𝑣𝑒𝑙
7) Số nút con trái 𝑁𝑜𝑑𝑒 𝑖 {𝐿𝑒𝑓𝑡} và số nút con phải 𝑁𝑜𝑑𝑒 𝑖 {𝑅𝑖𝑔ℎ𝑡} tại 𝑁𝑜𝑑𝑒 𝑖 là khác nhau vì số nút con tại mỗi nút trong có thể là số lẻ Ký hiệu (𝑁𝑜𝑑𝑒 𝑖 {𝐿𝑒𝑓𝑡}) ≠ (𝑁𝑜𝑑𝑒 𝑖 {𝑅𝑖𝑔ℎ𝑡})
8) Khi mỗi véc-tơ 𝑓 𝑗 = (𝑥 𝑗1 , … , 𝑥 𝑗𝑛 ) là giá trị đầu vào (input) tại mỗi 𝑁𝑜𝑑𝑒 𝑖 thì kết quả đầu ra (output) được xác định bởi công thức (2.1) [56]; giá trị hàm truyền
𝑆𝑖𝑔𝑚𝑜𝑖𝑑() được xác định bởi công thức (2.2) [56] Trong đó 𝑤 𝑖 là véc-tơ trọng số lưu trữ tại 𝑁𝑜𝑑𝑒 𝑖
“Đa nhánh” trong quá trình xây dựng KD-Tree được xác định số nhánh (𝑏; 𝑏 >
2)khởi tạo nhằm làm giảm chiều cao (ℎ) trên cùng một bộ dữ liệu thực nghiệm.
“Cân bằng” trên KD-Tree luôn được tạo ra các nút lá đồng cấp (𝑙𝑒𝑣𝑒𝑙) do quá trình xây dựng KD-Tree là tạo một khung cây trước khi chèn dữ liệu vào cây.
Hình 2.1 Mô tả các thành phần nút gốc, nút trong và nút lá trên KD-Tree Điểm cải tiến trong cấu trúc KD-Tree là đưa kỹ thuật học máy vào quá trình xây dựng theo phương pháp học bán giám sát, mỗi nút trên KD-Tree là một mạng nơ-ron một nút để thực hiện phân lớp hình ảnh một lần; quá trình khởi tạo ngẫu nhiên và sau đó huấn luyện tập véc-tơ trọng số nhằm tăng kết quả phân lớp và gom cụm tại nút lá Trong khi đó, cấu trúc KD-Tree nguyên thủy [49], dữ liệu được lưu tại tất cả các nút trên cây và chưa huấn luyện trọng số theo phương pháp học bán giám sát để hình thành gom cụm và chưa thực hiện phân lớp đối tượng dựa trên cây. Các thành phần KD-Tree mô tả như Hình 2.1.
Mô tả thuật toán xây dựng cấu trúc KD-Tree
Mỗi cấu trúc KD-Tree được xây dựng dựa trên từng bộ ảnh thực nghiệm riêng biệt nên số nhánh (𝑏), chiều cao (ℎ) và số nút lá khác nhau Cấu trúc KD-Tree được khởi tạo là một khung cây gồm một nút gốc, các nút trong lưu véc-tơ trọng số, nút lá rỗng; khung cây được tính toán theo số tầng, số nhánh tối đa tại mỗi nút trong để hình thành số nút lá tối đa cần thiết cho lưu trữ dữ liệu trên từng bộ ảnh, quá trình xây dựng KD-Tree thực hiện theo thứ tự các bước:
Bước 1 Khởi tạo chiều cao KD-Tree bằng ℎ, khởi tạo số nhánh tối đa tại mỗi nút trong là 𝑏 Khi đó số nút lá tối đa trên KD-Tree được tạo ra là 𝑏 ℎ Chẳng hạn như bộ ảnh Wang có 81 phân lớp, cần tạo ra 81 nút lá thì chiều cao cây là ℎ = 4 và số nhánh
𝑏 = 3; khi đó số nút lá hình thành là 𝑏 ℎ = 3 4 = 81.
Bước 2 Khởi tạo tập véc-tơ trọng số ngẫu nhiên vừa đủ để phân bổ vào các nút trong 𝑊 𝑘𝑡 =< 𝑤 0 , … , 𝑤 ℎ−1 >, 𝑤 𝑖 = (𝑤 𝑖0 , … , 𝑤 𝑖𝑛 ); mỗi véc-tơ 𝑤 𝑖 lưu trữ tại 𝑁𝑜𝑑𝑒 𝑖
Bước 3 Tại 𝑁𝑜𝑑𝑒 𝑖 khởi tạo các ngưỡng trái Node i 𝑙𝑒𝑓𝑡 = 0.5 và ngưỡng phải Node i 𝑟𝑖𝑔ℎ𝑡 = 0.5 để KD-Tree cân bằng.
Bước 4 Lần lượt cho véc-tơ 𝑓 𝑗 đi vào KD-Tree từ nút gốc; giá trị đầu ra của véc-tơ 𝑓 𝑗 tại 𝑁𝑜𝑑𝑒 𝑖 được tính theo công thức (2.2) và xác định đường đi cho 𝑓 𝑗 đến nhánh con thuộc tầng kế tiếp theo quy tắc (2).
Bước 5 Lặp lại bước 3, bước 4 đến khi gặp nút lá 𝑙𝑒𝑎𝑓 𝑘 thì ghi 𝑓 𝑗 vào 𝑙𝑒𝑎𝑓 𝑘
Hình 2.2 Minh họa quá trình tạo nhánh con tại 𝐍𝐨𝐝𝐞 𝐢
Quá trình tạo nhánh con trái, con phải và tìm nhánh con gần nhất cho véc-tơ đầu vào 𝑓 𝑗 được minh họa bởi Hình 2.2, trong đó tập véc-tơ trọng số < 𝑤 0 ,
… , 𝑤 ℎ−1 > từ gốc đến các nút trong được lưu trữ tại Node i để tạo thành phân cụm tại nút lá Việc chọn nhánh cho véc-tơ đầu vào thực hiện theo quy tắc (2) như sau:
1 Nếu y ij > Node i right thì 𝑓 𝑗 chọn nhánh con phải; đồng thời cập nhật ngưỡng phải Node i right = y ij ;
2 Nếu y ij < Node i left thì 𝑓 𝑗 chọn nhánh con trái; đồng thời cập nhật ngưỡng trái Node i left = y ij ;
3 Nếu Node i 𝑙𝑒𝑓𝑡 ≤ 𝑦 𝑖𝑗 ≤ Node i 𝑟𝑖𝑔ℎ𝑡 thì tìm nhánh có khoảng cách nhỏ nhất (𝑑 𝑚𝑖𝑛 ) từ vị trí 𝑦 𝑖𝑗 đến các giá trị ngưỡng trái, phải để xác định đường đi cho
Hình 2.3 Cấu trúc KD-Tree đa nhánh, cân bằng
Quá trình xây dựng cấu trúc KD-Tree được minh họa bởi Hình 2.3 Kết quả của quá trình này là hình thành nên các phân cụm (Cluster) tại mỗi nút lá, đồng thời mỗi nút lá cũng là một phân lớp gồm các ảnh có cùng nhãn lớp.
Cấu trúc KD-Tree được thực hiện một số thao tác gồm: xây dựng, gán nhãn nút lá, huấn luyện trọng số và tìm kiếm trên KD-Tree được trình bày ở các mục
2.2.5 Đối với một nút lá có số lượng véc-tơ lớn thì thực hiện quá trình phát triển thành cây con được trình bày ở mục 2.4.
2.2.2 Thuật toán xây dựng cấu trúc KD-Tree
Cấu trúc iKD_Tree
2.3.1 Mô tả cấu trúc iKD_Tree
Cấu trúc iKD_Tree là một cải tiến từ KD-Tree được xây dựng bằng cách áp dụng thuật toán K-Means tại các nút trong nhằm mở rộng khoảng cách giữa hai nhánh một hệ số α trong quá trình xác định nhánh con so với khoảng cách giữa các nhánh trên KD-Tree Điều này làm mở rộng phạm vi gom các véc-tơ hình ảnh có độ đo tương tự vào cùng một cụm là nhiều nhất; đồng thời kết hợp thuật toán phân lớp k- NN tại nút lá Dựa trên giá trị đầu ra tại mỗi nút trong việc xác định đường đi cho véc-tơ 𝑓 𝑗 bất kỳ thuộc tầng tiếp theo trên iKD_Tree được thực hiện theo thuật toán K-Means Tại các nút lá thực hiện phân lớp ảnh theo thuật toán k-NN Cấu trúc iKD_Tree minh họa bởi Hình 2.11 [CT3].
Hình 2.11 Minh họa cấu trúc iKD_Tree 2.3.2 Xây dựng cấu trúc iKD_Tree
Thuật toán K-Means áp dụng trong xây dựng cấu trúc iKD_Tree [CT3] được minh họa như Hình 2.12.
Hình 2.12 Minh họa thuật toán K-Means trên iKD_Tree
Thuật toán K-Means để xác định đường đi cho véc-tơ 𝑓 𝑗 chèn vào iKD_Tree Mỗi nút trên iKD_Tree được xác định vị trí bằng giá trị tâm 𝑦 𝑖𝑗 thỏa điều kiện khi tạo
𝑁𝑜𝑑𝑒 𝑖 Tuy nhiên, quá trình thêm phần tử vào iKD_Tree thực hiện cập nhật tâm của 𝑁𝑜𝑑𝑒 𝑖 thông qua cập nhật các giá trị ngưỡng trái (𝑁𝑜𝑑𝑒 𝑖 𝑙𝑒𝑓𝑡) và ngưỡng phải (𝑁𝑜𝑑𝑒 𝑖 𝑟𝑖𝑔ℎ𝑡) Số cụm để phần tử 𝑓 𝑗 thuộc về tại mỗi 𝑁𝑜𝑑𝑒 𝑖 chính là số nhánh con của 𝑁𝑜𝑑𝑒 𝑖 Giá trị 𝑦 𝑖𝑗 là cơ sở xác định đường đi thuộc nhánh con tầng kế tiếp với các quy tắc sau:
1 Nếu 𝑦 𝑖𝑗 > 𝑁𝑜𝑑𝑒 𝑖 𝑟𝑖𝑔ℎ𝑡 + 𝛼 tạo nhánh con phải; cập nhật 𝑁𝑜𝑑𝑒 𝑖 𝑟𝑖𝑔ℎ𝑡 = 𝑦 𝑖𝑗
2 Nếu 𝑦 𝑖𝑗 − 𝛼 < 𝑁𝑜𝑑𝑒 𝑖 𝑙𝑒𝑓t tạo nhánh con trái; cập nhật 𝑁𝑜𝑑𝑒 𝑖 𝑙𝑒𝑓𝑡 = 𝑦 𝑖𝑗
3 Nếu 𝑁𝑜𝑑𝑒 𝑖 𝑙𝑒𝑓𝑡 − 𝛼 ≤ 𝑦 𝑖𝑗 ≤ 𝑁𝑜𝑑𝑒 𝑖 𝑟𝑖𝑔ℎ𝑡 + 𝛼 tìm nhánh có khoảng cách ngắn nhất (d min ) tính từ vị trí 𝑦𝑖𝑗 đến các giá trị ngưỡng 𝑁𝑜𝑑𝑒𝑖 𝑙𝑒𝑓𝑡 −
𝛼 ; 𝑁𝑜𝑑𝑒 𝑖 𝑟𝑖𝑔ℎ𝑡 + 𝛼 thuộc mỗi nút 𝑁𝑜𝑑𝑒 𝑖 xác định đường đi cho véc-tơ 𝑓 𝑗 Thuật toán K-Means trên cấu trúc iKD_Tree được mô tả bằng Hàm kMiKDT với dữ liệu đầu vào là véc-tơ 𝑓 𝑗 ∈ F, F là tập véc-tơ xây dựng iKD_Tree; đầu ra là xác định nhánh thứ 𝑘 được chọn làm đường đi cho véc-tơ 𝑓 𝑗 đến tầng kế tiếp của 𝑁𝑜𝑑𝑒 𝑖 ;
3 Gán số phân lớp tập ảnh là 𝑐; hiệu suất phân lớp trên KD-Tree là 𝑝;
5 Mỗi véc-tơ đầu vào 𝑓 𝑗 thì tính
6 Tính 𝑦 𝑖𝑗 = giá trị đầu ra của véc-tơ 𝑓 𝑗 tại 𝑁𝑜𝑑𝑒 𝑖 ;
7 Tính khoảng cách từ 𝑦 𝑖𝑗 đến các tâm là nhánh con của 𝑁𝑜𝑑𝑒 𝑖 + 𝛼;
8 Chọn nhánh con gần nhất để xác định đường đi cho 𝑓 𝑗 ;
Khi thêm một hệ số khoảng cách α vào quá trình chọn nhánh trên iKD_Tree có những đặc điểm: (1) tăng khoảng cách giữa hai nhánh bất kỳ tức là khoảng cách các tâm cụm tăng thêm một lượng α, dẫn đến quá trình gom các phần tử tương tự có xu hướng tốt hơn; (2) độ rộng các nhánh toàn bộ cấu trúc iKD_Tree được tăng lên giúp quá trình phân bổ các phần tử tránh hiện tượng một số nút lá chứa quá nhiều dữ liệu Số nhánh và chiều cao iKD_Tree cũng được xác định trước để tạo một khung cây trước khi chèn dữ liệu vào iKD_Tree Vì vậy, chất lượng phân cụm trên iKD_Tree tốt hơn kết quả gom cụm trên KD-Tree và vẫn giữ được tính cân bằng.
Một số hạn chế khi thêm hệ số mở rộng α trên iKD_Tree cũng có những hạn chế, cụ thể là: (1) khi chọn hệ số α quá lớn sẽ dẫn đến hiện tượng khoảng cách chồng chéo nhau giữa các nhánh, nghĩa là xuất hiện vùng giao nhau cho hai nhánh nên việc xác định đường đi cho những véc-tơ trong trường hợp này là khó khăn, có thể dẫn đến việc chọn sai nhánh; (2) hệ số α được xác định theo biểu thức 𝛼 = 1
2∗𝑐∗ 𝑝; trong đó 𝑝 là hiệu suất phân lớp bộ ảnh thực nghiệm trước khi thêm hệ số 𝛼, 𝑐 là số phân lớp của bộ ảnh thực nghiệm Vì vậy, ban đầu khởi tạo các hệ số 𝛼 là (0.001, 0.0028, 0.003, 0.026) tương ứng với bộ ảnh (Caltech-256, Caltech-101, Wang, COREL). Việc huấn luyện nhiều lần nên chi phí xây dựng iKD_Tree cần phải kiểm soát tốt, nếu chọn hệ số α không phù hợp thì chi phí huấn luyện cao hơn so với việc tích hợp thêm các kỹ thuật học máy khác trên KD-Tree mà kết quả gom cụm là tương đương.
Thuật toán k-NN thực hiện phân lớp tại nút lá 𝑙𝑒𝑎𝑓 𝑘 theo các quy tắc sau:
1 Mỗi nút lá 𝑙𝑒𝑎𝑓 𝑘 duyệt qua các véc-tơ, đếm tần số xuất hiện của tất cả các véc-tơ cùng nhãn, gán nhãn cho 𝑙𝑒𝑎𝑓 𝑘 là nhãn của véc-tơ có tần suất nhiều nhất.
2 Nếu hai nút lá 𝑙𝑒𝑎𝑓 𝑘 , 𝑙𝑒𝑎𝑓 𝑙 có cùng nhãn thì thực hiện gán nhãn cho nút lá có số véc-tơ cùng label nhiều nhất.
3 Mỗi label chỉ được gán một lần cho một nút lá.
Thuật toán 2.4 Xây dựng cấu trúc iKD_Tree
1 Input: Tập véc-tor F = {𝑓 𝑖 :𝑓 𝑖 = (𝑥 𝑖0 , 𝑥 𝑖1 , …,𝑥 𝑖𝑛 ); i = 1, , k}; chiều cao ℎ; số nhánh tối 𝑏; bộ trọng số khởi tạo 𝑊 𝑘𝑡 = {𝑊 𝑖 : 𝑊 𝑖 = (𝑥 𝑖0 , 𝑥 𝑖1 , …,𝑥 𝑖𝑛 ); i = 0 … h- 1};
6 For (duyệt qua số phần tử 𝑓 𝑖 𝑡𝑟𝑜𝑛𝑔 𝐹) do
7 Tính giá trị đầu ra cho véc-tơ 𝑓 𝑖 tại 𝑛𝑜𝑑𝑒 𝑗 ;
8 Gọi hàm kMiKDT xác định đường đi cho 𝑓 𝑖 ;
9 Khi đến tầng nút lá thì ghi 𝑓 𝑖 vào nút lá;
11 For (duyệt qua các nút lá 𝐿𝑒𝑎𝑓 𝑘 ) do
12 Áp dụng thuật toán k-NN xác định nhãn lớp cho mỗi nút lá 𝐿𝑒𝑎𝑓 𝑘 ;
Thuật toán 2.4 thực hiện các bước:
(1) Mỗi véc-tơ 𝑓 𝑖 thuộc 𝐹 (gồm 𝑛 phần tử) sử dụng hàm kMiKDT để xác định đường đi cho nhánh con tiếp theo nên độ phức là 𝑂(𝑛);
(2) Tại mỗi lá 𝐿𝑒𝑎𝑓 𝑘 thực hiện gán nhãn, độ phức tạp là 𝑂(𝑏 ℎ ) = 𝑂(1);
(3) Tổng độ phức tạp là 𝑀𝑎𝑥(𝑂(𝑛), 𝑂(1)); Vậy độ phức tạp của Thuật toán
2.4 là 𝑂(𝑛). Đóng góp của thuật toán 2.4 là tích hợp thuật toán K-Means và k-NN vào quá trình xây dựng iKD_Tree Với thuật toán này đã cho kết quả phân lớp ảnh trên iKD_Tree tốt hơn thuật toán phân lớp ảnh bằng k-NN thuần túy.
Quá trình phân lớp ảnh dựa trên iKD_Tree được thực hiện bằng hàm CLiKD với dữ liệu đầu vào là véc-tơ đặc trưng 𝑓 𝑖 của ảnh 𝐼, 𝑖𝐾𝐷_𝑇𝑟𝑒𝑒; giá trị đầu ra là tên phân lớp 𝐶𝐿 I của ảnh 𝐼.
3 Duyệt từ gốc đến tầng nút trong sát nút lá tìm nhánh con cho véc-tơ 𝑓 𝑖 ;
4 Nếu (véc-tơ 𝑓 𝑖 thuộc nút lá 𝑙𝑒𝑎𝑓 𝑘 ) thì 𝐶𝐿 I = 𝑙𝑒𝑎𝑓 𝑘 𝑙𝑎𝑏𝑒𝑙
2.3.3 Hệ tìm kiếm ảnh dựa trên cấu trúc iKD_Tree
Hình 2.13 Mô hình tìm kiếm ảnh dựa trên cấu trúc iKDTree [CT3]
Mô hình tìm kiếm ảnh dựa trên cấu trúc iKD_Tree và ontology gồm hai pha: Pha tiền xử lý (Pre-processing phase) và pha tìm kiếm (Image retrieval phase). Trong đó, cấu trúc iKD_Tree và pha tìm kiếm ảnh là phần đề xuất; phần ontology là kế thừa từ công trình [48] sau khi bổ sung dữ liệu thực nghiệm Trong mô hình này, thuật toán 2.4 được sử dụng để xây dựng iKD_Tree và thuật toán 2.5 được sử dụng tìm kiếm tập ảnh tương tự với ảnh đầu vào.
Bước 1: Trích xuất véc-tơ đặc trưng gồm 189 chiều của tập dữ liệu ảnh (1) Bước 2: Xây dựng iKD_Tree theo phương pháp kết hợp K-Means, k-NN (2) Bước 3: Trích xuất đặc trưng ảnh đầu vào (3), phân lớp ảnh bằng iKD_Tree
(4) Bước 4: Trích xuất phân lớp ảnh đầu vào và tạo câu truy vấn SPARQL
Bước 5:Tìm kiếm trên ontology (7) trích xuất URIs và tập dữ liệu metadata của hình ảnh (8); trích xuất tập ảnh tương tự theo ngữ nghĩa với ảnh đầu vào (9).
Quá trình tìm kiếm tập ảnh tương tự trên iKD_Tree thực hiện bởi Thuật toán 2.5.
Thuật toán 2.5: Tìm kiếm tập ảnh tương tự trên hệ SB-iKDT
1 Input: Ảnh truy vấn I; 𝑖𝐾𝐷_𝑇𝑟𝑒𝑒, ontology
2 Output: Tập ảnh tương tự 𝑆𝐼 của ảnh 𝐼;
5 Ban đầu gán tập ảnh tương tự 𝑆𝐼 𝑐ủ𝑎 ả𝑛ℎ 𝐼 𝑙à 𝑟ỗ𝑛𝑔;
6 Trích xuất véc-tơ đặc trưng 𝑓 𝑖 của ảnh 𝐼;
9 // Tạo câu truy vấn SPARQL từ phân lớp ảnh 𝐼;
11 Tìm kiếm trên Ontology tập ảnh tương tự 𝑆𝐼 của ảnh 𝐼 bằng SPARQL;
13 End Thuật toán 2.5 thực hiện các bước:
(1) Phân lớp ảnh đầu vào với độ phức tạp là 𝑂(ℎ × 𝑏) = 𝑂(1); ℎ, 𝑏 lần lượt là hằng số chiều cao và số nhánh tối đa tại mỗi nút trong.
(2) Tạo câu truy vấn SPARQL mất chi phí 𝑂(1); Tìm kiếm trên ontology mất chi phí 𝑂(𝑙), 𝑙 là số phân lớp bộ ảnh thực nghiệm.
Vì vậy, độ phức tạp của Thuật toán 2.5 là 𝑂(1).
Hệ tìm kiếm ảnh SB-iKDT minh họa như Hình 2.14 và thực hiện tìm kiếm trên ontology để trích xuất tập ảnh tương tự minh họa như Hình 2.15 [CT3].
Hình 2.14 Hệ tìm kiếm ảnh SB-iKDT
Hình 2.15 Kết quả tập ảnh tương tự với ảnh 52011.jpg (Wang) hệ SB-iKDT
Kết quả tìm kiếm ảnh của hệ SB-iKDT được trình bày trong Bảng 2.7 [CT3].
Bảng 2.7 Kết quả tìm kiếm ảnh của hệ SB-iKDT
Tập ảnh Precision Recall F-measure Query time (ms)
Caltech-256 0.7228 0.5828 0.6453 134.91 Để minh chứng tính hiệu quả cho mô hình tìm kiếm ảnh theo ngữ nghĩa đề xuất là hiệu quả, kết quả thực nghiệm được so sánh với một số công trình gần đây trên cùng bộ dữ liệu trong các Bảng 2.8 - 2.10 Kết quả so sánh này cho thấy, việc kết hợp cấu trúc KD-Tree với các kỹ thuật học máy nhằm tăng kết quả phân lớp ảnh và ứng dụng cho bài toán tìm kiếm ảnh theo ngữ nghĩa là hoàn toàn khả thi và hiệu quả.
Bảng 2.8 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh Wang (SB-iKDT)
ORB and SIFT features, (P Chhabra), 2020 [59] 0.6320 SBIR-CT, (Nhi N.T.U et al.), 2021 [60] 0.6072
8D-GLCM+GSF+ HSVCM, (Bella & Vasuki), 2019 [63] 0.5970 DSFH (low feature + deep feature VGG-16), (Liu G H., , et al.), 2021
Fusion feature ResNet-34 + PCA + CNN, (Kanwal K., et al.), 2020 [41] 0.7800
Bảng 2.9 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh Caltech-101 (SB-iKDT)
SVM, (M Bennet Rajesh et al.), 2020 [63] 0.6314
CBIR, (Soumya Prakash Rana, et al.), 2019 [66] 0.6450
CBIR, (Khawaja Tehseen Ahmed), 2019 [69] (TopK = 20) 0.6980
Bảng 2.10 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh Caltech-256 (SB-iKDT)
Visual Words FVFF, (Mehmood, Z., et al.), [40] 0.4630
SVM, (Uzma Sharif, et al.), 2019 [67] 0.4752 Ensembles of deep learning (Safa Hamreras), (50 classes), 2020 [68] 0.5726
CBIR, (Khawaja Tehseen Ahmed), 2019 [69] (TopK = 20) 0.7130 CBIR on n Significant Regions with Global CNN, (Jie Xu et al.), 2019
Kết quả thực nghiệm cho thấy, hệ tìm kiếm ảnh SB-iKDT với độ chính xác tìm kiếm cao hơn nhiều công trình cùng bộ dữ liệu là bởi các lý do: (1) Hệ tìm kiếm ảnh SB-iKDT thực hiện phân lớp ảnh trước khi tìm kiếm; (2) quá trình phân lớp trên cấu trúc iKD_Tree thực hiện nhiều lần cho từng đối tượng, tại mỗi tầng được phân lớp một lần nên kết quả phân lớp cao; (3) kết hợp một cấu trúc dữ liệu lưu trữ và ontology nên bài toán đã tăng thêm bộ lọc phân lớp cho một đối tượng đầu vào.
Cấu trúc KD-Tree lồng nhau
2.4.1 Mô tả cấu trúc KD-Tree lồng nhau
Trong một số trường hợp nút lá chứa số lượng véc-tơ đặc trưng hình ảnh khá lớn và thuộc nhiều lớp khác nhau, từ đó dẫn đến kết quả phân lớp tại nút lá này chưa cao Vì vậy, thay vì phải thêm chi phí huấn luyện iKD_Tree để tăng kết quả phân lớp thì tách nút lá này thành một cấu trúc KD-Tree để hình thành cấu trúc KD- Tree lồng nhau Khi tạo cây con SubTree tại nút lá cùng tính chất cây KD-Tree đã xây dựng về chiều cao, số nhánh nên cấu trúc KD-Tree lồng nhau vẫn giữ được đa nhánh và cân bằng trên từng cây con riêng biệt.
Hình 2.16 Minh họa cấu trúc KD-Tree lồng nhau [CT4]
Cấu trúc KD-Tree lồng nhau được xác định gồm:
1) Một cấu trúc iKD_Tree được xây dựng với chiều cao ℎ, mỗi 𝑁𝑜𝑑𝑒 có số nhánh
𝑏 từ tập dữ liệu ban đầu gồm nút gốc (𝑅𝑜𝑜𝑡), tập trong {𝑁𝑜𝑑𝑒}, tập nút lá {𝑙𝑒𝑎𝑓}.
2) Một số nút lá 𝐿𝑒𝑎𝑓 𝑘 có số phần tử và số lớp thỏa điều kiện xác định trong
Bảng 2.11 thì phát triển thành một cây con SubTree cùng tính chất iKD_Tree.
Quá trình xây dựng cấu trúc KD-Tree lồng nhau gồm hai giai đoạn:
Giai đoạn 1: Xây dựng cấu trúc iKD_Tree từ tập dữ liệu ban đầu.
Giai đoạn 2: Một số nút lá 𝐿𝑒𝑎𝑓 𝑘 được phát triển thành một cây con SubTree.
Sự kết hợp cấu trúc iKD_Tree và SubTree tạo nên cấu trúc KD-Tree lồng nhau. Điều kiện để phát triển 𝐿𝑒𝑎𝑓 𝑘 thành SubTree trong thực nghiệm được trình bày như
2.11 [CT4] Cơ sở để xác định điều kiện cho các nút lá phát triển thành SubTree là căn cứ vào số lượng ảnh của từng phân lớp thuộc bộ ảnh thực nghiệm đã được mô tả trong Bảng 1.3 Vì vậy, các giá trị thực nghiệm trên từng bộ ảnh để phát triển nút lá thành SubTree được trình bày trong Bảng 2.11.
Bảng 2.11 Điều kiện để nút lá phát triển thành SubTree
Bộ ảnh Số phần tử tại nút lá (M) Số phân lớp tại nút lá (N)
2.4.2 Xây dựng cấu trúc KD-Tree lồng nhau
Quá trình xây dựng cấu trúc KD-Tree lồng nhau gồm hai bước: (1) xây dựng iKD_Tree từ tập dữ liệu ban đầu; (2) phát triển một số nút lá thành SubTree Để phát triển nút lá 𝐿𝑒𝑎𝑓 𝑘 thành SubTree cần đếm số lượng phần tử tại nút lá hàm Count {𝑓 𝑗
𝑖𝑛 𝐿𝑒𝑎𝑓 𝑘 } và đếm số nhãn lớp hàm Count {𝑙𝑎𝑏𝑒𝑙 𝑖𝑛 𝐿𝑒𝑎𝑓 𝑘 } được lưu trữ tại nút lá này Quá trình xây dựng KD-Tree lồng nhau trình bày ở Thuật toán 2.6.
Thuật toán 2.6 Xây dựng cấu trúc KD-Tree lồng nhau
1 Input: Tập F = {𝑓 𝑖 :𝑓 𝑖 = (𝑥 𝑖0 , 𝑥 𝑖1 , …,𝑥 𝑖𝑛 ); i = 1, , k}; chiều cao ℎ, số nhánh tối đa 𝑏 Bộ trọng số khởi tạo 𝑊 𝑘𝑡 = {𝑊 𝑖 : 𝑊 𝑖 = (𝑥 𝑖0 , 𝑥 𝑖1 , …,𝑥 𝑖𝑛 ); i = 0 … h-1};
2 Output: KD-Tree lồng nhau
5 Khởi tạo KD-Tree lồng nhau là rỗng;
6 Tạo iKD_Tree với bộ véc-tơ 𝐹, trọng số 𝑊 𝑘𝑡 , chiều cao ℎ, số nhánh 𝑏;
7 // Xây dựng SubTree tại 𝐿𝑒𝑎𝑓 𝑘 thoả điều kiện
8 Khởi tạo ngưỡng các M, N theo Bảng 2.11;
12 If (𝑚 ≥ M and 𝑛 ≥ 𝑁) then tạo SubTree tại 𝐿𝑒𝑎𝑓 𝑘 ;
14 KD-Tree lồng nhau = iKD_Tree ∪ SubTree tại 𝐿𝑒𝑎𝑓 𝑘 ;
15 Return KD-Tree lồng nhau;
16 End Thuật toán 2.6 thực hiện:
Bước 6 xây dựng iKD_Tree với bộ véc-tơ 𝐹 mất chi phí là 𝑂(𝑛).
Vòng lặp từ bước (9) – (13) duyệt qua số nút lá là 𝑏 ℎ thỏa điều kiện số phần tử tại 𝑙𝑒𝑎𝑓 𝑘 lớn hơn M thì xây dựng KD-Tree tại 𝑙𝑒𝑎𝑓 𝑘 mất chi phí là 𝑂(1) Vậy độ phức tạp của Thuật toán 2.6 là 𝑂(𝑛); Đóng góp của thuật toán 2.6 là phát hiện một số nút lá tập trung khá nhiều dữ liệu Thay vì phải mất chi phí huấn luyện tại các nút lá này thì phát triển thành SubTree sẽ tốn ít chi phí thời gian hơn, đồng thời hiệu quả gom cụm tại nút lá mịn hơn Từ đó, độ chính xác tìm kiếm ảnh tốt hơn so với iKD_Tree.
2.4.3 Hệ tìm kiếm ảnh dựa trên cấu trúc KD-Tree lồng nhau
Hình 2.17 Mô hình tìm kiếm ảnh dựa trên KD-Tree lồng nhau (SB-NKDT) [CT4]
Mô hình hệ tìm kiếm ảnh dựa trên cấu trúc KD-Tree lồng nhau bao gồm pha tiền xử lý và pha tìm kiếm: Trong đó, cấu trúc KD-Tree lồng nhau và pha tìm kiếm ảnh là phần đề xuất; phần ontology là kế thừa từ công trình [48] sau khi bổ sung dữ liệu thực nghiệm bộ ảnh Caltech-101, Caltech-256 Trong mô hình này, thuật toán 2.6 để xây dựng KD-Tree lồng nhau, thuật toán 2.7 tìm kiếm tập ảnh tương tự. Bước 1 Trích xuất véc-tơ đặc trưng gồm 225 chiều của tập dữ liệu ảnh (1). Bước 2 Xây dựng cấu trúc KD-Tree lồng nhau (2).
Bước 3 Bổ sung vào ontology dữ liệu thực nghiệm và ảnh từ WWW (3), (4).
Bước 4 Trích xuất véc-tơ đặc trưng ảnh cần truy vấn; thực hiện tìm kiếm tập ảnh tương tự theo nội dung dựa trên cấu trúc KD-Tree lồng nhau (6).
Bước 5 Trích xuất tập ảnh tương tự theo nội dung và tập từ thị giác (7); đồng thời tạo câu truy vấn SPARQL (8) dựa trên tập từ thị giác.
Bước 6 Tìm kiếm trên ontology tập ảnh tương tự theo ngữ nghĩa bằng câu truy vấn SPARQL (9).
Bước 7 Trích xuất tập ảnh tương tự với ảnh đầu vào (10).
Cấu trúc KD-Tree lồng nhau và ontology đã xây dựng ở pha tiền xử lý Quá trình tìm kiếm tập ảnh tương tự với ảnh đầu vào được thực hiện bởi Thuật toán 2.7.
Thuật toán 2.7 Tìm kiếm ảnh tương tự trên hệ SB-NKDT
1 Input: Ảnh truy vấn 𝐼; KD-Tree lồng nhau, ontology;
2 Output: Tập ảnh tương tự 𝑆𝐼;
5 Ban đầu gán tập ảnh tương tự 𝑆𝐼 là rỗng;
6 Trích xuất véc-tơ 𝑓 𝑖 ảnh truy vấn 𝐼;
7 // Tìm trên KD-Tree lồng nhau tập ảnh tương tự 𝑆𝐶 với ảnh 𝐼;
9 Trích xuất tập từ thị giác 𝑉𝑊 từ tập ảnh 𝑆𝐶 theo tần xuất nhãn lớn nhất;
10 // Tạo câu truy vấn SPARQL từ tập từ thị giác;
12 Tìm kiếm trên Ontology bằng câu truy vấn SPARQL;
13 Trích xuất tập ảnh tương tự 𝑆𝐼 của ảnh truy vấn 𝐼;
Thuật toán 2.7 thực hiện các bước:
(1) Tìm kiếm trên KD-Tree lồng nhau trích xuất tập ảnh tương tự tại nút lá mất chi phí là 𝑂(1);
(2) Trích xuất tập từ thị giác mất chi phí 𝑂(1);
(3) Tạo câu truy vấn SPARQL mất chi phí 𝑂(1);
(4) Tìm kiếm trên ontology mất chi phí 𝑂(𝑙) = 𝑂(1), 𝑙 là số phân lớp bộ ảnh thực nghiệm; Vì vậy, độ phức tạp của Thuật toán 2.7 là 𝑂(1).
Hình 2.18 Hệ tìm kiếm ảnh SB-NKDT
Hình 2.19 Tập ảnh tương tự với ảnh 500.jpg (COREL) hệ SB-NKDT
Hệ tìm kiếm ảnh SB-NKDT thực nghiệm trên các bộ ảnh COREL, Wang, Caltech-101 Hình 2.18, mô tả thực nghiệm tìm kiếm ảnh tương tự với ảnh 500.jpg (COREL) Kết quả tập ảnh tương tự theo ngữ nghĩa của ảnh đầu vào như Hình 2.19.
Kết quả thực nghiệm hệ tìm kiếm SB-NKDT được trình bày trong Bảng 2.12 [CT4] Mỗi bộ ảnh khác nhau có số phân lớp nên chiều cao và số nhánh là khác nhau Kết quả thực nghiệm bộ COREL chiều cao cây bằng 2, số nhánh bằng 4 nên thời gian tìm kiếm nhanh hơn so với bộ dữ liệu Wang và Caltech-101.
Bảng 2.12 Kết quả tìm kiếm ảnh của hệ SB-NKDT
Bộ ảnh Precision Recall F-measure Query time (ms)
Kết quả hệ tìm kiếm ảnh SB-NKDT là cao, bởi các lý do sau: (1) quá trình huấn luyện trọng số trên KD-Tree lồng nhau tốn chi phí nhưng được kết quả phân lớp cao; (2) kết quả phân lớp làm cơ sở tìm kiếm tập ảnh tương tự theo nội dung nên được lọc qua một lần; (3) thực hiện tìm kiếm tập ảnh tương tự trên ontology.
Bảng 2.13 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh COREL (SB-NKDT)
B_SHIFT, (Douik, Ali et al.), 2016 [57] 0.7200 Shape and Texture Features, (Abdulkadhem, et al.), 2019 [58] 0.7286 ORB 8-dimensions with MPL, (P Chhabra et al.), 2020 [59] 0.6656
C-Tree, (Nhi, N T U et al ), 2021 [60] 0.6777 Multi-feature and SVM, (Gonỗalves F M F., et al.), 2018 [71] 0.7657 Multi-feature with neural network, (Raja R., et al.), 2020 [72] 0.7941
Bảng 2.14 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh Wang (SB-NKDT)
ORB and SIFT features, (P Chhabra et al.), 2020 [59] 0.6320
SBIR-CT, (Nhi N.T.U et al.), 2021 [60] 0.6072SVM, (Das, R., et al.), 2017, [61] 0.55908D-GLCM+GSF+ HSVCM, (Bella et al.), 2019 [62] 0.5970DSFH (low feature + deep feature VGG-16), (Liu G H., , et al.), 2021 [38] 0.7894Fusion feature ResNet-34 + PCA + CNN, (Kanwal K., et al.), 2020 [41] 0.7800
C-Tree, (Nhi, N T U et al ), 2021 [60] 0.6072 Combined feature HSV+LBP+Canny + SOM, (Pavithra L K., et al.), 2019 [73] 0.7894
Bảng 2.15 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh Caltech-101 (SB-NKDT)
CE and Valleys with SVM, (Rajesh, M B., et al.), 2020 [63] 0.6314 CBIR Multi-trend Structure, (Sathiamoorthy, S., et al.), 2020 [64] 0.6942 Feature Detector, (Ahmed, K T., et al.), 2021 [65] 0.6200 CBIR with features, (Soumya Prakash Rana, et al.), 2019 [66] 0.6450 CBIR, TopK = 10, (Khawaja Tehseen Ahmed), 2019 [69] 0.6980 CBIR on n Significant Regions with Global CNN, (Jie Xu et al.), 2019
Kết quả thực nghiệm được so sánh với một số công trình gần đây cùng bộ dữ liệu trong Bảng 2.3 – 2.6 (hệ SB-KDT); 2.8 – 2.10 (hệ SB-iKDT); 2.13 – 2.15 (hệ SB-NKDT) Kết quả so sánh cho thấy, việc ứng dụng cấu trúc KD-Tree cho bài toán tìm kiếm ảnh là hoàn toàn khả thi và hiệu quả Các cải tiến sau dựa trên những hạn chế của đề xuất trước là có cơ sở, vì vậy các kết quả về độ chính xác về sau thì cao hơn các kết quả trước đó Các kết quả so sánh độ chính xác tìm kiếm cho thấy số công trình được so sánh tăng lên đối với hệ SB-NKDT chứng tỏ những cải tiến này là khả thi và đúng đắn.
Theo kết quả thực nghiệm, kết quả tìm kiếm ảnh trên các bộ dữ COREL, Wang, Caltech-101, Caltech-256 cao hơn các công trình khác bởi các lý do: (1) Bài toán thực hiện phân lớp ảnh trước khi thực hiện tìm kiếm ảnh tương tự; (2) Phân lớp ảnh theo cấu trúc KD-Tree lồng nhau và huấn luyện trọng số nên độ chính xác phân lớp cao;
Đánh giá các hệ tìm kiếm ảnh
Bảng 2.16 – 2.17 so sánh độ chính xác và thời gian tìm kiếm trung bình trên hai bộ ảnh Wang, Caltech-101 được trình bày tương ứng với hai cấu trúc iKD_Tree và KD-Tree lồng nhau Điều này cho thấy định hướng cải tiến của trên cấu trúc KD- Tree đúng đắn theo hướng nâng cao độ chính xác tìm kiếm ảnh trên cấu trúc KD- Tree lồng nhau thì thời gian tìm kiếm tăng lên do chiều cao KD-Tree lồng nhau gấp đôi tại một số nút lá nên thời gian tìm kiếm trung bình tăng.
Bảng 2.16 So sánh độ chính xác trung bình giữa các cải tiến cấu trúc KD-Tree
Hệ tìm kiếm ảnh COREL Wang Caltech-101 Caltech-256
Bảng 2.17 So sánh thời gian tìm kiếm trung bình (ms) giữa các cải tiến KD-Tree
Hệ tìm kiếm ảnh COREL Wang Caltech-101 Caltech-256
So sánh độ chính xác trung bình từ các hệ tìm kiếm ảnh đề xuất dựa trên các cải tiến KD-Tree cho thấy độ chính xác cao nhất từ hệ SB-NKDT dựa trên cấu trúc KD- Tree lồng nhau trên cùng bộ ảnh thực nghiệm COREL, Wang, Caltech-101. Đồng thời, thời gian tìm kiếm trung bình cao hơn so với các hệ SB-KDT và SB- iKDT do cấu trúc KD-Tree lồng nhau phát triển nút lá thành SubTree nên chiều cao của KD- Tree lồng nhau tại một số vị trí có chiều cao gấp đôi so với cấu trúc iKD_Tree Trong trường hợp đặt mục tiêu nâng cao độ chính xác tìm kiếm ảnh thì sử dụng hệ SB- NKDT; trường hợp đặt mục tiêu tìm kiếm nhanh thì sử dụng hệ SB- iKDT.
So sánh độ chính xác tìm kiếm ảnh giữa hai cấu trúc KD-Tree và C-Tree [7] trên cùng bộ ảnh COREL, Wang cho thấy: (1) độ chính xác hệ tìm kiếm ảnh dựa trên
KD-Tree là cao hơn thực nghiệm trên C-Tree; (2) chi phí huấn luyện KD-Tree cao hơn so với C-Tree; (3) thời gian tìm kiếm trên KD-Tree cao hơn C-Tree do quá trình tìm luôn thực hiện từ gốc đến lá với chiều cao KD-Tree, tuy nhiên độ phức tạp của thuật toán không tăng, vẫn là 𝑂(𝑛).
Bảng 2.18 trình bày một số nội dung được so sánh giữa các công trình đã công bố Trong đó, một số công trình đã thực hiện tìm kiếm ảnh thực nghiệm trên cùng bộ ảnh COREL, Wang, Caltech-101, Caltech-256 có sự tương đồng với các phương pháp đề xuất trong luận án là: (1) cùng sử dụng các nhóm đặc trưng hình ảnh được trích xuất như màu sắc, hình dạng, kết cấu, đặc trưng SIFT; (2) sử dụng các thuật toán K- Means, k-NN để thực hiện gom cụm và phân lớp dữ liệu Tuy nhiên, các công trình này chỉ thực hiện trên một bộ ảnh riêng biệt, việc thực nghiệm trên nhiều bộ ảnh với mỗi đề xuất còn hạn chế, điều này cũng chưa phản ánh được tính tổng quan cho phương pháp đề xuất trước đây và chưa phân tích những hạn chế còn tồn tại để có những cải tiến tiếp theo Bên cạnh đó, độ chính xác tìm kiếm ảnh còn phụ thuộc vào nhóm đặc trưng được trích xuất, trong khi đó các công trình được so sánh thì các nhóm đặc trưng kết hợp chưa nhiều như các hệ SB-KDT, SB-iNKDT, SB-NKDT đã kết hợp đa đặc trưng như HOG, màu sắc, hình dạng, kết cấu, v.v Độ chính xác tìm kiếm ảnh trên các bộ ảnh thực nghiệm của những phương pháp đề xuất trong luận án cao hơn các công trình khảo sát là ảnh hưởng của sự kết hợp cấu trúc dữ liệu lưu trữ, đa đặc trưng và ontology Một kết quả tìm kiếm đã thực hiện qua nhiều bộ lọc gom cụm và phân lớp nên kết quả thu được cao hơn Điều này cho thấy các phương pháp kết hợp giữa cấu trúc lưu trữ với kỹ thuật học máy và ontology đã góp phần nâng cao hiệu quả tìm kiếm ảnh trong chương này.
Bảng 2.18 So sánh các phương pháp tìm kiếm ảnh sử dụng KD-Tree với những đề xuất trong luận án
Bộ ảnh Cấu trúc lưu trữ Đặc trưng Giảm chiều dữ liệu
Kết hợp Ontology k-NN KD-Tree [58] COREL KD-Tree nhị phân cân bằng Đặc trưng Texture,
Shape Giảm chiều đặc trưng bằng SVD k-NN -
ORB and SIFT features [59] Wang Decision tree,
Random Forest và MLP classifiers
Fused Information Feature- based Image Retrieval
[18] Caltech-256 KD-Tree đa nhánh cân bằng Đặc trưng SIFT,
HOG Giảm chiều đặc trưng bằng PCA k-NN -
KD-Tree đa nhánh cân bằng Đặc trưng Texture, Shape; SIFT và HOG;
KD-Tree đa nhánh cân bằng thêm hệ số alpha Đặc trưng MPEG-7, SIFT, SITOMASHI, HOG, Sobel HOG, Laplace HOG
KD-Tree lồng nhau Đặc trưng Texture,
Khi thực hiện tìm kiếm ảnh dựa trên KD-Tree thực chất là tìm kiếm ảnh dựa trên các phân cụm Bởi vì quá trình xây dựng cấu trúc KD-Tree để lưu trữ véc-tơ đặc trưng hình ảnh là quá trình gom cụm tại các nút lá Tuy nhiên, để hình thành các cụm này thì quá trình phân lớp trên KD-Tree theo mô hình nhiều tầng bắt đầu từ nút gốc được thực hiện và huấn luyện trọng số tại mỗi tầng trên KD-Tree Cấu trúc KD- Tree được xây dựng là cấu trúc đa tầng, mỗi nút trên KD-Tree là mạng Nơ-ron một nút Vì vậy, cần mất một chi phí huấn luyện trọng số trên KD-Tree ở pha huấn luyện một lần và sử dụng nhiều lần ở pha tìm kiếm ảnh Do đó, kết quả tìm kiếm ảnh dựa trên KD-Tree và KD-Tree lồng nhau có độ chính xác cao hơn các phương pháp gom cụm thuần túy như K-Means, DBSCAN, v.v.
Kết quả về tìm kiếm ảnh dựa trên cấu trúc KD-Tree (hệ SB-KDT), iKD_Tree(hệ SB-iKDT), KD-Tree lồng nhau (hệ SB-NKDT) được tác giả lần lượt trình bày trong các bài báo [CT2], [CT3] và [CT4] trong danh mục các công trình liên quan đến luận án của tác giả.
Tổng kết chương
Các cải tiến cấu trúc KD-Tree được đánh giá là hiệu quả cho bài toán tìm kiếm ảnh Cấu trúc KD-Tree được xây dựng theo phương pháp học bán giám sát để hình thành mỗi nút lá là một cụm đồng thời là một phân lớp Trong chương này, một số kết quả đạt được là đề xuất các cải tiến cấu trúc KD-Tree cho bài toán tìm kiếm ảnh gồm: cấu trúc KD-Tree đa nhánh cân bằng, iKD_Tree và KD-Tree lồng nhau Một số thuật toán xây dựng, huấn luyện, tìm kiếm trên các cấu trúc KD-Tree, iKD_Tree và KD-Tree lồng nhau cũng được đề xuất Từ đó xây dựng các hệ tìm kiếm ảnh theo ngữ nghĩa như SB-KDT, SB-iKDT và SB-NKDT dựa trên ontology, nhưng chỉ dừng lại ở việc tìm kiếm những hình ảnh có phân lớp thuộc ontology và chỉ thực nghiệm trên các bộ ảnh đơn đối tượng Trong khi đó, mối quan hệ ngữ nghĩa theo vị trí được xác định giữa các đối tượng trên mỗi hình ảnh có thể bổ sung được vào ontology nhằm thực hiện tìm kiếm những ảnh thỏa điều kiện này Vì vậy, cấu trúc KD-Tree có khả năng phát triển theo tiếp cận ngữ nghĩa để xây dựng ontology cho bộ ảnh đa đối tượng cũng cần được thực hiện trong chương tiếp theo.
PHÁT TRIỂN CẤU TRÚC KD-TREE THEO TIẾP CẬN NGỮ NGHĨA
Giới thiệu
Bài toán tìm kiếm ảnh đa đối tượng phức tạp hơn đối với tập ảnh đơn đối tượng bởi vì các thao tác tiền xử lý như xác định số đối tượng trên ảnh, phân đoạn ảnh đối tượng, xác định mối quan hệ giữa các đối tượng theo vị trí, mô tả đối tượng, v.v Mục tiêu chương này là cải tiến những hạn chế đề xuất từ Chương 2 nhằm nâng cao độ chính xác tìm kiếm ảnh bằng cách xây dựng nhiều cấu trúc KD-Tree độc lập tạo thành rừng ngẫu nhiên gọi là RF KD-Tree trên bộ ảnh đa đối tượng Đồng thời, mối quan hệ của các đối tượng trong ảnh cần được xác định bằng cấu trúc Re KD- Tree; phát triển Ontology từ ảnh đối tượng và các mối quan hệ để tìm kiếm tập ảnh tương tự theo ngữ nghĩa dựa trên bộ ba mô tả ảnh đầu vào.
Tìm kiếm ảnh theo tiếp cận ngữ nghĩa dựa trên mối quan hệ giữa các đối tượng được xác định bằng SG hoặc KG và công bố bởi một số công trình [45], [46].Luận án phát triển cấu trúc Re KD-Tree theo tiếp cận ngữ nghĩa để phân lớp mối quan hệ giữa các đối tượng hình ảnh được đề xuất với kết quả khả quan, có thể so sánh với các phương pháp khác trên cùng bộ dữ liệu thực nghiệm.
Dựa trên cơ sở lý thuyết đề xuất, một số mô hình tìm kiếm ảnh theo tiếp cận ngữ nghĩa bằng cách kết hợp RF KD-Tree, Re KD-Tree và Ontology được thực hiện trong chương này.
3.1.1 Xây dựng cấu trúc RF KD-Tree
Hiện nay, việc xây dựng và phân lớp hình ảnh bằng rừng ngẫu nhiên dựa trên các kỹ thuật Bagging, Boosting, v.v và một số kỹ thuật khác đã mang lại kết quả phân lớp ảnh cao [45], [74] Rừng ngẫu nhiên được ứng dụng khá nhiều vào các công trình phân lớp hình ảnh [75] bởi kết quả phân lớp đối tượng cao hơn một số kỹ thuật học máy đơn lẻ như k-NN [74], máy véc-tơ hỗ trợ SVM [2] v.v Chi phí cho thời gian xây dựng và huấn luyện mô hình rừng ngẫu nhiên được thực hiện một lần ở pha tiền xử lý; kết quả sau huấn luyện trọng số được sử dụng nhiều lần ở pha tìm kiếm ảnh Sau khi xây dựng và huấn luyện rừng ngẫu nhiên, kết quả thu được là RF KD-Tree dựa trên nhiều cấu trúc KD-Tree; từ đó cấu trúc KD-Tree tổng hợp bởi RF KD-Tree áp dụng cho bài toán tìm kiếm ảnh được đánh giá là hiệu quả về độ chính xác tìm kiếm ảnh Minh họa rừng ngẫu nhiên RF KD-Tree kết hợp kỹ thuật Bagging được minh họa trong Hình 3.1 [CT6], gồm các bước: (1) tạo các bộ dữ liệu 𝐷𝑎𝑡𝑎 𝑖 gồm
𝑛 𝑖 phần tử ngẫu nhiên từ tập dữ liệu gốc có 𝑛 phần tử; (2) xây dựng KD-Tree cho từng bộ 𝐷𝑎𝑡𝑎 𝑖 ; (3) tổng hợp 𝑁 cấu trúc KD-Tree hình thành RF KD-Tree.
Hình 3.1 Mô tả cấu trúc RF KD-Tree
Quá trình xây dựng cấu trúc RF KD-Tree theo Thuật toán 3.1.
Thuật toán 3.1 Xây dựng cấu trúc RF KD-Tree
1 Input: Tập dữ liệu huấn luyện 𝑆 có 𝑛 𝑝ℎầ𝑛 𝑡ử, 𝑁 là số KD-Tree cần xây dựng;
6 Tạo tập dữ liệu 𝑆 𝑖 gồm 𝑛 𝑖 phần tử lấy ngẫu nhiên từ tập S, (𝑛 𝑖 < 𝑛);
12 End Thuật toán 3.1 xây dựng N cấu trúc KD-Tree Mỗi cấu trúc KD-Tree mất chi phí xây dựng là 𝑂(𝑛 𝑖 ), với 𝑛 𝑖 là số phần tử trích ngẫu nhiên từ tập dữ liệu thực nghiệm gồm 𝑛 phần tử Vậy độ phức tạp thuật toán 3.1 khi huấn luyện tập dữ liệu
𝑛 phần tử cho 𝑁 cấu trúc KD-Tree là 𝑂(𝑛). Đóng góp của thuật toán 3.1 là xây dựng và huấn luyện RF KD-Tree đã sử dụng bộ trọng số chọn lọc để phát triển thành KD-Tree tổng hợp cho hệ tìm kiếm ảnh SR- KDF Thay vì phải mất chi phí huấn luyện nhiều KD-Tree tuần tự thì chi phí thời gian xây dựng và huấn luyện RF KD-Tree song song là thấp hơn.
3.1.2 Huấn luyện RF KD-Tree
Cấu trúc RF KD-Tree được xây dựng trên bộ dữ liệu ngẫu nhiên Sau đó, bộ dữ liệu này được cố định để thực hiện huấn luyện RF KD-Tree Việc xây dựng và huấn luyện KD-Tree được thực hiện trên bộ dữ liệu không đổi Vì vậy, các cấu trúc KD-Tree trong rừng ngẫu nhiên vẫn ổn định Quá trình huấn luyện mô hình phân lớp ảnh bằng RF KD-Tree chính là huấn luyện trọng số song song trên nhiều cấu trúc KD-Tree độc lập Mỗi KD-Tree được huấn luyện theo phương pháp giảm sai số trung bình của quá trình phân lớp ảnh được trình bày bởi Thuật toán 2.2 Quá trình huấn luyện trọng số trên RF KD-Tree được trình bày bởi hàm TWRF với dữ liệu đầu vào là RF KD − Tree với bộ véc-tơ trọng số chưa huấn luyện; giá trị đầu ra là bộ trọng số của RF KD − Tree đã huấn luyện Mục đích xây dựng RF KD-Tree là tạo nhiều KD- Tree độc lập dựa trên các tập Sampling Data ngẫu nhiên từ tập dữ liệu ban đầu để đảm bảo tính khách quan Đồng thời quá trình huấn luyện nhiều cây KD-Tree song song nên giảm chi phí thời gian so với huấn luyện một cây KD-Tree mà vẫn đảm bảo
70 độ chính xác Mỗi cây KD-Tree trong RF KD-Tree vẫn giữ được tính cân bằng Sau khi xây dựng RF KD-Tree và huấn luyện để tìm bộ trọng số tốt nhất để xây dựng KD- Tree tổng hợp cho hệ tìm kiếm ảnh SR-KDF.
1 Function TWRF (𝑅𝐹 𝐾𝐷 − 𝑇𝑟𝑒𝑒 chưa huấn luyện)
3 Huấn luyện trọng số cho mỗi 𝐾𝐷 − 𝑇𝑟𝑒𝑒;
4 Bộ trọng số 𝑅𝐹 𝐾𝐷 − 𝑇𝑟𝑒𝑒 đã huấn luyện = tập các trọng số đã huấn luyện trên tất cả 𝐾𝐷 − 𝑇𝑟𝑒𝑒;
5 𝐑𝐞𝐭𝐮𝐫𝐧 Bộ trọng số 𝑅𝐹 𝐾𝐷 − 𝑇𝑟𝑒𝑒 ã huấnđ luyện;
Ontology cho tìm kiếm ảnh theo tiếp cận ngữ nghĩa
Một phương pháp tìm kiếm ảnh theo tiếp cận ngữ nghĩa bằng cách sử dụng Ontology được thực hiện trong luận án Ontology được xây dựng, phát triển dựa trên tập ảnh đối tượng và mối quan hệ giữa các đối tượng theo phương pháp bán tự động Ảnh đa đối tượng ban đầu được phân đoạn thành ảnh đối tượng; trích xuất các thành phần của ảnh đối tượng và xây dựng mối quan hệ giữa các đối tượng Từ đó Ontology được xây dựng và bổ sung thuộc tính ảnh đối tượng và mối quan hệ này. Trong luận án, ảnh đối tượng được xây dựng từ kỹ thuật dò tìm và phân đoạn đối tượng bằng mạng R-CNN [76]; mối quan hệ giữa các đối tượng trên ảnh được xác định bằng cấu trúc Re KD-Tree Trong phạm vi luận án, mỗi hình ảnh thực nghiệm có số đối tượng khác nhau, do đó mô hình mạng R-CNN được sử dụng để nhận diện, phân đoạn ảnh gốc thành các ảnh đối tượng Quá trình ứng dụng mạng R-CNN được thực hiện trên cơ sở kế thừa mô hình đã có để từ đó nhận diện, phân đoạn các đối tượng khác nhau trên mỗi hình ảnh gốc [76].
3.2.1 Cấu trúc Re KD-Tree
Xác định mối quan hệ ngữ nghĩa các đối tượng trên ảnh là bài toán được thực hiện qua các giai đoạn gồm: phân lớp từng đối tượng trên ảnh; xác định quan hệ các cặp đối tượng; xây dựng mối quan hệ ngữ nghĩa mô tả hình ảnh Hiện nay, có nhiều phương pháp để thực hiện bài toán phân lớp mối quan hệ giữa các đối tượng trên ảnh như sử dụng mạng học sâu Deep Learning [41], SG [45], KG [46], v.v và một số phương pháp khác đã mang lại những kết quả khác nhau Một phương pháp xác định
71 mối quan hệ các đối tượng bằng cấu trúc Re KD-Tree được đề xuất nhằm phát triển những ưu điểm của cấu trúc KD-Tree đã xây dựng Cấu trúc Re KD-Tree được minh họa như Hình 3.2 gồm các thành phần như sau:
1)Nút gốc không có nút cha, lưu trữ một véc-tơ trọng số (w 0 ), có tập nút con trái
{𝑙𝑒𝑓𝑡}, tập nút con phải {𝑟𝑖𝑔ℎ𝑡} và mức nút gốc là ℎ 0 (𝑙𝑒𝑣𝑒𝑙 = ℎ 0 );
2)Nút trong có một nút cha (parent), lưu trữ một véc-tơ trọng số (𝑤 𝑖 ), có tập nút con trái {𝑙𝑒𝑓𝑡}, tập nút con phải {𝑟𝑖𝑔ℎ𝑡} và có một mức trên cây (𝑙𝑒𝑣𝑒𝑙 = ℎ 𝑖 );
3)Nút lá có một nút cha (𝑝𝑎𝑟𝑒𝑛𝑡), không có nút con, lưu trữ tập véc-tơ đặc trưng sau khi đã ghép hai ảnh đối tượng {(𝑓 𝑖𝑗 , 𝑓 𝑖𝑘 ), … , (𝑓 𝑚𝑗 , 𝑓 𝑚𝑘 )}, có một mức trên cây (𝑙𝑒𝑣𝑒𝑙 = ℎ) và được gán nhãn là một từ chỉ mối quan hệ trong tập ảnh thực nghiệm (𝑊𝑜𝑟𝑑 𝑜𝑓 𝑆𝑒𝑚𝑎𝑛𝑡𝑖𝑐 𝑅𝑒𝑙𝑎𝑡𝑖𝑜𝑛𝑠ℎ𝑖𝑝).
Quá trình xây dựng Re KD-Tree được thực hiện như sau:
1) Khởi tạo chiều cao KD-Tree bằng ℎ, khởi tạo số nhánh tối đa tại mỗi nút trong là 𝑏; số nút lá tối đa trên KD-Tree được tạo ra là 𝑏 ℎ Số nút lá phụ thuộc vào tập từ chỉ mối quan hệ trên từng bộ ảnh thực nghiệm.
2) Khởi tạo tập véc-tơ trọng số ngẫu nhiên và phân bổ vào các nút trong.
3) Tại 𝑁𝑜𝑑𝑒 𝑖 khởi tạo các ngưỡng trái, ngưỡng phải 𝑁𝑜𝑑𝑒 𝑖 𝑙𝑒𝑓𝑡 = 0.5;
4) Lần lượt cho cặp véc-tơ 𝑓 𝐼𝑗𝑘 = (𝑓 𝑖𝑗 , 𝑓 𝑖𝑘 ) đi vào Re KD-Tree từ nút gốc và xác định đường đi cho (𝑓 𝑖𝑗 , 𝑓 𝑖𝑘 ) đến tầng kế tiếp.
5) Lặp lại bước (3), (4) đến khi gặp nút lá 𝑙𝑒𝑎𝑓 𝑘 thì ghi 𝑓 𝐼𝑗𝑘 vào 𝑙𝑒𝑎𝑓 𝑘 Ảnh đối tượng (Object image) là ảnh phân đoạn dựa trên từng đối tượng của ảnh gốc (Original image) Mỗi ảnh gốc được phân đoạn thành nhiều ảnh đối tượng,tùy thuộc vào diện tích của đối tượng mà bộ ảnh thực nghiệm MS-COCO, Flickr được sử dụng số lượng ảnh đối tượng khác nhau để đạt được độ chính xác tốt nhất.Sau khi phân đoạn ảnh, mỗi vùng ảnh đặc trưng được trích xuất dưới dạng véc-tơ đặc trưng cho quá trình xây dựng cấu trúc KD-Tree Ảnh đối tượng của ảnh1001773457.jpg (Flickr) được minh họa như trong Hình 3.3 [CT5].
Hình 3.2 Mô tả cấu trúc Re KD-Tree
Hình 3.3 Minh họa ảnh đối tượng trích xuất từ ảnh gốc 1001773457.jpg (Flickr)
Trên cơ sở các thành phần của Re KD-Tree được mô tả, thuật toán xây dựng
Re KD-Tree kế thừa thuật toán 2.1 xây dựng KD-Tree đa nhánh cân bằng Tuy nhiên quá trình gán nhãn nút lá sử dụng hàm SL2L và thay thế tập nhãn (label) bằng tập từ chỉ mối quan hệ giữa các đối tượng trên ảnh được trích xuất từ bộ dữ liệu thực nghiệm gồm: In, On, Under, Above, Left, Right, Front of, Behind, v.v. Quá trình điều chỉnh bộ véc-tơ phân lớp tại các nút trong để nâng cao độ chính xác phân lớp mối quan hệ bằng Re KD-Tree tại nút lá [CT5] Cấu trúc Re KD-Tree được xây dựng từ một khung cây khởi tạo trước nên về tính cân bằng vẫn giữ nguyên Cấu trúc Re KD- Tree cũng được huấn luyện trọng số theo phương pháp học bán giám sát kế thừa từ chương 2 Quá trình này được mô tả như sau:
(1) Tính kết quả phân lớp mối quan hệ cho tập ảnh với bộ véc-tơ trọng số khởi tạo.
(2) Tìm những cặp ảnh đối tượng phân lớp sai mối quan hệ.
(3) Tìm vị trí 𝑁𝑜𝑑𝑒 𝑖 làm sai quá trình phân lớp mối quan hệ của cặp ảnh đối tượng.
(4) Điều chỉnh véc-tơ trọng số tại 𝑁𝑜𝑑𝑒 𝑖 để cặp đối tượng (𝐼 𝑖 , 𝐼 𝑘 ) đúng nút lá.
(5) So sánh kết quả phân lớp mối quan hệ sau khi đã điều chỉnh véc-tơ trọng số và kết quả phân lớp khi sử dụng bộ véc-tơ trọng số ngẫu nhiên.
(6) Quá trình này lặp lại cho đến khi đạt được kết quả mục tiêu.
3.2.2 Phân lớp mối quan hệ các đối tượng bằng Re KD-Tree
Mỗi ảnh 𝐼 được phân đoạn thành các ảnh đối tượng (𝐼 1 , , 𝐼 𝑘 ), 𝑘 = 1 .5; trích xuất véc-tơ đặc trưng (𝑓 𝐼1 , , 𝑓 𝐼𝑘 ), kết hợp từng cặp thành véc-tơ 𝑓 𝐼𝑗𝑘 = (𝑓 𝐼𝑗 ,
𝑓 𝐼𝑘 ) làm dữ liệu đầu vào Re KD-Tree và lưu trữ tại nút lá Kết quả thực nghiệm chọn mỗi ảnh gốc có tối đa 5 ảnh đối tượng sau khi thực hiện R-CNN vì đây là kết quả thực nghiệm tốt nhất Tuy nhiên với những ảnh có số đối tượng nhỏ hơn 5 thì lấy hết các đối tượng này Mỗi nút lá lưu một từ chỉ mối quan hệ, từ đó làm cơ sở trích xuất mối quan hệ ngữ nghĩa giữa các đối tượng trên ảnh bằng Re KD-Tree [CT5] Vì vậy, quá trình phân lớp mối quan hệ giữa các đối tượng được trình bày bởi hàm
C𝐋𝐑𝐊𝐃 có dữ liệu đầu vào là véc-tơ 𝑓 𝑖𝑚 , 𝑓 𝑖𝑛 của ảnh đối tượng 𝐼 𝑚 , 𝐼 𝑛 thuộc ảnh 𝐼;
𝑅𝑒 𝐾𝐷 − 𝑇𝑟𝑒𝑒 Giá trị đầu ra là mối quan hệ giữa hai ảnh đối tượng 𝐼 𝑚, 𝐼 𝑛 ;
6 Gán từ quan hệ là 𝑆𝑊 𝐼 = 𝐿𝑒𝑎𝑓 𝑘 𝑙𝑎𝑏𝑒𝑙;
3.2.3 Mô tả cấu trúc và xây dựng Ontology
Trong chương này, Ontology được thiết kế dựa trên ảnh đối tượng và mối quan hệ giữa các đối tượng trên ảnh; sau đó bổ sung mối quan hệ giữa từng cặp đối tượng theo bộ ba “Object i – relationship – Objectj”, kết hợp với cấu trúc Re KD- Tree để xác định mối quan hệ giữa các đối tượng, chú giải cho mỗi hình ảnh nhằm nâng cao độ chính xác tìm kiếm ảnh tương tự Trên cơ sở kế thừa khung Ontology từ các hệ tìm kiếm ảnh SB-KDT, SB-iKDT và SB-NKDT; quá trình thiết kế các thuộc tính cho ảnh
74 đối tượng, mối quan hệ giữa các đối tượng được bổ sung vào Ontology để tăng số lượng hình ảnh tương tự được tìm kiếm trên Ontology, từ đó tăng độ chính xác.
Khi dữ liệu ảnh số gia tăng thì việc tìm kiếm một đối tượng trên tập dữ liệu Metadata thì chi phí thời gian lớn và khó thực thi Vì vậy, giải pháp xây dựng Ontology để đáp ứng cho quá trình tìm kiếm ảnh nhanh, hiệu quả và ứng dụng cho bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa là cấp thiết Phần này trình bày cấu trúc, phương pháp xây dựng và tìm kiếm ảnh trên Ontology.
Mỗi hình ảnh được phân đoạn theo số đối tượng trên ảnh tạo thành các ảnh đối tượng Cấu trúc Ontology minh họa như Hình 3.4 được xây dựng gồm thuộc tính ảnh đối tượng và mối quan hệ giữa các đối tượng Quá trình xây dựng và bổ sung dữ liệu vào Ontology được thực hiện theo các bước sau:
Bước 1 Phân đoạn tập ảnh thực nghiệm thành ảnh đối tượng (Object Image). Bước 2 Phân lớp ảnh đối tượng theo các lớp (Class) và phân cấp lớp (Classes
Bước 3 Trích xuất thông tin ảnh đối tượng (Object Properties).
Bước 4 Bổ sung các mối quan hệ giữa các cặp đối tượng vào Ontology (Relationship).
Hình 3.4 Minh họa cấu trúc Ontology
Cấu trúc Ontology được xây dựng gồm những thành phần đã mô tả trên ảnh đối tượng như Hình 3.4, mỗi đối tượng được lưu trữ gồm các thành phần: địa chỉ lưu trữ (IRI), định danh đối tượng (ObjectId), thuộc tính (Attributes), tên ảnh đối tượng (Name), định danh ảnh đối tượng (ImageId), chiều rộng (Width), chiều cao (Height), định danh Wordnet ảnh đối tượng (SynsetId), tọa độ trục hoành (CoorX), tọa độ trục tung (CoorY), mô tả Wordnet đối tượng (Wordnet), mô tả đối tượng (Description) Giữa hai ảnh đối tượng có một mối quan hệ (Relationship), mỗi mối quan hệ cần lưu trữ các thành phần: tên mối quan hệ (Name), ID mối quan hệ (ID), cấu trúc mối quan hệ (SynsetID) và mô tả mối quan hệ (Description).
Hình 3.5 Cách tổ chức dữ liệu phân cấp lớp và lớp con trong bộ ảnh MS-COCO
Hình 3.6 Cấu trúc Class, SuperClass được bổ sung vào Ontology
Mỗi ảnh đối tượng thuộc một lớp (Class) và phân cấp lớp cha (SuperClass) được minh họa như Hình 3.5 – 3.6.
Cấu trúc lớp (Class) và lớp cha (SuperClass) trên bộ ảnh thực nghiệm MS- COCO và Flickr tổ chức theo cấu trúc sau:
Hình 3.7 Cấu trúc ảnh đối tượng sau khi phân đoạn và phân lớp
Hình 3.8 Minh họa cấu trúc ảnh đối tượng theo phân lớp
Hình 3.9 Mô tả các thành phần ảnh đối tượng trên bộ ảnh Flickr
Cấu trúc Ontology được đề xuất và xây dựng áp dụng cho bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa trên các bộ ảnh đa đối tượng MS-COCO và Flickr Hàm
Hệ tìm kiếm ảnh dựa trên Re KD-Tree và Ontology
3.3.1 Mô hình tìm kiếm ảnh dựa trên Re KD-Tree và Ontology
Mô hình tìm kiếm ảnh đề xuất [CT5] gồm hai pha: pha tiền xử lý và pha tìm kiếm Pha tiền xử lý thực hiện xây dựng cấu trúc Re KD-Tree, RF KD-Tree và Ontology Pha tìm kiếm thực hiện trích xuất đặc trưng cho từng ảnh đối tượng, phân lớp ảnh, phân lớp mối quan hệ; xây dựng câu truy vấn SPARQL và thực hiện tìm kiếm trên Ontology để trích xuất tập ảnh tương tự theo ngữ nghĩa với ảnh đầu vào. Trong đó, phân đoạn đối tượng bằng R-CNN là phần kế thừa; cấu trúc Re KD-Tree, Ontology và pha tìm kiếm ảnh là phần đề xuất, cụ thể các bước như sau:
(1) Phân lớp đối tượng và trích xuất đặc trưng cho tập dữ liệu thực nghiệm (1).
(2) Xây dựng cấu trúc Re KD-Tree (2).
(3) Bổ sung dữ liệu vào Ontology.
(4) Mỗi ảnh đầu vào, phân đoạn ảnh (3) và phân lớp mối quan hệ giữa các đối tượng bằng cấu trúc Re KD-Tree (4).
(5) Xây dựng bộ ba bằng cách kết hợp tên lớp ảnh đối tượng và mối quan hệ
(5) Khi mỗi ảnh gốc được phân đoạn có 𝑛 ảnh đối tượng thì số bộ ba được hình thành là 𝐶 2
(6) Xây dựng truy vấn SPARQL từ bộ ba (6).
(7) Trích xuất tập ảnh tương tự theo ngữ nghĩa với ảnh đầu vào dựa trênOntology bằng câu truy vấn SPARQL (7).
Hình 3.17 Mô hình tìm kiếm ảnh dựa trên Re KD-Tree và Ontology (SR-KDT)
Trong mô hình này, hàm CLRKD được sử dụng để phân loại mối quan hệ dựa trên Re KD-Tree Thuật toán 3.2 được sử dụng tìm kiếm tập ảnh tương tự với ảnh tìm kiếm.
Quá trình tìm tập ảnh tương tự hệ SR-KDT được thực hiện bởi Thuật toán 3.2.
Thuật toán 3.2 Tìm kiếm ảnh tương tự trên hệ SR-KDT
1 Input: Ảnh truy vấn 𝐼; Re KD-Tree; Ontology
2 Output: Tập ảnh tương tự 𝑆𝐼;
5 Gán tập ảnh tương tự ban đầu 𝑆𝐼 là rỗng;
6 Phân đoạn ảnh truy vấn 𝐼 thành ảnh đối tượng 𝐼 𝑚 , 𝐼 𝑛 ;
7 Trích xuất đặc trưng ảnh đối tượng 𝑓 𝐼𝑚 , 𝑓 𝐼𝑛 ;
8 // Phân lớp mối quan hệ giữa các ảnh đối tượng bằng Re KD-Tree;
10 Xây dựng bộ ba mô tả ảnh đầu vào từ ảnh đối tượng và mối quan hệ;
11 Tạo câu truy vấn SPARQL từ bộ ba mô tả ảnh đầu vào;
12 Tìm kiếm trên Ontology bằng câu truy vấn SPARQL;
13 Trích xuất tập ảnh tương tự theo ngữ nghĩa 𝑆𝐼 với ảnh đầu vào 𝐼;
Thuật toán 3.2 thực hiện các bước:
(1) Phân lớp mối quan hệ giữa các đối tượng trên ảnh đầu vào bằng Re KD-Tree mất chi phí là 𝑂(ℎ × 𝑏) = 𝑂(1); Vì ℎ, 𝑏 là các hằng số nhỏ.
(2) Xây dựng bộ ba mô tả nội dung hình ảnh mất chi phí 𝑂(1);
(3) Tạo câu truy vấn SPARQL mất chi phí 𝑂(1);
(4) Truy vấn trên Ontology mất chi phí 𝑂(𝑙) = 𝑂(1), 𝑙 là số phân lớp bộ ảnh thực nghiệm; Vì vậy, độ phức tạp của Thuật toán 3.2 là 𝑂(1).
3.3.2 Thực nghiệm và đánh giá
Hệ tìm kiếm ảnh SR-KDT dựa trên cấu trúc Re KD-Tree và Ontology được thực nghiệm trên hai bộ ảnh MS-COCO và Flickr [CT5] Sau khi xác định mối quan hệ giữa các đối tượng trên ảnh đầu vào bằng Re KD-Tree (Extract Semantic
Relationship on KD-Tree) là xây dựng câu truy vấn SPARQL (Create SPARQL).
Quá trình tìm kiếm trên Ontology để trích xuất tập ảnh tương tự theo ngữ nghĩa với ảnh đầu vào.
Hình 3.18 Hệ tìm kiếm ảnh SR-KDT
Kết quả tập ảnh tương tự với ảnh đầu vào 000000183675.jpg MS-COCO minh họa bởi Hình 3.19 [CT5] Trong đó, các ảnh tương tự với ảnh đầu vào gồm những đối tượng thuộc phân lớp 𝑝𝑒𝑟𝑠𝑜𝑛 và ℎ𝑜𝑟𝑠𝑒.
Hình 3.19 Kết quả tập ảnh tương tự hệ SR-KDT (000000183675.jpg, MS-COCO)
Kết quả tìm kiếm ảnh hệ SR-KDT được trình bày trong Bảng 3.1 So sánh độ chính xác tìm kiếm ảnh hệ SR-KDT với một số công trình khác được trình bày trong Bảng 3.2 – 3.3 Một số công trình được chọn làm so sánh lấy theo TopK nhưng vẫn thấp hơn hệ tìm kiếm ảnh SR-KDT thực nghiệm trên toàn bộ tập ảnh.
Bảng 3.1 Kết quả tìm kiếm ảnh hệ SR-KDT [CT5]
Tập ảnh Precision Recall F-measure Thời gian tìm kiếm trung bình (ms)
Bảng 3.2 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh MS-COCO (SR-KDT)
CNN-RNN, (Wang, Yang et al.), 2016 [78] - 0.6120
SR-KDT (Re KD-Tree) - 0.6972
Bảng 3.3 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh Flickr (SR-KDT)
CAMP, (Wang Z, et al.,), 2019 [74] 5 0.7710 BGAN- 48 bit, (Song et al., 2018) [79] - 0.7030
SR-KDT (Re KD-Tree) - 0.7794
Kết quả so sánh độ chính xác tìm kiếm ảnh trên bộ dữ liệu MS-COCO, Flickr với một số công trình khác cho thấy, hệ tìm kiếm ảnh SR-KDT cao hơn vì các lý do:
(1) Hệ tìm kiếm ảnh SR-KDT thực hiện phân lớp ảnh bằng R-CNN với kết quả phân lớp đối tượng ảnh khá cao, đây là một yếu tố giúp cải thiện độ chính xác tìm kiếm ảnh.
(2) Hệ tìm kiếm ảnh SR-KDT sử dụng Ontology giúp quá trình tìm kiếm ảnh thực hiện trên câu truy vấn SPARQL hình thành từ bộ ba mô tả ảnh đầu vào.
Hệ tìm kiếm ảnh SR-KDT kết hợp được cấu trúc Re KD-Tree và Ontology đã góp phần nâng cao độ chính xác cho bài toàn tìm kiếm ảnh Điều này cho thấy, sự kết hợp cấu trúc dữ liệu với các kỹ thuật học máy khác là đúng đắn Bên cạnh đó, việc phát triển và xây dựng cấu trúc Re KD-Tree là một cải tiến mới của KD-Tree mà có thể phân lớp mối quan hệ giữa các đối tượng trên ảnh đa đối tượng thay vì phải xây dựng đồ thị ngữ cảnh hoặc đồ thị tri thức.
Hệ tìm kiếm ảnh dựa trên RF KD-Tree
3.4.1 Mô hình tìm kiếm ảnh dựa trên RF KD-Tree
Mô hình hệ tìm kiếm ảnh hệ SR-KDF [CT9] đề xuất có hai pha: pha tiền xử lý và pha tìm kiếm ảnh tương tự, gồm các bước:
(1) Phân đoạn ảnh đối tượng từ tập ảnh thực nghiệm (1).
(2) Trích xuất véc-tơ đặc trưng cho ảnh phân đoạn (2).
(3) Xây dựng và huấn luyện RF KD-Tree (3).
(4) Từ bộ trọng số huấn luyện RF KD-Tree, xây dựng KD-Tree tổng hợp (5).
(5) Mỗi ảnh đầu vào, thực hiện phân đoạn và trích xuất véc-tơ đặc trưng (6).
(6) Thực hiện phân lớp ảnh đầu vào dựa trên RF KD-Tree (9).
(7) Phân lớp mối quan hệ các đối tượng trên ảnh bằng Re KD-Tree (11).
(8) Tìm kiếm trên KD-Tree tổng hợp để trích xuất tập ảnh tương tự với ảnh đầu vào (7), (8).
(9) Trích xuất mô tả ảnh đầu vào dựa vào phân lớp ảnh và mối quan hệ đối tượng (14).
Hình 3.20 Mô hình tìm kiếm ảnh dựa trên RF KD-Tree (SR-KDF)
Trong mô hình này, thuật toán 3.1 được sử dụng để xây dựng RF KD-Tree.
Hàm CLRKD được sử dụng để phân loại mối quan hệ dựa trên Re KD-Tree.
Hàm SKDT được sử dụng tìm kiếm tập ảnh tương tự với ảnh đầu vào trên KD-
Cấu trúc RF KD-Tree đã xây dựng và huấn luyện ở pha tiền xử lý Trong đó, phân đoạn đối tượng bằng R-CNN là phần kế thừa; cấu trúc Re KD-Tree, RF
KD- Tree và pha tìm kiếm ảnh là phần đề xuất Quá trình tìm kiếm tập ảnh tương tự với ảnh đầu vào được thực hiện bởi Thuật toán 3.3.
Thuật toán 3.3 Tìm kiếm ảnh tương tự trên hệ SR-KDF
2 Output: Tập ảnh tương tự 𝑆𝐼;
5 Gán tập ảnh tương tự 𝑆𝐼 là rỗng
6 Phân đoạn ảnh đầu vào bằng thành ảnh đối tượng 𝐼 𝑚 , 𝐼 𝑛 ;
7 Trích xuất véc-tơ đặc trưng cho ảnh đối tượng 𝑓 𝐼𝑚 , 𝑓 𝐼𝑛 ;
8 Phân lớp ảnh đầu vào bằng RF KD-Tree;
9 // Phân lớp mối quan hệ ảnh đầu vào bằng Re KD-Tree;
11 Mô tả nội dung ảnh truy vấn bằng kết hợp phân lớp và mối quan hệ;
12 // Tìm kiếm trên KD-Tree tổng hợp từ RF KD-Tree;
14 Trích xuất tập ảnh tương tự 𝑆𝐼 với ảnh đầu vào tại nút lá trên 𝐾𝐷 − 𝑇𝑟𝑒𝑒;
Thuật toán 3.3 thực hiện các bước:
(1) Phân lớp ảnh đầu vào bằng RF KD-Tree mất chi phí là 𝑁 × 𝑂(ℎ × 𝑏) = 𝑁 × 𝑂(1) = 𝑂(1) Vì 𝑁 = 14 và 𝑁 = 10 là số cây KD-Tree trong RF KD-
Tree tương ứng trên bộ ảnh MS-COCO và Flickr.
(2) Phân lớp mối quan hệ giữa các đối tượng trên ảnh đầu vào bằng Re KD-Tree mất chi phí là 𝑂(ℎ × 𝑏) = 𝑂(1);
(3) Tìm kiếm trên KD-Tree tổng hợp mất chi phí là 𝑂(ℎ × 𝑏) = 𝑂(1)
Chi phí cần là 𝑂(1) Vì vậy, độ phức tạp của Thuật toán 3.3 là 𝑂(1).
3.4.2 Thực nghiệm và đánh giá
Hình 3.21 Hệ tìm kiếm ảnh SR-KDF
Hình 3.22 Kết quả tập ảnh tương tự hệ SR-KDF (000000100510.jpg, MS-COCO)
Thực nghiệm xây dựng Re KD-Tree để phân lớp mối quan hệ giữa các đối tượng Cấu trúc RF KD-Tree được xây dựng, huấn luyện và tổng hợp để áp dụng cho tìm kiếm ảnh Hình 3.21 minh họa giao diện hệ tìm kiếm ảnh SR-KDF Kết quả tập ảnh tương tự với ảnh đầu vào 000000100510.jpg (MS-COCO) minh họa như
3.22.Kết quả tìm kiếm chung cho hệ SR-KDF được trình bày trong Bảng 3.4 [CT9].
Bảng 3.4 Kết quả thực nghiệm hệ tìm kiếm ảnh SR-KDF
Tập ảnh Precision Recall F-measure Thời gian tìm kiếm trung bình (ms)
Bảng 3.5 – 3.6 thực hiện so sánh độ chính xác tìm kiếm ảnh hệ SR-KDF với một số công trình cùng lĩnh vực trong những năm gần đây.
Bảng 3.5 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh MS-COCO (SR-KDF)
CN MAX, (Icarte, R T.), TopK = 4, 2017 [77] 0.3910 CAMP, (Wang, liu et al.), 2019 [75] 0.6890 CNN-RNN, (Wang, Yang et al.), 2016 [78] 0.6120 Hamming Ranking using AlexNet, (Zhiwei Zhang, et al.), 2021 [80] 0.7640
Resnet, (Wen, S., et al.), ALL, 2020 [81] 0.8110
SR-KDF (RF KD-Tree) 0.9028
Bảng 3.6 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh Flickr (SR-KDF)
IRSGS-GCN, (Yoon, S.), 2020, TopK = 5 [45] 0.5670 CAMP, (Wang, liu et al.), 2019 [74] 0.7710
Unsupervised Deep Discriminative Hashing, (Hu, et al.,), 2017 [82] 0.8530
VSRN, (Li, K., et al.), 2019, TopK [83] 0.8820
SR-KDF (RF KD-Tree) 0.9163 Độ chính xác của hệ SR-KDF cao hơn các công trình được so sánh là vì:
(1) Xây dựng KD-Tree từ bộ trọng số đã huấn luyện của rừng ngẫu nhiên là một yếu tố góp phần nâng cao độ chính xác tìm kiếm ảnh.
(2) Kết hợp các kỹ thuật học máy và rừng ngẫu nhiên đã góp phần nâng cao kết quả phân lớp trên RF KD-Tree và phân cụm trên KD-Tree.
(3) Kết hợp được cấu trúc Re KD-Tree là một đóng góp cải tiến trên KD-Tree để trích xuất mối quan hệ các đối tượng trên ảnh; từ đó làm cơ sở cho xây dựng Ontology để thực hiện tìm kiếm ảnh theo tiếp cận ngữ nghĩa.
(4) Kết quả phân lớp hình ảnh bằng RF KD-Tree sau khi huấn luyện trọng số giúp cho việc xây dựng hệ tìm kiếm ảnh theo tiếp cận ngữ nghĩa dựa trên rừng ngẫu nhiên và Ontology.
Hệ tìm kiếm ảnh dựa trên KD-Tree và Ontology
3.5.1 Mô hình tìm kiếm ảnh dựa trên KD-Tree và Ontology
Trong mô hình hệ tìm kiếm ảnh SO-KDT, phân đoạn đối tượng bằng R-CNN là phần kế thừa; cấu trúc Re KD-Tree, KD-Tree, Ontology và pha tìm kiếm ảnh là phần đề xuất Các bước trong mô hình tìm kiếm ảnh đề xuất hệ SO-KDT, gồm:
(1) Xây dựng cấu trúc KD-Tree từ tập ảnh đối tượng (2).
(2) Xây dựng cây Re KD-Tree từ tập ảnh đối tượng và mối quan hệ (3).
(3) Trên KD-Tree, mỗi nút lá có một tên (name) phân tách đối tượng, kết hợp
Re KD-Tree xây dựng Ontology (5) Mục đích của phân cụm dữ liệu ảnh bằng KD- Tree trước khi đưa vào Ontology là tăng tốc độ tìm kiếm và độ chính xác.
(4) Tạo ảnh đối tượng từ ảnh đầu vào, tìm các đối tượng gần nhất trên KD-Tree(9).
(5) Mỗi cặp đối tượng ảnh đầu vào tìm mối quan hệ, một cặp đối tượng < 𝑅𝑒𝑙𝑎𝑡𝑖𝑜𝑛𝑠ℎ𝑖𝑝 > < 𝑂𝑏𝑗 2 > tìm kiếm được một ảnh.
(6) Từ bộ ba < 𝑂𝑏𝑗 1 > < 𝑅𝑒𝑙𝑎𝑡𝑖𝑜𝑛𝑠ℎ𝑖𝑝 >< 𝑂𝑏𝑗 2 >, tạo câu truy vấn SPARQL (8).
(7) Ứng với một bộ ba truy vấn được một ảnh Tìm toàn bộ các ảnh cùng một cụm trên Ontology đã phân nhóm ban đầu (12).
(8) Tổ hợp tất cả các cặp đối tượng.
(9) Trích xuất tập ảnh tương tự theo ngữ nghĩa với ảnh đầu vào.
Hình 3.23 Mô hình tìm kiếm ảnh dựa trên KD-Tree và Ontology (SO-KDT)
Trong mô hình này, thuật toán 3.1 được sử dụng để xây dựng RF KD-Tree và tổng hợp thành KD-Tree Hàm CLRKD được sử dụng để phân loại mối quan hệ dựa trên Re KD-Tree; hàm CEO xây dựng Ontology và hàm CSQ tạo câu truy vấnSPARQL Thuật toán 3.4 được sử dụng tìm kiếm tập ảnh tương tự với ảnh đầu vào.
Cấu trúc KD-Tree tổng hợp, Re KD-Tree và Ontology đã được xây dựng ở pha tiền xử lý Quá trình tìm kiếm tập ảnh tương tự với ảnh đầu vào được thực hiện bởi Thuật toán 3.4.
Thuật toán 3.4 Tìm kiếm ảnh tương tự trên hệ SO-KDT
2 Output: Tập ảnh tương tự 𝑆𝐼;
5 Gán tập ảnh tương tự 𝑆𝐼 là rỗng;
6 Phân đoạn ảnh truy vấn 𝐼 bằng R-CNN thành ảnh đối tượng 𝐼 𝑚 , 𝐼 𝑛 ;
7 Trích xuất đặc trưng ảnh đối tượng 𝑓 𝐼𝑚 , 𝑓 𝐼𝑛 ;
8 // Phân lớp mối quan hệ giữa các ảnh đối tượng bằng Re KD-Tree;
10 Xây dựng bộ ba mô tả ảnh đầu vào từ ảnh phân đối tượng và mối quan hệ;
11 Tạo câu truy vấn 𝑆𝑃𝐴𝑅𝑄𝐿 từ ảnh đối tượng và mối quan hệ;
12 Tìm kiếm trên 𝑂𝑛𝑡𝑜𝑙𝑜𝑔𝑦 bằng câu truy vấn 𝑆𝑃𝐴𝑅𝑄𝐿;
13 Trích xuất tập ảnh tương tự theo ngữ nghĩa 𝑆𝐼 với ảnh đầu vào 𝐼;
Thuật toán 3.4 thực hiện các bước:
(1) Phân lớp mối quan hệ giữa các đối tượng trên ảnh đầu vào bằng Re KD-Tree mất chi phí là 𝑂(ℎ × 𝑏) = 𝑂(1);
(2) Xây dựng bộ ba mô tả nội dung hình ảnh mất chi phí 𝑂(1);
(3) Tạo câu truy vấn SPARQL mất chi phí 𝑂(1);
(4) Truy vấn trên Ontology chi phí 𝑂(𝑙) = 𝑂(1), 𝑙 là số phân lớp bộ ảnh thực nghiệm Vì vậy, độ phức tạp của thuật toán 3.4 là 𝑂(1).
3.5.2 Thực nghiệm và đánh giá
Bảng 3.7 Kết quả thực nghiệm hệ tìm kiếm ảnh SO-KDT
Tập ảnh Precision Recall F-measure Thời gian tìm kiếm trung bình (ms)
Hệ tìm kiếm ảnh SO-KDT minh họa như Hình 3.24 Kết quả tập ảnh tương tự với ảnh đầu vào 000000183675.jpg MS-COCO minh họa bởi Hình 3.25.
Hình 3.24 Hệ tìm kiếm ảnh SO-KDT
Hình 3.25 Kết quả tập ảnh tương tự hệ SO-KDT (11205420.jpg, Flickr) Bảng 3.8 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh MS-COCO (SO-KDT)
CN MAX, (Icarte, R T.), TopK = 4, 2017 [77] 0.3910 CAMP, (Wang, liu et al.), 2019 [75] 0.6890 CNN-RNN, (Wang, Yang et al.), 2016 [78] 0.6120 Hamming Ranking using AlexNet, (Zhiwei Zhang, et al.), 2021 [80] 0.7640
Resnet, (Wen, S., et al.), 2020 [81] 0.8110 D-MVE-Hash, (Chenggang Yan et al.), 2020 [84] 0.8892 Vision Transformer based Hashing, (Shiv Ram Dubey et al.), 2022 [85] 0.9110
SO-KDT (Re KD-Tree, RF KD-Tree, Ontology) 0.9218
Bảng 3.9 So sánh độ chính xác tìm kiếm ảnh trên bộ ảnh Flickr (SO-KDT)
IRSGS-GCN, (Yoon, S.), TopK = 5, 2021 [45] 0.5670 CAMP, (Wang, Liu et al.), 2019 [74] 0.7710 BGAN- 48 bit, (Song, et al 2018) [79] 0.7030 Unsupervised Deep Discriminative Hashing (Hu, et al, 2017) [82] 0.8530
VSRN, TopK , (Li, K., et al.) 2019 [83] 0.8820 LocNar using text-only queries, (Soravit Changpinyo, et al.), 2021 [86] 0.8970
SO-KDT (Re KD-Tree, RF KD-Tree, Ontology) 0.9370
So sánh độ chính xác trung bình tìm kiếm ảnh từ Bảng 3.8 – 3.9 cho thấy sự kết hợp kết quả phân lớp mối quan hệ các đối tượng trên ảnh bằng Re KD-Tree; RF KD- Tree và Ontology đã góp phần nâng cao độ chính xác tìm kiếm ảnh Tuy nhiên, chi phí cho huấn luyện mô hình phân lớp ảnh bằng rừng ngẫu nhiên RF KD-Tree và
Re KD-Tree chỉ thực hiện pha tiền xử lý; pha thực thi được sử dụng nhiều lần Vì vậy, chi phí này là chấp nhận được để xây dựng một hệ tìm kiếm ảnh theo tiếp cận ngữ nghĩa, kết quả này được so sánh trong Bảng 3.10.
Bảng 3.10 So sánh kết quả giữa các hệ tìm kiếm ảnh đề xuất
Hệ tìm kiếm ảnh Bộ ảnh Số ảnh Độ chính xác trung bình
Thời gian tìm kiếm trung bình (ms)
So sánh kết quả giữa hệ SR-KDT, SR-KDF, SO-KDF trên cùng bộ ảnh MS- COCO và Flickr cho thấy, hệ tìm kiếm ảnh SO-KDT có độ chính xác cao hơn Điều này cho thấy, việc phát triển Ontology trên tập ảnh đối tượng, bổ sung mối quan hệ ngữ nghĩa là một đề xuất đúng đắn cho bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa Trên cơ sở số liệu so sánh này, nếu hệ tìm kiếm ảnh đặt mục tiêu nâng cao độ chính xác tìm kiếm thì dùng hệ SO-KDT; nếu hệ tìm kiếm ảnh đặt mục tiêu thời gian tìm kiếm nhanh và độ chính xác tương đối thì dùng hệ SR-KDF Hệ SO-KDT có độ chính xác cao nhất vì hệ thống đã thực hiện qua hai bộ lọc: (1) gom cụm dữ liệu từ KD- Tree trước khi phân đoạn ảnh bổ sung vào Ontology; (2) tìm kiếm trên Ontology.
Kết quả thực nghiệm trên các bộ ảnh MS-COCO, Flickr được so sánh với một số công trình gần đây cùng bộ dữ liệu trong Bảng 3.2 – 3.3 (hệ SR-KDT); Bảng 3.5
– 3.6 (hệ SR-KDF); Bảng 3.8 – 3.9 (hệ SO-KDT) Kết quả so sánh cho thấy, việc kết hợp cấu trúc Re KD-Tree, RF KD-Tree và Ontology cho bài toán tìm kiếm ảnh theo
94 tiếp cận ngữ nghĩa là hoàn toàn khả thi và hiệu quả Sự kết hợp này đã nâng cao độ chính xác tìm kiếm ảnh nhằm tận dụng những ưu điểm cấu trúc KD-Tree đã đề xuất và phát triển Ontology cho các bộ ảnh đa đối tượng và mối quan hệ đối tượng.
Hình 3.26 Biểu đồ so sánh precision-recall, đường cong ROC bộ ảnh MS-
COCO của hệ tìm kiếm ảnh SR-KDT, SR-KDF và SO-KDT
Hình 3.27 Biểu đồ so sánh precision-recall, đường cong ROC bộ ảnh Flickr của hệ tìm kiếm ảnh SR-KDT, SR-KDF và SO-KDT Đồ thị biểu diễn precision, recall và đường cong ROC được thực hiện trên từng bộ dữ liệu các hệ tìm kiếm ảnh SR-KDT, SR-KDF và SO-KDT được trình bày ở các Hình 3.26 – 3.27 cho thấy độ chính xác của hệ tìm kiếm ảnh đề xuất sau dựa trên các hạn chế trước là đúng đắn, khả thi Các đường cong trên đồ thị tạo ra một khoảng cách chênh lệch đề độ chính xác trên các hệ tìm kiếm ảnh là rõ ràng, hệ SO- KDT có kết quả độ chính xác cao hơn hai hệ tìm kiếm ảnh SR-KDT và SR-KDF. Để minh họa kết quả tìm kiếm chi tiết cho tập ảnh MS-COCO, Flickr, đồ thị ROC và thời gian tìm kiếm minh họa các bộ ảnh từ PL22 – PL29 (phần Phụ lục) Việc áp dụng mô hình ngữ nghĩa có làm phát sinh thời gian tính toán và không gian bộ nhớ Tuy nhiên mục tiêu đề tài luận án là nâng cao độ chính xác và chi phí huấn luyện mô hình được thực hiện ở pha tiền xử lý, dùng nhiều lần tại pha tìm kiếm Vì vậy, chi phí thời gian và không gian lưu trữ chấp nhận được.
Bảng 3.11 So sánh độ chính xác tìm kiếm ảnh giữa các phương pháp đề xuất
(Hệ tìm kiếm ảnh) Bộ ảnh Số lượng ảnh
Số chủ đề ảnh Độ chính xác trung bình
Thời gian tìm kiếm trung bình (ms)
KD-Tree lồng nhau ( SB-NKDT ) 0.8120 109.49
KD-Tree lồng nhau ( SB-NKDT ) 0.8029 121.67
KD-Tree lồng nhau ( SB-NKDT ) 0.7889 151.92
Caltech256 30,607 256 0.7020 136.89 iKD_Tree ( SB-iKDT ) 0.7228 134.91
Re KD-Tree (SR-KDT)
RF KD-Tree (SR-KDF) 0.9208 101.61
Re KD-Tree kết hợp RF KD-Tree và Ontology ( SO-KDT ) 0.9218 105.90
Re KD-Tree (SR-KDT)
RF KD-Tree ( SR-KDF ) 0.9163 72.28
Re KD-Tree kết hợp RF KD-Tree và Ontology ( SO-KDT ) 0.9370 89.20
Bảng 3.12 So sánh các phương pháp tìm kiếm ảnh theo ngữ nghĩa với những đề xuất trong luận án
Bộ ảnh Phương pháp thực hiện Đặc trưng Sử dụng
Image-to-Image Retrieval by
VG-COCO Sử dụng đồ thị ngữ cảnh Scene
Graphs để xác định mối quan hệ giữa các đối tượng trên ảnh
So khớp văn bản mô tả hình ảnh và đặc trưng hình ảnh Đặc trưng ảnh theo vùng, đặc trưng từ mô tả hình ảnh
Re KD-Tree và Ontology (SR-
Sử dụng Re KD-Tree kết hợp
Ontology Đặc trưng Texture, Shape;
SIFT và HOG; mối quan hệ ngữ nghĩa
Re KD-Tree và RF KD-Tree
(SR-KDF) [CT9] MS-COCO
Sử dụng Re KD-Tree kết hợp RF
KD-Tree Đặc trưng Texture, Shape;
Re KD-Tree, RF KD-Tree và
Ontology (SO-KDT) MS-COCO
Sử dụng Re KD-Tree, RF KD- Tree kết hợp Ontology Đặc trưng
SIFT và HOG; mối quan hệ ngữ nghĩa
Bảng 3.12 trình bày một số phương pháp thực hiện giữa các công trình đã công bố làm cơ sở đề xuất các hệ tìm kiếm ảnh SR-KDT, SR-KDF và SO-KDT Trong đó, các công trình này đã thực hiện tìm kiếm ảnh thực nghiệm trên cùng bộ ảnh MS- COCO và Flickr có sự tương đồng về phương pháp đề xuất trong luận án là sử dụng đặc trưng hình ảnh kết hợp đặc trưng ngữ nghĩa để mô tả hình ảnh Sự khác nhau cơ bản trong các công trình này là sử dụng đồ thị ngữ cảnh để phân tích mối quan hệ giữa các đối tượng [45], sử dụng văn bản mô tả nội dung hình ảnh [75] Trong khi đó, các phương pháp đề xuất trong luận án là sử dụng Re KD-Tree để xác định mối quan hệ giữa các đối tượng trên ảnh, từ đó xây dựng Ontology, kết hợp Ontology để tìm kiếm ảnh theo tiếp cận ngữ nghĩa với mô tả ảnh đầu vào bằng bộ ba mô tả hình ảnh. Độ chính xác tìm kiếm ảnh trên các bộ ảnh thực nghiệm của những phương pháp đề xuất trong luận án cao hơn các công trình khảo sát là ảnh hưởng của sự kết hợp đặc trưng ngữ nghĩa và Ontology Kết quả tìm kiếm ảnh đã thực hiện qua các bộ lọc gom cụm từ KD-Tree và phân lớp mối quan hệ bằng Re KD-Tree, kết hợp với Ontology. Điều này khẳng định phương pháp kết hợp giữa Re KD-Tree, RF KD-Tree và Ontology đã góp phần nâng cao hiệu quả tìm kiếm ảnh theo tiếp cận ngữ nghĩa trên các bộ ảnh đa đối tượng.
Kết quả tìm kiếm ảnh hệ SR-KDT, SR-KDF được trong các bài báo thuộc công trình [CT5], [CT9] trong danh mục công trình liên quan đến luận án của tác giả.
Tổng kết chương
Trong chương này, cấu trúc RF KD-Tree, Re KD-Tree, Ontology được đề xuất và xây dựng nhằm áp dụng cho bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa Thực nghiệm được triển khai trên bộ ảnh đa đối tượng MS-COCO, Flickr đã chứng tỏ được tính khả thi của các mô hình đề xuất Câu truy vấn SPARQL được xây dựng dựa trên bộ ba hình thành từ ảnh đối tượng và mối quan hệ giữa các đối tượng để thực hiện tìm kiếm trên Ontology Thực nghiệm các hệ tìm kiếm ảnh SR-KDT, SR-KDF, SO-KDT đã cho thấy được hiệu quả của các mô hình đã triển khai Vì vậy, Ontology được xây dựng trong chương này đã bổ sung mối quan hệ ngữ nghĩa giữa các đối tượng trên ảnh nhằm làm giàu mối quan hệ để thực hiện tìm kiếm theo bộ ba mô tả mối quan hệ đối tượng trên Ontology.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Luận án đã nghiên cứu và phát triển các mô hình tìm kiếm ảnh dựa trên cấu trúc KD-Tree Đóng góp chính của luận án là đã đề xuất một số mô hình tìm kiếm ảnh hiệu quả, có độ chính xác cao.
Trong luận án, một cấu trúc dữ liệu đa chiều KD-Tree đã được xây dựng theo phương pháp cải tiến, trong đó tích hợp học máy vào quy trình xây dựng KD-Tree nhằm tổ chức lưu trữ dữ liệu hình ảnh Dữ liệu lưu trữ trên KD-Tree là các véc-tơ đặc trưng được trích xuất gồm màu sắc, hình dạng, kết cấu và một số đặc trưng khác Cấu trúc KD-Tree sử dụng phương pháp phân lớp dữ liệu theo mô hình phân lớp nhiều tầng kết hợp phân cụm tại nút lá để tạo cấu trúc cây đa nhánh, cân bằng Vì vậy thời gian tìm kiếm trên các hệ tìm kiếm ảnh ổn định và độ chính xác cao hơn một số công trình khác.
Một số cải tiến trên cấu trúc KD-Tree đã được đề xuất và thực hiện trong luận án, bao gồm: (1) phát triển cấu trúc KD-Tree đa nhánh cân bằng cho bài toán tìm kiếm ảnh;
(2) kết hợp cấu trúc KD-Tree và thuật toán K-Means, k-NN gọi là cấu trúc iKD_Tree;
(3) phát triển nút lá thành một cây con để hình thành cấu trúc KD-Tree lồng nhau; (4) xây dựng cấu trúc Re KD-Tree phân lớp mối quan hệ giữa các đối tượng, phát triển Ontology dựa trên đối tượng và mối quan hệ giữa các đối tượng; [52] phát triển nhiều cấu trúc KD-Tree độc lập để hình thành rừng ngẫu nhiên gọi là RF KD-Tree; (6) đề xuất mô hình kết hợp Re KD-Tree, RF KD-Tree và Ontology nâng cao độ chính xác cho bài toán tìm kiếm ảnh theo tiếp cận ngữ nghĩa Từ đó, các thuật toán tìm kiếm ảnh tương tự trên các mô hình đề xuất được thực hiện và thực nghiệm trên nhiều bộ ảnh có tính chất khác nhau.
Luận án xây dựng thực nghiệm và đánh giá trên các tập dữ liệu ảnh: COREL,Wang, Caltech-101, Caltech-256, MS-COCO và Flickr Kết quả thực nghiệm cho thấy,các đề xuất cải tiến cấu trúc KD-Tree đã nâng cao độ chính xác so với các phương pháp trước đây Các kết quả thực nghiệm trên các mô hình tìm kiếm ảnh cũng được so sánh với một số công trình gần đây trên từng bộ dữ liệu ảnh, với các tiếp cận và kỹ thuật khác nhau Đồng thời so sánh kết quả trên cùng một bộ ảnh với các cải tiến đề
100 án Điều này chứng tỏ các phương pháp đề xuất là đúng đắn, hiệu quả và nâng cao độ chính xác tìm kiếm ảnh, đáp ứng mục tiêu đề ra của luận án.
Trên cơ sở lý thuyết đề xuất, thực nghiệm đã xây dựng và rút ra một số hạn chế, vì vậy các định hướng nghiên cứu tiếp theo có thể phát triển là:
(1) Nghiên cứu các phương pháp kết hợp KD-Tree với các kỹ thuật DNN, CNN, GCN, YOLO, v.v để so sánh với một số kết quả trong luận án.
(2) Tiếp tục bổ sung dữ liệu vào Ontology gồm thuộc tính ảnh đối tượng và mối quan hệ đối tượng để thực nghiệm trên nhiều bộ ảnh; đồng thời mở rộng các mối quan hệ ngữ nghĩa hình ảnh như xác định mối quan hệ về hành động, màu sắc.
(3) Nghiên cứu cải tiến thời gian tìm kiếm tổng thể cho các hệ tìm kiếm ảnh bằng cách cải tiến trích xuất đặc trưng và chọn lọc đặc trưng phù hợp cho từng bộ ảnh.
DANH MỤC CÔNG TRÌNH NGHIÊN CỨU CỦA TÁC GIẢ LIÊN
[CT1] Nguyễn, T Đ., Văn, T T., & Lê, M T., Phân lớp ảnh bằng Cấu trúc KD-Tree cho bài toán tìm kiếm ảnh tương tự Các công trình nghiên cứu, phát triển và ứng dụng Công nghệ Thông tin và Truyền thông, 40 - 52.
[CT2] Nguyễn Thị Định, Thế Thành Văn, Mạnh Thạnh Lê, Một phương pháp phân lớp trên cấu trúc KD-Tree cho bài toán tìm kiếm ảnh theo ngữ nghĩa, Kỷ yếu
Hội thảo Quốc gia về Nghiên cứu cơ bản và ứng dụng CNTT (FAIR 21 ), Nhà xuất bản Khoa học Tự nhiên và Công nghệ, ISBN 978-604-9988-60-8 DOI:
[CT3] Dinh, N T., and Le, T M., (2022), An Improvement Method of Kd-Tree Using k-Means and k-NN for Semantic-Based Image Retrieval System In World
Conference on Information Systems and Technologies, Springer, Cham, 177 -
[CT4] Dinh, N T., V T Thanh, Thanh, L M., (2022), A semantic-based image retrieval system using Nested KD-Tree Structure, Annales Univ Sci.
[CT5] Dinh, N T., & Le, T M (2022) Semantic Relationship-Based Image Retrieval
Using KD-Tree Structure In Asian Conference on Intelligent Information and
[CT6] Nguyễn Thị Định, Thế Thành Văn, (2022), Tìm kiếm ảnh sử dụng mạng học sâu YOLO và cấu trúc KD-Tree Random Forest, Kỷ yếu Hội thảo Quốc gia về
Nghiên cứu cơ bản và ứng dụng CNTT (FAIR22), Nhà xuất bản Khoa học Tự nhiên và Công nghệ, ISBN: 978-604-357-119-6, DOI: 10.15625/vap.2022.0244. [CT7] Nguyễn Thị Định, Văn Thế Thành, Lê Mạnh Thạnh (2022), Đánh giá hiệu suất truy vấn ảnh trên các biến thể KD-Tree, Tạp chí Khoa học và công nghệ, Trường Đại học Khoa học, Đại học Huế, Vol 18(2), (Accept).
[CT8] Nguyễn Thị Định, Thế Thành Văn, Mạnh Thạnh Lê, (2022), Một phương pháp phân lớp hình ảnh dựa trên cấu trúc KD-Tree, Hue University Journal of
Science: Techniques and Technology, 132(2A), (Accept).
[CT9] Dinh, N T., V T Thanh, Thanh, L M., (2023), A Model of Image Retrieval based on KD-Tree Random Forest, Data Technologies and Applications,(Accept).