Một thuật toán tiêu biểu và có hiệu quả khá cao là dựa theo các đặc trưng cục bộ bất biến trong ảnh: SIFT (Scale-invariant Feature Transform) do David Lowe đưa ra từ năm 2004 và đến nay đã có nhiều cải tiến trong thuật toán. Đặc trưng được trích chọn trong SIFT là các điểm đặc biệt (keypoint), các điểm này kèm theo các mô tả về nó và một véc tơ có lấy keypoint làm điểm gốc.
Có bốn giai đoạn chính được thực hiện trong thuật toán để trích xuất các điểm đặc biệt và các đặc trưng của nó bao gồm:
Dò tìm cực trị trong không gian đo (Scale-space Extrema Detection):Bước đầu tiên này sẽ áp dụng hàm sai khác Gaussian (DoG - Deffirence of Gaussisan) để tìm ra các điểm có khả năng làm điểm đặc trưng tiềm năng (candidate keypoints), đó là những đểm rất ít phụ thuộc (bất biến) vào sự thu phóng ảnh và xoay ảnh.
Lọc và trích xuất các điểm đặc biệt (Keypoint localization):Từ những điểm tiềm năng ở trên sẽ lọc và lấy ra tập các điểm đặc trưng tốt nhất (keypoints).
Gán hướng cho các điểm đặc trưng (Oriented Assignment):Mỗi điểm đặc trưng sẽ được gán cho một hoặc nhiều hướng dựa trên hướng gradient của ảnh. Mọi phép toán xử lý ở các bước sau này sẽ được thực hiện trên những dữ liệu ảnh mà đã được biến đổi tương đối so với hướng đã gán, kích cỡ và vị trí của mỗi điểm đặc trưng. Nhờ đó, tạo ra một sự bất biến trong các phép xử lý này.
Bộ mô tả điểm đặc trưng (Keypoint Description):Các hướng gradient cục bộ
được đotrong ảnh có kích cỡ cụ thể nào đó trong vùng lân cận với mỗi điểm đặc
trưng. Sauđó, chúng sẽ được biễu diễn thành một dạng mà cho phép mô tả các tầng quan trọngcủa quá trình bóp méo hình dạng cục bộ và sự thay đổi về độ sáng.
Tập các điểm đặc biệt thu được thường phụ thuộc rất ít vào các phép biến đổi cơ bản như xoay, phóng to, thu nhỏ, tăng giảm cường độ sáng, vì vậy có thể xem đây là các đặc trưng mang tính cục bộ của ảnh. Để đối sánh và nhận dạng hai ảnh thì ta tìm tập keypoint giống nhau trong hai ảnh, dựa vào hướng và tỉ lệ để có thể biết đối tượng trong ảnh gốc đã xoay, thu phóng bao nhiêu so v ới ảnh đem đối sánh. Cách tiếp cận của thuật toán này dựa vào điểm bất biến cục bộ của ảnh, chúng được trích xuất ra, được định hướng và mô tả sao cho hai keypoint ở hai vùng khác nhau thì khác nhau. Tuy nhiên một yếu tố ảnh hưởng không nhỏ đế n tốc độ thuật toán là số lượng các keypoint được lấy ra là không nhỏ. Trung bình một ảnh kích thước 500 x 500 pixels thì sẽ trích xuất được khoảng 1000 điểm (số lượng điểm này phụ thuộc vào tùy từng ảnh và tham số lọc khác nhau). Số lượng các điểm đặ c trưng có một tầm quan trọng trong vấn đề nhận dạng đối tượng, để nhận dạng một đối tượng nhỏ trong một ảnh
chứa tập hợp các đối tượng hỗn độn thì cần ít nhất 3 điểm đặc trưng giống nhau để phát hiện và và bóc tách đối tượng.
Đối với vấn đề xây dựng một cơ sở dữ liệu ảnh và thực hiện nhận dạng đối tượng bất kì thì ban đầu thường sử dụng SIFT để tạo một hệ dữ liệu các đặc trưng (keypoints) được trích xuất từ dữ liệu ảnh gốc. Sau đó với m ỗi ảnh đối tượng đem nhận dạng ta dùng giải thuật SIFT trích xuất tập đặc trư ng từ ảnh và đem đối sánh với hệ dữ liệu đặc trưng để tìm ra tập keypoint giống nhau, từ đó nhậ n dạng đối tượng trong cơ sở dữ liệu ảnh ban đầu. Tuy nhiên việc đối sánh này cần chi phí đối sánh rất lớn đối với cơ sở dữ liệu ảnh có số lượng lớn do số lượng các đặc trưng ở mỗi ảnh là lớn.