Сегментация изображения с очень маленьким набором данных - PullRequest
2 голосов
/ 11 марта 2020

Учитывая изображение головоломки на некотором фоне (зависит от сложности задачи), определите количество головоломок на ней и классифицируйте каждую головоломку на изображении (для каждой головоломки укажите, сколько у нее полуостровов и заливов)

Фон может быть красным
(example)

Или цветным
example

Мне удалось решить (или почти решить) простую версию этой проблемы (красный фон) ) используя opencv (otsu thresholding -> dilating -> некоторые сглаживающие свертки -> findContours и затем передают контуры какому-то классификатору)

Но у меня серьезные проблемы при попытке решить сложную версию. Это


- лучшее, что я достиг на данный момент, используя порог отсу и разрушая + расширяя. Похоже, что этот метод определения порога не очень хорошо работает для жесткого фона.

Мой набор данных очень мал (менее 10 изображений), поэтому я думаю, что невозможно использовать некоторые методы сегментации глубокого обучения. Но может быть, я могу использовать некоторые предварительно обученные модели? Это моя первая проблема с резюме, поэтому я не очень разбираюсь в этом. У меня вроде нет идей, и я прошу вас помочь мне.

Спасибо!

1 Ответ

1 голос
/ 11 марта 2020

Я думаю, вам нужно использовать сопоставление по форме. Например, вы вычисляете градиенты для каждой фигуры для каждого угла поворота и масштабирования, который вы сделаете с небольшим шагом. Затем обучите детектор нейронной сети.
Для проверки экземпляра реализации: https://github.com/meiqua/shape_based_matching

...