- 
                Notifications
    You must be signed in to change notification settings 
- Fork 6
common_objectbase
Практически все взаимодействие с пакетом происходит посредством конфигурационного XML-файла, называющегося обычно базой объектов. Пример такого файла, содержащий большое количество объектов, основанных на разных признаках можно посмотреть тут. Также много примеров приложено по ходу документации, например при описании признаков.
В данном файле должно быть четыре основных раздела-тега.
Внутри этого тега описываются все признаки простых объектов. Признак описывается тегом Attribute и содержит всю необходимую информацию для распознавания этого признака. Подробнее читайте в разделе простые объекты.
<AttributeLib>
     <Attribute Name="HaarFace" Type="HaarCascade" Cascade="cascades/mallick_haarcascade_frontalface_default.xml"/>
     <Attribute Name="CnnPerson" Type="Dnn" framework="tensorflow" weights="ssd_mobilenet_v1_coco_2017_11_17/frozen_inference_graph.pb" config="ssd_mobilenet_v1_coco_2017_11_17/config.pbtxt" labels="ssd_mobilenet_v1_coco_2017_11_17/mscoco_label_map.pbtxt" inputWidth="300" inputHeight="300" Probability="0.5" obj_id="1"/> 
</AttributeLib>Выше два примера, признак, оперделяющий лицо каскадами Хаара и признак определяющий человека сверточной нейронной сетью.
Внутри этого тега описываются простые объекты. Объект описывается тегом SimpleObject, который содержит список тегов Attribute, ссылающихся по имени на признаки из AttributeLib.
<SimpleObjectBase>     
    <SimpleObject Name="Face" ID="10">              
        <Attribute Type="Detect">HaarFace</Attribute>            
    </SimpleObject>
    <SimpleObject Name="CnnPerson" ID="67">              
        <Attribute Type="Detect">CnnPerson</Attribute>        
    </SimpleObject>    
</SimpleObjectBase>  Примеры выше описывают объекты, состоящие из соотвественных признаков (в данном случае по одному на каждый).
Внутри этого тега описываются отношения.
<RelationLib>    
    <Relation Obj1="Face" Obj2="Person" Relationship="in"/>        
</RelationLib>Пример выше описывает отношение нахождение прямоугольник аодного объекта в прямуогльнике другого.
Внутри этого тега описываются сложные объекты, со ссылкой на простые объекты из SimpleObjectBase и отношения из RelationLib.
<ComplexObjectBase>
    <ComplexObject ID="10" Name="FacedPerson">
        <SimpleObject Class="CnnPerson" InnerName="Person"/>
        <SimpleObject Class="Face" InnerName="Face"/>
        
        <Relation Obj1="Face" Obj2="Person" Relationship="in"/>        
        
    </ComplexObject>    
</ComplexObjectBase>Пример описывает объект человека с распознанным лицом.
- ROS-интерфейс
- Взаимодействие посредством конфигурационного файла
- Установка
- Руководства
- Проблемы
- Разработка