当前位置: 首页 > news >正文

快速掌握计算机视觉大部分领域,学习人脸图像是唯一选择

文末有惊喜

笔者是从传统图像算法开始进入计算机视觉行业的,那一批人基本上都是从人脸图像和文本图像开始学,而如今很多计算机视觉从业者却从来没有接触过人脸图像相关的算法,或许真的是时代变了吧。


但笔者想说的是,如果你想快速系统地串联计算机视觉领域的知识,人脸图像应该是唯一选择,没有其他类型的图像可以覆盖底层图像特征,目标检测与跟踪,图像分类和检索,图像滤波,图像分割,三维重建,风格迁移等方向,并且能够做到相互融合从而进行工业界落地。如果你还不知道人脸图像能做什么,不如看一看上面的1分钟视频,然后我们接下来细看到底都有些什么。

底层图像特征

或许很多经典的底层图像特征已经PK不过现在的深度学习模型学习到的特征,但是思想是永恒的,在人脸这个领域,有一些特征理解起来非常直观。

特征通常可以分为颜色特征、纹理特征、形状特征,下面我们看看在人脸方向有哪些很经典的东西。

第一个是肤色高斯模型,它是颜色特征。尽管人有白、黄、黑三种肤色,但研究证明,肤色在某些颜色空间上的差异性主要体现在亮度上,在色度上具有较好的聚类表现。因此根据肤色属性所具有的规律和分布情况对肤色建模,便可以将肤色与非肤色区域区分开。肤色高斯模型在早期可以常用人脸检测,现在也常用于辅助一些模型进行人脸区域的快速定位。

第二个是haar特征,它是纹理特征。脸部有一些固有的属性,比如眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。Haar特征通过对相邻图像块进行灰度比较,并使用积分图像进行快速计算,在大名鼎鼎的V-J算法中被使用。如果研究过OpenCV人脸检测算法的,不可能不知道。

第三个是形状特征,基于人脸特征关键点就可以计算出一系列的形状特征,因为人脸关键点是眉毛、眼睛、鼻子、嘴巴、脸部等有语义的特征点,每个人脸都通用却有独特性,对于光照姿态等有很强的不变性。

目标检测与跟踪

目标检测可以说是计算机视觉方向中从业者最多的了,不然也不会出现千篇一律的简历中写着跑过Yolo算法,人脸检测就是目标检测的一个子领域。

尽管通用的目标检测算法可以用于人脸检测,但是人脸检测依然有它的特点,比如早期的时候一些方法会挨个检测人脸的各个部位,然后组合成最终人脸。以MTCNN为代表的框架会把人脸检测和关键点检测问题进行联合处理。

而如今,在目标检测领域中的一些难题在人脸检测领域同样广泛存在,比如大姿态人脸、遮挡人脸、模糊小脸,甚至是伪造人脸,搞明白了人脸检测,目标检测还会是问题吗?

另一方面,工业界应用的时候不仅要做检测,还需要做跟踪平滑,此时常常需要应用卡尔曼滤波等传统算法,而不仅仅是一个模型就能搞定,更复杂完整的项目,才能更好地锻炼能力。

图像分类和检索

没有人不知道图像分类问题,而为我们所熟悉的人脸识别系统,其中一条典型的技术路线就是图像分类+验证+检索模型的组合

以上图DeepFace为例,它首先对输入人脸经过3D对齐,然后使用数据集训练一个人脸分类器得到人脸特征提取网络,最后使用Siamese网络训练人脸验证网络。这样一来,就解决了人脸特征的问题,即将高维的人脸表达成了一个低维的特征,接下来就是进行人脸的聚类与检索。

如今人脸识别系统虽然已经大规模商业化,但并不意味着这里面就没有事情可以做了。遮挡人脸识别,跨姿态人脸识别,跨年龄人脸识别,妆造不变人脸识别,光照不变人脸识别,少样本人脸识别,3D人脸识别,视频人脸识别等都是现实存在的难题。

解决上面这些问题,不仅需要新的技术,也需要对分类检索等老技术的改进。

图像滤波

图像滤波是一类很底层的图像处理方法,在图像降噪,图像去模糊,图像修复等底层图像处理领域中是核心技术。那么在人脸图像中,又用在了哪里呢?大家或许不知道技术,但是不可能没有接触过,那就是人像美颜,熟的不能在熟的磨皮美白大法。

其中常见的方法包括均值滤波,双边滤波,引导滤波,以及针对这些方法的改进。掌握了核心技术,从人脸美颜迁移到其他的图像增强领域,就很自然了。

三维重建

三维重建即3D Reconstruction,在计算机视觉中,三维重建是指根据单视图或者多视图的图像重建三维信息的过程,通常需要从二维的图像投影恢复出物体的三维形状和纹理信息,这是接下来计算机视觉会取得突破的重点领域,而人脸的三维重建问题,实在是太典型了。

