Skip to content

AttributeFilters

Moscowsky Anton edited this page Nov 16, 2020 · 1 revision

1. Обзор

Осуществляют фильтрацию результатов распознавания конкретных признаков в режиме детектирования. В отличие от признаков в режиме проверки могут работать не с конкретным результатом, а со всем набором.

2. Фильтр внутренних распознаваний (Insider filter)

Фильтр удаляет описывающие прямоугольники, если они полностью находятся в другом прямоугольнике этого же признака, распознанного на данном этапе.

XML описание

Параметры

Пример

Данный фильтр создавался в первую очередь для работы с атрибутами цвета (порги, гистограммы).

<?xml version="1.0" ?>
<AttributeLib>
    
    <Attribute Name="HistColorPink" Type="HistColor" Histogram="histograms/Pink.yaml"/>
        
    <Attribute Name="HistColorOrange" Type="HistColor" Histogram="histograms/Orange.yaml"/>    

    <Attribute Name="PinkOrOrange" Type="LogicOr" iou="0.5" A="HistColorPink" B="HistColorOrange"/>        
    
    <Attribute Name="PinkOrOrangeFiltered" Type="LogicOr" iou="0.5" A="HistColorPink" B="HistColorOrange">
        <Filter Type="Insider"/>
    </Attribute>
    
</AttributeLib>

<SimpleObjectBase> 
    
    <SimpleObject Name="PinkOrOrangeSticker" ID="5">              
        <Attribute Type="Detect">PinkOrOrange</Attribute>          
    </SimpleObject>
    
    <SimpleObject Name="PinkOrOrangeStickerFiltered" ID="8">              
        <Attribute Type="Detect">PinkOrOrangeFiltered</Attribute>          
    </SimpleObject>    
    
</SimpleObjectBase>

unfiltered attribute filtered attribute

"Подавление не максимального" (Nonmax suppression filter)

Фильтр, часто применяющийся в задачах нейросетевого распознавания в архитектурах, подобных YOLO. Удаляет прямоугольники, которые имеют IOU выше порога с другим прямоугольников, распознанным на данном этапе, и обладают меньшим коэффициентом уверенности.

XML описание

Параметры

  • threshold (double, default: 0.75) Порог IOU.

Пример

<Attribute Name="CnnFiltered" 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.3" obj_id="-1">    
        <Filter Type="NMS" threshold="0.5"/>
</Attribute>

Фильтр региона интереса (ROI)

Удаляет прямоугольники, которые полностью не лежат в заданном регионе изображения. Примерно то же самое делает признак положения на экране.

XML описание

Параметры

  • x (int, default: 0) x значение ROI в пикселях
  • y (int, default: 0) y значение ROI в пикселях
  • w (int, default: 0) ширина ROI в пикселях
  • h (int, default: 0) высота ROI в пикселях

Пример

<Attribute Name="HistColorOrangeUpper" Type="HistColor" Histogram="histograms/Orange.yaml">        
        <Filter Type="ROI" x="0" y="0" w="640" h="240"/>
</Attribute>    

Данный фильтр оставляет только области в верхей половине изображения.

Clone this wiki locally