Đo khoảng cách

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu cải tiến kỹ thuật phát hiện và thay thế đối tượng trong video (Trang 42 - 44)

6. Cấu trúc luận án

1.2.2.3. đo khoảng cách

Cho trước vector đặc trưng 𝑦 ∈ 𝑅(𝐷) và một tập dữ liệu vector đặc trưng 𝑋, bài toán tìm kiếm lân cận gần nhất là tìm ra một vector 𝑥(∗) ∈ 𝑋 thỏa mãn 𝑑(𝑥(∗), 𝑦) = min {𝑑(𝑥, 𝑦) | 𝑥 ∈ 𝑋}, với 𝑑(𝑥, 𝑦) là một độ đo khoảng cách.

Do không gian dữ liệu rất lớn trong đó số chiều của mỗi điểm dữ liệu lớn nên việc tìm kiếm chính xác một lân cận gần nhất là không khả thi. Vì vậy, phương pháp tìm kiếm lân cận xấp xỉ gần đúng (ANN) thường sử dụng thay cho phương pháp tìm kiếm lận cận chính xác. Các phương pháp tìm kiếm ANN tìm ra các lân cận dựa trên tính toán khoảng cách xấp xỉ giữa hai vector.

VQ được sử dụng rất hiệu quả cho bài toán tìm kiếm ANN. Lần đầu tiên ANN được đề xuất trong nghiên cứu [38] kết hợp với phương pháp lập chỉ mục PQ. Sau đó nhiều nghiên cứu được phát triển nhằm cải tiến tốc độ và độ chính xác [16].

Như đã thảo luận về cách sử dụng PQ cho bài toán nén dữ liệu để tạo ra các biểu diễn xấp xỉ. Để việc tìm kiếm có hiệu quả, cơ sở dữ liệu trước hết cần được lượng tử hóa, lập chỉ mục. Quá trình lượng tử hóa hay nén dữ liệu này được thực hiện offline nên tốc độ không phải là vấn đề trọng tâm cần nghiên cứu. Khi thực hiện tìm kiếm ANN, truy vấn 𝑦 được so sánh với các vector xấp xỉ của các vector trong cơ sở dữ liệu, như vậy kết quả nhận được là khoảng cách xấp xỉ giữa chúng. Có hai cách để tính khoảng cách xấp xỉ này dựa trên việc vector truy vấn được lượng tử hóa hay không.

Tính khoảng cách đối xứng (Symmetric distance computation - SDC). Với SDC, vector truy vấn cũng được lượng tử và so sánh kết quả lượng tử này với các biểu diễn lượng tử của các vector trong cơ sở dữ liệu,

𝑑(𝑦, 𝑥) ≈ 𝑑(𝑄(𝑦), 𝑄(𝑥)) (1.7)

Do 𝑄(. ) là một codeword trong một codebook hữu hạn, nên SDC giữa tất cả các cặp codeword thể được tính trước được chứa chúng trong một bảng tra cứu (look-up table). Tại thời điểm tra cứu, 𝑦 được lượng tử hóa và giá trị của 𝑑(𝑄(𝑦), 𝑄(𝑥)) với 𝑥  𝑋 được lấy từ bảng tra cứu, vì vậy SDC được tính toán rất nhanh. Trong trường hợp có nhiều codebook, mỗi bảng tra cứu tương ứng với mỗi codebook được tạo ra.

Tính khoảng cách bất đối xứng (Asymmetric distance computation - ADC). Với ADC, vector truy vấn gốc chưa lượng tử hóa được so sánh với các vetor trong cơ sở dữ liệu đã được lượng tử hóa.

𝑑(𝑦, 𝑥) ≈ 𝑑(𝑦, 𝑄(𝑥)) (1.8)

Với 𝑑(, ) là khoảng cách Euclidean, khi đó phương trình 1.8 có thể được viết lại thành,

𝑑(𝑦, 𝑥) ≈ ‖𝑦 − 𝑄(𝑥)‖22 (1.9)

Nếu bộ lượng tử hóa có nhiều codebook trực giao giống như trong PQ, thì phương trình 1.12 có thể được viết lại như sau:

𝑑(𝑦, 𝑥) ≈ ∑𝑀𝑚=1‖𝑦(𝑚)− 𝑄(𝑥, 𝐶(𝑚))‖ 2 2 = ∑ ‖𝑦(𝑚)− 𝑐𝑘𝑚(𝑥)‖ 2 2 𝑀 𝑚=1 (1.10)

Với mỗi vector 𝑦 chúng ta có thể tính ‖𝑦(𝑚)− 𝑐𝑘𝑚(𝑥)‖ 2 2

cho tất cả codeword với 𝑚 = {1, 2, . . . , 𝑀}, và lưu trữ 𝐾 ∗ 𝑀 giá trị này trong các bảng tra cứu. Tại thời điểm tìm kiếm, 𝑑(𝑦, 𝑥) được tính bằng tổng của 𝑀 giá trị nhận được từ bảng tra cứu này.

So sánh giữa ADC và SDC. Trong ADC vector truy vấn không cần phải lượng tử hóa, nên nó cho khoảng cách xấp xỉ chính xác hơn khi so sánh với SDC. Trong khi đó, độ phức tạp về thời gian tìm kiếm là giống nhau cho cả hai, vì đều được tìm thấy trong bảng tra cứu đã được tính toán và lưu trữ trước đó. Vì vậy ADC thường được sử dụng cho tìm kiếm ANN dựa trên PQ.

Hình 1.9. Mô hình nhận dạng hình dạng đối tượng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu cải tiến kỹ thuật phát hiện và thay thế đối tượng trong video (Trang 42 - 44)

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

(138 trang)