So trùng ảnh 2 chiều dựa trên chuỗi thời gian là một ứng dụng của bài toán tìm kiếm tương tự trên dữ liệu chuỗi thời gian.. Dữ liệu chuỗi thời gian của ảnh mang các đặc điểm của ảnh như
GIỚI THIỆU ĐỀ TÀI
Dữ liệu chuỗi thời gian
Chuỗi thời gian(Time Series) T = t 1 , t 2 … t n là tập hợp có thứ tự các quan sát đơn biến hoặc đa biến đƣợc đo sau những khoảng thời gian bằng nhau theo thời gian Trong đề tài này, chúng tôi chỉ xem xét với t i là các giá trị thực
Chuỗi thời gian có thể đƣợc xem là một tập hợp dữ liệu hai chiều, với các giá trị tương ứng là (T,X), trong đó T là thời điểm giá trị được xác định, X là giá trị quan sát tương ứng Tuy nhiên, khoảng thời gian quan sát là bằng nhau nên có thể không quan tâm đến T Lúc này chuỗi thời gian có thể xem là dữ liệu n chiều
Có rất nhiều dữ liệu có yếu tố thời gian nhƣ dữ liệu về giá chứng khoán, điện tâm đồ, mực nước, lưu lượng truyền trên mạng, dữ liệu tài chính…
Một số hướng nghiên cứu trên dữ liệu chuỗi thời gian như:
- Lập chỉ mục (Indexing): cho một chuỗi thời gian truy vấn Q, và một hàm tính độ tương tự hoặc độ sai biệt D(Q,C), tìm những chuỗi thời gian tương tự nhất với Q trong cơ sở dữ liệu DB nào đó
- Gom cụm (clustering): tìm những sự phân nhóm theo tự nhiên của những chuỗi thời gian trong cơ sở dữ liệu DB theo một hàm tính độ tương tự D(Q,C)
- Phân lớp (Classification): cho một chuỗi thời gian chƣa gán nhóm Q, gán nó vào một trong những nhóm đã được định nghĩa trước
- Tóm tắt (Summarization): cho chuỗi thời gian Q có n điểm dữ liệu trong đó n là con số rất lớn, tạo một sự xấp xỉ của Q để vừa khít theo một giới hạn nào đó (chẳng hạn màn hình máy tính, trang giấy…) sao cho vẫn duy trì những đặc trƣng bản chất của nó
- Phát hiện bất thường (Anomaly detection): cho một chuỗi thời gian Q, và một vài mô hình hành vi bình thường (normal behavior), tìm tất cả những phần thuộc Q có chứa bất thường Ngoài ra còn có nhiều tên gọi khác cho lĩnh vực này nhƣ phát hiện những hành vi gây ngạc nhiên
(surprising behavior), hành vi quan tâm (interesting behavior), hành vi không mong đợi (unexpected behavior), hành vi lạ thường (novel behavior) Đồng thời có rất nhiều định nghĩa nhƣ thế nào gọi là bất thường.
Biểu diễn ảnh dạng chuỗi thời gian
Có nhiều phương pháp để chuyển ảnh sang chuỗi thời gian [15] và trong luận văn sử dụng phương pháp dựa trên đường biên hình dạng của ảnh [2][7][24] Dữ liệu chuỗi thời gian (còn gọi là dữ liệu giả chuỗi thời gian – pseudo “time series”) của ảnh là chuỗi giá trị khoảng cách từ tâm của hình dạng ảnh đến các điểm trên đường biên hình dạng ảnh theo chiều kim đồng hồ
Hình 1.1 Chuyển ảnh 2 chiều sang dữ liệu chuỗi thời gian (nguồn [26])
Dữ liệu chuỗi thời gian của ảnh mang các đặc điểm của ảnh nhƣ nhiễu do điểm ảnh, các phép tỉ lệ (scale), phép quay (rotate), … Trong đó xử lý nhiễu do phép quay đƣợc nhiều công trình quan tâm [15][23][26][27]
Một số hướng nghiên cứu trên dữ liệu chuỗi thời gian của ảnh: tìm kiếm tương tự trên chuỗi thời gian của ảnh, tìm motif, tìm dị thường, …
Kỹ thuật tìm kiếm ảnh 2 chiều dựa trên dữ liệu chuỗi thời gian
Kỹ thuật tìm kiếm ảnh 2 chiều dựa trên dữ liệu chuỗi thời gian là kỹ thuật tìm tương tự trên dữ liệu chuỗi thời gian của ảnh Hàm khoảng cách tính toán khoảng cách trên dữ liệu chuỗi thời gian của ảnh để đánh giá độ tương tự của ảnh Hàm khoảng cách phải đạt đƣợc tính bất biến nhiễu
- Ảnh truy vấn bị nhiễu, nhất là phép quay
- Số chiều dữ liệu chuỗi thời gian không đồng nhất
- Lưu trữ tập dữ liệu ảnh lớn
- Thời gian tìm kiếm phải nhỏ và chính xác.
Mục tiêu và giới hạn của đề tài
Mục tiêu chính của luận văn là phát triển một khung tổng quát cho kỹ thuật tìm kiếm ảnh 2 chiều dựa trên chuỗi thời gian Luận văn tập trung giải quyết các vấn đề sau:
- Các ảnh (dữ liệu chuỗi thời gian của ảnh) trong tập dữ liệu và ảnh truy vấn thường không đồng nhất về số chiều Chúng tôi đề xuất sử dụng phương pháp thu giảm số chiều PAA trên dữ liệu chuỗi thời gian để đưa các ảnh về cùng số chiều
- Để xử lý nhiễu trên ảnh, phép tỉ lệ (scale), phép dịch (shift), chúng tôi đề xuất sử dụng phương pháp chuẩn hóa 0 và sử dụng biến đổi Fourier trên chuỗi thời gian nhằm đạt đƣợc tính bất biến trong phép quay [23] Ngoài ra kỹ thuật này còn cho phép giảm số chiều trên chuỗi biến đổi thu đƣợc và sử dụng kỹ thuật nén chuỗi nhƣ trong [23]
- Thông thường kích thước dữ liệu để tìm kiếm là rất lớn Vì vậy, những ứng dụng này đòi hỏi phải sử dụng các phương pháp lập chỉ mục Phương pháp lập chỉ mục là phương pháp nhằm nâng cao tốc độ tìm kiếm Phương pháp lập chỉ mục có thể là giảm số chiều để giảm kích thước dữ liệu hoặc có thể sử dụng những cấu trúc biểu diễn dữ liệu nhằm nâng cao tốc độ tìm kiếm Chúng tôi đề xuất sử dụng phương pháp lập chỉ mục sử dụng cấu trúc cây VP cải tiến dựa trên [23]
- Cải tiến giải thuật tìm kiếm trên cấu trúc chỉ mục dựa trên các giải thuật của [9] [15] [23]
Tóm lƣợc những kết quả đạt đƣợc
Xây dựng khung tổng quát và ứng dụng dựa trên khung tổng quát gồm 2 thành phần chính: thành phần tổ chức dữ liệu - lập chỉ mục cho tập dữ liệu tìm kiếm và thành phần truy vấn ảnh - tìm kiếm ảnh tương tự trong tập dữ liệu tìm kiếm dựa vào ảnh truy vấn đƣa vào
Với thành phần tổ chức dữ liệu, chúng tôi thực hiện chuẩn hóa dữ liệu, thu giảm số chiều bằng phương pháp PAA, biến đổi Fourier, và lập chỉ mục dựa trên cấu trúc cây VP cải tiến
Với thành phần truy vấn, nhận dữ liệu đầu vào là dữ liệu chuỗi thời gian hoặc ảnh sẽ đƣợc chuyển sang chuỗi thời gian, đƣợc chuẩn hóa dữ liệu, thu giảm số chiều để cùng số chiều với tập dữ liệu, biến đổi Fourier và thực hiện tìm kiếm trên cấu trúc chỉ mục VP cải tiến Giải thuật tìm kiếm cũng đƣợc cải tiến phù hợp với cây VP cải tiến và từ các giải thuật [9] [15] [23]
Luận văn thực hiện 2 cải tiến: đề xuất sử dụng cây VP chỉ nén dữ liệu ở nút lá, không nén dữ liệu tại nút gốc và nút trung gian; cải tiến giải thuật tìm kiếm trên cây VP cải tiến
Qua thực nghiệm cho thấy các cải tiến đã mang lại kết quả đáng kể trong việc giảm thời gian tìm kiếm ảnh.
Cấu trúc của luận văn
Phần còn lại của luận văn đƣợc tổ chức nhƣ sau:
Chương 2 trình bày tổng quan các công trình liên quan về các hàm tính độ tương tự, các phương pháp thu giảm số chiều, các cấu trúc chỉ mục phổ biến, các phương pháp xử lý phép quay ảnh
Chương 3 làm rõ cơ sở lý thuyết nền tảng của các phương pháp biểu diễn, các giải thuật, cấu trúc dữ liệu dùng làm chỉ mục đƣợc chọn sau khi khảo sát các công trình có liên quan ở chương 2 Cụ thể đó là phép biến đổi Fourier để đạt được tính bất biến trong phép quay, kỹ thuật nén và xây dựng hàm biên dưới; cấu trúc chỉ mục VP-Tree và giải thuật tìm kiếm lân cận trên VP-Tree
Chương 4, chúng tôi trình bày về phương pháp giải quyết vấn đề, các đề xuất trên cấu trúc VP-Tree và hiệu chỉnh giải thuật tìm kiếm lân cận cho phù hợp trên cấu trúc đề xuất Hệ thống hiện thực hóa phương pháp giải quyết vấn đề cũng sẽ được giới thiệu trong chương 4
Chương 5, nêu ra các tiêu chuẩn tiến hành thực nghiệm Các kết quả thực nghiệm đƣợc công bố và so sánh Chúng tôi chạy thực nghiệm hệ thống trên các tập dữ liệu khác nhau Ứng với mỗi tập dữ liệu, chúng tôi kiểm tra với các thông số thiết lập khác nhau
Chương 6 là một số kết luận và hướng mở rộng của đề tài.
TỔNG THUẬT CÁC CÔNG TRÌNH LIÊN QUAN
Công trình về độ đo tương tự
Trong bài toán tìm kiếm, kết quả tìm kiếm là một đối tƣợng giống với đối tượng truy vấn Sự giống nhau đó được xác định bằng độ tương tự Đánh giá độ tương tự giữa hai đối tượng qua khoảng cách giữa chúng Nếu khoảng cách này bằng không, chúng giống nhau; nếu khoảng cách này nhỏ hơn một giá trị ngưởng r cho trước, chúng tương tự nhau Các tính chất có trong một độ đo:
2.1.1 Độ đo Minkowski – Độ đo khoảng cách Euclid p n i p i i y x Y
) , ( trong đó, p = 1 (độ đo Manhattan) p = 2 (độ đo Euclid) p = ∞ (độ đo Max)
Trong các công trình liên quan, độ đo Euclid đƣợc sử dụng rộng rãi vì những ƣu điểm sau: Ƣu điểm:
Có thể áp dụng trong nhiều bài toán nhƣ phân loại, gom cụm, tìm kiếm tương tự Thích hợp cho nhiều phép biến biểu diễn xấp xỉ như DFT [8], DWT [5], PAA [14], hay APCA [6] …
[20] có nhận một cách rõ ràng độ đo độ xoắn thời gian động DTW tốt hơn độ đo Euclid nhƣng kết quả thực nghiệm trên tập dữ liệu lớn so sánh giữa 2 độ đo lệch nhau không lớn
Không thể áp dụng cho các chuỗi thời gian có đường cơ bản (base line) biến đổi giống nhau nhƣng lệch nhau về thời gian hoặc biên độ (amplitude) khác nhau (xem Hình 2.1 ) Để khắc phục nhược điểm này, trước khi tính khoảng cách, ta cần chuẩn hóa các chuỗi thời gian Một cách chuẩn hóa đƣợc sử dụng phổ biến là đƣa về dạng trung bình zero (zero-mean) và độ lệch chuẩn (deviation) là 1 (nhƣ đã trình bày các phương pháp chuẩn hóa)
(1) Đường cơ bản khác nhau (2) Biên độ dao động khác nhau
Hình 2.1 Trường hợp 2 chuỗi có đường cơ bản lệch nhau và biên độ dao động khác nhau [16]
Ví dụ, cho Q có giá trị trung bình là mean(Q) và độ lệch chuẩn là std(Q), Q’ là chuỗi chuẩn hóa của Q đƣợc tính nhƣ sau:
2.1.2 Độ đo xoắn thời gian động (Dynamic Time Warping –DTW)
Phương pháp DTW do Berndt và các cộng sự đề ra năm 1994 [4] Việc so trùng 2 đường biểu diễn dữ liệu bằng cách tính khoảng cách từng cặp điểm 1-1 (điểm thứ i của đường thứ I so với điểm thứ i của đường thứ II) như phương pháp Minkowski là không phù hợp trong trường hợp hai đường này không hoàn toàn giống nhau nhƣng hình dạng biến đổi rất giống nhau Nhƣ trong Hình 2.2.a, hai đường biểu diễn rất giống nhau về hình dạng nhưng lệch nhau về thời gian Trong trường hợp này, nếu tính khoảng cách bằng cách ánh xạ 1-1 giữa 2 đường thì kết quả rất khác nhau và kết quả cuối cùng có thể không nhƣ mong muốn Để khắc phục, một điểm có thể ánh xạ với nhiều điểm và ánh xạ này không thẳng hàng (Hình 2.2b) Phương pháp này gọi là xoắn thời gian động [4]
(a) Tính theo khoảng cách Euclid (b) Tính theo khoảng cách DTW
Hình 2.2 Minh họa sự khác nhau giữa 2 độ đo Euclid và DTW [13] Để tìm DTW của S = s 1 , s 2 ,…,s n và T = t 1 , t 2 ,…,t m , ta sắp xếp 2 chuỗi thời gian này lên mặt phẳng lưới n x m, trong đó mỗi điểm lưới (i,j) tương ứng với một sự ánh xạ giữa s i và t j Đường đi xoắn, W, ánh xạ các thành phần của S và T, để
“khoảng cách” giữa chúng là nhỏ nhất
Trong đó w k tương ứng với điểm (i,j) k
Có rất nhiều cách tính khoảng cách giữa 2 thành phần s i và t j , có thể tính theo một trong hai cách sau: δ(i, j) = |s i – t j | δ(i, j) = (s i – t j ) 2
Hình 2.3 Độ đo độ xoắn thời gian động với cửa sổ warp Sakoe-Chiba độ rộng
R Trên hình warping path giới hạn trong cửa sổ bán kính R (nguồn [13]) Để giới hạn không gian tìm kiếm đường đi xoắn, những ràng buộc sau phải đƣợc thỏa mãn:
Tính đơn điệu (monotonicity): những điểm ánh xạ phải có thứ tự theo thời gian, tức là i k-1 ≤ i k và j k-1 ≤ j k
Tính liên tục (continuity): những bước chuyển trên lưới chỉ giới hạn ở những điểm lân cận, i k – ik-1 ≤ 1 và j k –j k-1 ≤ 1
Cửa sổ xoắn (warping window): những điểm cho phép ánh xạ phải nằm trong cửa sổ xoắn cho trước, tức là |i k – j k | ≤ ω, trong đó ω là chiều rộng của cửa sổ xoắn (số nguyên dương) (xem Hình 2.3 Hình 2.3)
Ngoài ra, còn một số ràng buộc khác cần thỏa mãn để việc tìm kiếm có hiệu quả và nhanh hơn [18] Có thể tìm kiếm đường đi xoắn theo giải thuật quy hoạch động, dựa trên công thức truy hồi định nghĩa khoảng cách tích lũy λ(i, j), của mỗi điểm λ(i, j) = δ(i, j) + min[λ(i-1, j), λ(i-1, j-1), λ(i, j-1)] Ƣu điểm:
Cho kết quả chính xác hơn độ đo Euclid
Cho phép nhận dạng mẫu có hình dạng giống nhau nhƣng chiều dài hình dạng về thời gian có thể khác nhau
Trong so trùng ảnh, các dữ liệu chuỗi thời giancủa 1 ảnh khi chuyển sang dữ liệu chuỗi thời gian có thể lệch nhau ở điểm bắt đầu, với độ đo khoảng cách Euclid, chúng đƣợc xem là hoàn toàn khác nhau, nhƣng với độ xoắn thời gian động với cửa sổ xoắn thích hợp thì kết quả phép đo sẽ xác định chúng là tương tự nhau
Thời gian chạy lâu Một số ràng buộc đƣợc đề ra để tăng tốc độ tìm kiếm [4]
2.1.3 Phương pháp chuỗi con chung dài nhất (Longest Common Subsequence
Phương pháp LCS do Vlachos và các cộng sự đề ra năm 2004 [22] Điểm nổi bật của phương pháp này là nó cho phép bỏ qua những điểm bất thường khi so sánh Trong so trùng ảnh, điểm bất thường có thể là các điểm bị khuyết Ý tưởng chính của phương pháp này là tìm những chuỗi con chung Hai chuỗi có chuỗi con chung càng dài thì càng giống nhau Ví dụ, cho 2 chuỗi X, Y:
Y = 2, 5, 4, 7, 3, 10, 8, 6 LCS = 2, 5, 7, 10 => Dist(X,Y) = |LCS| = 4 Ƣu điểm:
Thể hiện tính trực quan của dữ liệu và cho phép bỏ qua những điểm bất thường
Trong các bài toán so trùng ảnh LCS hữu hiệu khi so trùng những ảnh bị khuyết chi tiết Ví dụ nếu so trùng ảnh 2 sọ người, một trong hai sọ có thể khuyết phần mũi, với LCS phần mũi sẽ không đƣợc đƣa vào tính toán độ tương tự, nó bị bỏ qua
Cũng giống phương pháp Euclid, dữ liệu nên được chuẩn hóa trước khi áp dụng phương pháp này, nhằm tránh hiện tượng tịnh tiến (shifting) đường cơ bản hay co giãn (scaling) biên độ.
Các công trình về biểu diễn chuỗi thời gian
Do đặc thù của chuỗi thời gian là khối lƣợng dữ liệu rất lớn dẫn đến chi phí cao trong việc truy xuất và tính toán trên dữ liệu thô Vì vậy, các công trình về chuỗi thời gian đều tập trung biểu diễn chuỗi thời gian dưới dạng khác nhằm thu giảm kích thước dữ liệu và nâng cao hiệu năng tìm kiếm, tính toán Phần lớn các phương pháp biểu diễn dữ liệu đều nhằm mục đích thu giảm số chiều nhằm thu giảm kích thước dữ liệu và hỗ trợ lập chỉ mục Sau đó, chúng ta có thể rời rạc hóa (discretizeation) dữ liệu thành chuỗi bit hay chuỗi ký tự nhằm khai thác các kỹ thuật về nén dữ liệu cũng nhƣ các kỹ thuật khai phá dữ liệu văn bản (text mining)…Ngoài ra, chúng ta cần chuẩn hóa dữ liệu trước khi thực hiện quá trình thu giảm số nhiều nhằm tránh các vấn đề như dữ liệu có đường cơ bản khác nhau (tịnh tiến dữ liệu) hay biên độ dao động khác nhau (co giãn biên độ)
2.2.1 Các phương pháp thu giảm số chiều
2.2.1.1 Phương pháp biến đổi Fourier rời rạc DFT (Discrete Fourier
Phương pháp DFT, do Agrawal và các cộng sự đề nghị năm 1993 [1], biến đổi từ miền thời gian sang miền tần số Sau đó, lập chỉ mục trên một vài tần số đầu tiên, loại bỏ những tần số còn lại dựa trên nhận xét rằng năng lƣợng của hầu hết các chuỗi thời gian trong thực tế đều tập trung ở một vài tần số đầu tiên [1]
Chuỗi biến đổi X f (f = 0,…,n-1) của chuỗi X t (t = 0,…,n-1) đƣợc định nghĩa nhƣ sau:
X f là các số phức Hàm tính độ tương tự được đề nghị cho phương pháp này là phương pháp Euclid Phương pháp lập chỉ mục đề nghị như F-Index [1], ST-index [8] Ƣu điểm:
Thu giảm số chiều của dữ liệu gốc
Bảo toàn khoảng cách Euclid sau khi biến đổi dựa vào định lý Parseval [1] và do đó thỏa mãn điều kiện chặn dưới của khoảng cách thực của dữ liệu gốc Độ phức tạp tính toán O(nlogn) cho phương pháp Fast Fourier
Transform (một cải tiến của DFT)
Chỉ áp dụng đƣợc với các loại dữ liệu có năng lƣợng tập trung ở một vài tần số đầu tiên (đƣợc định nghĩa là pink noise, brown noise) trong khi sẽ thiếu sót thông tin quan trọng đối với các loại dữ liệu có năng lƣợng phân bố đều (white noise) hoặc năng lƣợng tập trung ở các tần số cuối (blue noise, violet noise)
Tính toán phức tạp vì domain thu giảm là các số phức
Không tận dụng đƣợc các giải thuật và cấu trúc dữ liệu cho dạng ký tự và bit
Khó giải quyết khi các chuỗi thời gian có chiều dài khác nhau
Hình 2.1 Các dạng biểu diễn phổ biến nhất cho khai phá dữ liệu chuỗi thời gian (nguồn [16])
2.2.1.2 Phương pháp xấp xỉ gộp từng đoạn PAA (Piecewise Aggregate
Phương pháp PAA, do Keogh và các cộng sự đề xuất năm 2001 [14], tuần tự xấp xỉ k giá trị liền kề nhau thành một giá trị, là giá trị trung bình cộng của k giá trị đó Quá trính bắt đầu từ đầu chuỗi thời gian đến cuối chuỗi Kết quả biến đổi là đường thẳng có dạng bậc thang (Hình 2.4)
Ví dụ cho chuỗi x j (j = 1,…,n), chuỗi biến đổi X i (i = 1,…,N) (N là số chiều thu giảm) đƣợc tính theo công thức sau:
Hình 2.4 Phương pháp biểu diễn PAA với n8, N=8 (nguồn [14] )
Hỗ trợ các phương pháp tính khoảng cách như: khoảng cách Euclid, DTW, Minkowski…Ngoài ra, một phương pháp đo khoảng cách được đề xuất như sau:
Trong đó, X x i |i 1, ,N và Y y i |i 1, ,N là 2 chuỗi xấp xỉ của 2 chuỗi X và Y
Phương pháp này không phụ thuộc vào cấu trúc chỉ mục cụ thể nào, có thể sử dụng F-index, R-tree… Ƣu điểm:
Thời gian tính toán nhanh và dễ dàng
Hỗ trợ câu truy vấn có chiều dài khác nhau
Hàm khoảng cách được đề nghị có giá trị chặn dưới chặt so với dữ liệu gốc
Xây dựng lại chuỗi ban đầu khó và thường sinh lỗi lớn, trong khi các phương pháp trên có công thức để tái tạo lại chuỗi ban đầu với tỉ lệ lỗi nhỏ
Không quan tâm đến những điểm đặc biệt khác nhƣ điểm giá trị nhỏ nhất, lớn nhất của mỗi đoạn xấp xỉ
2.2.1.3 Phương pháp xấp xỉ gộp ký hiệu hóa SAX (Symbolic Aggregate approXimation)
Phương pháp SAX, do Lin và các cộng sự đề xuất năm 2003 [11], được xây dựng dựa trên phương pháp thu giảm số chiều PAA và giả sử dữ liệu thu giảm số chiều đã đƣợc chuẩn hóa theo trung bình zero và độ lệch chuẩn 1 Dữ liệu ban đầu được chia thành từng đoạn dùng phương pháp PAA Sau đó, ánh xạ từng đoạn này thành các ký tự rời rạc Vì không gian thu giảm là không gian các ký tự, nên không thể sử dụng các hàm tính khoảng cách nhận đối số là các giá trị thực mà cần có cơ chế ánh xạ sự khác biệt giữa 2 ký tự thành giá trị số
Phương pháp SAX sử dụng hàm tính khoảng cách MINDIST [11] trên không gian thu giảm, thỏa điều kiện chặn dưới Phương pháp lập chỉ mục được sử dụng là phương pháp tập tin xấp xỉ hóa vector (Vector Approximation File) [17], ngoài ra có thể sử dụng R-tree và các kỹ thuật lập chỉ mục cho chuỗi ký tự cổ điển nhƣ cây hậu tố (suffix tree) Ƣu điểm:
Vì không gian thu giảm là các ký tự và rời rạc nên có thể tận dụng đƣợc các giải thuật và cấu trúc dữ liệu xử lý trên dữ liệu chuỗi, dữ liệu rời rạc nhƣ kỹ thuật băm, mô hình Markov, cây hậu tố Định nghĩa đƣợc hàm tính khoảng cách trên không gian thu giảm thỏa mãn chặn dưới, điều mà nhiều phương pháp rời rạc hóa khác không có đƣợc
Bảng ánh xạ khoảng cách giữa 2 ký tự được tính toán trước một lần cho mỗi loại dữ liệu, sau đó tính toán khoảng cách rất nhanh thông qua bảng này
Việc ánh xạ các giá trị thực thành các ký tự phụ thuộc từng loại dữ liệu cụ thể Do đó, ta phải huấn luyện dữ liệu để tìm ra cách ánh xạ tốt nhất đối với mỗi loại dữ liệu
Không quan tâm đến các điểm đặc biệt nhƣ điểm giá trị nhỏ nhất và lớn nhất của mỗi đoạn, giống như phương pháp PAA
2.2.2 Các cấu trúc chỉ mục
Dữ liệu chuỗi thời gian chiều dài n có thể đƣợc xem là một điểm trong không gian n chiều Sau khi thu giảm vào không gian m chiều (m 0, hai ảnh Q và C mặt dù giống nhau nhưng với phương pháp đo này thì chúng hoàn toàn khác nhau, độ đo không còn chính xác Để khắc phục điều này, các công trình đã phát triển độ đo bất biến đối với phép quay Phương pháp là khi so trùng Q và C, hoặc là C hoặc là Q sẽ đứng yên, ảnh còn lại sẽ quay Giả sử C đứng yên, Q đƣợc quay
Lần lƣợt quay/xoay Q qua các vị trí
Q n = q n , …, q1, q 2, q 3 Gọi Q là ma trận quay Q = {Q 1 , Q 2 , …, Q n }
Từ đó, hàm khoảng cách Euclid đƣợc phát triển thành hàm khoảng cách Euclid bất biến với phép quay (Rotation invariant Euclidean Distance) đƣợc phát biểu nhƣ sau
Hàm khoảng cách Euclid bất biến với phép quay: cho hai chuỗi thời gian Q và C có cùng chiều dài n, khoảng cách Euclid bất biến với phép quay giữa Q và C đƣợc xác định bằng biểu thức
Theo [24], độ phức tạp cho một phép so sánh giữa Q và C là O(n 2 ) Nếu so sánh Q với tập dữ liệu gồm m chuỗi thời gian thì độ phức tạp là O(mn 2 )
Với hàm khoảng cách Euclid bất biến với phép quay còn có thể tổng quát hóa để xử lý các trường hợp ảnh đối xứng và hỗ trợ các câu truy vấn có góc quay giới hạn
Trong một số lĩnh vực ứng dụng ví dụ như nhận dạng gương mặt, việc so trùng thường gặp phải phép đối xứng Vì vậy, nếu ứng dụng cần phải xử lý bất biến đối với phép đối xứng thì ma trận quay Q đƣợc bổ sung thêm các dòng nghịch đảo của các Q i n n n n n n q q q q q q q q q q q q q q q q q q q q q q q q
CƠ SỞ LÝ THUYẾT
Phép biến đổi Fourier rời rạc DFT trên chuỗi thời gian của ảnh
Phương pháp biến đổi Fourier rời rạc được trình bày trong phần 2.2.1.1 Phần này chỉ trình bày nội dung sử dụng biến đổi Fourier để đạt đƣợc tính bất biến trong phép quay ảnh, kỹ thuật nén trên chuỗi Fourier sau khi biến đổi từ chuỗi thời gian
Biến đổi Fourier của một dãy x đƣợc định nghĩa là:
Với chuỗi thời gian của ảnh x là một dãy các giá trị thực, các hệ số X(k) luôn có đối xứng ở dạng phức liên hợp Để đạt đƣợc tính bất biến trong phép quay khi so sánh chuỗi thời gian của 2 ảnh, [23] sử dụng giá trị các biên độ và bỏ qua các góc pha trong chuỗi biến đổi Fourier, trích lấy một vectơ gồm các giá trị biên độ không âm Ngoài ra còn có thể giảm phân nửa số chiều do tính đối xứng trên chuỗi Fourier Vectơ biên độ bất biến phép quay của ảnh có dạng:
Và khoảng cách bất biến phép quay của 2 ảnh đƣợc xác định bằng công thức:
Trong vectơ biên độ, không phải tất cả các hệ số đều quan trọng nhƣ nhau, chỉ có các biên độ giá trị lớn mới có ảnh hưởng lớn mức năng lượng [23] Từ đó, để nén một vectơ biên độ chỉ cần lưu k giá trị và vị trí biên độ có giá trị lớn nhất Giá trị k lớn hay nhỏ tùy thuộc vào tỉ lệ nén mong muốn
Ký hiệu tập p+ để chỉ các biên độ giá trị lớn nhất, tập p để chỉ các biên độ còn lại Một giá trị X hệ số lỗi thêm vào, đƣợc dùng để chứa thông tin về tập p ,
X đƣợc xác định theo công thức:
Nhƣ vậy một vectơ nén sẽ gồm k+1 thành phần gồm k biên độ lớn nhất và 1 hệ số lỗi Giá trị X ảnh hưởng đến độ chặt của hàm biên dưới được trình bày bên dưới
Giả sử cần tìm ảnh giống với ảnh có vectơ Q không nén Một hàm biên dưới cần phải có để xác định giá trị giữa vectơ nén X và vectơ không nén Q Hàm biên dưới được sử dụng trong đề tài có nguồn từ [23]
Và Q(p+) được tính theo cách nén của X, Q(p+) = (0, 2, 0, 5, 0, 0, 0, 0)
Giá trị khoảng cách giữa X và Q đƣợc tính
Trong đó, các giá trị X(p-), Q(p-) bị khuyết và kết quả sẽ không chính xác Ở đây cần tính xấp xỉ cho
Theo bất đẳng thức Cauchy-Bunyakovski-Schwarz:
Vậy hàm biên dưới được tính
Cấu trúc dữ liệu VP-Tree
Cấu trúc dữ liệu VP-Tree (Vantage Point Tree) (Yianilos, 1993) [9] [23][28] là cấu trúc dữ liệu hỗ trợ chỉ mục dựa trên việc phân hoạch hình cầu Đặc điểm của VP-Tree:
Nút nội (không phải nút lá) chứa điểm thuận lợi v, giá trị bán kính trung bình Dựa vào khoảng cách giữa v với các đối tƣợng trong tập
S sẽ chia tập S thành 2 tập con chứa các phần tử có khoảng cách với v là nhỏ hơn bằng hoặc lớn hơn bán kính trung bình nhƣ Hình 3.1 Một nút nội luôn có 2 nút con
Hình 3.1 Phân hoạch và tạo node trên VP-Tree[23]
Nút lá có thể chứa một hoặc nhiều đối tƣợng Nút lá có thể trực tiếp chứa các đối tượng hoặc con trỏ trỏ đến vị trí lưu trữ đối tượng trên bộ nhớ ngoài
3.2.1 Xây dựng VP-Tree Ý tưởng của phương pháp này là từ tập dữ liệu (điểm) ban đầu S, chọn ra một điểm thuận lợi v (vp- vantage point), sau đó tính khoảng cách giữa v và các điểm còn lại trong tập S, xác định bán kính trung bình (median) giữa các điểm và p, chia tập S ra thành 2 tập có đặc điểm
Trong đó d(v,o) là khoảng cách giữa v và o
Các đối tƣợng thuộc S nằm bên trong hình cầu, các đối tƣợng thuộc S > nằm ngoài hình cầu Tương tự gọi đệ quy lên các cây con bên trái và bên phải
Phương pháp đơn giản để chọn điểm thuận lợi là chọn ngẫu nhiên nhưng Yianilos lập luận rằng việc lựa chọn điểm thuận lợi tốt mặc dù tốn chi phí xây dựng cấu trúc nhưng bù lại hiệu quả về mặt tìm kiếm Phương pháp ông đề xuất là lấy ngẫu nhiên một tập con từ tập S ban đầu và lựa chọn một điểm thuận lợi trong số các điểm thuộc tập con đó Giải thuật lựa chọn điểm thuận lợi p trong [9] nhƣ sau
Lấy ra tập dự tuyển các điểm thuận lợi từ tập dữ liệu ban đầu
Với từng điểm thuận lợi dự tuyển thực hiện:
Lấy ra một tập ngẫu nhiên từ tập dữ liệu Tính khoảng cách từ điểm thuận lợi dự tuyển đến các điểm trong tập ngẫu nhiên
Tính trung bình và độ lệch chuẩn khoảng cách
Chọn điểm thuận lợi dự tuyển có độ lệch chuẩn khoảng cách cao nhất
Hình 3.2 Giải thuật lựa chọn điểm thuận lợi (nguồn [9])
3.2.2 Tìm kiếm lân cận gần nhất trên VP-Tree
Quá trình tìm kiếm lân cận gần nhất trên VP-Tree [9] [23] thực hiện tìm kiếm trên không gian hứa hẹn nhất bằng kiểm tra cắt tỉa nhánh trong quá trình duyệt Chiến lƣợc cắt nhánh thực hiện nhƣ sau: gọi là khoảng cách ngắn nhất có đƣợc của ảnh truy vấn đến một đối tƣợng nào đó trong tập dữ liệu tính đến thời điểm hiện tại, d(q,v) là khoảng cách giữa điểm truy vấn q và điểm thuận lợi v tại node đang duyệt Áp dụng bất đẳng thức tam giác cho thấy tập S sẽ không có bất cứ phần tử được được dự tuyển nếu d(q,v) > ( + ) và trong trường hợp này cây con bên trái sẽ bị cắt tỉa trong quá trình tìm kiếm (trường hợp a) Tương tự với tập
S > (cây con bên phải) sẽ bị cắt tỉa nếu d(q,v) > ( - ) (trường hợp b) Cả cây con bên trái và bên phải được duyệt khi ( - ) < d(q,v) < ( + ) (trường hợp c) Minh họa được trình bày như dưới
Hình 3.3 Cắt bỏ nhánh trong quá trình tìm lân cận trên VP-Tree
Với lập luận trên, quá trình tìm kiếm lân cận gần nhất thiết lập giá trị là vô cùng lớn, d(q,v) tại nút gốc đƣợc tính toán và dùng để loại bỏ an toàn các nhánh, thực hiện gọi đệ quy cho đến khi duyệt đến nút lá, khi đó giá trị khoảng cách đƣợc tính toán giữa các điểm trong tập dữ liệu và điểm truy vấn Nếu trong tập dữ liệu có điểm gần với q thì sẽ đƣợc cập nhật giá trị mới Giải thuật tìm kiếm lân cận nhất [9] nhƣ sau
// Input: điểm truy vấn q, số lân cận cần tìm n, nút gốc của vp-tree
//Output: tập hợp W chứa các lân cận của q begin
Local variable σ : to record the distance of q to the n-th nearest neighbor discovered so far
Hình 3.4 Giải thuật tìm n lân cận trên VP-Tree (nguồn [9]) q v
//Input: điểm truy vấn q, số lân cận n cần tìm, nút trên vp-tree,
//σ = khoảng cách q đến điểm lân cận hiện tại
//W: tập các điểm lân cận đang có hiện tại
//Output: cập nhật σ và W begin if node is leaf for each element v in node, if d(v,q) ≤ σ đƣa v vào W (sắp W tăng dần theo d(w,q)); if |W| = n then σ := d(w n ,q); else dist := d(node v,q); if dist < node if { dist < node + σ} then Search(q,n,node.left, σ,W); if { dist ≥ node − σ} then Search(q,n,node.right, σ,W); else if { dist ≥ node − σ} then Search(q,n,node.right, σ,W); if { dist < node + σ} then Search(q,n,node.left, σ,W); end
Hình 3.5 Giải thuật tìm kiếm lân cận trên VP-Tree (nguồn [9])
Cấu trúc dữ liệu VPC-Tree
VP-Tree có nhiều dạng biến thể, trong đó VPC-Tree là một biến thể đề xuất trong [23] Ý tưởng chính trong VPC-Tree chính là khả năng nén dữ liệu trên các nút của VP-Tree, từ đó làm giảm không gian lưu trữ cấu trúc dữ liệu cây trên bộ nhớ Đặc điểm VPC-Tree:
VPC-Tree mang đặc điểm của cấu trúc dữ liệu VP-Tree
Tại các nút nội lưu trữ các điểm thuận lợi nén
Tại nút lá lưu trữ các điểm nén kèm theo con trỏ trỏ đến dạng nguyên gốc không nén lưu trữ trên bộ nhớ ngoài
Tìm kiếm lân cận trên VPC-Tree Điểm khác biệt chính giữa cấu trúc VP-Tree truyền thống và VPC là dữ liệu tại các nút của VPC-Tree là dữ liệu nén Do đó không thể có đƣợc các giá trị đo khoảng cách cách chính xác mà phải sử dụng giá trị khoảng cách biên dưới (lower bound –LB) Công thức tính LB đƣợc trình bày tại phần 3.1.2 Theo [23], thực hiện cắt giảm nhánh trong quá trình tìm kiếm chỉ thực hiện đƣợc trên tập S , và không đủ thông tin để cắt giảm tìm kiếm trên tập S > Tập S sẽ đƣợc cắt giảm nếu LB (q , v ) > (à + σ ) Như vậy rừ ràng để được lợi về khụng gian bộ nhớ lưu trữ cấu trỳc dữ liệu nhƣng VPC-Tree không cho phép cắt giảm tìm kiếm trên tập S > Mã giả giải thuật tìm kiếm lân cận trên VPC-Tree đƣợc trình bày nhƣ hình sau
NNSearch(Q) { /* Input: Uncompressed Signature Query */ cNN.ID = NULL; cNN.distance = INF;
/* Parameter: Node of VP-tree, Uncompressed Query Signature Q, Current Nearest Neighbor */
/* queue = priority queue of compressed shape signatures sorted on LB */ if NODE.isLeaf { for each compressed time-series cT in node {
31 queue.push(cT,LB); /* sorted by LB */
} while ((!queue.empty()) && (queue.top().LB < cNN.distance)) { if (cNN.distance > queue.top().LB) { retrieve uncompressed T of queue.top() from disk; dist = D(T,Q); /* full distance */ if dist < cNN.distance { cNN.distance = dist; cNN.ID = T;
LB cắt nhánh S , tìm trên cây con S > v q dist(v,q) node dist(v,q) (node + )
=> tìm cả hai cây con S , S >
=> cắt nhánh S > , tìm trên cây con S v q dist(v,q) node dist(v,q) > (node - )
=> tìm cả hai cây con S , S >
S > dưới khoảng cách được lưu trong hàng đợi sắp xếp tăng dần theo giá trị (dòng 14) Chỉ có những ứng cử viên có giá trị biên dưới nhỏ hơn BSF.distance mới được truy xuất đến chuỗi nguyên gốc không nén để tính toán giá trị khoảng cách và cập nhật giá trị cho BSF (dòng 16 đến 21)
BSF.ID = NULL; BSF.distance = INF;
Qfft = biến đổi Fourier lấy biên độ (Q);
/* Parameter: Node of VP-tree, Uncompressed Query Signature Qfft, Current Nearest Neighbor */
/* queue = priority queue of compressed shape signatures sorted on LB */ if NODE.isLeaf { for each compressed time-series cT in node {
LB queue.top().LB) { retrieve uncompressed T of queue.top() from disk; dist = D(T,Qfft); /* full distance */
BSF.distance = dist; BSF.ID = T;
} } else { /* vantage point */ dist = D(VP,Qfft); /* full distance */ if dist < BSF.distance {
BSF.distance = dist; BSF.ID = T;
} if (dist NODE ) { Search(NODE.left,Qfft, BSF); if (dist NODE −BSF.distance) then Search(NODE.right,Qfft, BSF);
} else { Search(NODE.right,Qfft, BSF); if (dist NODE +BSF.distance) then Search(NODE.left, Qfft, BSF);
Hình 4.3 Mã giả giải thuật tìm kiếm lân cận trên VP-Tree cải tiến
Kiến trúc hệ thống
Kiến trúc hệ thống xây dựng từ kỹ thuật tìm kiếm ảnh 2 chiều dựa trên dữ liệu chuỗi thời gian của ảnh đƣợc đề xuất nhƣ Hình 4.4
Hệ thống tương tác với người dùng thông qua giao diện người dùng, nhận input và trả output
Input: chuỗi thời gian của ảnh (shape) hoặc có thể là một ảnh đƣợc đƣa vào hệ thống qua giao diện người dùng
Output: vì tập dữ liệu không thống nhất (có tập dữ liệu chỉ có chuỗi thời gian, có tập dữ liệu là ảnh) nền có thể là một chuỗi thời gian, hoặc một ảnh Để tăng tốc quá trình tìm kiếm ảnh, hệ thống sử dụng cấu trúc dữ liệu VP- Tree cải tiến để lập chỉ mục cho tập dữ liệu Kiến trúc hệ thống gồm 2 hệ thống chính: hệ thống lập chỉ mục cho tập dữ liệu và hệ thống tìm kiếm trên cấu trúc chỉ mục đã tạo
4.2.1 Hệ thống lập chỉ mục cho tập dữ liệu
Quá trình lập chỉ mục cho tập dữ liệu đƣợc thực hiện nhƣ Hình 4.5
Hình 4.4 Kiến trúc hệ thống tìm kiếm ảnh 2 chiều dựa trên dữ liệu chuỗi thời gian của ảnh
Chuỗi thời gian của ảnh (shape) hoặc shape
2 Thu giảm số chiều bằng PAA
3 Biến đổi Fourier và loại bỏ thành phần đối xứng
4 Thực hiện so trùng mẫu
Cấu trúc chỉ mục VPC
Tập dữ liệu lưu trữ trên bộ nhớ ngoài gồm: chuỗi Fourier, chuỗi thời gian, và ảnh
Hình 4.5 Lập chỉ mục cho tập dữ liệu 4.2.2 Hoạt động của hệ thống tìm kiếm trên cấu trúc chỉ mục:
- Người dùng đưa ảnh truy vấn (dạng chuỗi thời gian hoặc ảnh) vào hệ thống thông qua giao diện người dùng
- Ảnh truy vấn đƣợc chuyển sang dữ liệu chuỗi thời gianvà thực hiện chuẩn hóa dữ liệu trên chuỗi này
- Tiếp theo thực hiện giảm chiều bằng phương pháp PAA trên chuỗi thời gian của ảnh để ảnh truy vấn và tập dữ liệu cùng số chiều
- Biến đổi Fourier trên chuỗi thời gian của ảnh Lưu ý chỉ lấy thành phần biên độ của chuỗi và loại bỏ thành phần đối xứng, gọi là chuỗi Fourier của ảnh
Chuẩn hóa, giảm chiều PAA Tập dữ liệu timeseries, ảnh
Biến đổi Fourier Chuyển sang dạng timeseries
- Chuỗi Fourier của ảnh đƣợc sử dụng để tìm kiếm các ảnh lân cận dựa trên cấu trúc chỉ mục VP-Tree lập trước
- Kết quả quá trình tìm kiếm trả về ảnh gần với ảnh truy vấn nhất
THỰC NGHIỆM
Tập dữ liệu dùng cho thực nghiệm
Các tập dữ liệu đƣợc sử dụng để thực nghiệm:
Data1: 15000 chuỗi thời gian của ảnh (số chiều là 251) mũi tên (arrow head)
Hình 5.1 Tập dữ liệu 15000 ảnh mũi tên
Data2: 5844 chuỗi thời gian của ảnh tổng hợp (số chiều là 1024) Data3: 2660 ảnh sưu tầm (nguồn Internet)
Các tiêu chuẩn tiến hành thực nghiệm
5.2.1 Hệ số thu giảm truy xuất
Hiệu quả của việc lập chỉ mục thể hiện ở việc thu giảm không gian tìm kiếm, thể hiện ở hệ số thu giảm truy xuất (pruning power) Hệ số này đƣợc tính toán dựa trên tỉ số của số dữ liệu cần tính toán khoảng cách thực trên tổng số dữ liệu ban đầu
Trên thực tế, 0 < P 1, chỉ số P càng thấp, chi phí tính toán sẽ thấp, phương pháp biểu diễn và đánh chỉ mục sẽ tối ưu Chỉ số P càng cao, phương pháp đánh chỉ mục sẽ không có ích và sẽ tương đương với quá trình tìm kiếm tuần tự trên tập chuỗi ban đầu
Tiến hành thực nghiệm trên từng tập dữ liệu, chúng tôi thực hiện 100 lần truy vấn với ảnh truy vấn đƣợc lấy ngẫu nhiên từ tập dữ liệu ban đầu Cấu trúc chỉ mục sử dụng lần lƣợt các hệ số nén (k) là 2, 4, 8, 16 và số điểm tại nút lá lần lƣợt là 50 và 100 Các thông số này được sử dụng cho cả 2 phương pháp tìm kiếm lân cận trên cấu trúc VPC-Tree và VP-Tree cải tiến
5.2.2 Số lần truy xuất đĩa trong quá trình tìm kiếm
Trong các bài toán khai phá dữ liệu chuỗi thời gian, việc đánh chỉ mục thực sự cần thiết nhằm hỗ trợ tìm kiếm tương tự Việc lập chỉ mục nhằm hạn chế các thao tác truy xuất bộ nhớ ngoài Vì vậy, để so sánh hiệu suất tìm kiếm, chúng tôi so sánh số lần truy xuất đĩa khi tìm kiếm ảnh lân cận (nearest neighbor) trên cấu trúc chỉ mục
Số lần truy xuất đĩa càng nhỏ thì quá trình tìm kiếm trên chỉ mục càng tốt, số lần truy xuất đĩa càng cao, việc tìm kiếm trên chỉ mục càng không hiệu quả Quá trình tìm kiếm trên chỉ mục lý tưởng nhất khi chúng ta tìm ra được chuỗi tương tự nhất đối với chuỗi truy vấn trong 1 lần truy xuất đĩa
Trên từng tập dữ liệu, chúng tôi sử dụng hệ số nén (k) lần lƣợt là 2, 4, 8, 16 và số điểm tại nút lá là 50 và 100 cho cấu trúc VPC-Tree và VP-Tree cải tiến Số lần truy xuất đĩa đƣợc tính trung bình trong 100 lần truy vấn với ảnh truy vấn đƣợc lấy ngẫu nhiên từ tập dữ liệu ban đầu
Mặc dù số lần truy xuất đĩa là thước đo hiệu quả cho cấu trúc chỉ mục, nhưng thời gian tìm kiếm mang tính thực tế để đánh giá hiệu quả đó
Chúng tôi thực hiện 100 lần truy vấn ngẫu nhiên trên các cấu trúc VP-Tree có hệ số nén lần lƣợt là 2,4,8,16 và số điểm tại nút lá là 50 và 100 với các tập dữ liệu Thời gian tìm kiếm đƣợc lấy trung bình từ 100 lần truy vấn
5.2.4 Kích thước lưu trữ chỉ mục Đó là không gian bộ nhớ trong sử dụng để lưu trữ cấu trúc dữ liệu dùng lập chỉ mục Tiêu chuẩn này đƣợc đặt ra để đánh giá khả năng nén trên cấu trúc dữ liệu VP-Tree, VPC-Tree và VP-Tree cải tiến
Chúng tôi thực hiện gọi thủ tục tạo cấu trúc VP-Tree, VPC-Tree, VP-Tree cải tiến với các hệ số nén lần lƣợt là 2, 4, 8, 16 và số điểm tại nút là là 100 trên một tập dữ liệu Thực nghiệm ghi nhận kích thước bộ nhớ được sử dụng để lưu trữ các cấu trúc dữ liệu.
Đánh giá kết quả thực nghiệm
5.3.1 Thực nghiệm trên tập dữ liệu Data1
Tiến hành thực hiện 100 lần tìm kiếm với ảnh tìm kiếm đƣợc lấy ngẫu nhiên từ tập dữ liệu và các ảnh này đều được xoay trước khi đưa vào tìm kiếm Tập dữ liệu đƣợc lập chỉ mục bằng các cấu trúc VP-Tree cải tiến và VPC-Tree có hệ số nén k lần lƣợt là 2, 4, 8, 16 và số ảnh tại nút lá tối đa lần lƣợt là 50, 100 Kết quả thực nghiệm trên tập Data1 nhƣ sau
5.3.1.1 Hệ số thu giảm truy xuất
Hình 5.3 Hệ số thu giảm truy xuất với cây có nút lá chứa tối đa 100 ảnh
Hình 5.4 Hệ số thu giảm truy xuất với cây có nút lá chứa tối đa 50 ảnh k VP Cải tiến VPC
- Hệ số thu giảm của VP-Tree cải tiến nhỏ hơn rất nhiều so với VPC- Tree chứng tỏ VP-Tree cải tiến hiệu quả hơn VPC-Tree trong thu giảm các truy xuất.
- Giá trị hệ số thu giảm truy xuất của thực nghiệm trên cấu trúc VP- Tree cải tiến gần nhƣ là không thay đổi theo hệ số nén k
- Các ảnh đƣợc truy xuất trong quá trình tìm kiếm gồm truy xuất các ảnh tại các nút nội và truy xuất các ảnh đƣợc chứa tại nút lá Điều đó giải thích tại sao khi số ảnh tại nút lá giảm thì hệ số thu giảm cũng giảm theo
5.3.1.2 Số lần truy xuất đĩa
Thực nghiệm tiến hành nhƣ mô tả tại 5.2.3, kết quả nhƣ sau
Hình 5.5 Số lần truy xuất đĩa ứng với cây có nút lá chứa tối đa 100 ảnh
Hình 5.6 Số lần truy xuất đĩa ứng với cây có nút lá chứa tối đa 50 ảnh k VP Cải tiến VPC
- Số lần truy xuất đĩa trên cấu trúc VP-Tree cải tiến gần bằng 1 và gần nhƣ không đổi Cấu trúc VP-Tree cải tiến giảm đáng kể thao tác truy xuất bộ nhớ ngoài (đĩa) so với cấu trúc VPC
- Việc thay đổi số ảnh tại nút lá làm thay đổi chiều cao của cây Với cấu trúc VPC, khi tìm kiếm trên cây có số ảnh tối đa là 50 tốn nhiều thao tác truy xuất đĩa hơn do phải tìm kiếm trên nhiều nhánh hơn
Hình 5.7 Thời gian tìm kiếm với cây có nút lá chứa tối đa 100 ảnh
Hình 5.8 Thời gian tìm kiếm với cây có nút lá chứa tối đa 50 ảnh k VP Cải tiến VPC
- Tìm kiếm lân cận trên cấu trúc VP-Tree cải tiến tốn ít thời gian so với thực hiện tìm kiếm lân cân trên cấu trúc VPC-Tree
- Số lượng ảnh chứa tại nút lá thay đổi ảnh hưởng đến thời gian tìm kiếm vì khi chiều cao của cây thay đổi và chi phí tính toán tại nút lá và nút nội thay đổi: nút lá chứa nhiều ảnh thì chi phí tính toán nhiều tại nút lá; nút lá chứa ít ảnh dẫn đến chiều cao cây thay đổi, số nút nội tăng và chi phí tính toán trên các nút nội tăng
5.3.1.4 Kích thước bộ nhớ lưu cấu trúc
Tiến hành gọi thủ tục tạo các cấu trúc VP-Tree, VPC-Tree, VP-Tree cải tiến với hệ số nén lần lƣợt là 2, 4, 8, 16 và số lƣợng ảnh tại nút lá tối đa là 100, tập dữ liệu sử dụng là Data1 Kích thước bộ nhớ báo cáo lấy thông số kích thước bộ nhớ lưu biến trên Matlab
Hình 5.9 Kích thước bộ nhớ lưu trữ cấu trúc
- So với cấu trúc VP-Tree truyền thống thì cấu trúc VPC-Tree và VP- Tree cải tiến có kích thước giảm gấp 4 lần k VPC VP Cải tiến VP
- VP-Tree cải tiến có kích thước lưu trữ lớn hơn 3% so với VPC-Tree
5.3.2 Thực nghiệm trên tập dữ liệu Data2 và Data3
Tiến hành thực nghiệm tương tự với tập dữ liệu Data2 và Data3 kết quả thu được thống kê nhƣ sau:
Data2 Data3 ảnh tại nút lá max0 k VP Cải tiến VPC k VP Cải tiến VPC
16 0.0166 0.2845 16 0.0328 0.5714 ảnh tại nút lá maxP
Bảng 5.1 Thực nghiệm hệ số thu giảm trên tập dữ liệu Data2 và Data 3
Data2 Data3 ảnh tại nút lá max0 k VP Cải tiến VPC k VP Cải tiến VPC
16 0.9900 6.8900 16 1.1100 11.5000 ảnh tại nút lá maxP
Bảng 5.2 Thực nghiệm số lần truy xuất đĩa trên tập dữ liệu Data2 và Data 3
Data2 Data3 ảnh tại nút lá max0 k VP Cải tiến VPC k VP Cải tiến VPC
16 0.0108 0.1890 16 0.0095 0.1604 ảnh tại nút lá maxP
Bảng 5.3 Thực nghiệm thời gian tìm kiếm trên tập dữ liệu Data2 và Data 3 Nhận xét:
Thực nghiệm trên các tập dữ liệu Data2 và Data3 đều cho kết quả tương tự nhƣ thực nghiệm trên tập dữ liệu Data1.
Kết luận
Thực nghiệm cho thấy cấu trúc VP-Tree cải tiến mang lại hiệu quả so với cấu trúc VPC-Tree So với cấu trúc VPC-Tree, VP-Tree có hệ số thu giảm truy xuất thấp (khả năng thu giảm truy xuất cao), số lần truy xuất đĩa gần như lý tưởng (gần bằng 1) và thời gian tìm kiếm nhỏ Điểm nổi bật ở cấu trúc VPC-Tree đó là khả năng nén dữ liệu so với cấu trúc VP-Tree truyền thống Với đề xuất của chúng tôi, cấu trúc VP-Tree cải tiến chỉ nén dữ liệu tại nút lá và không nén các nút nội Dung lượng bộ nhớ lưu cấu trúc VP-Tree cải tiến có kích thước lớn hơn 3% so với cấu trúc VPC-Tree Đó là một giới hạn của cấu trúc VP-Tree cải tiến so với VPC-Tree Tuy nhiên điều đó hoàn toàn xứng đáng so với hiệu quả mà cấu trúc VP-Tree cải tiến mang lại.