6

Tôi đã tạo một ứng dụng SIFT nhỏ lấy các điểm chính và lưu nó vào một tệp văn bản. Tôi đang sử dụng tính năng này để lấy thông tin từ biểu tượng (nói AT & T) và sử dụng nó để so sánh với các hình ảnh khác có biểu tượng đó. Vấn đề là rất nhiều hình ảnh của tôi có các biến thể của logo, do việc mở rộng quy mô, xoay hoặc chiếu sáng nó không nhận được. Tôi đã tự hỏi nếu nó có thể có được một tập hợp các hình ảnh, lấy nó keypoints, và chạy nó thông qua một số loại thuật toán đào tạo để tăng cường phát hiện.các tính năng SIFT đào tạo trong OpenCV

Tôi đã tìm kiếm trực tuyến các cách đào tạo điểm chính SIFT, nhưng tất cả chúng đều nằm trong một số loại giấy phd đi vào tất cả các thuật toán toán học này, thành thật mà nói, lớp toán học trong một thời gian.

Nếu có ai có bất kỳ lời khuyên hoặc liên kết nào để có thể hiểu được cách thức hoạt động của đào tạo hoặc những gì cần phải làm để thực hiện, vui lòng cho tôi biết. Hoặc nếu bất cứ ai có một phương tiện đơn giản hơn để làm điều này mà không có SIFT thì tôi sẽ đánh giá rất cao các hình thức phát hiện khác. Dưới đây là một danh sách những gì tôi đã cố gắng:

  • SURF
    • Không như nó đã được trả kết quả không hợp lệ
  • đặc Haar với Adaboosting
    • Không như tôi bắt đầu đào tạo 100 tích cực các mô hình có 100 hình ảnh tiêu cực vào ngày 7 tháng 11 năm 2011 và vẫn đang chạy vào ngày 7/19/2011
  • Template Matching với biến đổi khác nhau của logo cùng có và không có ngưỡng
    • Không như tôi sẽ phải theo cấp số nhân cần tạo logo dựa từ số lần nó đã không thể phát hiện bất kỳ trong hình ảnh

Cảm ơn trước

Trả lời

3

Một điểm khởi đầu đơn giản sẽ được thu thập mô tả SIFT/SURF một số AT & logo T, và sử dụng FLANN trên chúng. Sau đó, chụp ảnh thử nghiệm, tính toán các bộ mô tả và thực hiện tìm kiếm phạm vi và xác định khoảng cách lân cận gần nhất, v.v. và cố gắng tìm ra chỉ số "gần gũi".

+0

Cảm ơn lời khuyên, nhưng tôi có một câu hỏi khác về vấn đề này. Liên kết không nói gì về cây FLANN, nhưng với kiến ​​thức của tôi, tôi phải chạy số lượng biểu tượng 'n' thông qua thuật toán SIFT/SURF để trích xuất tất cả các điểm chính và mô tả. Sau đó, tôi sẽ phải làm một knnsearch trên tất cả các keypoint và descriptors và lưu ra những cái tốt nhất. Một khi tất cả những gì được thực hiện tôi có thể tải trong một hình ảnh thử nghiệm và lặp qua cây để tìm các trận đấu gần nhất? – Seb

+0

Bạn đúng, chỉ là FLANN. Ngoài ra, có đó là những gì tôi có nghĩa là trong câu trả lời của tôi. – Jacob

0

Bạn có thể sử dụng PCA để giảm số thứ nguyên và sau đó bạn có thể đào tạo một số loại trình phân loại như SVM trên tập hợp các tính năng vectơ được trích xuất từ ​​biểu tượng. bạn cũng có thể sử dụng BoW (túi từ \ tính năng). bạn cũng có thể google trên "nhận dạng logo" rất nhiều tài liệu có thể sử dụng được.

+0

Tôi luôn nghĩ rằng bạn không cần PCA với SVM? – Niki

+0

Tôi không chắc chắn nhưng http://en.wikipedia.org/wiki/Curse_of_dimensionality ít nhất là nếu bạn có vector chiều cao, bạn phải có nhiều ví dụ hơn cho SVM. – mrgloom

+0

Đúng, nhưng ai nói bạn cần ít ví dụ hơn khi bạn sử dụng PCA?Tất cả PCA làm là giảm độ dài vector đặc trưng trong khi vẫn giữ khoảng cách giữa các vectơ tương tự như bản gốc nhất có thể (theo nghĩa tối thiểu). Vì SVM (ít nhất với một hạt nhân Gaussian) chỉ sử dụng khoảng cách giữa các mẫu, PCA không nên tạo ra sự khác biệt nhiều. – Niki

Các vấn đề liên quan