主要内容

balanceBoxLabels

平衡边界框标签对象检测

描述

例子

locationSet= balanceBoxLabels (boxLabels,blockedImages,blockSize,numObservations)平衡边界框标签,boxLabels,过采样的图像块包含少类中包含了图像对象的集合blockedImagesnumObservations所需数量的块位置,blockSize指定的块大小。

locationSet= balanceBoxLabels (boxLabels,blockedImages,blockSize,numObservations,名称,值)指定额外的方面选择的块使用名称-值参数。

例子

全部折叠

负载箱标签数据,包含一个图像的盒子和标签。每个盒子的高度和宽度(20、20)。

d =负载(“balanceBoxLabelsData.mat”);boxLabels = d.BoxLabels;

创建一个屏蔽的图像的大小[500500]

blockedImages = blockedImage (0 ([500500]));

选择每一个观察的图像大小。

blockSize = (50,50);

可视化使用直方图来识别任何类不平衡的盒子标签。

建筑物= boxLabelDatastore (boxLabels);datasetCount = countEachLabel(建筑物);图;h1 =直方图(“类别”datasetCount.Label,“BinCounts”datasetCount.Count)
h1 =直方图的属性:数据:[0 x0直言]价值观:[1 1 1 1 1 1 1 1 1 1 1 11]NumDisplayBins: 12类:{1}x12细胞DisplayOrder:“手动”正常化:“计数”DisplayStyle:“酒吧”FaceColor:“汽车”EdgeColor:[0 0 0]显示所有属性

测量的分布盒标签。如果变异系数大于1,然后是类不平衡。

cvBefore =性病(datasetCount.Count) /意味着(datasetCount.Count)
cvBefore = 1.5746

选择启发式值数量的观察,发现每个类项的均值,乘以类的数量。

numClasses =身高(datasetCount);numObservations =意味着(datasetCount.Count) * numClasses;

一盒可以减少使用数量控制OverlapThreshold。使用一个较低的阈值将物体边界的一块。增加这个值减少一个对象可以夹在边境,牺牲的不平衡箱标签。

ThresholdValue = 0.5;

平衡boxLabels使用balanceBoxLabels函数。

locationSet = balanceBoxLabels (boxLabels blockedImages blockSize,numObservations,“OverlapThreshold”,ThresholdValue);
(= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]100%厉螨(= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =]100%的运行时间:就是估计剩余时间:就是平衡箱标签完成。

数的标签中包含的图像块。

bldsBalanced = boxLabelDatastore (boxLabels locationSet);balancedDatasetCount = countEachLabel (bldsBalanced);

覆盖另一个直方图与原来的标签数箱标签是否平衡。如果标签似乎不平衡通过查看直方图,增加的值numObservations

持有;balancedLabels = balancedDatasetCount.Label;balancedCount = balancedDatasetCount.Count;h2 =直方图(“类别”balancedLabels,“BinCounts”,balancedCount);标题(h2.Parent,“平衡类标签(OverlapThreshold:“+ ThresholdValue +“)”);传奇(h2.Parent, {“之前”,“后”});

图包含一个坐标轴对象。坐标轴对象与标题平衡类标签(OverlapThreshold: 0.5)包含2 categoricalhistogram类型的对象。之前,之后这些对象代表。

测量的分布新baanced盒标签。

cvAfter =性病(balancedCount) /意味着(balancedCount)
cvAfter = 0.4588

输入参数

全部折叠

标记边界框数据,指定为一个表有两列。

  • 第一列包含边界框,必须一个细胞向量。每个元素包含在细胞中向量4矩阵的格式(x,y,宽度,高度]盒子。

  • 第二列必须是一个细胞向量包含标签名称对应于每一个边界框。每个元素必须是在细胞中向量1分类或字符串向量。

创建一个盒子标签从地面实况数据表,

  1. 使用图片标志贴标签机视频你的地面真理应用标签。标签的地面实况数据导出到您的工作区。

  2. 创建一个边界框标签数据存储使用objectDetectorTrainingData函数。

  3. 你可以获得boxLabelsLabelData属性的标签返回的数据存储objectDetectorTrainingData,(blds.LabelData)。

标签屏蔽图片,指定为数组blockedImage对象包含像素标签图片。

读取数据块大小,指定为一个双元素行向量的正整数,(numrows,numcols]。第一个元素指定的行数。第二个元素指定的列数。

块的位置返回的数量,指定为一个正整数。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:OverlapThreshold”,' 1 '

数组中的每个图像的分辨率水平blockedImage对象,指定为一个正整数标量或B1的正整数向量,B数组的长度是blockedImage对象。

重叠的阈值,指定为一个积极的标量范围[0,1]。当边界框之间的重叠和裁剪窗口大于阈值,箱子的boxLabels输入剪到图像块窗口边界。重叠小于阈值时,箱子被丢弃。当你降低阈值,对象可以丢弃的一部分。减少一个对象可以夹在边境,增加阈值。增加阈值也可能导致不那么均衡的盒子标签。

边界框之间的搭接量和被定义为一个裁剪窗口。

一个 r e 一个 ( b b o x 一个 w n d o w ) / 一个 r e 一个 ( b b o x 一个 )

显示进度信息,指定为一个数字或逻辑1(真正的)或0()。将此属性设置为真正的显示信息。

输出参数

全部折叠

平衡箱标签,作为一个返回blockLocationSet对象。对象包含numObservations平衡块的位置,每个大小blockSize

算法

全部折叠

平衡箱标签

平衡箱标签,函数在类样本少阻塞图像或大图像。盒子标签数在整个数据集和基于每个类的分类计数。每个图像大小被分为若干个象限,基于blockSize输入值。算法随机挑选几个街区在每个象限与较少的类。被丢弃的街区没有任何对象。平衡停止一旦选择指定数量的块。

检查平衡

您可以检查平衡直方图的比较成功的标签数前后平衡。您还可以检查变异系数值。为达到最佳效果,值应小于原始值。有关更多信息,请参见国家标准与技术研究所(NIST)的网站,看到的变异系数为更多的信息。

版本历史

介绍了R2020a

全部展开

不推荐在R2021a开始