必发88:一文带你读懂计算机视觉

  • 时间:
  • 浏览:153
  • 来源:bet36体育在线-bet36体育官网

  本文为 AI 研习社编译的技术博客,原标题 :

  Learning computer vision

  作者 | Romain Beaumont

  翻译 | 黄伟聪、chesc

  校对 | 酱番梨 整理 | 菠萝妹

  原文链接:

  https://towardsdatascience.com/learning-computer-vision-41398ad9941f

  最近,我已经阅读了很多与计算机视觉相关的资料并做了大量实验,这里介绍了在该领域学习和使用过程中有意思的内容。

  自动驾驶的图像分割

  近年来,计算机视觉取得必发88官网 了很大进展。这些是我将在这里提到的主题:

  技术:

  应用:

  关注的人:

  课程:

  相关领域:

  人脸检测是在脸部周围标记方框

  人脸检测是检测脸部的任务。有好几种算法可以做到这一点。

  https://github.com/nodefluxio/face-detector-benchmark 提供了这些方法在速度上的基准,并且易于重用实现代码。

  Haar分类器

  这些是自2000年以来在opencv中出现的旧的计算机视觉方法。在这篇论文:http://wearables.cc.gatech.edu/paper_of_week/viola01rapid.pdf 中做了介绍。

  这是一种机器学习模型,专门用于目标检测的特征提取。Haar分类器速度快但准确度低。

  请参阅:https://docs.opencv.org/3.4.3/d7/d8b/tutorial_py_face_detection.html 中有关于如何使用它的更详细解释和示例。

  HOG:方向梯度直方图

  HOG是一种用于目标检测的提取特征的新方法:它自2005年开始使用。该方法基于计算图像像素的梯度。然后将这些特征馈送到机器学习算法,例如SVM。这种方法具有比Haar分类器更好的精度。

  这种方法的实现在dlib中,就是在face_recognition ( https://github.com/ageitgey/face_recognition ) lib中。

  MTCNN

  一种使用CNNs的变量来检测图像的新方法。精度更高但速度稍慢。请参阅:https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.html

  MobileNet

  目前用于人脸检测的最好和最快的方法,基于通用的mobile net架构。请参阅:https://arxiv.org/abs/1704.04861

  目标检测可以使用与人脸检测类似的方法来实现

  这里有2篇文章介绍了实现它的最新方法。这些方法有时甚至也提供了目标的类别(实现目标识别):

  最近深度学习的迅速发展,可以看到许多新架构取得了很大成功。

  使用许多卷积层的神经网络就是其中之一。一个卷积层利用图像的2D结构在神经网络的下一层中生成有用信息。

  有关什么是卷积的详细说明,请参阅: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1

  目标识别是将物体分类为特定类别(如猫,狗,......)的一般性问题。

  基于卷积的深度神经网络在目标识别任务上取得了很好的效果。

  ILSVR会议一直在ImageNet(http://www.image-net.org/ 一个有许多图片的数据集,包括猫,狗等物品标签)上举办竞赛。

  越成功的神经网络使用的层数会越来越多。

  ResNet架构是迄今为止对目标进行分类的最好网络架构。

  要正确地训练ResNet,需要使用数百万张图像,并且即使使用数十个昂贵的GPU,也需要花费大量时间。

  为了避免每次都要在这些大数据集上进行重新训练,找到一些其他代替方法是十分重要的,而迁移学习和嵌入embeddings就是这样的方法。

  有关resnet的预训练模型,请访问: https://github.com/tensorflow/tensor2tensor#image-classification

  人脸识别就是要弄清楚谁是一张脸。

  历史方法

  解决该任务的历史方法是将特征工程应用于标准机器学习(例如svm),或把深度学习方法应用于目标识别。

  这些方法的问题是它们需要每个人的大量数据。实际上,数据并不总是可以得到的。

  Facenet

  谷歌研究人员在2015年推出了Facenet https://arxiv.org/abs/1503.03832.它提出了一种识别人脸的方法,而不需要为每个人提供大量的人脸样本。

  这种方法是通过拍摄大量脸部的图片数据集(例如 http://vis-www.cs.umass.edu/lfw/ )来有效工作的。

  然后采用现有的计算机视觉架构,例如inception(或resnet),再用计算脸部的嵌入层替换目标识别神经网络的最后一层。

  对于数据集中的每个人,(使用启发式方法)选择三张脸(负样本,正样本,第二正样本)并将其馈送到神经网络。这产生了3个嵌入embeddings。利用这3个嵌入,计算triplet loss,这使得正样本与任何其他正样本之间的距离最小化,并且最大化位置样本与任何其他负样本之间的距离。

  最终结果是每张脸(即使在原始训练集中不存在的脸)现在也可以表示为一个嵌入embedding(128维的向量),该嵌入与其他人的脸部嵌入有很大距离。

  然后,这些嵌入可以与任何机器学习模型(甚至简单的诸如knn)一起使用来识别人。

  关于facenet和face embeddings非常有趣的事情就是使用它你可以识别只有几张照片或者只有一张照片的人。

  请参阅实现它的lib: https://github.com/ageitgey/face_recognition

  这是它的一个tensorflow实现: https://github.com/davidsandberg/facenet

  这是人脸识别流程背后的思想的一个很酷的应用,就是识别熊脸:https://hypraptive.github.io/2017/01/21/facenet-for-bears.html

  在自定义数据集上快速重新训练准确的神经网络

  训练非常深的神经网络(如resnet)是非常耗费资源的,并且还需要大量的数据。

  计算机视觉是高度计算密集型的(在多个gpu上进行数周的训练)并且需要大量数据。为了解决这个问题,我们已经讨论过为人脸计算出通用的嵌入embeddings。另一种方法是采用现有网络并在其他数据集上重新训练,训练时仅仅训练其中的几层。

  这是一个教程: 必发88官网 codelab tutorial 。它建议你重新训练一个初始模型,从而去训练未知的花类。

  在进行迁移学习时,该选择哪一层来重新训练,以下地址提供了很好的指导:https://medium.com/@14prakash/transfer-learning-using-keras-d804b2e04ef8

  用于自动驾驶的图像分割

  近年来,图像分割可能是一项令人印象深刻的新任务。它包括识别图像的每个像素。

  该任务与目标检测有关。实现它的其中一种算法是mask r-cnn,有关详细信息,请参阅此文章: https://medium.com/@jonathan_hui/image-segmentation-with-mask-r-cnn-ebe6d793272

  生成式对抗网络,是由ian goodfellow提出,这个网络架构分为2部分:判别器和生成器。

  在学习期间调整生成器的权重,目标是使生成的图像与该类的真实图像尽可能相似,以至于判别器无法区分出来。

  以下是最大的GAN(https://arxiv.org/abs/1809.11096)生成的图像示例。

  关于GAN在keras上的实现,请参阅: https://github.com/eriklindernoren/Keras-GAN

  要训练大型模型,需要用到大量资源。实现这一目标有两种方法。首先是使用云服务,比如google cloud或者aws。第二种方法是自己组装一台带有GPU的计算机。

  只需1000美元,就可以组装一台相当好的机器来训练深度学习模型。

  更多细节请参阅: 必发88https://hypraptive.github.io/2017/02/13/dl-computer-build.html

  ownphotos的face仪表盘

  Ownphotos 是一个令人惊叹的用户界面,允许您导入照片并自动计算脸部嵌入,进行目标识别和人脸识别。

  它用到的算法:

  计算机视觉有很多应用:

  正如我们这里所见,上述视觉领域各方面的实现中诞生了许多新的有趣的方法和应用。

  我认为人工智能最有趣的,在各领域尤其在视觉领域中,是学习可再使用的算法。让这些方法适用于处理越来越多的任务而不需要更多算力资源和数据 :

  想要继续查看该篇文章相关链接和参考文献?

  长按链接点击打开或点击底部【一文带你读懂计算机视觉】:

  https://ai.yanxishe.com/page/TextTranslation/1286

  AI研习社每日更新精彩内容,观看更多精彩内容:雷锋网雷锋网雷锋网(公众号:雷锋网)

  深度网络揭秘之深度网络背后的数学

  等你来译:

  雷锋网原创文章,未经授权禁止转载。详情见转载须知。


必发88 必发88官网

猜你喜欢

廊坊师范学院2019年运动训练专业招生简章

廊坊师范学院是经教育部批准设立的一所省属全日制普通本科院校,学校坐落在京津走廊上的明珠城市—河北省廊坊市,常年面向全国招生。其中,体育是学校的优势特色专业,因此,经教育部批准新

2019-10-01

《绝地求生刺激战场》头顶冒爱心方法 头顶怎么冒爱心

绝地战场中很多小伙伴们看见有玩家的头顶可以冒爱心,这个爱心是怎么弄的呢?今天就来和小编一起看看刺激战场头顶冒爱心方法介绍吧!这个是送玫瑰花束才会出现的场景。在2月12日~2月1

2019-08-31

《守望先锋》常见问题解决方法 游戏崩溃解决方案

守望先锋发布不久就有许多问题,那么常见问题怎么解决呢?一起跟着小编来看看吧Q:在这次更新后游戏经常崩溃,请问怎么解决?BruceWilkie:崩溃的原因在于NVidia硬件的驱

2019-08-20

《DOTA2》自走棋闪退怎么办 自走棋闪退解决方法分享

《DOTA2》自走棋闪退处理方式介绍,玩家们有没有玩DOTA2自走棋的时候出现闪退的问题,是不是很苦恼,在这小编就为大家带来了关于这个问题的解决方法的介绍,一起来看看吧。DOT

2019-05-25