Một cải tiến cấu trúc cây RG-Tree

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống truy vấn ảnh tương tự theo nội dung dựa trên cấu trúc cây r tree (Trang 28 - 31)

CHƯƠNG III HỆ TRA CỨU ẢNH DỰA TRÊN CẤU TRÚC CÂY R-TREE

3.2. Một phương pháp cải tiến cho bài toán tìm kiếm ảnh dựa trên cây R-Tree

3.2.2. Một cải tiến cấu trúc cây RG-Tree

Tuy nhiên, theo [27] việc xác định đường đi của một phần tử p bất kỳ giới hạn bởi khoảng cách cách từ p đến tậm cụm Ri , cụ thể là 𝑑𝒊 = 𝑑𝑖𝑠𝑡(𝑝, 𝑓𝑐𝑖). Trong trường hợp này giả sử có tồn tại một cụm Rj ≠ 𝑅𝑖 mà 𝑑𝑖 = 𝑑𝑗, hoặc 𝑑𝑖 ≅ 𝑑𝑗 thì gây khó khăn cho việc xác định cụm chứa p. Trên cơ sở đó, cây KNN_R-Tree được xây dựng có cấu trúc tương tự cây RG-Tree. Chúng tôi cải tiến bằng cách kết hợp kỹ thuật KNN để tìm K láng giềng gần nhất vào quá trình xây dựng cây KNN_R-Tree và quá trình tìm kiếm ảnh tương tự trên cây nhằm khắc phục được khó khăn trong việc tìm một đường đi đúng cho một phần tử p.

Trong bài tốn này, chúng tơi sử dụng kỹ thuật học máy KNN xác định số láng giềng gần nhất của phần tử p theo công thức Định nghĩa 4.

Định nghĩa 4: (Eps-neighborhood) Gọi D là tập cơ sở dữ liệu không gian đa

chiều. EpsNeighborhood của phần tử p, ký hiệu là NEps(p, D), được xác định bởi

𝑁𝐸𝑝𝑠(𝑝, 𝐷) = {𝑞 ∈ 𝐷 | 𝑑𝑖𝑠𝑡(𝑝, 𝑞) ≤ 𝜀}, với 𝜀 là ngưỡng cho trước.

Theo Định nghĩa 4, chúng ta sẽ tìm số láng giềng gần nhất của phần tử p trong các cụm để xác định cụm chứa p, phần tử p sẽ có khuynh hướng đi theo cụm nào có số láng giềng nhiều hơn.

Gọi 𝑑𝑖, 𝑑𝑗 là khoảng cách từ p đến tâm cụm 𝑅𝑖, 𝑅𝑗; 𝑛𝑖, 𝑛𝑗 lần lượt là số láng giềng của p đối với 𝑅𝑖, 𝑅𝑗. Trong trường hợp bài toán này, nếu 𝑑𝑖 ≅ 𝑑𝑗 và 𝑛𝑖 ≫ 𝑛𝑗 thì phần tử p sẽ có khuynh hướng đi theo nhánh có số láng giềng nhiều hơn. Trên cơ sở đó, chúng tơi xây dựng một độ đo giảm độ sai biệt của một phần tử p bất kỳ đến một cụm theo

Định nghĩa 5 sau đây:

Định nghĩa 5: Cho một cụm 𝑅 = {𝑓1, 𝑓2, … 𝑓𝑀} thuộc vào tập dữ liệu D. Độ đo

giảm sự sai biệt của một phần tử p đến cụm R, ký hiệu là 𝑅𝑒𝐷𝑖𝑓𝑓(𝑝, 𝑅) được xác định bởi 𝑅𝑒𝐷𝑖𝑓𝑓(𝑝, 𝑅) = 𝐷𝐼𝑆𝑇(𝑝, 𝑅) − 𝜇 ∗ 𝑆𝑖𝑔𝑚𝑜𝑖𝑑(|NEps(p)|/|R|). Trong đó, 𝜇 là tham số điều chỉnh, Sigmoid(x) là hàm chuẩn hóa.

Bổ đề 1. Cho một cụm 𝑅 = {𝑓1, 𝑓2, … 𝑓𝑀} thuộc vào tập dữ liệu D, tâm cụm R, ký hiệu là 𝑓𝑐, được xác định bởi 𝑓𝑐 = 1

𝑀∑ 𝑓𝑀 𝑖 1 .

Bổ đề 2. Cho một cụm 𝑅 = {𝑓1, 𝑓2, … 𝑓𝑀} thuộc vào tập dữ liệu D. Khoảng cách từ một phần tử bất kỳ p đến cụm R, ký hiệu là 𝐷𝐼𝑆𝑇(𝑝, 𝑅), được xác định bởi 𝐷𝐼𝑆𝑇(𝑝, 𝑅) = 𝑑𝑖𝑠𝑡(𝑝, 𝑓𝑐).

Độ đo giảm sự sai biệt của một phần tử p đến một cụm nhằm mục đích xác định được đường đi tốt nhất cho phần tử p dựa vào số láng giềng gần nhất của p. Độ đo này được minh họa như trong hình.

Hình 5. Minh họa độ đo giảm sự sai biệt trong KNN_R-Tree

Trong Hình 5, ta thấy rằng 𝑑(𝑝, 𝑓𝑐𝑖) < 𝑑(𝑝, 𝑓𝑐𝑗), tức là khoảng cách từ phần tử

p đến tâm cụm Ri gần hơn khoảng cách từ phần tử p đến tâm cụm Rj. Tuy nhiên, số phần

