找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

CV 基础知识-算法发展过程

admin 2019-9-16 06:38 130人围观 C++相关

本文整理自:一文看懂人脸识别技术发展脉络:https://www.infoq.cn/article/CfW4lObDUR-Oiw5PUcru



算法发展过程

  1. 传统机器学习算法

    1. 人脸关键点(特征点)的精确定位本身就是一个比较困难的问题,容易受到姿态和表情等变化的影响,从而导致特征很不稳定;直到现在,人脸特征点定位仍然是人脸算法最重要的一个研究方向。

    2. 三维辅助的二维方法。算法借助三维模型的辅助,从二维图象学习其在不同姿态、光照条件下的表象变化,以达到算法对姿态、光照鲁棒目的。这类方法兼具二维方法的速度优势和三维方法的性能优势,成为一个新兴的研究方向。

    3. 根据应用中目标集和查询集的不同粗略分为三类:图象(多幅图象)对视频、视频对图象(多幅图象)和视频对视频的算法。一般对视频序列要利用其时空状态信息,有选择性地学习建立样本分布的类别模型,采用某些融合策略融合多帧识别结果。

    4. 综上所述,人脸识别的研究在原始特征层次从早期几何特征逐渐发展为主流的表象特征;在信息源层次从基于二维静止图像的人脸识别在向三维人脸识别和视频人脸识别的方向扩展;在特征压缩层次逐渐发展为子空间为主流;基于人脸三维形状和纹理联合建模方法为人脸识别和分析提供了另一种思路。

    2. 基于深度学习算法

    1. 自从进入深度学习的时代以来,各家的人脸识别算法就逐渐趋于一致,

    2. 普遍的思路就是利用 CNN 网络建立的高维模型,直接从输入的人脸图像上提取有效的鉴别特征,直接计算余弦距离来进行人脸识别,算法结构趋同。

    3. 第一阶段为深度学习在人脸识别研究中应用的早期阶段,从最开始的 VGG 网络到 Inception 网络再到 Resnet 网络,网络模型总体上呈现出更深,更宽的趋势。在一些学术上的公开数据集如 LFW、MegaFace 上面,只要进行针对性的结构设计以及参数调整,适当扩大数据集合或者进行数据增强,都能取得差不多很好的效果。但是从实际应用的角度来说,普遍泛化性能不好,不具有实际应用的价值。

    4. 第二阶段发展就是以旷视、商汤为代表的在学术公开竞赛中取得好成绩的这些厂商,开始发展实际业务为起点,通过不断扩大他们的实际数据集合,算法性能也在逐渐的提升。到 2016 年左右,基于深度学习的算法无论在学术测试集合上还是在实际应用上,表现都远远超越了基于传统机器学习的算法。人脸识别算法到此完成了深度学习算法的大一统。

    5. 第三阶段,除了进一步增加数据量以提升算法性能以外,与第一阶段相反,大家开始在不降低识别性能的基础上,研究网络的轻量化。轻量化的主要目的有两个,一个是提升算法的速度,甚至能够部署到移动端;另外一个就是便于硬件实现,从而将人脸识别算法直接做成一个硬件模块。

    6. 同时,与传统机器学习算法类似,各家也开始研究视频中的人脸识别(监控场景),同时开始结合一些三维信息去进一步提升识别性能。

    未来趋势

      人脸识别的发展应当仍然分成上述两个方向,一个方向从有效挖掘海量人脸数据的角度出发,进一步提升模型性能;另外一个方向则是将人脸识别模型轻量化以便实现移动端部署或者做成一个芯片模组

----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:morningworld,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......