Để giải quyết bài toán trên ta sử thuật toán “Phép biến đổi đặc trưng bất biến tỷ lệ” (Scale Invariant Feature Transform – SIFT) đã được mô tả chi tiết ở chương 2. Đây là một trong những phương pháp hiệu quả để trích chọn các điểm bất biến và xây dựng nên các đặc trưng có tính phân biệt cao từ các ảnh được dùng để thực hiện so khớp tin cậy giữa các tầm nhìn khác nhau của cùng một đối tượng. Phương pháp này gồm 4 giai đoạn chính: phát hiện các cực trị trong không gian tỷ lệ, định vị chính xác điểm khóa, gán hướng cho các điểm khóa và xây dựng đặc trưng. Được trình bày vắn tắt lại như sau:
* Phát hiện cực trị trong không gian tỷ lệ
Giai đoạn đầu tiên của quá trình trích chọn các điểm bất động là tìm kiếm trên tất cả các tỷ lệ và các vị trí ảnh có thể để xác định các điểm quan tâm tiềm tàng mà chúng bất biến khi có sự thay đổi về tỷ lệ và phép quay.
Xây dựng một thể hiện không gian tỷ lệ cho một ảnh sử dụng hàm L(x,y,) được tạo bởi phép cuộn ảnh đầu vào I(x,y) với hàm Gaussian biến thiên tỷ lệ
G(x,y,):
L x y( , , ) G x y( , , ) I x y( , )
Chúng ta xét các điểm đặc trưng mà ở đó hàm D(x,y,) đạt được các cực trị địa phương, hàm này được tạo ra dựa vào sự chênh lệch giữa hai mức tỷ lệ lân cận được phân biệt bởi thừa số k:
D x y( , , ) L x y k( , , ) ( , , ) L x y
* Định vị điểm khóa
Một khi các cực trị địa phương của hàm D(x,y,) được tìm thấy, thì việc tiếp theo đó là định vị chính xác các điểm khóa, vì có thể có rất nhiều cực trị được phát hiện nhưng chỉ có một lượng nhất định các điểm khóa là ổn định và đặc trưng. Để định vị chính xác điểm khóa ta thực hiện chỉnh chi tiết vị trí của các điểm khóa ứng cử cho phù hợp với dữ liệu lân cần về vị trí, tỷ lệ, và tỷ lệ của các độ cong chủ yếu. Thông tin này cho phép loại bỏ các điểm có độ tương phản thấp hoặc các điểm được định vị kém dọc theo biên.
Hướng tiếp cận này sử dụng phép khai triển Taylor của hàm không gian tỷ lệ D(x,y,): 2 T 2 1 (x) x x x x 2 x T D D D D
Vị trí của cực trị được cho bởi công thức như sau:
2 1 2 x x x D D
Nếu |D( x)| thấp hơn ngưỡng thì vị trí ứng cử đó bị loại bỏ. Trong chương trình ta sử dụng một ngưỡng là 0.03 để loại bỏ các cực trị không ổn định. Khi đó các giá trị riêng của ma trận Hessian H:
H xx xy xy yy D D D D
được tính, và vị trí ứng cử bị loại bỏ nếu giá trị riêng nhỏ nhất thấp hơn ngưỡng.
* Gán hƣớng
Một hoặc nhiều hơn một hướng được gán cho mỗi vị trí điểm khóa dựa vào các hướng gradient ảnh cục bộ. Tất cả các thao tác sau này được thực hiện trên dữ liệu ảnh đã bị biến đổi có liên quan đến hướng được gán, tỷ lệ, và vị trí đối với mỗi điểm khóa, vì vậy cung cấp sự bất biến đối với các phép biến đổi này.
Để tính toán hướng cho điểm khóa (xk,yk,k) ta sử dụng gradient của ảnh
L(xk,yk,k) được chọn ở một tỷ lệ thích hợp. Chúng ta tính toán biểu đồ hướng gradient của L trong một vùng ảnh được đặt ở vị trí (xk,yk). Mỗi mẫu của biểu đồ hướng được gán trọng số bởi cường độ gradient. Hướng của điểm khóa được gán cho các đỉnh trong biểu đồ hướng.
* Xây dựng đặc trƣng
Đặc trưng được xây dựng bằng cách tạo ra một bộ mô tả cho mỗi điểm khóa. Một bộ mô tả được hình thành bằng việc lấy mẫu các cường độ và hướng gradient của vùng ảnh xung quanh vị trí điểm khóa, ở đó các hướng được biểu diễn có liên quan đến hướng của điểm khóa. Các biểu đồ hướng được tính trên 4x4 vùng mẫu. Mỗi biểu đồ có 8 bin hướng, vì vậy bộ mô tả có tổng cộng 128 phần tử.
* So khớp đặc trƣng
Sau khi trích chọn các đặc trưng từ ảnh huấn luyện và ảnh truy vấn, bước tiếp theo là tiến hành nhận dạng đối tượng. Nhận dạng đối tượng được thực hiện bằng cách so khớp mỗi đặc trưng một cách độc lập tới một cơ sở dữ liệu (CSDL) các đặc trưng được trích chọn từ các ảnh huấn luyện. Một so khớp ứng cử tốt nhất cho mỗi đặc trưng được tìm thấy bằng việc xác định láng giềng gần nhất của nó trong CSDL các đặc trưng. Láng giềng gần nhất được xác định bởi đặc trưng có khoảng cách Euclide ngắn nhất.