从基于单张图的3DMM等人脸通用模型与Shape from Shading(SfS)等优化方法,到基于多张图的立体视觉,基于视频的Structure from Motion(SfM),端到端的与端到端的模型,传统的与深度学习方法,这个领域涉及的算法非常多,而且难度较高。

另外,如何逼真地重建出人脸的细节信息,如何在二维的人脸被遮挡后还能进行重建,都是当前人脸重建领域要解决的难题,研究起来有足够的技术深度,一旦攻克也有大量商用场景。

另外3D与图形学有非常紧密的联系,使得这些技术在内容创作上有非常大的商业价值,难道你不想加入其中吗?

图像编辑与风格化

随着生成对抗网络等技术的发展,当前图像编辑与风格化正在成为计算机视觉领域的新热点,其中尤其是人脸图像落地能力最强,在人机交互,娱乐社交,内容创作等领域应用非常广泛。

从人脸年龄编辑、人脸卡通头像生成、换脸等全局性质的编辑,到人脸表情编辑,人脸发型,人脸化妆去妆等局部性质等编辑,几乎覆盖了图像编辑与风格化的所有关键技术。当前交互式,可控的编辑模型也是研究重点。

言有三新书来袭,业界首次深入全面讲解深度学习人脸图像算法

书中各章节内容如下:

这是市面上唯一一本将人脸各领域这几年的核心算法讲清楚的书,而且在可预见的几年内都可能如此。

卖点:

配套超完整学习资料、视频与PPT,让你全方位无死角掌握人脸图像处理核心技术。

本书理论体系完备,讲解时提供大量实例,可供读者实战演练。

本书涵盖的内容非常广泛,从基本的人脸数据集发展历史和人脸检测开始,分别讲述在此基础上进行的人脸图像处理的相关技术与应用,涉及身份识别、安全认证、人机交互和娱乐社交等领域。

 

推荐语:

奇虎360人工智能研究院/陌陌深度学习实验室前算法工程师用心之作!7余年人脸图像算法研究心得与实战经验深度分享,聚焦核心算法与典型应用场景。

敲黑板啦

主讲人:言有三——技术公众号《有三AI》号主,高级算法工程师

人脸图像是计算机视觉领域中研究最广泛的一类图像,有着大量的落地应用。

今晚20点,技术公众号《有三AI》号主,高级算法工程师言有三老师为你带来“人脸图像算法及其应用”直播课,带你了解人脸图像研究领域的核心算法,带你进人脸图像的实践之门!

直播间内还有好书5折优惠,不要错过哦~

更多精彩回顾

书讯 |华章计算机拍了拍你,并送来了8月书单(下)

书讯 | 华章计算机拍了拍你,并送来了8月书单(上)

上新 | 首本深入讲解Linux内核观测技术BPF的书上市!
书单 | 《天才引导的历程》| 西安交通大学送给准大一新生的礼物

干货 | 机器人干活,我坐一边喝茶——聊聊最近爆火的RPA

收藏 | 揭秘阿里巴巴的客群画像

点击阅读全文购买

相关文章:

  • 分布式追踪不是银弹 | 正确使用分布式追踪和 APM 系统
  • 银行数字化转型的技术展望
  • 理解JVM字节码,做点有意的事儿
  • 平安科技王健宗:所有 AI 前沿技术,都可以在联邦学习中大展身手!
  • 终于有人把AI、BI、大数据、数据科学讲明白了
  • 从被动到主动,换个角度看DB
  • 【第19期】追MM的各种算法
  • 巨详细!使用OpenCV和OpenVINO轻松创建深度学习应用
  • 9月书讯(上)| 开学季,读新书
  • 一本书带你吃透Nginx应用与运维
  • 开学季——计算机专业学生必读的10本畅销经典
  • 9月书讯(下)| 开学季,读新书
  • 交互设计是什么?
  • 开学季——想打好数学基础?这些经典教材你最需要!
  • Java 二十五载,正在 Kotlin 化!
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JSONP原理
  • quasar-framework cnodejs社区
  • Redis 懒删除(lazy free)简史
  • Spring Boot快速入门(一):Hello Spring Boot
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 半理解系列--Promise的进化史
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 码农张的Bug人生 - 见面之礼
  • 微信小程序--------语音识别(前端自己也能玩)
  • 原生 js 实现移动端 Touch 滑动反弹
  • Android开发者必备:推荐一款助力开发的开源APP
  • kubernetes资源对象--ingress
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (12)目标检测_SSD基于pytorch搭建代码
  • (poj1.3.2)1791(构造法模拟)
  • (分类)KNN算法- 参数调优
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (四)Linux Shell编程——输入输出重定向
  • (五)c52学习之旅-静态数码管
  • .apk文件,IIS不支持下载解决
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .libPaths()设置包加载目录
  • .NET gRPC 和RESTful简单对比
  • .Net Remoting常用部署结构
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET/C# 使窗口永不获得焦点
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET中的十进制浮点类型,徐汇区网站设计
  • /bin/bash^M: bad interpreter: No such file or directory
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [codeforces]Checkpoints