Phân loại hình ảnh bằng các tính năng SIFT và SVM


12

Tôi hy vọng ai đó có thể giải thích cách sử dụng mô hình từ để thực hiện phân loại hình ảnh bằng các tính năng SIFT / SURF / ORB và máy vectơ hỗ trợ?

Hiện tại tôi có thể tính toán các vectơ đặc trưng SIFT cho một hình ảnh và đã triển khai một SVM, tuy nhiên tôi cảm thấy khó hiểu tài liệu về cách sử dụng mô hình từ ngữ để 'lượng tử hóa' các tính năng SIFT và xây dựng biểu đồ cung cấp các vectơ kích thước cố định, có thể được sử dụng để huấn luyện và kiểm tra SVM.

Mọi liên kết đến hướng dẫn hoặc tài liệu về chủ đề này đều được chào đón, cảm ơn

Câu trả lời:


16

Nếu bạn có thể triển khai một SVM, bạn có thể định lượng các tính năng. :)

Thông thường các tính năng được lượng tử hóa bằng cách sử dụng phân cụm k-nghĩa. Đầu tiên, bạn quyết định "kích thước từ vựng" của bạn sẽ là gì (giả sử 200 "từ trực quan"), sau đó bạn chạy phân cụm k-nghĩa cho số cụm đó (200). Các mô tả SIFT là các vectơ gồm 128 phần tử, tức là các điểm trong không gian 128 chiều. Vì vậy, bạn có thể cố gắng phân cụm chúng, giống như bất kỳ điểm nào khác. Bạn trích xuất các mô tả SIFT từ một số lượng lớn hình ảnh, tương tự như những gì bạn muốn phân loại bằng cách sử dụng các tính năng. (Lý tưởng nhất phải là một tập hợp hình ảnh riêng biệt, nhưng trong thực tế, mọi người thường chỉ nhận được các tính năng từ bộ hình ảnh đào tạo của họ.) , tức là để gán từng mô tả cho một cụm. k-nghĩa sẽ cung cấp cho bạn 200 trung tâm cụm,

Sau đó, bạn lấy từng bộ mô tả SIFT trong hình ảnh của mình và quyết định nó thuộc về 200 cụm nào, bằng cách tìm trung tâm của cụm gần nhất với nó. Sau đó, bạn chỉ cần đếm có bao nhiêu tính năng từ mỗi cụm bạn có. Do đó, đối với bất kỳ hình ảnh nào có số lượng tính năng SIFT bất kỳ, bạn có biểu đồ 200 thùng. Đó là vector tính năng của bạn mà bạn cung cấp cho SVM. (Lưu ý, các tính năng hạn là quá tải).

Như tôi nhớ lại, có rất nhiều công việc được thực hiện liên quan đến việc những biểu đồ này nên được chuẩn hóa như thế nào. Tôi có thể sai, nhưng tôi dường như nhớ lại một bài báo tuyên bố rằng một vectơ đặc trưng nhị phân (tức là 1 nếu có ít nhất 1 tính năng từ cụm này và 0 khác) hoạt động tốt hơn biểu đồ. Bạn sẽ phải kiểm tra tài liệu để biết chi tiết, và các chi tiết rất quan trọng.

Chỉnh sửa: Hộp công cụ Hệ thống Tầm nhìn Máy tính cho MATLAB hiện cung cấp túi chức năng tính năng .


Xin chào Dima, cảm ơn câu trả lời của bạn, tôi chỉ có một câu hỏi, khi bạn nói "sau đó bạn chạy cụm k-nghĩa cho số cụm đó", bạn đang chạy cụm k-mean trên đó là gì? ps Tôi gần như muốn chấp nhận câu trả lời này vì nhận xét của bạn về tính năng quá tải, tôi hoàn toàn mới đối với việc xử lý hình ảnh và tôi không thể đồng ý nhiều hơn
Jono Brogan

@JonoBrogan: Bạn nên chấp nhận câu trả lời của tôi, vì nó đúng. :) Tôi đã chỉnh sửa câu trả lời để cố gắng làm rõ k-nghĩa.
Dima

Liệu nó có ý nghĩa bây giờ?
Dima

Vâng, cảm ơn. Tôi đã chấp nhận câu trả lời, mặc dù tôi chỉ tự hỏi liệu bạn có biết bạn quyết định sử dụng bao nhiêu "từ trực quan" không?
Jono Brogan

3
Nhưng vấn đề lớn nhất là thuật toán Kmeans không cho kết quả như vậy luôn. Nó là rất ngẫu nhiên.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.