赞
踩
目前主流的模型有CNN(卷积神经网络),RCNN(region with CNN features),Fast-RCNN,Faster-RCNN,YOLO等等
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。是以卷积为核心的一大类网络。
特点:由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。
CNN结构演化历史图
在CNN的基础上,主要通过提取多个Region Proposal(候选区域)来判断位置。当样本较少时,使用大量的辅助样本对模型进行预训练,之后用自己的样本对网络进行微调。
Fast R-CNN组合了classification和regression, 做成single Network,实现了端到端的训练,实际上它相对RCNN最大的改进是抛弃了多个SVM分类器和bounding box回归器的做法,一起输出bbox和label, 很大程度上提升了原始RCNN的速度。
Faster RCNN将特征抽取(feature extraction),proposal提取,bounding box regression,classification都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。对比起它哥哥Fast-RCNN, 其实最重要的一点就是使用RPN(下面会详细解说)来代替原来使用分割算法生成候选框的方式,极大的提升了检测框生成速度。
Faster-RCNN中的产生RP的RPN和目标检测的CNN共享。
该方法的特点是实现快速检测的同时还达到较高的准确率。比Faster-RCNN快。
模型采用卷积神经网络结构。开始的卷积层提取图像特征,全连接层预测输出概率。模型结构类似于GoogleNet,如图3所示。作者还训练了YOLO的快速版本(fast YOLO)。Fast YOLO模型卷积层和filter更少。最终输出为7×7×30的tensor。
YOLO检测网络包括24个卷积层和2个全连接层。其中,卷积层用来提取图像特征,全连接层用来预测图像位置和类别概率值。采用了多个下采样层,网络学到的物体特征并不精细,因此也会影响检测效果。YOLO网络借鉴了GoogLeNet分类网络结构。不同的是,YOLO未使用inception module,而是使用1x1卷积层(此处1x1卷积层的存在是为了跨通道信息整合)和3x3卷积层简单替代。
参考文章:
https://blog.csdn.net/tystuxd/article/details/85317037
https://zhuanlan.zhihu.com/p/55856134
https://blog.csdn.net/u011808673/article/details/78702396
在Pytorch中构建CNN模型非常简单,只需要定义好模型的参数和正向传播即可,Pytorch会根据正向传播自动计算反向传播。
import torch
torch.manual_seed(0)
torch
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。