浅析人脸识别原理

 ·  2022-04-06 10:26:04  ·  北京瑞铭安普科技有限公司

现在AI市场发展势头迅猛,我们已逐步进入智能时代。人工智能目前更偏向于技术类,学习和理解需要一定的技术背景和数学做支撑。但拆开看,其原理、方法、思路并不复杂。

一、人脸识别

人脸识别很久之前就有应用,多年前就以人脸考勤的方式出现,但由于使用效果不理想,用户体验不佳,逐步被市场淘汰。而这一波人工智能的火热,计算能力、模型等都是其重要推动力,但更重要的是产品能够落地,能够在实际业务场景中使用。尤其是人脸识别,产品在识别精度、速度、用户友好度等多个方面都有明显提升,用户和市场的接受度明显上升。

20211213-133311

二、图像表示

大家都知道,计算机能够识别和处理的是二进制,不管我们输入的是文本、图像、声音,计算机都是用一定长度的二进制串进行存储和处理。

我们先以黑白图片为例,看看计算机是怎么表示的:计算机程序可以将黑白图片可以表示为灰度图像。在灰度图像中,一个像素使用8个比特位,从而可以表示256个灰度阶,表示范围是0-255。其中0代表纯黑色,255代表纯白色。一个字节可以表示一个像素,那怎么表示一张图片呢,用矩阵进行表示。简单来说,就是表格,比如可以使用8行8列来表示一张8*8的灰度图片。这样我们就解决了图像的表示问题,建立了图像和矩阵的等价关系。图片可以转化为矩阵,通过矩阵也可以恢复原始图片。


三、图像识别

通过矩阵表示图像后,图像的各种处理就转化为数学问题,可以使用数学的理论和方法进行解决,而这正是计算机所擅长的。

我们输入图片,希望计算机能够将内容识别出来,将结果输出。仍以数字为例,当输入图片并用矩阵表示后,通过将灰度值转化为灰度,可以轻松辨识其所表示的内容。但在计算机的世界里,只有0和1。想要通过辨识矩阵内容并将结果输出,就必须建立矩阵到结果的映射。这样,输入一张图片,经过处理和计算后,才能输出一个数字。很朴素的想法就是将各个数字所代表的矩阵提前存放在计算机内,当输入一张图片后,计算机通过计算,从而找到最适合的数字进行输出。


1330086053822595087


四、人脸表示

既然可以用矩阵来表示图片,人脸也是照片,那么也可以用同样的方法来进行表示。


五、人脸比对

虽然被叫做人脸识别,但更准确的名字应该是「人脸比对」。人脸识别的背后,是一张待比对图片和人脸底库中的所有照片进行比对,从而判别图片中人员的身份。一般来说,待比对照片就是我们在日常生活中被各种设备所采集的照片,比如通过人脸识别考勤机抓拍的照片。

由于环境、姿势等原因,采集的照片具有很大的差异,导致比对成功率不高。为了提升比对的成功率和速度,很多时候会同时抓拍多张人脸进行识别,但每次比对的时候输入照片只有一张。所谓的人脸底库就是我们在系统中提前录入的人脸照片,照片和我们的名字一一对应。根据人脸底库中照片数量的不同,可以将人脸比对分为1:1和1:N,由于数量不同这两种方法的计算量和计算方法也不尽相同。