16

Tôi đã xem xét các triển khai của các Mô hình ẩn Markov trong C++ gần đây. Tôi đã tự hỏi nếu tôi có thể sử dụng bất kỳ thư viện HMM hiện có bằng văn bản trong C + + ra khỏi đó để sử dụng với hành động công nhận (với OpenCV)?Mô hình Markov ẩn với C++

Tôi đang liên kết với AVOID "phát minh lại bánh xe"!

Có thể sử dụng Torch3Vision mặc dù (có vẻ như) nó được thiết kế để hoạt động để nhận dạng giọng nói?

Ý tưởng của tôi là, nếu chúng ta có thể chuyển đổi các vectơ tính năng vào biểu tượng/quan sát (sử dụng Vector Quantization - Kmeans clustering), chúng ta có thể sử dụng những biểu tượng cho giải mã, suy luận, tham số học (thuật toán Baum-Welch). Bằng cách này, sẽ hoạt động với Torch3Vision trong OpenCV.

Bất kỳ trợ giúp nào về điều này sẽ thực sự được đánh giá cao.

Trả lời

11

Bạn có thể xem http://www.ece.ucsb.edu/Faculty/Rabiner/ece259/Reprints/tutorial%20on%20hmm%20and%20applications.pdf cho lý thuyết đằng sau HMM. Nó không khó để thực hiện các thuật toán cho mình.

Đối với phiên bản dựa trên C, bạn có thể xem triển khai của tôi, http://code.google.com/p/accelges/, mà tôi đã thực hiện cho dự án Mã mùa hè của Google.

+0

Mã là hữu ích. Vì vậy, mã viết cho nhận dạng cử chỉ có thể được sử dụng trong Computer Vision (cho nhận dạng hành động) khi chúng ta sử dụng đúng loại vectơ đặc trưng? – garak

+1

Đúng vậy. –

5

Cũng có triển khai này mà tôi đã viết cách đây vài ngày. Nó là một lớp cho HMM rời rạc sử dụng OpenCV. Bạn có thể có một cái nhìn ở đây:

https://sourceforge.net/projects/cvhmm/

Sau lượng tử hóa các tính năng, bạn có thể chuyển đổi mỗi vector đặc trưng cho một nhãn và sử dụng chuỗi các nhãn để đào tạo một HMM rời rạc.

+0

Sakh. Tôi có một truy vấn ở đây (http://stackoverflow.com/questions/34754602/hmm-for-image-sequence-classification-in-opencv-c) liên quan đến việc sử dụng thư viện, bạn có thể tư vấn? – Benson

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