RotatedYOLO YOLO推理
RotatedYOLO 算子用于使用 cpu 对 RotatedYOLO 神经网络模型进行推理。RotatedYOLO网络是基于YOLO(You Only Look Once)网络的改进版,用于检测倾斜的物体。
说明:RVS 的 GPU/CPU 版本均可使用该算子。
type | 功能 |
---|---|
YOLO | 用于 RotatedYOLO
网络的推理,可以获得图像中目标的位置掩码(像素区域) 这里的掩码区域实际是目标的旋转矩形外边框,所以掩码图中也会包含一小部分的背景。 |
YOLOClass | 与 YOLO 模式描述一致。 同 YOLO 模式的区别:输出的目标位置掩码按照类别划分,每个类别输出一张 mask 图。 对于同一个类别中多个目标之间的重叠像素区域,将该区域判定给得分更高的目标。 |
YOLO
算子参数
-
权重文件路径/weight_file_path
:训练完成后的权重文件地址。 -
图像尺寸/image_size
:推理时的图像尺寸。应该同训练时设置尺寸保持一致。 -
物体得分阈值/obj_score_threshold
:目标得分阈值,得分低于阈值的目标会被淘汰,范围取值:[0,1] 。默认值:0.3。 -
IOU阈值/iou_threshold
:重叠目标交叠阈值,若两个目标的重叠度高于阈值,则其中得分较低的目标会被淘汰。当推理结果中,出现了较多“同一个目标有多个推理框”的现象时,说明这些推理框虽然有交叠但是交叠度低于阈值以至于没有被移除,此时可以适当降低该阈值。但阈值不应过低,否则容易将两个相互靠近的真实目标的推理框误移除。 -
使用设备/device
:推理时选用的物理设备,包含 gpu 和 cpu 两个选项。注意:在CPU 版本的 RVS 中仅能选用 cpu 。
-
重置/reset
:参数重置。在执行了一次推理之后,如果对上述参数中的任何一个进行了修改,则还需要勾选该 reset 参数,否则上述参数的更改不会生效。重新触发执行一次算子,该参数会自动由勾选状态重新变为非勾选状态。 -
识别结果图像/show_result
:设置推理结果示意图在 2D 视图中的可视化属性。-
打开推理结果示意图可视化。打开能更直观显示推理结果,利于调试。
-
关闭推理结果示意图可视化。关闭可视化可以缩短算子对结果图像进行着色处理的时间。
-
-
Mask列表/mask_list
:是否显示 mask_list 输出端口的图像内容在 2D 视图中的可视化属性。其中每一张图像都是一张灰度图,背景像素为 0,目标区域为 255。 -
Mask名称列表/mask_names
:设置目标对应的类名曝光属性。勾选后则可以将 mask_names 输出端口的内容绑定到交互面板上的表格并输出显示。-
打开曝光。
-
关闭曝光。
-
数据信号输入输出
输入:
-
image
:-
数据类型:Image
-
输入内容:需要推理的图像数据
-
输出:
-
show_result
:-
数据类型:Image
-
输出内容:图像推理结果的效果示意图
-
-
mask_list
:-
数据类型:ImageList
-
输出内容:图像推理后获得的所有目标的掩码图,每个目标在List中的位置同下述mask_names保持一致。各个目标按照对应的得分从高到低排列。
-
-
mask_names
:-
数据类型:StringList
-
输出内容:以String形式存放各个目标对应的类名
-
功能演示
使用 RotatedYOLO 算子对训练好的数据进行推理。
步骤1:算子准备
添加 Trigger(2 个)、Load、RotatedYOLO 算子至算子图。
步骤2:设置算子参数
-
设置 Load 算子参数:
-
类型 → Image
-
文件 →→ 选择图像文件名 ( example_data/yolo_data/20210119150022784/rgb.png )
-
图像 → 可视
-
-
设置 Trigger_1 算子参数:类型 → InitTrigger
-
设置 RotatedYOLO 算子参数:
-
权重文件路径 → 训练完成后的权重文件地址 ( example_data/yolo_data/used_data/train_output/weights/last.pt )
-
图像尺寸→ 640
-
物体得分阈值→ 0.3
-
IOU阈值→ 0.4
-
使用设备→gpu
-
识别结果图像 → 可视
-
步骤3:连接算子
步骤4:运行算子与结果展示
-
点击 RVS 的运行按钮,XML 会自动运行第二个 trigger(type 为 InitTrigger )。此时会触发 RotatedYOLO 算子完成第一次的初始化运行(首次运行不会对输入的图像进行推理,仅仅是运行环境检测以及将模型文件从本地载入到内存),运行成功后界面显示如下图,在日志栏依次打印了 “YOLO is Loading module”…”GetClassNames done” 等四条语句。
-
在推理过程中,会在日志栏高亮打印 “YOLO is processing” 的输出信息,推理完成后,会在日志栏打印该图像推理得到的目标个数,如下图所示。
-
推理完成后,如果勾选了 RotatedYOLO 算子的 show_result 参数,可以在 RVS 的 2D 图区域看到推理结果示意图,如下所示。
YOLOClass
算子参数
-
Mask类别名称/mask_class_list
:设置 mask_class_list 输出端口的图像内容在 2D 视图中的可视化属性。其中每一张图像都是一张灰度图,代表某一个类别的所有目标的掩码图。mask_class_list中的类别,按照类名文件中类别的先后顺序进行排序。每张mask图像的背景像素为 0,每一个目标按照得分从大到小的顺序依次使用1、2、3…等像素。比如一张mask图中像素为1的一块区域,代表该类别中得分最高的目标的像素位置。 -
其余参数
:与 YOLO 一致。
数据信号输入输出
输入:
-
image
:-
数据类型:Image
-
输入内容:需要推理的图像数据
-
输出:
-
show_result
:-
数据类型:Image
-
输出内容:图像推理结果的效果示意图
-
-
mask_class_list
:-
数据类型:ImageList
-
输出内容:图像推理后获得的所有类别目标的掩码图,详细说明见上述“算子参数”–mask_class_list的介绍。
-
-
mask_names
:-
数据类型:StringList
-
输出内容:以String形式存放所有的类名,顺序同类名文件保持一致,并且同上述mask_class_list保持一致。
-
功能演示
与上述 YOLO 模块功能演示一致。