Các điểm đặc trưng SIFT thu gọn này sẽ được đưa vào huấn luyện bằng phương pháp LNBNN. Để giảm bớt thời gian tìm kiếm K-hàng xĩm gần nhất, LNBNN sử dụng thư viện FLANN hỗ trợ tạo cấu trúc dữ liệu KD-TREE, một cấu trúc dữ liệu cho phép tìm kiếm K hàng xĩm gần nhất của một véc tơ cĩ số chiều lớn trong thời gian ngắn. Chúng tơi so sánh thời gian chạy của thuật tốn với dữ liệu SIFT nhị phân bằng các phương pháp tìm kiếm khác nhau như tìm kiếm tuyến tính, tìm kiếm với multi-index hashing với thời gian chạy của SIFT ban đầu.
5.2.3. Bảng băm đa chỉ số
Bảng băm đa chỉ số (Multi index hashing - MIH) được Norouzi đề xuất cho bài tốn tìm kiếm K hàng xĩm gần nhất với dữ liệu nhị phân với độ đo khoảng cách Hamming [Norouzi, 2012] . Trong phương pháp tìm kiếm này,
Thuật tốn: SIFT_REDUCE
Đầu vào: tập đặc trưng SIFT từ dữ liệu huấn luyện
Đầu ra: Tập đặc trưng SIFT thu gọn
1. Tính giá trị trung vị cho các thành phần của đặc trưng SIFT
2. Với mỗi đặc trưng SIFT trong dữ liệu
3. Với mỗi thành phần của điểm đặc trưng SIFT
4. Nếu giá trị của thành phần lớn hơn giá trị mediani thì giá trị được gán thành 1.
5. Ngược lại giá trị được gán là 0
các mã nhị phân từ cơ sở dữ liệu được chia thành m phần rời nhau, sau đĩ xây dựng bảng chỉ mục ứng với mỗi này. Ứng với mỗi truy vấn, K hàng xĩm gần nhất của mỗi đoạn con của truy vấn sẽ được coi là ứng viên của K hàng xĩm gần nhất của tồn bộ truy vấn. Các hàng xĩm tiềm năng này sẽ được kiểm tra bằng cách sử dụng tồn bộ mã truy vấn nhị phân ban đầu để loại bỏ các hàng xĩm khơng thuộc K-hàng xĩm gần nhất. Độ lớn của các chuỗi con phải được chọn sao cho tập ứng viên nhỏ và đảm bảo hợp lý trong việc lưu trữ. Thuật tốn xây dựng bảng băm đa chỉ số được trình bày trong thuật tốn 5.2, thuật tốn tìm kiếm K hàng xĩm gần nhất được trình bày trong thuật tốn 5.3.