主要内容

探测

使用快速R-CNN对象检测器检测对象

描述

bboxes=检测(探测器检测单个图像或图像数组中的对象,,使用Fast R-CNN(带有卷积神经网络的区域)目标检测器。检测到的对象的位置以一组包围框的形式返回。

使用此功能时,使用CUDA®使英伟达®强烈推荐GPU。GPU显着降低计算时间。GPU的使用需要并行计算工具箱™。有关支持的计算能力的信息,请参阅金宝appGPU通金宝app过发布支持(并行计算工具箱)

bboxes分数) =检测(探测器还返回每个边界框的检测分数。

例子

___标签) =检测(探测器还使用前面的语法中的任一种返回分配给边界框的分类标签数组。用于对象类的标签在使用过程中定义trainfastrcnnobjectdetector.函数。

___) =检测(___ROI.在指定的矩形搜索区域内检测对象ROI.

检测结果=检测(探测器ds方法返回的一系列图像中检测对象输入数据存储的功能。

___) =检测(___名称,值使用一个或多个指定选项名称,值对参数。例如,检测(探测器,我,‘NumStongestRegions’,1000)将最强的地区建议限制为1000。

例子

全部折叠

通过使用更快的R-CNN对象检测器检测图像内的车辆。

加载较快的R-CNN对象探测器以检测车辆。

data =负载('fasterrcnnvehicletramingdata.mat'“探测器”);探测器= data.detector;

阅读测试图像。

我= imread('highway.png');imshow(我)

图包含轴。轴包含类型图像的对象。

在图像上运行检测器并检查结果。标签来自一会检测器的属性。

[Bboxes,Scores,标签] =检测(探测器,i)
Bboxes =.2×4150 86 80 72 91 89 67 48
成绩=2x1单列向量1.0000 0.9001
标签=2 x1分类车车

该探测器对探测有很高的可信度。用检测的边界框和相应的检测分数标注图像。

detectedi = InsertObjectAnnotation(i,“矩形”、bboxes cellstr(标签);图imshow (detectedI)

图包含轴。轴包含类型图像的对象。

输入参数

全部折叠

快速R-CNN对象检测器,指定为afastrcnnobjectdetector.目的。要创建此对象,请调用trainfastrcnnobjectdetector.函数培训数据作为输入。

输入图像,指定为一个H-经过-W-经过-C-经过-B图像必须是真实的、非稀疏的、灰度或RGB图像。

  • H:身高

  • W: 宽度

  • C:每个图像中的频道大小必须等于网络的输入通道大小。例如,对于灰度图像,C必须等于1.对于RGB彩色图像,它必须等于3.

  • B:数组中的图像数。

检测器对输入图像的范围敏感。因此,确保输入图像范围类似于用于训练检测器的图像的范围。例如,如果探测器训练uint8.图像,重新缩放这个输入图像的范围[0,255]使用im2uint8或者rescale.函数。输入图像的大小应该与训练中使用的图像的大小相当。如果这些尺寸相差很大,检测器就很难检测到目标,因为输入图像中目标的规模与检测器训练识别的目标的规模不同。考虑一下你是否使用了SmallestimageMention.属性来修改训练图像的大小。

数据类型:uint8.|uint16|int16|双倍的|单身的|逻辑

数据存储,指定为包含图像集合的数据存储对象。每个图像必须是灰度,RGB或多通道图像。该函数仅处理数据存储的第一列,它必须包含图像,并且必须是单元阵列或具有多列的表。

指定为[xy宽度高度矢量。矢量指定以像素为单位的左上角和大小。

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。姓名参数名和价值为对应值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'numstrontearch',1000

检测阈值,指定为范围[0,1]内的标量。分数小于此阈值的检测将被删除。要减少误报,请增加该值。

最强区域建议的最大数目,指定为逗号分隔对,由“NumStrongestRegions”和一个正整数。减少此值以加速检测精度成本的处理时间。要使用所有区域提案,请将此值指定为INF.

为每个检测到的对象选择最强的边界框,指定为逗号分隔的对组成“SelectStrongest”和任何一种真正的或者

  • 真正的-返回每个物体最强的边界框。要选择这些方框,探测调用selectstrongestbboxmulticlass.功能,它使用非混中抑制来基于其置信度分数来消除重叠边界框。

    例如:

    SelectStrongestBoxMulticlass(Bbox,Scores,......“RatioType”'min'......'重叠阈值', 0.5);

  • - 返回所有检测到的边界框。然后,您可以创建自己的自定义操作来消除重叠边界框。

包含检测到的对象的最小区域大小,指定为逗号分隔对组成'迷你'和[高度宽度矢量。单位是像素。

默认情况下,inssize最小的物体是训练过的吗探测器可以检测。

包含检测到的对象的最大区域大小,指定为由逗号分隔的对组成'maxsize'和[高度宽度矢量。单位是像素。

为了减少计算时间,将该值设置为已知图像中被检测物体的最大区域大小。默认情况下,'maxsize'设置为输入图像的高度和宽度,

最小批大小,指定为由逗号分隔的对组成的'minibatchsize'和标量值。使用MiniBatchSize处理大量图像。图像被分组为小匹匹匹匹配,并作为批量处理以提高计算效率。增加小距离以减少处理时间。减少尺寸以使用更少的内存。

运行探测器的硬件资源,指定为逗号分隔对组成“ExecutionEnvironment”“汽车”'GPU', 或者'中央处理器'

  • “汽车”- 如果可用,请使用GPU。否则,使用CPU。

  • 'GPU'- 使用GPU。要使用GPU,您必须具有并行计算工具箱和CUDA启用的NVIDIA GPU。如果不可用合适的GPU,则该函数返回错误。有关支持的计算能力的信息,请参阅金宝appGPU通金宝app过发布支持(并行计算工具箱)

  • '中央处理器'- 使用CPU。

输出参数

全部折叠

在输入图像或图像中检测到的对象的位置,作为返回-By-4矩阵或一个B1单元阵列。是图像中包围框的数量,和B是数量当输入包含图像数组时,- × 4矩阵。

每一行的bboxes包含表格的四元素矢量[xy宽度高度]。此vector指定以像素为单位的左上角和该相应边界框的大小。

检测归信分数,作为一个- 1载体或aB1单元阵列。是图像中包围框的数量,和B是数量当输入包含图像数组时,使用-by-1向量。分数越高,表明对检测的信心越高。

边框的标签,返回为-by-1分类数组或B1单元阵列。是图像中标签的数量,和B是数量- 1个分类阵列当输入包含图像数组时。您定义用于在培训输入时标记对象的类名探测器

检测结果,返回为具有变量名称的3列表,盒子得分,标签.这盒子-By-4矩阵用于图像中的对象的边界框。每行包含一个边界框,为格式的4元素矢量[xy宽度高度]。该格式指定相应图像中边界框的左上角位置和大小。

介绍了R2017a