详解人脸识别的基本原理 智能人脸识别系统

编辑导语:人脸识别产品早已被应用到生活的各个场景之中 。但是你了解它的应用原理吗?本篇文章里 , 作者便将人脸识别原理进行了拆解 。感兴趣的话就一起看下去吧 。

详解人脸识别的基本原理 智能人脸识别系统

文章插图
现在AI发展的如火如荼 , 我们已逐步进入智能时代 。虽然人工智能偏技术类 , 学习和理解需要一定的技术背景和数学做支撑 。但拆开看 , 其原理、方法、思路并不复杂 , 「不懂技术」的产品经理也能理解 。
人工智能牵扯很多学科 , 知识点盘根错节 , 需要具备多学科的知识储备 。从学习路径上看 , 比较适合做成系列 , 从浅入深 , 从基础到应用 , 逐渐深入 。但无形中提高了学习门槛 , 降低了学习的兴趣 , 导致很难坚持 。
有感于此 , 我想以一种轻松、探索的视角 , 跟大家一起摸索 , 用简单、直白的方式来学习AI 。这样 , 虽然会有错误、遗漏等 , 但学习难度会降低 , 那就在过程中完善吧 , 毕竟「模糊的正确大于精确的错误」 。
一、人脸识别产品
我们从人脸识别开始 , 逐步了解其技术路径的演变和原理等 , 今天先从最简单的原理讲起 。
人脸识别其实很早就有了 , 多年前就以人脸考勤的方式出现 , 但由于使用效果不好 , 用户体验不佳 , 逐步被市场淘汰 。
而这一波人工智能的火热 , 计算能力、模型等都是其重要推动力 , 但更重要的是产品能够落地 , 能够在实际业务场景中使用 。
尤其是人脸识别 , 产品在识别精度、速度、用户友好度等多个方面都有明显提升 , 用户和市场的接受度明显上升 。
二、图像表示
了解人脸识别 , 先要从图像表示讲起 。
大家都知道 , 计算机能够识别和处理的是二进制 , 不管我们输入的是文本、图像、声音 , 计算机都是用一定长度的二进制串进行存储和处理 。
我们先以黑白图片为例 , 看看计算机是怎么表示的 。
计算机程序可以将黑白图片可以表示为灰度图像 。在灰度图像中 , 一个像素使用8个比特位 , 从而可以表示256个灰度阶 , 表示范围是0-255 。其中0代表纯黑色 , 255代表纯白色 。
一个字节可以表示一个像素 , 那怎么表示一张图片呢 , 用矩阵进行表示 。
简单来说 , 就是表格 , 比如可以使用8行8列来表示一张8*8的灰度图片 。
这样我们就解决了图像的表示问题 , 建立了图像和矩阵的等价关系 。图片可以转化为矩阵 , 通过矩阵也可以恢复原始图片 。
大家能算出来下面的矩阵表示什么吗?

详解人脸识别的基本原理 智能人脸识别系统

文章插图
对的 , 一眼就看出来了数字1 , 看来大家都有搞AI的天赋 , 加油 。
三、图像识别
通过矩阵表示图像后 , 图像的各种处理就转化为数学问题 , 可以使用数学的理论和方法进行解决 , 而这正是计算机所擅长的 。
我们输入图片 , 希望计算机能够将内容识别出来 , 将结果输出 。
仍以数字为例 , 当输入图片并用矩阵表示后 , 通过将灰度值转化为灰度 , 可以轻松辨识其所表示的内容 。
但在计算机的世界里 , 只有0和1 。想要通过辨识矩阵内容并将结果输出 , 就必须建立矩阵到结果的映射 。这样 , 输入一张图片 , 经过处理和计算后 , 才能输出一个数字 。
很朴素的想法就是将各个数字所代表的矩阵提前存放在计算机内 , 当输入一张图片后 , 计算机通过计算 , 从而找到最适合的数字进行输出 。
举个例子 , 更容易理解一些 。比如 , 计算机内部已经存放了包含数字1和7以及它们所对应的灰度矩阵 。

详解人脸识别的基本原理 智能人脸识别系统

文章插图
数字1

详解人脸识别的基本原理 智能人脸识别系统