计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。
这里所指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。
因为感知可以看作是从感官信号中提 取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。
计算机视觉基本任务类型
- 图像分类
- 目标检测
- 语义分割
- 实例分割
- 视频分类
- 人体关键点检测
- 场景文字识别
- 目标跟踪
图像分类
VGG
GoogleNet
RestNet
目标检测
RCNN
Fast RCNN
Faster RCNN
YOLO
SSD
SPPNet
图像定位
RCNN
Fast RCNN
Faster RCNN
YOLO
SSD
历史算法
==================================================================================================================
[R-CNN]
算法特点:
R-CNN 采用 AlexNet
R-CNN 采用 Selective Search 技术生成 Region Proposal.
R-CNN 在 ImageNet 上先进行预训练,然后利用成熟的权重参数在 PASCAL VOC 数据集上进行 fine-tune
R-CNN 用 CNN 抽取特征,然后用一系列的的 SVM 做类别预测。
R-CNN 的 bbox 位置回归基于 DPM 的灵感,自己训练了一个线性回归模型。
R-CNN 的语义分割采用 CPMC 生成 Region
算法步骤:
1. 在图像中确定约1000-2000个候选框 (使用选择性搜索)
2. 每个候选框内图像块缩放至相同大小,并输入到CNN内进行特征提取
3. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
4. 对于属于某一特征的候选框,用回归器进一步调整其位置
[OverFeat]
[MultiBox]
[SPP-Net]
[MR-CNN]
[DeepBox]
[AttentionNet]
==================================================================================================================
[Fast R-CNN]
算法步骤:
1. 在图像中确定约1000-2000个候选框 (使用选择性搜索)
2. 对整张图片输进CNN,得到feature map
3. 找到每个候选框在feature map上的映射patch,将此patch作为每个候选框的卷积特征输入到SPP layer和之后的层
4. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
5. 对于属于某一特征的候选框,用回归器进一步调整其位置
[DeepProposal]
[Faster R-CNN]
算法步骤:
1. 对整张图片输进CNN,得到feature map
2. 卷积特征输入到RPN,得到候选框的特征信息
3. 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
4. 对于属于某一特征的候选框,用回归器进一步调整其位置
[OHEM]
[YOLO V1]
核心思想:
利用整张图作为网络的输入,直接在输出层回归bounding box的位置和bounding box所属的类别。
Faster RCNN中也直接用整张图作为输入,但是Faster-RCNN整体还是采用了RCNN那种 proposal+classifier的思想,只不过是将提取proposal的步骤放在CNN中实现了,而YOLOv1则采用直接回归的思路。
在YOLOv1的损失函数中:
只有当某个网格中有object的时候才对classification error进行惩罚。
只有当某个box predictor对某个ground truth box负责的时候,才会对box的coordinate error进行惩罚,而对哪个ground truth box负责就看其预测值和ground truth box的IoU是不是在那个cell的所有box中最大。
算法特点:
YOLOv1方法模型训练依赖于物体识别标注数据,因此,对于非常规的物体形状或比例,YOLOv1的检测效果并不理想。
YOLOv1采用了多个下采样层,网络学到的物体特征并不精细,因此也会影响检测效果。
YOLOv1的loss函数中,大物体IOU误差和小物体IOU误差对网络训练中loss贡献值接近(虽然采用求平方根方式,但没有根本解决问题)。因此,对于小物体,小的IOU误差也会对网络优化过程造成很大的影响,从而降低了物体检测的定位准确性。
YOLO的缺点
YOLO对相互靠的很近的物体和很小的群体检测效果不好,这是因为一个网格中只预测了两个框,并且只属于一类;
同一类物体出现的新的不常见的长宽比和其他情况时,泛化能力偏弱;
由于损失函数的问题,定位误差是影响检测效果的主要原因。尤其是大小物体的处理上,还有待加强。
[G-CNN]
[AZNet]
==================================================================================================================
[Inside-OutsideNet(ION)]
[HyperNet]
[CRAFT]
[MultiPathNet(MPN)]
[SSD]
[GBDNet]
==================================================================================================================
[CPF]
[MS-CNN]
[R-FCN]
[PVANET]
[DeepID-Net]
[NoC]
[DSSD]
[TDM]
[YOLO v2]
==================================================================================================================
[Feature Pyramid Net(FPN)]
[RON]
[DCN]
[DeNet]
[CoupleNet]
[RetinaNet]
[DSOD]
==================================================================================================================
[Mask R-CNN]
[SMN]
[YOLO V3]
[SIN]
[STDN]
[RefineDet]
[MLKP]
[Relation-Net]
==================================================================================================================
[Cascade R_CNN]
[RFBNet]
[CornerNet]
[PFPNet]
[Pelee]
[HKRM]
[R-DAD]
[M2Det]