主要内容

selectStrongestBboxMulticlass

从重叠的集群中选择最强的多类包围框

描述

例子

selectedBboxes= selectStrongestBboxMulticlass (bboxes分数标签返回置信度较高的选定边界框。该函数使用贪婪非最大抑制(NMS)来消除重叠的包围框bboxes输入,仅当它们具有相同的类标签时。

selectedBboxesselectedScoresselectedLabels指数= selectstronggestbboxmulticlass (bboxes分数标签另外返回与选定边界框关联的分数、标签和索引。

___= selectstronggestbboxmulticlass (___名称,值使用一个或多个指定的其他选项名称,值对参数。

例子

全部折叠

使用两个不同的模型创建检测器。这些将用于生成多类检测结果。

detectorInria = peopleDetectorACF(inria - 100 x41的);加州理工大学学报(自然科学版)“caltech-50x21”);

应用检测器。

I = imread(“visionteam1.jpg”);[bboxesInria,scoresInria] = detect(detectorInria,I,“SelectStrongest”、假);[bboxesCaltech,scoresCaltech] = detect(detectorCaltech,I,“SelectStrongest”、假);

为每个检测器的每个结果创建分类标签。

labelsInria = repelem(“法国”元素个数(scoresInria), 1);labelsInria = categorical(标签sinria,{“法国”加州理工学院的});labelsCaltech = repelem(“加州理工学院”元素个数(scoresCaltech), 1);labelsCaltech = category(标签scaltech,{“法国”加州理工学院的});

将所有检测器的结果合并为多类检测结果。

allBBoxes = [bboxesInria;bboxesCaltech];allScores = [scoresInria;scoresCaltech];allLabels = [labelsInria;labelsCaltech];

运行多类非最大抑制。

[bboxes,scores,labels] = selectstronggestbboxmulticlass (allBBoxes,allScores,allLabels,...“RatioType”“最小值”“OverlapThreshold”, 0.65);

注释检测到的人。

注释=字符串(标签)+”:“+字符串(分数);I = insertObjectAnnotation(I,“矩形”、bboxes cellstr(注释);imshow (I)标题(“被检测的人、分数和标签”

图中包含一个轴对象。标题为Detected People, Scores和Labels的axes对象包含一个image类型的对象。

输入参数

全部折叠

约束框,指定为4或-by-5非稀疏数值矩阵。是包围框的数量。矩阵的每一行都将边界框定义为轴对齐的矩形或旋转的矩形。该表描述了每个包围框的格式。

边界框 描述
Axis-aligned矩形

在像素坐标中定义为-by-4数字矩阵,行形式为[xywh),地点:

  • 是轴对齐矩形的数量。

  • x而且y指定矩形的左上角。

  • w指定矩形的宽度,即矩形沿x设在。

  • h指定矩形的高度,即矩形沿y设在。

旋转的矩形

在空间坐标中定义为-by-5数字矩阵,行形式为[xctryctrxlenylen偏航),地点:

  • 是旋转矩形的个数。

  • xctr而且yctr指定矩形的中心。

  • xlen指定矩形的宽度,即矩形沿x-轴旋转前。

  • ylen指定矩形的高度,即矩形沿y-轴旋转前。

  • 偏航以角度为单位指定旋转角度。围绕包围框中心的旋转是顺时针正的。

方形矩形旋转了-30度。

数据类型:||int8|int16|int32|uint8|uint16|uint32

与输入包围框对应的置信度分数,指定为1的向量。的selectStrongestBboxMulticlass函数使用贪心NMS消除重叠的包围框,并将置信度分数与这些框关联起来。分数越高,表示保持边界框的信心越高。的分数输入必须是实的、有限的、非稀疏的。

数据类型:||int8|int16|int32|uint8|uint16|uint32

与输入包围框对应的标签,指定为-by-1分类或数字向量。

数据类型:||int8|int16|int32|uint8|uint16|uint32|分类

名称-值参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“RatioType”“联盟”设置“RatioType”财产“联盟”

比率类型,指定为字符向量“联盟”“最小值”

  • 将比率类型设置为“联盟”计算两者交点面积的比值bboxA而且bboxB,除以两者并集的面积。

  • 将比率类型设置为“最小值”计算两者交点面积的比值bboxA而且bboxB,除以两个包围框的最小面积。

数据类型:字符

重叠比阈值,指定为逗号分隔的对,由'OverlapThreshold'和范围[0 1]中的标量。当重叠率超过阈值时,该函数将删除参考框周围的包围框。降低阈值以减少选中的包围框数量。但是,如果您过多地降低阈值,则可能会消除图像中表示彼此接近的对象的框。

数据类型:|

最强框的最大数目,指定为由逗号分隔的对组成“NumStrongest”而且或者一个正标量。当您有关于最大框数的先验知识时,使用此参数可以减少处理时间。将值设置为选择所有最强的、不重叠的包围框。

标签输入包含类别标签,您还可以指定一个向量,其中包含标签输入中每个类别的最强框的最大数量。指定向量的长度必须等于标签中的类别数。

输出参数

全部折叠

选中的包围框,返回为-by-4或者an5矩阵。4元向量表示轴对齐的矩形,5元向量表示旋转的矩形。

selectedBbox控件中所选的包围框bbox具有最高置信度分数的输入。该函数使用非最大抑制来消除重叠的包围框。

数据类型:||int8|int16|int32|uint8|uint16|uint32

所选边界框的分数,返回为1的向量。的的分数selectedScores输出对应于的包围框selectedBboxes输出。的数据类型selectedScores的数据类型匹配分数

所选包围框的标签,返回为-by-1分类或数字向量。的的标签selectedLabels输出对应于的包围框selectedBboxes输出。的数据类型selectedLabels的数据类型匹配标签

所选边界框的索引,返回为1的向量。的指数对象中所选框的索引bboxes输入。

数据类型:

扩展功能

在R2018a中引入