主要内容

yolov3ObjectDetector

检测对象使用YOLO v3意思对象探测器

描述

yolov3ObjectDetector对象创建一个你只看一次版本3 (YOLO v3意思)对象检测器来检测对象在一个图像。使用这个对象,您可以:

  • 创建一个pretrained YOLO v3对象探测器利用YOLO v3意思意思深度学习网络可可训练数据集。

  • 创建一个自定义YOLO v3对象探测器通过使用任何pretrained或未经训练的意思YOLO v3意思深学习网络。

创建

描述

Pretrained YOLO v3意思对象探测器

例子

探测器= yolov3ObjectDetector (的名字)创建一个pretrained YOLO v3对象探测器利用YOLO v3意思意思深度学习在可可网络训练数据集。

请注意

使用pretrained YOLO v3深度学习在可可网络训练数据集,意思你必须安装计算机视觉工具箱YOLO v3意思™模型对象检测从附加的探险家。关于安装插件的更多信息,请参阅获取和管理插件。要运行这个函数,您将需要深度学习工具箱™。

自定义YOLO v3意思对象探测器

探测器= yolov3ObjectDetector (的名字,,aboxes)创建一个pretrained YOLO v3意思对象探测器,并配置它来执行转移学习使用一组指定的对象类和锚箱。为获得最佳的结果,你必须训练检测器之前新的训练图像进行检测。

探测器= yolov3ObjectDetector (,,aboxes)创建一个对象探测器通过深入学习网络

如果是一个pretrained YOLO v3意思深学习网络,该函数创建一个pretrained YOLO v3意思对象探测器。的aboxes值用于训练网络。

如果是一个未经训练的YOLO v3意思深学习网络,这个函数创建一个YOLO v3意思对象探测器用于培训和推理。aboxes指定对象类和锚箱,分别训练YOLO v3意思网络。

你必须训练检测器在训练数据集执行对象检测。信息关于如何训练YOLO v3对象探测器,意思明白了训练数据进行预处理火车模型部分的对象检测使用YOLO v3意思深入学习的例子。

例子

探测器= yolov3ObjectDetector (baseNet,,aboxes“DetectionNetworkSource”,)创建一个YOLO v3意思对象探测器通过添加检测头基地网络,baseNet

指定的函数将检测头添加到特征提取层在基础网络。指定的名称特征提取层,使用名称-值参数“DetectionNetworkSource”,

如果baseNetpretrained深入学习网络,有人知道由罗v3函数创建一个对象探测器,并配置它来执行转移学习与指定的对象类和锚盒子。

如果baseNet是一个未经训练的深度学习网络,该函数创建一个YOLO v3意思对象探测器和配置对象检测。aboxes指定对象类和锚箱,分别训练YOLO v3意思网络。

你必须训练检测器在训练数据集执行对象检测。

探测器= yolov3ObjectDetector (___,名称,值)设置InputSizeModelName对象探测器通过使用名称-值对的属性参数。的名字属性名和吗价值相应的价值。你必须在报价附上每个属性的名字。

输入参数

全部展开

的名字pretrained YOLO v3意思深学习网络,指定为其中一种:

  • “darknet53-coco”——pretrained YOLO v3意思深入学习网络使用DarkNet-53创建为基础网络和可可训练数据集。

  • “tiny-yolov3-coco”——pretrained YOLO v3意思深入学习网络使用一个小基地创建网络和可可训练数据集。

数据类型:字符|字符串

培训对象类探测器的名字,指定为字符串向量,单元阵列特征向量,或分类向量。这个参数设置一会财产的yolov3ObjectDetector对象。

数据类型:字符|字符串|分类

锚箱训练检测器,指定为一个N1单元阵列。N是输出层的数量YOLO v3意思深学习网络。每个单元包含一个2矩阵,是锚箱的数量在这一层。中的每一行2的矩阵表示形式锚箱的大小(高度宽度]。

细胞数组中的第一个元素指定了锚箱与第一输出层单元数组中的第二个元素指定了锚箱与第二个输出层,等等。对于准确的检测结果,指定大锚箱第一输出层和小锚箱输出层。即锚箱尺寸必须为每个输出层减少层的顺序出现在YOLO v3意思深学习网络。

这个参数设置AnchorBoxes财产的yolov3ObjectDetector对象。

数据类型:细胞

YOLO v3意思深学习网络,作为一个指定dlnetwork(深度学习工具箱)对象。输入网络可以是一个未经训练或pretrained深度学习网络。

基础网络创建YOLO v3意思深入学习网络,作为一个指定dlnetwork(深度学习工具箱)对象,或DAGNetwork(深度学习工具箱)对象。网络可以是一个未经训练或pretrained深度学习网络。

特征提取层基础网络的名称,指定为一个单元阵列的特征向量,或一个字符串数组。

这个函数创建一个YOLO v3意思网络通过添加检测头层到输出层特征提取的基础网络。特征提取层必须指定的反向顺序出现在网络体系结构。例如,鉴于有四个特征提取的基础网络层,您必须添加的第一个检测头第四特征提取层、第二检测头第三特征提取层,等等。