tử láng giềng trong phạm vi bán kính 𝜀 của phần tử p đối với cụm Ri, |𝑁𝑒𝑝𝑠(𝑝, 𝑅𝑖)| = 1, số phần tử láng giềng trong phạm vi bán kính 𝜀 của phần tử p đối với cụm Rj,

|𝑁𝑒𝑝𝑠(𝑝, 𝑅𝑗)| = 3. Do đó, từ độ đo giảm độ sai biệt, có khả năng 𝑅𝑒𝐷𝑖𝑓𝑓(𝑝, 𝑅𝑗) < 𝑅𝑒𝐷𝑖𝑓𝑓(𝑝, 𝑅𝑖) và phần tử p sẽ có khuynh hướng đi theo nhánh có láng giềng nhiều hơn.

𝑅𝑒𝐷𝑖𝑓𝑓(𝑝, 𝑅𝑖) = 𝑑(𝑝, 𝑓𝑐𝑖) − 𝜇 ∗ 𝑆𝑖𝑔𝑚𝑜𝑖𝑑(|𝑁𝑒𝑝𝑠(𝑝, 𝑅𝑖)|/|𝑅𝑖|) 𝑅𝑒𝐷𝑖𝑓𝑓(𝑝, 𝑅𝑗) = 𝑑(𝑝, 𝑓𝑐𝑗) − 𝜇 ∗ 𝑆𝑖𝑔𝑚𝑜𝑖𝑑(|𝑁𝑒𝑝𝑠(𝑝, 𝑅𝑗)|/|𝑅𝑗|)

Cấu trúc cây KNN_R-Tree gồm một nút gốc, nhiều nút trong và các nút lá. Mỗi nhánh trên cây là một cụm, mỗi cụm chứa nhiều nút lá. Các phần tử có xu hướng hội tụ về các lá trên cây. Khi chèn một phần tử vào cây được xác định bởi giá trị 𝜃 như trong

Định nghĩa 6 và 𝜉 trong Định nghĩa 7, cụ thể như sau:

Định nghĩa 6: (Nhóm) Một nhóm R là một tập con không rỗng của D. Một phần

tử p thuộc nhóm R được định nghĩa như sau: 𝑅𝑒𝐷𝑖𝑓𝑓(𝑝, 𝑅) ≤ 𝜃, với 𝜃 là một ngưỡng cho trước.

Định nghĩa 7: Một phần tử p bất kỳ được gọi là hội tụ nếu thỏa: 𝑅𝑒𝐷𝑖𝑓𝑓(𝑝, 𝑅) ≤

𝜉, với 𝜉 là một ngưỡng cho trước (0 < 𝜉 < 𝜃).

Tại thời điểm ban đầu, cây KNN_R-Tree chỉ gồm một nút gốc chứa các liên kết là rỗng. Sau đó, từng phần tử 𝐸𝑖 được thêm vào cây để tạo ra các nhánh tương ứng với các nút lá trong cây dựa trên độ đo giảm sự sai biệt 𝑅𝑒𝐷𝑖𝑓𝑓(𝑓𝑖, 𝑅𝑗). Quy tắc phân bố các phần tử trên cây được định nghĩa như sau:

Quy tắc phân bố phần tử trong cây:

Phần tử trong cây KNN_R-Tree, bắt đầu thực hiện từ nút gốc và lần lượt thực hiện theo các quy tắc sau:

Quy tắc 1: Chọn hướng đi từ nút hiện hành đến các nút của nhánh kế cận và

chọn nhánh có khoảng cách 𝑅𝑒𝐷𝑖𝑓𝑓(𝑓𝑖, 𝑅𝑗) ngắn nhất.

Quy tắc 2: Nếu 𝑅𝑒𝐷𝑖𝑓𝑓(𝑓𝑖, 𝑅𝑗) ≤ 𝜃 thì đi theo nhánh đó và tìm nhánh con phù hợp tiếp theo đến khi gặp nút lá, có 3 trường hợp sau đây:

1) Nếu 𝑅𝑒𝐷𝑖𝑓𝑓(𝑓𝑖, 𝑅𝑗) < 𝜉 thì đưa phần tử 𝑓𝑖 vào nút lá hiện hành (nút lá có tâm 𝑓𝑐𝑗).

2) Nếu 𝜉 ≤ 𝑅𝑒𝐷𝑖𝑓𝑓(𝑓𝑖, 𝑅𝑗) ≤ 𝜃 thì tạo một nút lá mới (𝑛𝑒𝑤𝐿𝑒𝑎𝑓) để chứa 𝑓𝑖 và một nút cha mới liên kết đến nút lá có tâm 𝑓𝑐𝑗 và nút 𝑛𝑒𝑤𝐿𝑒𝑎𝑓.

3) Nếu 𝑅𝑒𝐷𝑖𝑓𝑓(𝑓𝑖, 𝑅𝑗) > 𝜃 thì tạo một nút 𝑛𝑒𝑤𝐿𝑒𝑎𝑓 để chứa 𝑓𝑖 có cùng cha với nút lá hiện hành.

Quy tắc 3: Nếu 𝑅𝑒𝐷𝑖𝑓𝑓(𝑓𝑖, 𝑅𝑗) > 𝜃 thì tạo một nút 𝑛𝑒𝑤𝐿𝑒𝑎𝑓 để chứa 𝑓𝑖 có cùng cha với nút lá hiện hành.

Vì dữ liệu ảnh được gia tăng nhanh chóng, do đó cây RG-Tree phải có khả năng tăng trưởng để phù hợp cho việc lưu trữ dữ liệu ảnh.

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống truy vấn ảnh tương tự theo nội dung dựa trên cấu trúc cây r tree (Trang 28 - 31)

Tải bản đầy đủ (PDF)

(49 trang)