Как написать модель гауссовой смеси в С++ и Opencv

Я хочу отслеживать объект в видео. Поэтому я полагаю, что мог бы использовать «Гауссовые модели смеси» в Opencv и C++. Я хочу знать, как писать модели гауссовых смесей на С++. Есть ли для этого алгоритмы лучше, чем GMM?


person Thar1988    schedule 27.05.2012    source источник
comment
Вам лучше начать с объяснения типа объекта, который вы хотите отслеживать, и немного о приложении, а затем спросить, какие типы методов подходят для его отслеживания. GMM здесь может быть неуместным, поэтому начинать думать о том, как реализовать GMM, непродуктивно.   -  person Chris A.    schedule 27.05.2012
comment
Большое спасибо за ваш ответ. Я хочу отслеживать дорожные знаки на дороге (но нет необходимости определять, что это за знак на этом этапе. Это делается другой функцией проекта). читая исследовательские работы, я получил некоторое представление о GMM, и я думаю, что лучше определить такие основные формы (прямоугольная, круглая и треугольная форма), есть ли для этого какой-либо хороший алгоритм, чем GMM.   -  person Thar1988    schedule 27.05.2012


Ответы (1)


Извините, что не отвечаю на вопрос напрямую, но:

Чтение научных статей — это прекрасное занятие, но, честно говоря, на этом этапе вы получите гораздо больше знаний, попробовав свои собственные идеи на конкретных данных и лучше поняв проблему.

Если вы знаете формы, вероятно, лучше использовать обобщенное преобразование Хафа или согласованный фильтр для оценок положения в сочетании с фильтром Калмана для отслеживания. Их будет относительно легко реализовать. Или, может быть, вы можете найти существующие реализации.

Кроме того, я бы прототипировал вашу идею в Matlab или Octave вместо C++, если вы не очень хороший программист на C++, поскольку в конечном итоге вы потратите большую часть своего времени на проблемы в C++, когда вы действительно хотите сосредоточиться на самой проблеме. на.

Как я уже сказал в комментарии, я пока не буду использовать GMM, пока вы не поймете лучше проблему и то, как вы собираетесь их использовать. (Если, конечно, у вас уже есть хорошее представление о том, как вы будете их использовать.)

person Chris A.    schedule 27.05.2012
comment
Большое спасибо за ваш ответ, сэр. да, я мог понять, что я должен попробовать свои собственные идеи, чтобы получить хорошее представление о проблеме, и я стараюсь изо всех сил, чтобы сделать это. поэтому я немного кодировал, но я не знаю, что даст лучший результат. Что я сделал, так это сначала извлек изображения из видео, и эта часть сделана прямо сейчас. следующая часть определяет формы этих изображений. я не знаю, что это будет работать правильно, потому что это состоит из двух шагов, чем хорошо известные алгоритмы С++. и я желаю вашего ценного совета для этого. - person Thar1988; 27.05.2012
comment
(другое дело, проект должен использовать opencv и С++ в соответствии с заданием, предоставленным коллажем) - person Thar1988; 27.05.2012
comment
Но ничего не было сказано об использовании языков Matlab/easy для прототипирования. Нет смысла реализовывать то, что не работает в OpenCV, это пустая трата времени. Я согласен с Крисом А., не используйте GMM. По крайней мере, не сейчас. Начните с преобразований Хафа. Реализуйте это. Поймите, почему это работает или что мешает ему работать. Рассмотрим некоторые улучшения. Рассмотрим предварительную обработку. Если вы начнете с GMM прямо сейчас, а) какие параметры вы собираетесь использовать и б) что, если они не работают, и вы не знаете, почему ..? - person Birgit P.; 29.05.2012
comment
можем ли мы использовать преобразование Хафа для обнаружения объектов в видеокадре? - person Thar1988; 02.06.2012