主要内容

yolov2镶嵌

创建YOLO V2对象检测网络

描述

例子

LGRAPH.= yolov2layers(图片尺寸numclasses.锚盒网络FeatureLayer.创建YOLO v2对象检测网络,并返回为分层图对象。

例子

LGRAPH.= yolov2layers(___,'Reorglayersource',重新创业使用名称值对指定重组层的源。您可以指定此名称值对以将重组层添加到Yolo V2网络架构。除了先前语法中的输入参数之外,还指定此参数。

例子

全部折叠

指定用于训练网络的输入图像的大小。

imageSize = [224 224 3];

指定网络必须检测到的对象类的数量。

numClasses = 1;

定义锚盒。

[1 1;4 6;5 3;9 6];

将普雷雷维特·-50网络指定为YOLO V2的基础网络。要使用此预制网络,您需要安装“深度学习工具箱模型,用于Reset-50网络”支持包。金宝app

Network = Resnet50();

分析网络架构以查看所有网络层。

analyzeNetwork(网络)

指定要用于特征提取的网络层。您可以选择除完全连接图层的任何图层作为要素图层。

featureLayer =“activation_49_relu”;

创建YOLO V2对象检测网络。网络返回为a分层图对象。

lgraph = yolov2Layers(图象尺寸、numClasses anchorBoxes,网络,featureLayer);

分析YOLO v2网络架构。特征层之后的层被删除。基础网络的特征层增加了一系列卷积层、ReLU层、批处理归一化层以及YOLO v2转换层和YOLO v2输出层。

分析(LGROPH)

指定用于训练网络的输入图像的大小。

imageSize = [224 224 3];

指定网络必须检测到的对象类的数量。

numClasses = 1;

定义锚盒。

[1 1;4 6;5 3;9 6];

指定预训练的ResNet -50作为YOLO v2的基础网络。要使用此预制网络,您需要安装“深度学习工具箱模型,用于Reset-50网络”支持包。金宝app

Network = Resnet50();

分析网络架构以查看所有网络层。

analyzeNetwork(网络)

指定要用于特征提取的网络层。您可以选择除完全连接图层的任何图层作为要素图层。

featureLayer =“activation_49_relu”;

指定网络层作为重组层的源。

reorgLayer =“activation_47_relu”;

创建YOLO V2对象检测网络。网络返回为a分层图对象。

lgraph = yolov2Layers (featureLayer图象尺寸,numClasses, anchorBoxes,网络,'ReorGlayerSource', reorgLayer);

分析YOLO v2网络架构。特征层之后的层被删除。检测子网以及YOLO V2变换和YOLO V2输出层被添加到基础网络的特征层。还将重组层和深度级联层添加到网络中。YOLO V2 REOG层重新组织了输出功能的尺寸activation_47_relu层。深度级联层将重组层的输出与较高层的输出连接起来。

分析(LGROPH)

输入参数

全部折叠

输入图像的大小,指定为其中一个值:

  • 形式的两个元素矢量[HW.] - 对于灰度形象的大小H——- - - - - -W.

  • 形式的三元素矢量[HW.3]——对于RGB彩色图像的大小H——- - - - - -W.

对象类的数量,指定为正整数。

锚盒,指定为m- × 2矩阵,定义锚盒的大小和数量。的每一行m-by-2矩阵表示锚盒的大小,格式为[高度宽度].m表示锚盒的数量。这个输入设置了锚盒属性的输出层。

每个锚盒的大小是根据输入训练数据中存在的不同对象类的比例和宽高比来确定的。此外,每个锚盒的大小必须小于或等于输入图像的大小。您可以使用聚类方法从训练数据中估计锚盒。有关更多信息,请参见根据训练数据估计锚盒

预卷曲的卷积神经网络,指定为一个分层图(深度学习工具箱)Dagnetwork.(深度学习工具箱), 或者系列网络(深度学习工具箱)对象。该预训练卷积神经网络作为YOLO v2目标检测网络的基础。有关MATLAB中预训练网络的详细信息®, 看预先训练的深度神经网络(深度学习工具箱)

特征层的名称,指定为字符向量或字符串标量。其中一个更深层次的名字网络用于特征提取。从这一层提取的特征作为输入给YOLO v2对象检测子网络。你可以使用analyzeNetwork(深度学习工具箱)命令功能,查看输入网络中各层的名称。

笔记

您可以指定除完全连接图层的任何网络层作为要素层。

重组层的名称,指定为字符向量或字符串标量。其中一个更深层次的名字网络用作重组层的输入。你可以使用analyzeNetwork(深度学习工具箱)函数查看输入中各层的名称网络。重组层是转通层,其重新组织低层特征的尺寸,以便于用高层特征倾斜。

笔记

重组层的输入必须来自位于特征层之上的任何一个网络层。

输出参数

全部折叠

YOLO v2对象检测网络,返回为a分层图对象。

笔记

默认值归一化属性的图像输入层返回LGRAPH.对象设置为归一化中指定的基本网络的属性网络

算法

yolov2镶嵌函数创建YOLO V2网络,表示YOLO V2对象检测器的网络架构。使用trainYOLOv2ObjectDetector函数培训YOLO V2网络进行对象检测。该函数返回一个对象,该对象生成呈现的Yolo V2对象检测网络的网络架构[1][2]

yolov2镶嵌以预训练的神经网络为基础网络,添加创建YOLO v2对象检测网络所需的检测子网。给定一个基本网络,yolov2镶嵌删除基础网络中特征层之后的所有层,并添加检测子网。检测子网络由串行连接的卷积层、ReLU层和批处理归一化层组成。检测子网中增加了YOLO v2变换层和YOLO v2输出层。如果指定名称-值对'ReorGlayerSource',YOLO V2网络将重组层的输出与特征层的输出连接。

创建YOLO v2自定义网络的详细信息请参见创建YOLO v2对象检测网络

参考文献

[1]约瑟夫。R,S.K. Divvala,R.B.Girshick和F. Ali。“你只看一次:统一,实时对象检测。”在IEEE计算机视觉与模式识别会议论文集, 779 - 788页。拉斯维加斯,内华达州:CVPR, 2016。

[2]约瑟夫。R和F. Ali。“yolo 9000:更好,更快,更强。”在IEEE计算机视觉与模式识别会议论文集, 6517 - 6525页。檀香山,HI: CVPR, 2017。

扩展能力

在R2019A介绍