Cuối cùng và đơn giản hóa một chút, tất cả những gì bạn cần để phát hiện đối tượng cụ thể trong hình ảnh là:
- Localize "điểm hấp dẫn" để trích xuất các bản vá lỗi:
Để có được điểm quan tâm, bạn có thể sử dụng một số thuật toán như máy dò góc Harris, ngẫu nhiên hoặc một cái gì đó đơn giản như cửa sổ trượt.
- Từ những điểm này có được các bản vá lỗi:
Bạn sẽ phải mất decission kích thước vá.
- Từ các bản vá này, tính toán mô tả tính năng. (như HOG).
Thay vì HOG bạn có thể sử dụng một mô tả tính năng khác như SIFT, SURF ...
Việc triển khai HOG không quá khó. Bạn phải tính toán độ dốc của bản vá được trích xuất khi áp dụng các hạt nhân Sobel X và Y, sau đó bạn phải chia miếng vá trong các ô NxM, ví dụ 8x8 và tính toán biểu đồ các gradient, góc và độ lớn. Trong liên kết sau đây bạn có thể nhìn thấy nó giải thích chi tiết hơn: HOG Person Detector Tutorial
- Kiểm tra vector đặc trưng của bạn trong việc phân loại đào tạo trước đây
Một khi bạn đã vector này, kiểm tra xem nó là đối tượng mong muốn hay không với một trình phân loại được đào tạo trước đây như SMV. Thay vào đó SVM bạn có thể sử dụng NeuralNetworks chẳng hạn.
Triển khai SVM có nhiều ý nghĩa hơn, nhưng có một số thư viện như opencv mà bạn có thể sử dụng.
Tôi hơi muộn nhưng với một ví dụ đơn giản và thẳng về phía trước SEE: http://stackoverflow.com/questions/6090399/get-hog-image-features-from-opencv-python – jmunsch