-
Notifications
You must be signed in to change notification settings - Fork 6
FeatureDetector
Для использования данного признака, требуется установка дополнительных модулей OpenCV, которые не включены по умолчанию в OpenCV, идущую с ROS.
Детектирование методом ключевых точек алгоритмами SURF, SIFT или ORB. Для работы с данным признаком требуется установка OpenCV contrib. В данной версии признак способен найти только один объект на изображении.
Режимы | Оценка точности | 3D-перенос | 3D-поворот | Определение контура | Доп. информация |
---|---|---|---|---|---|
D | - | ✔ | ✔ | В виде четырехугольника соответствующего размеру примера | - |
Определяет области с ключевыми точками, соответствующие образцу. Рассчитывает поворот объекта (хорошо работает в случае плоских объектов) и локализует объект, в случае если известны реальные размеры.
Не реализовано
Не реализовано
- Name (string, must be set) уникальное имя атрибута.
- Type (string, must be "Feature") тип атрибута.
- Weight (double, default: 1) вес атрибута.
- Probability (double, default: 0.75) допустимая точность распознавания, не используется.
- Contour (bool, default: true) Возвращает контур признака если true.
- featureExtractorType (string, default: "SIFT", also can be "SURF" or "ORB") метод определения ключевых точек
- min_matches (int, default: 50) минимальное кол-во "хороших" точек. Хорошие точки те, мера соответствия между которыми меньше средней меры соответствия между наборами текущего и оригинального изображения.
- sample_image (string, must be provided) Путь к изображению искомого объекта. Если путь начинается с '/', то он считается глобальным, если нет, то локальным от места расположения базы объектов.
- height (double, default: 0) Реальная высота искомого объекта в метрах, позволяет определить положение объекта в пространстве.
<AttributeLib>
<Attribute Name="NotFractal" Type="Size" MinAreaPc="0.5" MaxAreaPc="100"/>
<Attribute Name="SocialRobotsCover" Type="Feature" featureExtractorType="SIFT" min_matches="100" height="0.215" sample_image="feature_samples/social_robots.jpg"/>
</AttributeLib>
<SimpleObjectBase>
<SimpleObject Name="SocialRobotsBook" ID="50">
<Attribute Type="Detect">SocialRobotsCover</Attribute>
<Attribute Type="Check">NotFractal</Attribute>
</SimpleObject>
</SimpleObjectBase>
Данный признак также рекомендуется использовать в совокупности с признаком размера, чтобы отфильтровать ложные срабатывания.
Как можно видеть, данный признак при заданных реальных размерах объекта позволяет определить его трехмерное положение и ориентацию. Как признак в целом, лучших показателей точности это достигается в случае с плоскими объектами. Ориентация определяется относительно изображения-примера.
- ROS-интерфейс
- Взаимодействие посредством конфигурационного файла
- Установка
- Руководства
- Проблемы
- Разработка