Như đã trình bày ở chương trước, xếp hạng ảnh là một bài toán điển hình trong lĩnh vực xếp hạng thực thể và đang nhận được nhiều sự quan tâm nghiên cứu của các nhà khoa học. Các nghiên cứu về xếp hạng ảnh hiện nay chủ yếu tập trung vào phân tích các đặc trưng về nội dung hiển thị của ảnh.
Phương pháp phổ biến là dùng lý thuyết đồ thị để xây dựng mối quan hệ giữa các bức ảnh. Phương pháp tiếp cận này xây dựng một đồ thị kết nối các ảnh giống nhau, sau đó sử dụng vector đặc trưng để tìm các ảnh là “trung tâm” của đồ thị. Một hướng tiếp cận đơn giản và hiệu quả ứng dụng trong việc xử lý các thông tin về nội dung hiển thị của ảnh đã được đề xuất bởi Yushi Jing và Shumeet Baluja [39][40]. Phương pháp của Jing và Baluja sử dụng độ đo tương đồng giữa các bức ảnh để xây dựng một đồ thị tương đồng và dựa trên thuật toán PageRank để tính hạng cho các bức ảnh. Theo hướng tiếp cận này [34], [29] cũng có một số đề xuất để cải tiến thuật toán mà Jing và Baluja đưa ra.
Một kỹ thuật khác là xây dựng các cụm các bức ảnh và sau đó sử dụng độ tương đồng trong cùng một cụm hoặc trung tâm cụm để tìm ảnh nổi bật nhất [27] [36]. Nghiên cứu của T.L.Berg và A.C.Berg mở rộng ý tưởng phân cụm bằng cách tìm các ảnh mà có một đối tượng nổi bật rõ ràng, và vì thế có nhiều khả năng đại diện nhất. Ngoài ra còn một số hướng tiếp cận theo hướng người dùng [38] hoặc học bán giám sát [17]. Các phương pháp này thường kết hợp cả các đặc trưng về văn bản của ảnh.
Chương này sẽ tập trung giới thiệu chi tiết hơn một số thuật toán phổ biến xếp hạng ảnh dựa trên nội dung hiển thị.
2.2. VisualRank
VisualRank là thuật toán tính hạng ảnh dựa vào việc phân tích độ tương đồng về nội dung giữa các bức ảnh do Yushi Jing và Shumeet Baluja [39][40] đề xuất. Phương pháp mà Jing và Baluja đưa ra lấy tư tưởng cơ bản từ thuật toán phân tích liên kết PageRank. Cũng giống như PageRank, thuật toán VisualRank sử dụng lý thuyết đồ thị để xây dựng đồ thị ảnh và dùng vector đặc trưng trung tâm để tính hạng cho các ảnh. Với nhận định trực quan rằng, nếu một người dùng xem một bức ảnh, thì người đó cũng có thể quan tâm đến các ảnh khác gần giống với ảnh vừa xem. Nghĩa là nếu giữa các ảnh có các liên kết biểu thị sự giống nhau giữa các ảnh đó thì sẽ có một xác suất nào đó để người dùng khi xem ảnh này sẽ chuyển sang xem một ảnh gần giống với nó.
24
Xây dựng đồ thị từ tập dữ liệu ảnh với các đỉnh của đồ thị biểu diễn các ảnh tương ứng trong tập dữ liệu. Các đỉnh được nối với nhau bởi các cạnh có trọng số là độ tương đồng giữa hai ảnh mà được biểu diễn bởi hai đỉnh của cạnh đó. Các cạnh này được gọi là các liên kết trực quan (visual hyperlinks) giữa các bức ảnh. VisualRank sử dụng quá trình duyệt ngẫu nhiên để xếp hạng các ảnh dựa vào các liên kết này. Nếu một ảnh u có liên kết tới ảnh v, thì sẽ có một xác suất để người dùng chuyển từ u sang
v. Một cách trực quan ta có thể thấy các ảnh phù hợp với truy vấn sẽ có nhiều ảnh khác
trỏ tới, và do đó chúng sẽ được thăm thường xuyên. Các ảnh được thăm thường xuyên thường được cho là quan trọng. Hơn nữa, nếu một ảnh v là quan trọng và nó có liên kết tới ảnh w, thì nó sẽ gộp độ quan trọng của nó cho độ quan trọng của w vì bản thân v là quan trọng. VisualRank được định nghĩa như sau:
2.1
Trong đó, là ma trận cắt giảm theo cột của ma trận , với , là độ tương đồng giữa hai ảnh u và v. Việc lặp đi lặp lại phép nhân VR với sẽ thu được vector đặc trưng của ma trận . Mặc dù VR có kết quả cố định, nhưng theo thực nghiệm, nó có thể được ước lượng một cách hiệu quả hơn qua phương pháp tiếp cận lặp.
25
VisualRank hội tụ chỉ khi ma trận là không tuần hoàn và tối giản. Cũng giống như PageRank, Jing đưa vào VisualRank một thừa số hãm d để đảm bảo đồ thị ảnh là đồ thị liên kết mạnh. Jing cũng chỉ ra rằng, ma trận tương đồng S cũng có thể là ma trận đối xứng. Trong trường hợp đó, sự xuất hiện của thừa số hãm có thể làm mất tính đối xứng của ma trận này.
Với tập n ảnh, VisualRank được định nghĩa lại theo công thức sau:
1 ớ 1
2.2 Trong thực nghiệm, d thường được chọn giá trị d > 0.8.
Một độ đo tin cậy của độ tương đồng là yếu tố quyết định tới tính hiệu quả của VisualRank bởi vì nó ảnh hưởng rất lớn tới cấu trúc của đồ thị. Qua phân tích các đặc tính của ảnh, Jing và Baluja cho rằng các đặc tính cục bộ của ảnh giàu thông tin hơn và vẫn giữ được tính ổn định khi qua các phép biến đổi khác nhau. Vì thế, trong nghiên cứu của mình, Jing và Baluja [40] chọn đặc trưng SIFT [24] [25] và biểu đồ hướng làm đặc trưng cho các đặc tính của ảnh. Ma trận tương đồng được xây dựng từ độ tương đồng của các cặp ảnh trong toàn bộ dữ liệu ảnh. Độ tương đồng của mỗi cặp ảnh có thể là số các thuộc tính cục bộ phù hợp của cặp ảnh đó.
Với khối lượng ảnh khổng lồ trên Web hiện nay, lượng kết quả trả về của máy tìm kiếm ảnh đối với một truy vấn là rất lớn. Nhận thấy rằng việc tính toán để tạo ra đồ thị tương đồng S cho hàng tỉ bức ảnh là không thể, trong thực tế thi hành VisualRank, Jing và Baluja đề xuất phương pháp tiền phân cụm các ảnh Web dựa trên việc sử dụng các thuộc tính văn bản của ảnh để giảm bớt tập ảnh đầu vào. Việc này có thể thực hiện thông qua các máy tìm kiếm thương mại bằng cách trích rút tập N ảnh trả về đầu tiên khi truy vấn vào các máy tìm kiếm thương mại thông thường, sau đó tiến hành xây dựng đồ thị tương đồng và tính VisualRank chỉ trên tập con N ảnh này.
Thuật toán VisualRank trình bày một kỹ thuật đơn giản để kết hợp các lợi điểm trong việc sử dụng liên kết và phân tích mạng cho tìm kiếm trang Web vào tìm kiếm ảnh. Thuật toán đã được các tác giả thử nghiệm và cho kết quả tốt hơn kết quả xếp hạng của máy tìm kiếm ảnh Google trong phần lớn các truy vấn trong khi vẫn duy trì được hiệu quả tính toán hợp lý cho việc triển khai quy mô lớn.
26
2.3. Multiclass VisualRank
Multiclass VisualRank là thuật toán xếp hạng ảnh mở rộng ý tưởng từ phương pháp VisualRank của Jing và Baluja [39] [40] để xếp hạng ảnh cho nhiều phân loại ảnh, do Misur Ambai và Yuichi Yoshida [29] đề xuất. Multiclass VisualRank chia các ảnh được trả về từ máy tìm kiếm thành những phân loại khác nhau dựa vào các đặc trưng nội dung của ảnh và tiến hành xếp hạng trong từng phân loại đó. Multiclass VisualRank gồm ba bước sau:
o Tính độ tương đồng về nội dung ảnh: Cũng giống như phương pháp VisualRank, Ambai sử dụng giải thuật SIFT để tính độ tương đồng , giữa hai ảnh , . Thuật toán VisualRank nguyên thủy sử dụng tỉ số là số các key points chung giữa hai ảnh và chia cho số key points trung bình lấy được từ , làm độ đo tương đồng giữa hai ảnh đó. Tuy nhiên, các máy tìm kiếm ảnh thường trả về cùng một tập ảnh đối với cùng một truy vấn. Trong trường hợp này, giá trị trở nên quá lớn so với các độ đo tương đồng khác, và có thể làm cho kết quả phân cụm không còn chính xác. Do đó, phương pháp Multiclass VisualRank áp dụng một hàm xích ma vào để làm giảm các giá trị lớn.
o Phân cụm: Bước này tiến hành phân tập các ảnh thành các phân loại khác nhau dựa vào việc phân cụm các độ đo tương đồng.
Nhận thấy rằng, các ảnh càng gần giống nhau thì độ đo tương đồng càng lớn và đồ thị tương đồng chứa một số cụm ứng với các phân loại ảnh khác nhau. Do đó, [29] sử dụng kỹ thuật Nomarlized cut để phân cụm các bức ảnh trong tập dữ liệu bằng cách phân cụm các độ đo tương đồng trong ma trận tương đồng. Công thức phân cụm được tính như sau:
λ 2.3
Với W là một ma trận kề có các phần tử là các độ đo tương đồng , D là một ma trận chéo, λ là giá trị riêng và là vector riêng.
27
Hình 5. Biến đổi ma trận kề
o Tính hạng: Tương tự như phương pháp của Jing, Wang cũng sử dụng PageRank để tính hạng cho các ảnh:
1 2.4 Với , … , là vector tính hạng của các ảnh, là thừa số hãm.
Bởi vì các ảnh được chia thành các phân loại, điểm số tính hạng của một ảnh thuộc phân loại này không bị ảnh hưởng bởi điểm số tính hạng của các ảnh trong phân loại khác. Do đó, ta có thể bỏ đi độ đo tương đồng giữa các phân loại khác nhau, tức là bỏ đi liên kết giữa các ảnh thuộc về các phân loại khác nhau. Khi đó, ma trận kề W được sửa đổi như sau:
ế à ộ ề ù ộ â ạ
0 ượ ạ 2.5
Bằng cách biến đổi ma trận kề W thành ma trận , công việc tính toán đã được giảm đi đáng kể. Việc loại bỏ độ đo tương đồng giữa các ảnh thuộc về các phân loại khác nhau làm cho mỗi ảnh trong một phân loại càng giống với đại diện của phân loại đó thì có thứ hạng càng cao.
Trong thực nghiệm, Multiclass VisualRank cho kết quả xếp hạng tốt với độ chính xác xấp xỉ bằng độ chính xác của VisualRank. Độ chính xác của 10 ảnh được xếp hạng đầu tiên bằng thuật toán Multiclass VisualRank là 0.949 trong khi đó độ chính xác của VisualRank là 0.953 [29].
Bỏđi trọng số giữa các phân loại ảnh khác nhau
28
Hình 6. Kết quả xếp hạng của 3 phương pháp với truy vấn “Notre Dame”
2.4. Visual contextRank
Phần trên đã trình bày một phương pháp xếp hạng ảnh khá hiệu quả được đề xuất bởi Jing và các đồng nghiệp, phương pháp này tiến hành xây dựng ma trận tương đồng của 1000 ảnh và sử dụng VisualRank để tính hạng cho mỗi bức ảnh. Tuy nhiên, phương pháp của Jing và cộng sự coi các đặc tính cục bộ có độ quan trọng là như nhau và không quan tâm đến các thông tin về ngữ cảnh. Do đó có thể sẽ gây ra nhiều sai sót trong việc tính độ tương đồng giữa các bức ảnh. Một phương pháp xếp hạng ảnh được trình bày dưới đây sử dụng thông tin ngữ cảnh để khắc phục các vấn đề trên.
ContextRank là phương pháp do Shuhui Wang và cộng sự [34] đề xuất, sử dụng quá trình duyệt ngẫu nhiên Markov giữa các visual words1 trong cùng một ảnh và giữa các ảnh với nhau nhằm xếp hạng lại (re-ranking) các ảnh là kết quả trả về từ một máy tìm kiếm ảnh thương mại. Wang và cộng sự đưa ra hai giả định:
i. Có thể di chuyển giữa các visual word lân cận nhau trong cùng một ảnh.
ii. Có thể di chuyển từ một visual word A trong ảnh i tới visual word B trong ảnh
j nếu tồn tại một liên kết giữa hai visual word này.
29
Phương pháp ContextRank coi mỗi visual word là một trạng thái trong không gian trạng thái Markov. Quá trình duyệt qua các visual word là sự chuyển trạng thái từ trạng thái hiện tại r đến trạng thái kết thúc s.
Hình 7. Mô hình xếp hạng ảnh sử dụng thuật toán ContextRank
Mô hình xếp hạng ContextRank mà Wang và cộng sự đề xuất gồm các thành phần như sau:
o Chuẩn bị dữ liệu: Với đầu vào là một chuỗi truy vấn dạng từ khóa, ContextRank đưa chuỗi truy vấn này vào các máy tìm kiếm ảnh theo các thuộc tính văn bản của ảnh. Sau đó tiến hành trích rút N kết quả trả về đầu tiên từ máy tìm kiếm để thực hiện xếp hạng lại cho N ảnh này.
o Mô hình ngữ cảnh nội ảnh (Intra-image Context Modeling): Thành phần này thực hiện việc xây dựng liên kết giữa các visual word trong cùng một ảnh với tập N ảnh lấy được từ dữ liệu.
o Mô hình ngữ cảnh ngoại ảnh (Inter-image Context Modeling): Thành phần này thực hiện việc xây dựng liên kết giữa các visual word trong các ảnh khác nhau trong tập N ảnh.
o Kết hợp ngữ cảnh nội ảnh (intra-image context) với ngữ cảnh ngoại ảnh (inter- image context) và dùng lý thuyết đồ thị duyệt ngẫu nhiên để mô hình hóa mối
30
quan hệ nội ảnh (intra-image) và ngoại ảnh (inter-image) của các visual word. Từ đó tiến hành tính hạng lại cho ảnh dựa vào điểm số (score) của các visual word trong một ảnh.
Hạng của ảnh được tính theo phương pháp ContextRank như sau:
Cho trước một tập từ vựng trực quan (visual vocabulary) với K visual keywords. Mỗi thuộc tính cục bộ của ảnh được gán một chỉ mục visual word. Với một tập chứa N ảnh kết quả trả về đầu tiên thu được từ các máy tìm kiếm ảnh dựa trên văn bản, biểu diễn các visual word trong tập N ảnh như một đồ thị, mỗi visual word xuất hiện trong mỗi ảnh được xem như là một đỉnh của đồ thị. Gọi , với 1, … ; 1, … là biểu diễn của một đỉnh. Vậy ta có tất cả đỉnh. Mục đích của thuật toán là tìm điểm số , của visual word thứ m trong ảnh i.
Biểu diễn đồ thị các visual word bởi ma trận chuyển P,
, , ∑, , , 1, … ; 1, … , là vector riêng của ma trận P với giá trị riêng bằng 1, mỗi phần tử của là điểm số của một visual word. được tính theo công thức:
2.6
Do tính chất của chuỗi Markov, để tính vector riêng của P, đồ thị visual word phải là liên thông, tức là với cặp hai visual word i, j bất kì luôn có đường đi từ i tới j và ngược lại. Tuy nhiên, vẫn tồn tại không ít các visual word không có liên kết đến các visual word khác. Vì vậy cần phải biến đổi ma trận P để tránh việc khi duyệt các đỉnh không có liên kết sẽ không duyệt được tiếp. Hơn nữa, để đảm bảo tính phân phối dừng ổn định (duy nhất) của , tức là từ một đỉnh trong quá trình duyệt có thể chuyển tới một đỉnh bất kỳ khác, thì cần phải thêm một nhân tố hãm. Công thức (2.6) được viết lại như sau:
1 2.7
Trong đó:
là hệ số hãm. Trong thực tế thường được chọn giá trị 0.8.
D là vector 1 với tổng các phần tử bằng 1. D có thể được tính theo công thức:
31
1 ế
0 ượ ạ
2.8
IS(i) là điểm số khởi tạo của ảnh i, num_nz(m) là số visual word với
tần số không bằng 0.
Nhận thấy rằng P là ma trận rất thưa, phép nhân với các phần tử bằng 0 trong P là rất đơn giản. Vì thế ta có thể chia P thành các ma trận con. Mỗi ma trận con là một ma trận dịch chuyển của các visual words trong ảnh i và các visual words trong ảnh j. Gọi
, là biểu diễn của ma trận con nói trên. P được tổ chức lại thành hai ma trận con:
1 2.9
G là một ma trận bao gồm các ma trận con , , 1, … và tất cả các ma trận con khác bằng 0.
C là một ma trận bao gồm các ma trận con ,, 1, … bằng 0 và tất cả các ma trận con khác khác 0.
G đánh giá xác suất dịch chuyển của các visual word trong cùng một ảnh còn C
đánh giá cho các visual word trong các ảnh khác nhau. Tham số b là nhân tố trọng số. Sau khi đã tính được vector riêng của các visual words trong mỗi ảnh, hạng của ảnh i được tính theo công thức:
, , 1, … 2.10
Với , là điểm số của visual word thứ m trong ảnh i. Đối với các visual keyword mà không tồn tại trong ảnh i thì , 0.
32
Hình 8. Một ví dụ về biểu diễn visual words