例子:层= {‘conv10’,‘fire9-concat’,‘fire8-concat}

例子:层= [“conv10”、“fire9-concat”,“fire8-concat”)

数据类型:字符|字符串|细胞

属性

全部展开

这个属性是只读的。

YOLO v3意思深入学习网络用于目标检测,存储为一个dlnetwork(深度学习工具箱)对象。

这个属性是只读的。

锚箱,存储为一个N1单元阵列。计算单元中的每个元素2矩阵。中的每一行2的矩阵表示形式的锚箱的大小(高度宽度]。表示锚箱的数量。N是输出层的数量YOLO v3意思深入学习网络的定义锚箱。细胞数组中的第一个元素指定了锚箱第一输出层单元数组中的第二个元素指定了锚箱的第二输出层,等等。

你可以设置这个属性使用输入参数aboxes

这个属性是只读的。

对象类的名字来检测,存储为一个分类向量。你可以设置这个属性使用输入参数

这个属性是只读的。

设置图像大小用于培训,存储为一个2类型的矩阵。每一行的形式(高度宽度]。设置此属性,指定对象创建。

例如,探测器= yolov3ObjectDetector(净,类、aboxes InputSize, (220 220;440 440])

的名字对象探测器,存储为一个特征向量。设置此属性,指定对象创建。

例如,yolov3ObjectDetector(净类、aboxes ModelName, customDetector)设置对象探测器的名称“customDetector”

对象的功能

检测 检测对象使用YOLO v3意思对象探测器
进行预处理 图像预处理的训练和测试
向前 计算YOLO v3意思深入学习网络输出进行训练
预测 对推理计算YOLO v3意思深入学习网络输出

例子

全部折叠

指定的名称pretrained YOLO v3意思深学习网络。

name =“tiny-yolov3-coco”;

创建YOLO v3意思对象探测器利用pretrained YOLO v3意思网络。

探测器= yolov3ObjectDetector(名称);

显示和探测器检查YOLO v3意思的属性对象。

disp(探测器)
yolov3ObjectDetector属性:网络:[1 x1 dlnetwork] AnchorBoxes: {2 x1细胞}一会:x1直言[80]InputSize:[416 416 3]可学的:[48 x3表]状态:[22 x3表]ModelName:“tiny-yolov3-coco”

使用analyzeNetwork显示YOLO v3意思网络体系结构和网络层的信息。网络有两个检测头连接到网络特征提取。

analyzeNetwork (detector.Network)

检测对象在一个未知的图像通过使用pretrained YOLO v3意思对象探测器。

img = imread (“sherlock.jpg”);img =预处理(探测器,img);img = im2single (img);(bboxes、分数、标签)=检测(img探测器,“DetectionPreprocessing”,“没有”);

显示检测结果。

detectedImg = insertObjectAnnotation (img,“矩形”、bboxes、标签);图imshow (detectedImg)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

这个例子展示了如何创建一个自定义YOLO v3意思对象探测器通过使用pretrained SqueezeNet为基础网络。

加载一个pretrained SqueezeNet网络。SqueezeNet网络卷积神经网络,您可以使用作为基础网络创建YOLO v3意思对象探测器。

网= squeezenet
网= DAGNetwork属性:层:x1 nnet.cnn.layer.Layer[68]连接:[75 x2表]InputNames:{“数据”}OutputNames: {“ClassificationLayer_predictions”}

检查基础架构的网络使用analyzeNetwork(深度学习工具箱)函数。

analyzeNetwork(净)

指定要使用的锚盒子和类训练YOLO v3意思网络。

aboxes ={(150127, 97, 90, 68, 67];[38, 42岁,41岁,29日,31日23]};类= {“汽车”,“卡车”};

选择两个特征提取层基础网络作为检测子网的源代码。

层= {“fire9-concat”,“fire8-concat”};

创建一个自定义YOLO v3意思对象探测器通过添加检测头的特征提取层基础网络。指定模式名、类和锚箱。

探测器= yolov3ObjectDetector(净、类aboxes,“ModelName”,“自定义YOLO v3意思”,“DetectionNetworkSource”层);

检查YOLO v3意思深入学习网络的体系结构使用analyzeNetwork(深度学习工具箱)函数。

analyzeNetwork (detector.Network)

检查检测器YOLO v3意思的属性对象。你现在可以训练YOLO v3意思对象探测器在一个定制的训练数据集和执行对象检测。

disp(探测器)
yolov3ObjectDetector属性:网络:[1 x1 dlnetwork] AnchorBoxes: {2 x1细胞}一会:[2 x1直言]InputSize:[227 227 3]可学的:[66 x3表]状态:[6 x3表]ModelName:“定制YOLO v3意思”

如何培养信息YOLO v3意思对象探测器,看到对象检测使用YOLO v3意思深入学习的例子。

扩展功能

版本历史

介绍了R2021a