您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 深度学习基础讲解学习
目录CONTENTS1问题概述2YOLO简介与原理4使用数据及结果3YOLO代价函数PART01问题概述图像是指物体的描述信息,数字图像是一个物体的数字表示。视觉是人类感知外部世界的最重要手段,据统计,在人类获取的信息中,视觉信息占60%,而图像正式人类获取信息的重要途径,因此,和视觉紧密相关的数字图像处理技术的项目的开发越来越受到人们的关注,逐渐形成图像识别技术。随着数字图像处理技术的发展和实际应用的需求。许多问题不要求其输出结果是一幅完整的图像本身,而是将经过一定处理后的图像再分割和描述,提取有效的特征,进而加以判断分类,这种技术就是图像的模式识别。PART02YOLO简介3.这个confidence代表了所预测的box中含有object的置信度和这个box预测的有多准两重信息其中如果有object落在一个gridcell里,第一项取1,否则取0。第二项是预测的boundingbox和实际的groundtruth之间的IOU值。YOLO算法YOLO为一种新的目标检测方法,该方法的特点是实现快速检测的同时还达到较高的准确率。作者将目标检测任务看作目标区域预测和类别预测的回归问题。核心思想1.将一幅图像分成SxS个网格(gridcell),如果某个object的中心落在这个网格中,则这个网格负责预测这个object。2.每个网格要预测B个boundingbox,每个boundingbox除了要回归自身的位置之外,还要附带预测一个confidence值,即每个box要预测(x,y,w,h)和confidence共5个值。[Redmonetal.,2015,YouOnlyLookOnce:Unifiedreal-timeobjectdetection]Yolov3的改进1.yolov3采用多尺度预测。(13*13)(26*26)(52*52)2.原论文时基于coco数据集的,而本实验是要检测汽车,所以先验框的大小可能有所不同,先通过k_means聚类算法得到本实验的先验框的大小:40,30,60,42,89,69,93,276,127,94,148,53,223,114,339,172,418,3293.YOLO的CNN网络把图片分成S*S个网格(13*13,26*26,52*52),然后每个单元格负责去检测那些中心点落在该格子内的目标。每个单元格需要预测3*(4+1+B)个值。如果将输入图片划分为S*S网格,那么每层最终预测值为S*S*3*(4+1+B)大小的张量。(B为类别数)(52*52)(26*26)(13*13)YOLO_v3结构图如下所示DBL:就是卷积+BN+Leaky_relu,共同构成了最小组件。resn:n代表数字,有res1,res2,…,res8等等,表示这个res_block里含有多少个res_unit。这是yolo_v3的大组件,yolo_v3开始借鉴了ResNet的残差结构,使用这种结构可以让网络结构更深。concat:张量拼接。将darknet中间层和后面的某一层的上采样进行拼接。拼接的操作和残差层add的操作是不一样的,拼接会扩充张量的维度,而add只是直接相加不会导致张量维度的改变。PART03YOLO代价函数代价函数误差=定位误差+分类误差误差=定位误差+置信度误差+分类误差误差=定位误差+包含目标的框置信度误差+不包含目标的框置信度误差+分类误差Output:SxSx(5*B+C)的一个tensorB:(x,y,w,h,confidence)C:识别的类的数量不能等值加权置信度有两类代价函数采用平方根之差兼顾大框和小框的误差PART04使用数据及结果训练数据与测试数据本次使用的数据为152张图片文件,与已经对这些图片中的车辆信息标注好的XML文件作为训练数据,而使用130张图片作为测试数据,52张图片作为验证数据,4张图片为一个batch,示例如下所示:结果展示如下图所示,为YOLO识别结果,可以清楚地看到,图像中车辆已被识别出来结果展示下图是训练集,测试集损失函数以及学习率的学习曲线,训练集的误差,验证集误差不断减小,先用三层网络预训练200轮,学习率为0.00005,预训练结束后用全部网络训练,改变学习率为0.000001,若loss值在5个以内没有超过阈值,就进行10倍的衰减,对于val_loss若在7个以内没有超过阈值,就认为模型没有继续学习,进行early_stopping若可以说明结果实现了对图片中车辆信息的提取。
本文标题:深度学习基础讲解学习
链接地址:https://www.777doc.com/doc-6857659 .html