一文带你读懂计算机视觉
翻译 | 黄伟聪、chesc
校对 | 酱番梨 整理 | 菠萝妹
原文链接:
最近,我已经阅读了很多与计算机视觉相关的资料并做了大量实验,这里介绍了在该领域学习和使用过程中有意思的内容。
自动驾驶的图像分割
近年来,计算机视觉取得了很大进展。这些是我将在这里提到的主题:
技术:
人脸检测:Haar,HOG,MTCNN,Mobilenet
人脸识别:CNN,Facenet
目标识别:alexnet,inceptionnet,resnet
迁移学习:在一个新场景上用很少的资源重新训练大型神经网络
图像分割:rcnn
生成式对抗网络
计算机视觉所需硬件:选择什么,关键是GPU
集成视觉的UI应用程序:ownphotos
应用:
个人图片整理
自动驾驶汽车
自动无人机
验证码识别/OCR
过滤网站/应用程序上的图片
自动标记应用程序的图片
从视频(电视节目,电影)中提取信息
视觉问答
艺术
关注的人:
重要的深度学习创始人:andrew ng,yann lecun,bengio yoshua,hinton joffrey
adam geitgey 主页 有很多计算机视觉方面的有趣文章,比如 链接 有完整的人脸检测/对齐/识别流程
课程:
coursera 网站里的 deep learning 课程
coursera 网站里的 machine learning 课程
相关领域:
深度强化学习:把包含CNN的PPO和DPN看作输入层
与自然语言处理的交互:lstm 2 cnn
人脸检测
人脸检测是在脸部周围标记方框
人脸检测是检测脸部的任务。有好几种算法可以做到这一点。
提供了这些方法在速度上的基准,并且易于重用实现代码。
Haar分类器
这些是自2000年以来在opencv中出现的旧的计算机视觉方法。在这篇论文: 中做了介绍。
这是一种机器学习模型,专门用于目标检测的特征提取。Haar分类器速度快但准确度低。
请参阅: 中有关于如何使用它的更详细解释和示例。
HOG:方向梯度直方图
HOG是一种用于目标检测的提取特征的新方法:它自2005年开始使用。该方法基于计算图像像素的梯度。然后将这些特征馈送到机器学习算法,例如SVM。这种方法具有比Haar分类器更好的精度。
这种方法的实现在dlib中,就是在face_recognition ( ) lib中。
MTCNN
一种使用CNNs的变量来检测图像的新方法。精度更高但速度稍慢。请参阅:
MobileNet
目前用于人脸检测的最好和最快的方法,基于通用的mobile net架构。请参阅:
目标检测
目标检测可以使用与人脸检测类似的方法来实现
这里有2篇文章介绍了实现它的最新方法。这些方法有时甚至也提供了目标的类别(实现目标识别):
r-fcn
a comparison of r-cnn, fast r-cnn, faster r-cnn and yolo
卷积神经网络
最近深度学习的迅速发展,可以看到许多新架构取得了很大成功。
使用许多卷积层的神经网络就是其中之一。一个卷积层利用图像的2D结构在神经网络的下一层中生成有用信息。
有关什么是卷积的详细说明,请参阅:
目标识别
目标识别是将物体分类为特定类别(如猫,狗,......)的一般性问题。
基于卷积的深度神经网络在目标识别任务上取得了很好的效果。
ILSVR会议一直在ImageNet( 一个有许多图片的数据集,包括猫,狗等物品标签)上举办竞赛。
越成功的神经网络使用的层数会越来越多。
ResNet架构是迄今为止对目标进行分类的最好网络架构。
要正确地训练ResNet,需要使用数百万张图像,并且即使使用数十个昂贵的GPU,也需要花费大量时间。
为了避免每次都要在这些大数据集上进行重新训练,找到一些其他代替方法是十分重要的,而迁移学习和嵌入embeddings就是这样的方法。
有关resnet的预训练模型,请访问: #image-classification
人脸识别
人脸识别就是要弄清楚谁是一张脸。
历史方法
解决该任务的历史方法是将特征工程应用于标准机器学习(例如svm),或把深度学习方法应用于目标识别。
这些方法的问题是它们需要每个人的大量数据。实际上,数据并不总是可以得到的。
Facenet
谷歌研究人员在2015年推出了Facenet 它提出了一种识别人脸的方法,而不需要为每个人提供大量的人脸样本。
这种方法是通过拍摄大量脸部的图片数据集(例如 )来有效工作的。
然后采用现有的计算机视觉架构,例如inception(或resnet),再用计算脸部的嵌入层替换目标识别神经网络的最后一层。
版权保护: 本文由 沃派博客-沃派网 编辑,转载请保留链接: http://www.bdice.cn/html/12507.html