ViT模型将Transformer引入到图像的分类中,更准确的说是Transformer中的Encoder模块。为了能够尽可能少地对原始模型的修改,在ViT中将图像转换成一维的序列表示,以改成标准的文本形式,通过这种方式实现Transformer在CV中的应用。
在2016年Kaipeng Zhang, Zhanpeng Zhang等人提出了人脸检测算法MTCNN(Multi-task Cascaded Convolutional Networks)模型,MTCNN算法的效果也是得到了很多实际项目的验证,在工业界得到了广泛的应用,在我个人的实际项目中也得到了较多应用。
在GAN中,无论是生成过程还是判别过程都是无任何指导的,Conditional GAN[1]提出在上述的两个过程中引入一个条件,以此指导上述的两个过程。
针对不同大小的输入图像,在传统CNN网络中,需要首先将图像通过裁剪或者拉伸等变换转换到固定大小,通过分析,不同尺寸的输入主要是对全连接层有影响,SPP-Net中,在全连接层之前引入Spatial Pyramid Pooling Layer,可以将任意大小的输入转换成固定大小的输出。
更宽更深的网络对于提升网络效果起到了至关重要的作用,但同时也带来了很多的问题,如难以训练,计算代价等等,沿着这条路,Google提出了Inception模块,并将其引入到卷积神经网络中,同时在网络的训练过程中又增加了诸如辅助分类器等帮助模型训练的优化,使得能够训练出更宽更深的网络模型Inception v1,同时在Inception v1的基础上,又继续优化,提出BN模块加速训练,提出大卷积转成多个小卷积来加速计算,得到了Inception v2和Inception v3模型。Google在Inception结构上的优化还未停止,在这之后,又吸收了其他模型结构的优势,推出了Inception v4以及xInception等等。
在传统的CNN网络中,使用卷积(Convolution)操作来提取感受野中的特征,卷积操作是由一个线性变换与非线性激活函数组成,为了能增强CNN网络的局部辨识能力,2014年Network In Network的结构被提出,其使用多层感知机的网络结构替换感受野上的线形变换和非线性激活函数,以此来增强模型的局部建模能力。
VGG是Oxford的Visual Geometry Group的组提出的,VGG的缩写也来自于这个组的名字。VGG网络探索了提升网络的深度对最终的图像识别准确率的重要性,同时在VGG中尝试使用小的卷积核来构建深层的卷积网络。VGG在当年的ILSVRC 2014上取得了第一的成绩,证明了增加网络的深度能够在一定程度上提高网络的性能。
AlexNet卷积神经网络在CNN的发展过程中起着非常重要的作用,AlexNet是由加拿大多伦多大学的Alex Krizhevsky等人提出。在当年的ImageNet图像分类竞赛,取得了大赛的冠军并且效果大大好于第二名。如今回过来看,AlexNet的主要贡献是ReLU、Dropout、Max-Pooling,这些技术基本上在AlexNet之后的大多数主流架构中都能见到。
生成对抗网络GAN中通过生成网络G和判别网络D之间的“生成”和“对抗”过程,通过多次的迭代,最终达到平衡,使得训练出来的生成网络G能够生成“以假乱真”的数据,判别网络D不能将其从真实数据中区分开。
Google在2015年提出了人脸识别系统FaceNet,可以直接将人脸图像映射到欧式空间中,空间中的距离直接代表了人脸的相似度。
RCNN(Region with CNN features)算法发表在2014年CVPR的经典paper:《Rich feature hierarchies for Accurate Object Detection and Segmentation》中,这篇文章是目标检测领域的里程碑式的论文,首次提出使用卷积神经网络(Convolutional Neural Networks, CNNs)处理目标检测(Object Detetion)的问题。