Mục tiêu của luận án Tìm kiếm ảnh dựa trên đồ thị chữ ký nhị phân là xây dựng phương pháp tìm kiếm ảnh hiệu quả, nghĩa là tăng tốc độ tìm kiếm và đảm bảo độ chính xác cao.
Trang 1VĂN THẾ THÀNH
TÌM KIẾM ẢNH DỰA TRÊN ĐỒ THỊ CHỮ KÝ NHỊ PHÂN
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 62.48.01.01
LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học:PGS.TS Lê Mạnh Thạnh
Trang 2Người hướng dẫn khoa học: PGS TS Lê Mạnh Thạnh
Phản biện 1:
Phản biện 2:
Phản biện 3:
Luận án sẽ được bảo vệ tại Hội đồng chấm luận án cấp Đại học Huế họp tại:
Vào hồi giờ ngày tháng năm
Có thể tìm hiểu luận án tại thư viện:
Trang 3
MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, dữ liệu đa phương tiện được lưu trữ và ứng dụng rộng rãi trongnhiều hệ thống như: hệ thống thư viện số, hệ thống thông tin địa lý, hệ thốngđiều tra hình sự, v.v Dữ liệu đa phương tiện, đặc biệt là ảnh số đã trở nênthân thuộc và được sử dụng trên nhiều thiết bị khác nhau như camera, mobile,smartphone, v.v Lyman và cộng sự đã ước tính dung lượng thông tin trên toàncầu có hơn 4 exabyte vào năm 2000 Hilbert và López ước tính dung lượng thôngtin toàn cầu vào năm 2007 khoảng 1,15 zettabyte Bohn và Short ước tính dunglượng thông tin toàn cầu năm 2008 khoảng 3,6 zettabyte và kích thước gia tăngtrong năm 2011 khoảng 1.800 exabyte, gấp 700 lần so với dung lượng gia tăngnăm 2002 Theo (IDC, 2016 ), dữ liệu gia tăng trên toàn cầu trong năm 2012khoảng 2.800 exabyte, ước tính dung lượng gia tăng năm 2020 là 40 zettabyte.Năm 2015, thế giới đã chia sẻ hơn 1,6 nghìn tỷ hình ảnh, trong đó 70% hình ảnhđược tạo ra từ thiết bị mobile (C Chute, 2015 )
Trong vấn đề truy vấn dữ liệu, đặc biệt là dữ liệu ảnh, tìm kiếm hình ảnhtương tự là một bài toán quan trọng (T Acharya, 2005 ; L Deligiannidis, 2015 ).Với mong muốn đóng góp một phương pháp tìm kiếm ảnh hiệu quả, luận án thựchiện đề tài: "Tìm kiếm ảnh dựa trên đồ thị chữ ký nhị phân"
2 Mục tiêu của luận án
Mục tiêu của luận án là xây dựng phương pháp tìm kiếm ảnh hiệu quả, nghĩa
là tăng tốc độ tìm kiếm và đảm bảo độ chính xác cao
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu : (1) Phương pháp tạo chữ ký nhị phân; (2) Độ đotương tự giữa các chữ ký nhị phân; (3) Cấu trúc dữ liệu lưu trữ chữ ký nhị phân;(4) Thuật toán tạo cấu trúc dữ liệu và tìm kiếm ảnh
Phạm vi nghiên cứu : Tìm kiếm ảnh theo nội dung bằng cách sử dụng đồthị chữ ký nhị phân
4 Phương pháp nghiên cứu
Phương pháp lý thuyết : Tổng hợp một số công bố liên quan và đánh giá
ưu khuyết điểm Trên cơ sở đó, luận án phát triển phương pháp tạo chữ ký nhịphân, xây dựng cấu trúc dữ liệu và thuật toán tìm kiếm ảnh
Phương pháp thực nghiệm : Thực hiện việc cài đặt các thuật toán của
Trang 4luận án nhằm minh chứng tính hiệu quả về độ chính xác và tốc độ tìm kiếm.Các tập dữ liệu ảnh được sử dụng cho cài đặt thực nghiệm bao gồm: COREL,CBIRimages, WANG, ImageCLEF, MSRDI, ImgColl01, ImgColl02 Trên cơ sở
số liệu thực nghiệm (chi tiết tại https://sites.google.com/site/itcsites/sources),luận án thực hiện phân tích, đánh giá và so sánh với các công trình khác
5 Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học của luận án là xây dựng phương pháp tìm kiếm ảnhtương tự theo nội dung, đồng thời đề xuất cấu trúc dữ liệu và thuật toán đểtăng tốc độ tìm kiếm trên tập dữ liệu ảnh lớn
Đóng góp của luận án : (1) Đề xuất một số cải tiến cho cây S-Tree vàthiết kế cấu trúc cây Sig-Tree; (2) Xây dựng cấu trúc đồ thị chữ ký S-k Graph;(3) Xây dựng cấu trúc mạng Sig-SOM; (4) Đề xuất các thuật toán cho phươngpháp tìm kiếm ảnh theo nội dung
Ý nghĩa thực tiễn : kết quả nghiên cứu có thể áp dụng để xây dựng mộtphương pháp tìm kiếm ảnh hiệu quả đáp ứng yêu cầu người dùng Kết quả luận
án có thể tạo ra công cụ tìm kiếm nhằm phục vụ cộng đồng trong các hệ thống
đa phương tiện như: thư viện số, tìm kiếm ảnh y khoa, hệ thống GIS, v.v
6 Bố cục của luận án
Ngoài phần mở đầu, phần kết luận và hướng phát triển, danh mục các côngtrình khoa học của tác giả liên quan đến luận án, tài liệu tham khảo, luận ánchia thành 3 chương Chương 1 trình bày tổng quan về tìm kiếm ảnh dựa trênchữ ký nhị phân Chương 2 đưa ra một số cải tiến cho tìm kiếm ảnh dựa trêncây S-Tree Chương 3 đề xuất phương pháp tìm kiếm ảnh trên đồ thị chữ ký
Chương 1 TỔNG QUAN VỀ TÌM KIẾM ẢNH THEO NỘI DUNG DỰA TRÊN CHỮ KÝ NHỊ PHÂN
1.1 Mở đầu
Luận án tiếp cận phương pháp tìm kiếm ảnh dựa trên chữ ký nhị phân gồm haigiai đoạn: (1) Tiền xử lý nhằm lưu trữ tập các chữ ký nhị phân trên cấu trúc dữ liệu;(2) Tìm kiếm ảnh nhằm đưa ra tập ảnh tương tự với ảnh tra cứu ban đầu
1.2 Các công trình nghiên cứu liên quan
Tìm kiếm ảnh theo nội dung được giới thiệu vào thập niên 1980 (A Alzu’bi, 2015 ;
Y Liu, 2007 ) Từ năm 1986, chữ ký nhị phân đã ứng dụng cho bài toán tìm kiếm
Trang 5dữ liệu (W.W Chang, 1989 ; U Deppisch, 1986) Từ năm 1990 đến 2015, nhiều côngtrình ứng dụng cây S-Tree và chữ ký nhị phân cho bài toán tìm kiếm ảnh (F Rabitti,
1990 ; V Chitkara, 2000 ; J Landre, 2007; J Cai, 2014; L Liu, 2015; ) Từ đó chothấy phương pháp tìm kiếm ảnh dựa trên chữ ký nhị phân rất khả thi và hiệu quả.Tuy nhiên, các công trình này chưa phát triển cấu trúc dữ liệu cho chữ ký nhị phân,chưa áp dụng các kỹ thuật khai thác dữ liệu lên các chữ ký nhị phân, v.v
1.3 Định hướng nghiên cứu
Luận án phát triển cấu trúc dữ liệu lưu trữ chữ ký nhị phân và đề xuất các thuậttoán cho bài toán tìm kiếm ảnh, bao gồm: (1) Tạo chữ ký nhị phân và tính độ tương
tự giữa hai hình ảnh; (2) Cải tiến cấu trúc cây S-Tree; (3) Xây dựng đồ thị chữ ký nhịphân; (4) Xây dựng phương pháp tìm kiếm ảnh
1.4 Các đối tượng cơ sở
Luận án tiếp cận các đối tượng cơ sở cho tìm kiếm ảnh dựa trên chữ ký nhị phân,bao gồm: dải màu, lược đồ màu, điểm đặc trưng, đối tượng đặc trưng, chữ ký nhịphân, các giá trị đánh giá hiệu suất, môi trường thực nghiệm và tập các dữ liệu ảnh
1.5 Tổng kết chương
Chương 1 đã tiếp cận các công trình liên quan và các đối tượng cơ sở cho hệ truyvấn ảnh theo nội dung dựa trên chữ ký nhị phân Nhiều công trình chứng minh tínhhiệu quả của phương pháp này về tốc độ tìm kiếm, hiệu suất tìm kiếm Từ đó chothấy chữ ký nhị phân là một giải pháp khả thi cho bài toán tìm kiếm ảnh tương tự
Chương 2 CẢI TIẾN PHƯƠNG PHÁP TÌM KIẾM ẢNH
DỰA TRÊN CÂY S-Tree
2.1 Giới thiệu
Chương này thiết kế cấu trúc và các thao tác cho cây Sig-Tree để cải tiến câyS-Tree Phần thực nghiệm và đánh giá kết quả được trình bày ở cuối chương
2.2 Tạo chữ ký nhị phân của hình ảnh
Mỗi ảnh I được lượng tử hóa thành n màu c1, c2, , cn; mỗi màu cj được mô tảbằng một dãy bit bj1bj2 bjm Danh sách màu của ảnh I được mô tả như sau:
Trang 6Pn i=1
2.6 Cây Sig-Tree
2.6.1 Giới thiệu cây Sig -Tree
Mỗi nút trong cây Sig-Tree gồm hai thành phần để liên kết đến nút cha và liên kếtđến các nút con Phần này thiết kế cấu trúc và các thao tác trên cây Sig-Tree gồm:chèn nút, loại bỏ nút, tách nút và tìm kiếm trên cây
2.6.2 Thiết kế cấu trúc dữ liệu cây Sig -Tree
Mỗi nút trong cây Sig-Tree có hai phần: (1) Phần liên kết đến nút cha gồm chữ
ký tổ hợp và phần liên kết về nút cha: hsignature, parenti; (2) Phần nội dung là tậpcác chữ ký và liên kết đến nút con: {SIGi = hsignaturei, nextii|i = 1, , k} Mỗi nút
lá cũng gồm hai phần: phần liên kết nút cha hsignature, parenti và phần nội dung{SIGi = hsignaturei, oidii|i = 1, , k} là tập chữ ký nhị phân và định danh
Trang 72.6.3 Phép tổ hợp các chữ ký trên cây Sig -Tree
Trong cây Sig-Tree, mỗi chữ ký của nút cha là tổ hợp các chữ ký của nút con Nếucác thành phần của nút con thay đổi thì phải tổ hợp lại các chữ ký của nút cha vàthực hiện cho đến nút gốc Thuật toán tổ hợp chữ ký được đề xuất như sau:
if v → parent 6= null then
Signature = ∨(SIGi → sig), SIGi ∈ v;
v → parent → (SIGi → sig) = Signature; U nionSignature(v → parent);end if
Return Sig-Tree; End =0
Mệnh đề 2.3 Độ phức tạp của Thuật toán 2.5 là O(k log n), với n là số chữ kýtrên cây, k là chiều dài chữ ký
2.6.4 Phép tách một nút trên cây Sig -Tree
Kết quả của phép tách nút là hai cụm chữ ký rời nhau tương ứng với hai nút trongcây Sig-Tree Việc tách nút làm cho cây Sig-Tree tăng trưởng theo hướng gốc Thuậttoán tách nút được đề xuất như sau:
if d(α, si) < d(β, si) then Chèn si vào NodeA
else Chèn chữ ký si vào NodeB ;
end if
end for
Return {NodeA, NodeB };
End =0
Trang 8Thuật toán 2.7 Tách nút trong cây Sig -Tree
Input: Nút cần tách v
Output: Cây Sig-Tree sau khi được tách
Function SplitTree(v)
Begin
Tạo tập chữ ký S của nút v; Trích xuất hai chữ ký α, β của nút v;
{NodeA, NodeB } = SplitNode(S, α, β);
Tạo hai chữ ký tổ hợp SigA, SigB của NodeA, NodeB ;
Gán vparent là nút cha của nút v;
if (v → parent == null ) then Root = {SigA, SigB}
else Bổ sung chữ ký SigA, SigB vào nút vparent; UnionSignature(v → parent);
if (vparent đầy) SplitTree(v → parent); end if
end if
Return Sig-Tree; End =0
Mệnh đề 2.4 Độ phức tạp của Thuật toán 2.6 là O(M ), với M là số chữ ký.Mệnh đề 2.5 Độ phức tạp của Thuật toán 2.7 là O(k(log n)2 + M log n), với
M, n, k lần lượt là số chữ ký tối đa của nút, số chữ ký trên cây, chiều dài chữ ký
2.6.5 Phép loại bỏ chữ ký trên cây Sig -Tree
Việc loại bỏ một nút trong cây dẫn đến phải loại bỏ một phần tử tương ứng củanút cha Nếu nút cha sau khi loại bỏ có số phần tử ít hơn số lượng tối thiểu thì phảiloại bỏ luôn nút cha và thu gom các chữ ký tại nút lá theo nút cha này và thực hiệnthao tác chèn trở lại Một giải pháp đề xuất là thực hiện gán định danh đối tượngoid = null nếu như một nút lá sau khi loại bỏ có số lượng phần tử nhỏ hơn số lượngtối thiểu Khi thực hiện thao tác chèn chữ ký tại một nút lá, nếu số lượng phần tử cóoid 6= null nhiều hơn số lượng tối thiểu thì thực hiện loại bỏ các phần tử có oid = null.Thuật toán 2.8 Loại bỏ chữ ký
Input: Chữ ký Sig và nút lá v, số chữ ký tối thiểu m
Output: Cây Sig-Tree sau khi loại bỏ chữ ký
Function DeleteNode(Sig, v, m)
Begin
Khởi tạo SIG = v.SIG sao cho v.SIG = Sig;
if (v.count > m) then Loại bỏ phần tử SIG; UnionSignature(v)
else v.SIG → oid = null;
end if
Return Sig-Tree; End =0
Trang 9Mệnh đề 2.6 Độ phức tạp của Thuật toán 2.8 là O(k log n), với n là số chữ kýtrên cây, k là chiều dài chữ ký.
2.6.6 Phép chèn chữ ký trên cây Sig -Tree
Mỗi lần chèn chữ ký vào nút lá thực hiện đếm số phần tử khác trống, nếu vượtqua số lượng tối thiểu thì loại bỏ các phần tử trống này Nếu nút lá bị đầy thì táchnút theo Thuật toán 2.7 Thuật toán chèn chữ ký được đề xuất như sau:
Chọn SIG ∈ v : độ đo d(SIG.Sig, Sig) nhỏ nhất;
v = SIG → next; InsertNode(v);
end if
Return Sig-Tree; End =0
Mệnh đề 2.7 Độ phức tạp của Thuật toán 2.9 là O(k(log n)2 + M log n), với
M, n, k lần lượt là số chữ ký tối đa của nút, số chữ ký trên cây, chiều dài chữ ký
2.6.7 Tìm kiếm trên cây Sig -Tree
Luận án mô tả việc tìm kiếm dựa trên cấu trúc STACK trên cây Sig-Tree như sau:Thuật toán 2.10 Tìm kiếm ảnh trên cây Sig -Tree
Input: Chữ ký tìm kiếm Sig và cây Sig-Tree
Output: Tập SigOid = {hsigi, oidii |i = 1, , p}
Function STreeRetrieval(Sig, Sig-Tree)
Trang 10v = Pop(STACK );
if (v không phải nút lá) then
Chọn SIG0 ∈ v: d(SIG0 → sig, Sig) nhỏ nhất;
Push(STACK, Sig0 → next)
else SigOid = SigOid ∪ {hv → sigi, v → oidii |i = 1, , |v|};
end if
end while
Return SigOid; End =0
Mệnh đề 2.8 Độ phức tạp của Thuật toán 2.10 là O(M log n), với M là số chữ
ký tối đa của nút trên cây, n là số chữ ký trên cây
2.7 Thực nghiệm tìm kiếm ảnh dựa trên cây Sig -Tree
Số liệu Bảng 2.2 cho thấy thời gian tìm kiếm trung bình trên tập dữ liệu ảnhCOREL là 26,813 milli giây, trên tập ảnh dữ liệu WANG là 692,947 milli giây và trêntập dữ liệu ảnh ImgColl01 là 2423,780 milli giây
Hình 2.14 Hiệu suất tìm kiếm trên cây Sig-Tree của tập ảnh COREL
Hình 2.15 Hiệu suất tìm kiếm trên cây Sig-Tree của tập ảnh WANG
Trang 11Hình 2.16 Hiệu suất tìm kiếm trên cây Sig-Tree của tập ảnh ImgColl01Bảng 2.2 Đánh giá hiệu suất giữa các phương pháp trên các tập dữ liệu ảnh
Bảng 2.3 So sánh hiệu suất tìm kiếm giữa các phương pháp
Kết quả thực nghiệm được so sánh với các phương pháp khác đã công bố trên tập
dữ liệu ảnh COREL Số liệu so sánh từ Bảng 2.3 cho thấy phương pháp tìm kiếmảnh theo nội dung dựa trên chữ ký nhị phân và cây Sig-Tree có thời gian tìm kiếmnhanh hơn và độ chính xác không kém hơn các phương pháp khác
2.8 Tổng kết chương
Chương 2 đã tiếp cận phương pháp tìm kiếm ảnh dựa trên chữ ký nhị phân vàcây Sig-Tree Kết quả thực nghiệm cho thấy phương pháp đề xuất là giải pháp hiệuquả để tìm kiếm ảnh theo nội dung Tuy nhiên, quá trình truy tìm cụm phụ thuộc vàocác mức trên cây và phép tách ghép có thể ảnh hưởng trên toàn bộ cây Sig-Tree Vìvậy, luận án thực hiện cải tiến phương pháp bằng cách phân cụm dựa trên cấu trúc
đồ thị nhằm tăng độ chính xác tìm kiếm ảnh
Trang 12Chương 3 ĐỀ XUẤT PHƯƠNG PHÁP TÌM KIẾM ẢNH
DỰA TRÊN ĐỒ THỊ CHỮ KÝ
3.1 Giới thiệu
Chương này xây dựng cấu trúc đồ thị S-k Graph và mạng Sig-SOM trên cơ sở gomcụm chữ ký nhị phân Từ đó, luận án trình bày các thuật toán và thực nghiệm chophương pháp tìm kiếm ảnh dựa trên chữ ký nhị phân
I và Sig(J ) = SigOJ ⊕ SigC
J Độ đo tương tự giữa hai hình ảnh I và J đượcđịnh nghĩa:
φ(I, J ) = α×(µO(sigIO, sigOJ))+β×(µC(sigIC, sigJC)) (3.4)với α, β ∈ (0, 1) là các hệ số điều chỉnh và α + β = 1
Trang 13Mệnh đề 3.2 Độ đo tương tự φ(I, J ) trong Định nghĩa 3.4 là một khoảng cáchtrong không gian metric.
3.4 Tìm kiếm ảnh dựa trên gom cụm chữ ký nhị phân
3.4.1 Gom cụm chữ ký nhị phân
Mỗi phần tử gồm chữ ký nhị phân sig và định danh oid Phần tử hsig, oidi đượcphân bố vào một cụm nếu khoảng cách d đến tâm cụm này là ngắn nhất và nhỏ hơnngưỡng θ Nếu khoảng cách d lớn hơn θ thì phần tử hsig, oidi tạo một tâm cụm mới.Thuật toán 3.1 Gom cụm chữ ký nhị phân
Input: Ngưỡng tương tự θ và tập chữ ký hình ảnh Γ
Output: Tập các cụm Ω
Function SignatureClustering(θ, Γ)
Begin
Khởi tạo Ω = ∅;
for hsig, oidi ∈ Γ do
if (Ω = ∅) then Khởi tạo cụm V0 với tâm hsig, oidi
else Tìm Vk∈ Γ : φ(sig, sigk) = minφ(sig, sigi), i = 1, , m; end if
if (φ(sig, sigk) < θ) then Vk = Vk∪ {hsig, oidi}; Cập nhật lại tâm cụm;else Tạo mới cụm V có tâm hsig, oidi; Bổ sung tập cụm Ω = Ω ∪ V ; end ifend for
Return Ω; End =0
Mệnh đề 3.3 Độ phức tạp của Thuật toán 3.1 là O(N2), với N là số lượng phần
tử của tập chữ ký Γ
3.4.2 Thuật toán tìm kiếm ảnh
Quá trình tìm kiếm ảnh được thực hiện bằng cách chọn ra cụm có tâm gần nhấtvới hình ảnh tra cứu Nếu khoảng cách này nhỏ hơn ngưỡng θ thì thực hiện trích xuấtcác định danh oid trong tập cụm và sắp xếp theo độ đo tương tự Thuật toán tìmkiếm ảnh được đề xuất như sau:
Thuật toán 3.2 Tìm kiếm ảnh
Input: Chữ ký ảnh sig, tập cụm Ω và ngưỡng tìm kiếm θ
Output: Tập các định danh ảnh tương tự Ψ
Function ClusterRetrieval(sig, Ω, θ)
Begin
Khởi tạo Ψ = ∅; Tìm cụm Vk : φ(sig, sigk) = minφ(sig, sigi), i = 1, , m;
Trang 14if (φ(sig, sigk) < θ) then Chọn cụm Vk ∈ Ω để truy hồi hình ảnh tương tự; end ifThực hiện tra cứu ảnh tương tự;
Return Ψ; End =0
Mệnh đề 3.4 Độ phức tạp của Thuật toán 3.2 là O(m), với m là số lượng cụm
3.4.3 Thực nghiệm tìm kiếm ảnh dựa trên gom cụm
Hình 3.2 Mô hình tìm kiếm ảnh dựa trên gom cụm chữ ký nhị phân
Hình 3.9 Hiệu suất tìm kiếm dựa trên gom cụm tập ảnh CBIRimages
với kθ là bán kính cụm V , = là tập dữ liệu ảnh, k ∈ N∗