- 
                Notifications
    You must be signed in to change notification settings 
- Fork 6
DnnAttribute
        Moscowsky Anton edited this page Nov 2, 2021 
        ·
        5 revisions
      
    Признак, распознающий образы при помощи dnn модуля из OpenCV. Минимальная версия OpenCV: 3.4.1 (в то время как ROS Melodic идет с 3.2.0, рекомендуется использовать Noetic) Для использования сетей из других фреймворков в этом модуле не требуется их установка.
| Режимы | Оценка точности | 3D-перенос | 3D-поворот | Определение контура | Извлекаемая информация | 
|---|---|---|---|---|---|
| D | D | ❌ | ❌ | - | <Attribute_name>:class_id, <Attribute_name>:class_label | 
Возвращает области с объектами, распознанные СНН, и имеющие вероятность не ниже чем Probability.
Не реализовано
Не реализовано
- Name (string, must be set) уникальное имя признака
- Type (string, must be "Dnn") тип признака
- Weight (double, default: 1) вес признака
- Probability (double, 0.75) допустимая вероятность распознавания
- Contour (bool, default: true) Не используется для данного признака
- framework (string, must be set) Фреймворк, доступные варианты: darknet, tensorflow.
- weights (string, must be set) Путь к файлу весов. См. таблицу ниже для дополнительной информации.
- config (string, must be set) Путь к файлу конфигурации. См. таблицу ниже для дополнительной информации.
- labels (string, default: "") Путь к файлу с именами меток. необязательный параметр, нужен только если треубется фиксировать имя объекта в сети.
- _forceCuda (int, default: 0) Для некоторых копмпьютеров (например линейки Jetson) требуется выставить 1 для включения ускорения сети с помощью CUDA и cuDNN.
- inputWidth (int, default: 300) Ширина входного изображения на сеть. TODO: extract automatically from config
- inputHeight (int, default: 300) Высота входного изображения на сеть. TODO: extract automatically from config
<?xml version="1.0" ?>
<AttributeLib>
    <Attribute Name="COCO_Dnn" 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.75"/>
</AttributeLib>
<SimpleObjectBase>  
    
    <SimpleObject Name="COCO_dnn_object" ID="60">              
        <Attribute Type="Detect">COCO_Dnn</Attribute>                    
    </SimpleObject>
    
</SimpleObjectBase> 
Как можно видеть в примере, за названием признака указывается в фигурных и круглых скобках id и имя образа в сети. 
| Framework | Weight File | Config File | Label File | 
|---|---|---|---|
| DarkNet | .weight file | .cfg file | |
| TensorFlow | frozen_inference_graph.pb files | generated .pbtxt file | .pbtxt file | 
- ROS-интерфейс
- Взаимодействие посредством конфигурационного файла
- Установка
- Руководства
- Проблемы
- Разработка