FeatureDetector - Extended-Object-Detection-ROS/wiki_english GitHub Wiki

Feature

To use this attribute, you need to install additional OpenCV modules that are not included by default in OpenCV that comes with ROS.

Key point detection using SURF, SIFT or ORB algorithms. To work with this attribute, you need to install OpenCV contrib. In this version, the feature is able to find only one object in the image.

Modes Accuracy assessment 3D-translation 3D-rotation Contour extraction Additional info
D - Attribute quadrangle -

1. Modes

1.1. Detect

Defines areas with key points that match the pattern. Calculates the rotation of the object (works well for flat objects) and localizes the object if the actual dimensions are known.

1.2. Check

Not implemented

1.3. Extract

Not implemented

2. XML-description

2.1. Common parameters

  • Name (string, must be set) attribute unique name
  • Type (string, must be "Feature") attribute type
  • Weight (double, default: 1) attribute weight
  • Probability (double, default: 0.75) not used in that attribute
  • Contour (bool, default: true) Returns the contour of the attribute if true.

2.2. Special parameters

  • featureExtractorType (string, default: "SIFT", also can be "SURF" or "ORB") key point method
  • min_matches (int, default: 50) minimum number of "good" points. Good points are those with a measure of fit between which is less than the average measure of fit between the current and original image sets.
  • sample_image (string, must be provided) The path to the image of the desired object. If the path starts with '/', then it is considered global, if not, then local from the location of the object base.
  • height (double, default: 0) The path to the image of the desired object. If the path starts with '/', then it is considered global, if not, then local from the location of the object base.

2.3. Example

<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>

It is also recommended to use this attribute in conjunction with the size attribute to filter out false positives. feature example As you can see, this attribute, given the actual dimensions of the object, allows you to determine its three-dimensional position and orientation. As a general indication, the best accuracy is achieved with flat objects. The orientation is relative to the sample image. feature axis example

⚠️ **GitHub.com Fallback** ⚠️