Извлечение правильных контуров в изображениях Лапласа - PullRequest
1 голос
/ 24 января 2020

Начиная с кадров, выглядящих следующим образом: enter image description here

Я использую BackgroundSubtractorMOG2 для обнаружения движения в кадрах и выделения областей, представляющих интерес, где я использую билитеральный фильтр, а также применяются EquizeHist и Afterword Laplacian и Threshhollding.

Я получаю разумные края Laplacian и шумовые маски через порог после применения различных фильтров изображения, как здесь: enter image description here

однако, я не уверен, как Теперь я могу извлечь правильный контур объекта (слева вверху), чтобы сегментировать его.

Ответы [ 2 ]

1 голос
/ 24 января 2020

Это сложнее, чем кажется на первый взгляд. Моим решением было бы обучить сеть для этой задачи. Если вы хотите сегментировать мышь, вам нужно собрать несколько сотен картинок из разных контекстов. Может быть, 100 может дать вам уже удовлетворительный результат. Я бы использовал трансферное обучение (это означает использование сети, уже обученной некоторым другим данным). Используя следующий репозиторий, это не так сложно: https://github.com/qubvel/segmentation_models Для увеличения данных я бы использовал imgaug: https://imgaug.readthedocs.io/en/latest/

С решением, не использующим Deep, вы можете использовать анализ текстуры. Для этого я использовал бы разложение Габора, вы, вероятно, могли видеть разницу между текстурой фона и мышью. Однако нейронные технологии кажутся более простыми и более модными для изучения.

Вам также следует подумать о покупке нового устройства обработки изображений и / или проектора с ИК-подсветкой, если у вас такой низкий контраст. Только с ИК-камерой Raspberry PI вы получите невероятные изображения по сравнению с ними, и ваше обнаружение может работать без каких-либо изменений.

0 голосов
/ 24 января 2020

Вы можете попробовать использовать opencv для обучения каскада Хаара для обнаружения мыши.

Это часто используется в распознавании лиц / распознавании объектов в видео - это кажется довольно эффективным.

Вы можете см. полезные вопросы и ответы о том, как это сделать, здесь:

Как создать каскад Haar (. xml файл) для использования в OpenCV?

Как упоминалось в другой ответ, трансферное обучение больше не является обременительным. Вам просто нужны тренировочные данные, которые понадобятся Хаару. В противном случае вам придется его смоделировать.

Можно даже подумать о шаблонировании мыши ?

...