Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Алгоритмы > Распознование объекта на однотонном фоне


Автор: FasterHarder 10.10.18, 22:44
Всем хай! Сходу к делу!
Подается изображение. На этой картинке фон может быть любым, но однотонный, например, синий, коричневый и т.п.
Есть объект - прямоугольный параллелепипед (далее ПП) цельный однотонный. ПП имеет фиксированные размеры и цвет. Цвет ПП и фон МОГУТ СОВПАДАТЬ!
Помимо ПП могут быть другие объекты, но они не перекрывают ПП ни в одной точке. В том числе ПП МОЖЕТ НЕ БЫТЬ НА ИЗОБРАЖЕНИИ. Также ПП может появиться в любом месте картинки, но весь целиком, а не частично...

Что нужно. Нужно распознать ПП и, если он есть на картинке, то выделить его угловые точки.

Как называется алгоритм, который позволяет качественно сделать такое распознавание? спс...

Автор: Mikle 11.10.18, 05:32
Просто искать на изображении пятна с 4-мя, 5-ю (если проекция перспективная) или 6-ю углами. Потом проверять на сходимость в одной точке линий, содержащих проекции противоположных сторон.

Уточняю:
В случае изометрии противоположные стороны 4-х..6-ти угольника должны быть попарно параллельны, углы не менее 90 градусов.
В случае перспективы всё сложнее, сходимость линий в одной точке можно проверить только в одной из 4-х возможных позиций ПП относительно камеры, в остальных случаях будут более сложные расчёты.

Автор: MBo 11.10.18, 05:37
>Цвет ПП и фон МОГУТ СОВПАДАТЬ!

Негр ночью уголь ворует ?

Автор: FasterHarder 11.10.18, 09:11
Mikle, а есть какое-то офиц.название алгоритма? или тут нужно самому кумекать) + еще разбираться в этих проекциях(

Добавлено
Mikle, эта чешуя вообще не подойдет для моего случая, да?
Гибридный алгоритм распознавания образов

Автор: Mikle 11.10.18, 10:44
Цитата FasterHarder @
Цвет ПП и фон МОГУТ СОВПАДАТЬ!

Это в юмор.
Цитата FasterHarder @
эта чешуя вообще не подойдет для моего случая, да?

Все универсальные алгоритмы гораздо сложнее. У нас имеется проекция параллелепипеда - 4-х, 5-ти, 6-ти угольник. Он фиксированного цвета, цвет фона тоже. Остаётся найти все пятна нужного цвета на картинке и определить, какие из них могут быть проекцией параллелепипеда.

Вот это непонятно:
Цитата FasterHarder @
ПП имеет фиксированные размеры и цвет

Речь про размер, ведь он зависит от расстояния (если проекция перспективная).
Может в первом сообщении вообще допущена ошибка, и речь не о параллелепипеде, а о параллелограмме? Тогда и разговор про размер имеет смысл.

Автор: Pavia 11.10.18, 17:15
FasterHarder
1. Вы неправильно подходите к решению поставленной задачи. Вам ненужно самостоятельно добывать руду выплавлять сталь сверлить дырки что-бы сделать молоток; гвозди, дрель и таки повесить полочку.
Что вы должны? Выбрать правильный инструмент. Если Си++ то это OpenCV.
2. Данная область ещё не созрела до алгоритмов. Тут пока что методы.
Задача распознавание решается применением любого алгоритма классификации:
2.1 Нейронные сети.
2.2 Метод опорных векторов
2.3 Деревья решений(вероятностные деревья решений)

Цитата FasterHarder @
Помимо ПП могут быть другие объекты, но они не перекрывают ПП ни в одной точке.

Отлично, значит у вас уже есть образцы для отрицательного подкрепления.

Цитата FasterHarder @
Также ПП может появиться в любом месте картинки, но весь целиком, а не частично...

Это прямая подсказка на применение метода скользящего окна. Распознавание это скользящее окно плюс классификатор.

Цитата FasterHarder @
Цвет ПП и фон МОГУТ СОВПАДАТЬ!

Это вам указания по тренировки классификатора.

Цитата Mikle @
Это в юмор.

Нет не в юмор. Это классическое описание пользователя. А он в среднем не более 7 цветов знает. Так что вы как разработчик должны детализировать требования заказчика. С точки зрения программиста цвет кодируется моделью HSV, а один цвет пользователя это равенство поля Hue(тон). Вот и получается что при совпадении цветов мы можем различить ПП от фона за счёт разной насыщенности или яркости.

Автор: amk 12.10.18, 00:01
Цитата Pavia @
FasterHarder
1. Вы неправильно подходите к решению поставленной задачи. Вам ненужно самостоятельно добывать руду выплавлять сталь сверлить дырки что-бы сделать молоток; гвозди, дрель и таки повесить полочку.
Из всего перечисленного, всё же придётся самостоятельно просверлить дырки. Кроме того придётся забить в них дюбели и ввернуть шурупы. И сделать это придётся качественно. Иначе полочка держаться не будет.
И если дрель является довольно сложным объектом, то изготовление молотков когда-то входило в программу средней школы по труду.

Mikle предложил метод, почти идеально подходящий именно для описанной задачи. Поскольку фон однотонный, а объекты не перекрываются, не представляет проблемы, даже написав все необходимые функции самостоятельно, выделить на картинке все объекты, найти их контуры, превратить эти контуры в многоугольники (векторизовать), и проанализировать, могут ли эти многоугольники быть проекциями параллелепипеда заданного размера.

Автор: OpenGL 12.10.18, 11:03
Цитата amk @
И если дрель является довольно сложным объектом, то изготовление молотков когда-то входило в программу средней школы по труду.

С выплавкой бойка?

Автор: amk 15.10.18, 11:02
Цитата OpenGL @
С выплавкой бойка?
Нет из уже отлитой заготовки - напильником.

Автор: yoz 07.11.18, 15:31
Цитата FasterHarder @
Что нужно. Нужно распознать ПП и, если он есть на картинке, то выделить его угловые точки.

Как называется алгоритм, который позволяет качественно сделать такое распознавание? спс...

Искусственный интеллект. Вам достаточно "слабого ИИ".
Разумеется, IBM Watson легко решит, так как он "сильный ИИ".
Вроде IBM предлагает услуги Ватсона бесплатно в тестовом режиме. Для Вашей задачи думаю хватит.

Автор: FasterHarder 09.11.18, 06:58
Цитата yoz @
Для Вашей задачи думаю хватит.

возьмешься за решение моей задачи? сделай по-братски, а...

Автор: Pavia 09.11.18, 07:41
FasterHarder
Держи бро: http://www.aforgenet.com/articles/shape_checker/
Там в примерах уже готовый код.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)