Я только начинаю изучать OpenCV и оболочки EmguCV .NET для него и нуждаюсь в каком-то общем направлении от людей, которые понимают общую картину своих возможностей и, возможно, тех, кто занимался задачей, подобной той, Мне нужно выполнить.Частичное распознавание/классификация с OpenCV
У меня будет серия фотографий, и на каждом изображении появится объект или ничего. Объекты представляют собой металлические детали (болты) и будут укладываться на их стороне с длиной, параллельной верхней/нижней части изображения (то есть изображение берется сверху). Если есть объект, он будет одним из около 100 дискретных типов болтов, некоторые с очень похожими, но не идентичными функциями и размерами. Например, все они будут в основном прямоугольными в профиле, но будут различаться по длине и ширине (диаметру) и могут иметь головки, которые либо шестиугольные, либо круглые (которые будут видны в профиле как прямоугольные, так и в качестве второстепенного сегмента круга соответственно) или будут иметь конические головки для приложений с потайной головкой. Иллюстрация типов деталей я говорю о (это просто, чтобы показать типы деталей - мои изображения фотографий отдельных частей):
An Illustration http://donsnotes.com/home_garden/images/bolts-type.gif
мне нужно классифицировать их таким образом, что все размеры и типы дифференцированы. Болт 1-3/8 "должен классифицироваться как отличный от болта 1-1/2", даже если они имеют одинаковый диаметр и имеют один и тот же тип головки. Минимальная разница между размерами будет 1/8 ", а не стандартная 1/16".
Если это имеет значение, у меня есть хороший контроль следующее:
- освещение (но резервное освещение не будет практичным)
- Появление фона (полезно для вычитания фона, может быть ?)
- расстояние от камеры до объекта (идентичные объекты будут всегда, как представляется, тот же размер в изображениях)
- как правило, положение болта - это прокладки в горизонтальном положении на его сторона, параллельная верхним/нижним краям изображения рама. Я не могу контролировать, находится ли его голова слева или справа в изображении .
К сожалению, я не могу найти ни одной онлайн-статьи или статьи, которые напрямую касаются того, что мне нужно сделать, - но много, которые иллюстрируют более простые задачи, такие как поиск цветного шара или поиск прямоугольников. Я не могу найти ничего об идентификации и классификации каждого из большого (иш) числа разных, но похожих форм. У меня есть две предложенные книги OpenCV, и, хотя они великолепны, они, похоже, не рассматривают эту проблему.
Я нашел довольно чистые края Canny на моих образцах изображений, но из-за освещения есть много шума внутри детали. Это делает поиск чистых сегментов линии Hough довольно пятнистым.
Я не уверен, что я должен попытаться просмотреть список возможных совпадений, используя абсолютные измерения, рассчитанные путем измерения по краям Canny, а затем использовать что-то более надежное, как каскадный классификатор ...? Или что.
Я действительно просто ищу чье-то мнение по общей стратегии или точкам в правильном направлении ...
Может кто-нибудь дать мне что-нибудь, чтобы начать пытаться? Я действительно в недоумении.
Спасибо!
Хмм, это звучит как кошмарный проект разработки программного обеспечения 3 человека в месяц (или более), если это делается исключительно с помощью камеры. Вы не можете получить дополнительные сигналы? В наши дни шкала с цифровым считыванием является дешевой, и, вероятно, она значительно снизит пространство поиска. Я знаю, второй закон компьютерного зрения: «Нет проблем с компьютерным видением, которое невозможно решить с помощью достаточного количества аппаратного обеспечения» ;-) –
Рассмотрите возможность добавления дополнительных функций, отличных от функций изображения, к «сорнякам», вне зависимости от того, какой экземпляр может/не может быть. Что-то, что приходит мне в голову, это вес. Но, как утверждают другие, вы являетесь экспертом в этом домене, поэтому вам нужно быть тем, кто придумывает отличительные черты высокого уровня. К сожалению, классификация чистого изображения будет очень сложной, если вы не сможете устранить большинство вышеупомянутых шумов изображения (например, освещение). – Porkbutts
Спасибо, ребята, за ваши комментарии. Мне жаль, что я не могу взвесить их, но они находятся в [быстром] движении. Этого было достаточно, чтобы получить освещение и скорость затвора вправо. Остановка их для взвешивания не будет практичной, и я уверен, что я не могу позволить себе ничего, что могло бы надежно взвесить их в движении! –