主要内容

boxlabeldatastore.

用于边界框标记数据的数据存储

描述

boxlabeldatastore.对象创建用于边界框标记数据的数据存储。使用此对象读取标记的边界框数据进行对象检测。

从a中读取边界框标记数据boxlabeldatastore.对象,使用功能。此对象函数返回具有两列或三列的单元格数组。您可以创建一个组合的数据存储boxlabeldatastore.对象与A.imageageAtastore.对象使用结合对象功能。使用组合数据存储来使用培训功能培训对象探测器,如Trainyolov2ObjectDetector.TRATHFASTERRCNNOOBJECTDETECTOR.。您可以使用对象函数访问数据存储中的数据。修改阅读属性,您可以使用DOT表示法。

创建

描述

例子

BLDS.= boxlabeldataStore(tbl1,...,tbln创造一个boxlabeldatastore.来自一个或多个表的对象,包含标记的边界框数据。

BLDS.= boxlabeldataStore(TBL1.,......,tbln.bset.创造一个boxlabeldatastore.来自A的对象极限数据通过使用块位置指定的分辨率级别,块大小和块位置bset.

输入参数

展开全部

标记的边界框数据,指定为具有一个或多个列的表。每个表对应于一组标签。边界盒可以是轴对齐的矩形,旋转矩形或长方体。下表描述了边界框的格式。

边界盒子 描述
轴对齐矩形

定义为像素坐标作为一个m- 4个数字矩阵,表单的行[XyW.H], 在哪里:

  • m是轴对齐矩形的数量。

  • Xy指定矩形的左上角。

  • W.指定矩形的宽度,这是它的长度X-轴。

  • H指定矩形的高度,这是它的长度y-轴。

旋转矩形

在空间坐标中定义为一个m-5-5个数字矩阵,表单的行[XCTR.yctr.xlen.ylen.偏航], 在哪里:

  • m是旋转矩形的数量。

  • XCTR.yctr.指定矩形的中心。

  • xlen.指定矩形的宽度,这是它的长度X- 旋转前的轴。

  • ylen.指定矩形的高度,这是它的长度y- 旋转前的轴。

  • 偏航指定度数的旋转角度。旋转在边界盒的中心周围是顺时针正。

方形矩形旋转-30度。

长方体

在空间坐标中定义为一个m-My-9数字矩阵,具有行的行[XCTR.yctr.ZCTR.xlen.ylen.Zlen.Xrot.yrot.Zrot.], 在哪里:

  • m是长方体的数量。

  • XCTR.yctr., 和ZCTR.指定长方体的中心。

  • xlen.ylen., 和Zlen.指定长方体的长度沿着X-轴,y- 轴,和Z.- 旋转前分别在旋转之前。

  • Xrot.yrot., 和Zrot.指定周围的长方体的旋转角度X-轴,y- 轴,和Z.分别。这Xrot.yrot., 和Zrot.旋转角度围绕长方体中心为程度。相对于相关的空间轴的正方向,每个旋转是顺时针正向。该功能假设计算旋转矩阵Zyx.订购欧拉角度[Xrot.yrot.Zrot.]。

该图显示了这些值如何确定立方体的位置。

  • 一个包含一个或多个列的表:

    所有列包含边界框。每列必须是包含的单元格向量m-经过-N矩阵。m是图像的数量和N表示单个对象类,例如停止标志carr, 要么arfront.

  • 一个有两列的表。

    第一列包含边界框。第二列必须是包含与每个边界框对应的标签名称的单元格向量。细胞矢量中的每个元素必须是一个m- 1个分类或串向量,在哪里m代表标签的数量。

要创建一个地面真相表,请使用图像贴标器要么视频贴图应用程序。要从生成的地面真理创建培训数据表,请使用ObjectDetortRaringData.功能。

数据类型:桌子

块位置,指定为aBlockLocations目的。您可以使用使用的创建此对象润垫标签功能。

特性

展开全部

此属性是只读的。

标记为边界框数据,指定为N- 2个细胞矩阵N图片。第一列必须是包含边界框的单元格向量。单元中的每个元素包含表示轴对齐矩形,旋转矩形或长方体的矢量。第二列必须是包含与每个边界框对应的标签名称的单元格向量。一个m-By-1分类矢量表示每个标签名称。

绑定盒描述

边界盒子 细胞矢量 格式
轴对齐矩形 m-By-4 form边界盒子 [Xy宽度高度]
旋转矩形 m-By-5 form边界盒子 [Xcenter.ycenter.宽度高度偏航]
长方体 m-by-9 form边界盒子 [Xcenter.ycenter.zcenter.宽度高度深度RX.ry.RZ.]

每个呼叫中​​读取的标签数据的最大行数函数,指定为正整数。

对象功能

结合 将数据与多个数据存储组合
counteanceLabel. 计数像素或框标签的发生
哈迪塔 确定数据是否可用于从数据存储读取
numpartitions. 数据存储的分区数量
划分 分区标签数据存储
预习 在数据存储区中读取第一行数据
进步 从数据存储读取的数据百分比
从数据存储读取数据
读物 阅读数据存储中的所有数据
重置 将数据存储重置为初始状态
洗牌 返回DataStore的Shuffled版本
子集 创建数据存储或文件集的子集
转变 转换数据存储
是可分派的 确定数据存储是否已分配
isShufflable. 确定数据存储是否会破坏

例子

全部收缩

此示例显示如何使用包含培训数据的表来估算锚框。第一列包含训练图像,剩余列包含标记的边界框。

data = load('vevicletrainingdata.mat');trainingData = data.vehicletRainingData;

创建一个boxlabeldatastore.对象使用来自培训数据的标记边界框。

BLDS = BoxLabeldAtastore(TrainingData(:,2:结束));

使用该估算锚盒boxlabeldatastore.目的。

numanchors = 5;anchorboxes = extimateanchorboxes(BLD,Numanchors);

指定图像大小。

InputImagesize = [128,228,3];

指定要检测的类的数量。

numclasses = 1;

使用预先使用的Reset-50网络作为YOLO V2网络的基础网络。

Network = Resnet50();

指定要用于特征提取的网络层。你可以使用分析函数查看网络中的所有图层名称。

FeatureLayer ='activation_49_relu';

创建YOLO V2对象检测网络。

Lgraph = Yolov2Layers(InputImagesize,Numcrasses,Anchorboxes,Network,FeatureLayer)
LAPHRAGH =具有属性的分层图:图层:[182×1 nnet.cnn.layer.layer]连接:[197×2表]输入名称:{'input_1'} OutputNames:{'yolov2outputlayer'}

使用网络分析仪可视化网络。

分析(LGROPH)

加载包含带有标签的边界框的车载培训数据表。

data = load('vevicletrainingdata.mat');trainingData = data.vehicletRainingData;

将全路添加到本地车辆数据文件夹。

datadir = fullfile(toolboxdir('想象'),'VisionData');trainingdata.imagefilename = fullfile(datadir,trainingdata.imagefilename);

创建一个imageageAtastore.对象使用表中的文件名。

IMDS = imageageAtastore(trainingData.ImageFilename);

创建一个boxlabeldatastore.对象使用具有标签数据的表。

BLDS = BoxLabeldAtastore(TrainingData(:,2:结束));

结合了imageageAtastore.boxlabeldatastore.对象。

CDS =组合(IMDS,BLD);

阅读培训数据。使用对象函数返回图像,边界框和标签。

读(CDS)
ans =.1×3个单元阵列{128x228x3 uint8} {[126 78 20 16]} {[车辆]}

加载包含带有标签的边界框的车载培训数据表。

加载('vevicletrainingdata.mat');

加载包含带有标签的边界框的停车符号和汽车类培训数据表。

加载('stopsignsandcars.mat');

从培训数据创建地面真理表。

vehiclestbl = vevicletramingdata(:,2:结束);stopsignstbl = stopsignsandcars(:,2:结束);

创建一个boxlabeldatastore.对象使用两个表:一个带有车辆标签数据,另一个具有停止标志和汽车标签数据。

BLDS = BoxLabeldAtastore(VehiclestBl,STOPSIGNSTBL);

创建一个imageageAtastore.对象使用培训数据表中的文件名。

datadir = fullfile(toolboxdir('想象'),'VisionData');舰队文件= fullfile(datadir,vehicletrainingdata.imagefilename);stopsignfiles = fullfile(datadir,stopsignsandcars.imagefilename);imds = imageageataStore([车辆文件; stopsignfiles]);

结合了imageageAtastore.boxlabeldatastore.对象。

CDS =组合(IMDS,BLD);

阅读培训数据。使用对象函数返回图像,边界框和标签。

读(CDS)
ans =.1×3个单元阵列{128x228x3 uint8} {[126 78 20 16]} {[车辆]}

也可以看看

应用

功能

对象

话题

在R2019B中介绍