Обнаружение объектов для определенных плоских объектов - PullRequest
9 голосов
/ 20 февраля 2011

Я новичок в компьютерном зрении и хочу обнаружить конкретные и плоские объекты на изображении (или видеокадре).

Что я имею в виду под конкретным и плоским?

Плоская

Ну, плоские объекты похожи на объекты, но, вы знаете, плоские ... Что это значит для меня:

  • Объекты всегда будут просматриваться примерно с одного и того же "фронтального"«угол, то есть ось камеры соответствует (более или менее) нормальной поверхности.(Но они могут вращаться вокруг этой оси.)
  • Объекты, для которых угол освещения ничего не меняет (т.е. у него нет ударов и складок, которые отбрасывают тени).

Конкретный

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

Примеры таких объектов

  • Аверс счета за 1 доллар
  • Мона Лиза
  • Обложка последнего номера (ваш любимый журнал здесь)
  • ...

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

> findObjects("object.png", "image.png")
[object at x1, y1, rotated z1 degrees, size height1*width1,
 object at x2, y2, rotated z2 degrees, size height2*width2,
 ...]

На самом деле я даже не знаюЯ действительно беспокоюсь о размерах и расположении объектов, мне просто нужен счет.

Но я не могу найти ничего подобного.Все, что я могу найти, - это бесчисленные примеры распознавания лиц с помощью так называемого классификатора Хаара, который вообще не подходит для моей проблемы, потому что:

  • Лица не плоские, и, таким образом, этот классификатордолжен справляться с такими проблемами, как различное освещение, тени ...
  • Он должен распознавать лица, то есть объекты, которые похожи, но не совсем идентичны.
  • Он должен распознавать лица, которых у него нет 'Он был обучен только потому, что они «похожи» на лица.
  • Доказательство того, что это не подходит: его нужно тренировать с сотнями или тысячами положительных и отрицательных образцов.В моей задаче вся необходимая информация содержится в одном образце.Так что это не может быть правдой.

Итак, существует ли что-то подобное?

Я бы предпочел использовать OpenCV, поскольку это стандартная библиотека компьютерного зрения,но я открыт для любого решения.

1 Ответ

6 голосов
/ 20 февраля 2011

Один из способов сделать это - использовать сопоставление ключевых точек. В Opencv есть демонстрационная версия, которая работает так, как вы хотите (найдите http://imgur.com/a/Bbc6C#gxXGh в http://imgur.com/a/Bbc6C#UfTkn в качестве готового демо (в дистрибутиве opencv 2.2: samples/c/find_obj.cpp). Вывод визуализируется в http://imgur.com/ZF1bh - вы должны начать с того, чтобы адаптировать его, чтобы он нашел несколько экземпляров изображения и сосчитал их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...