想复工吗?人体检测原理先了解一下!

想复工吗?人体检测原理先了解一下!_第1张图片

 

 

 

美国大面积的复工已经箭在弦上,不得不发了。一些人性化的州做出了一系列规定,比如保证人口密度,隔离间距等。 这些规定,加大了雇主们复工的门槛,也是变相鼓励远程工作。可是,工作间的合作再算难免,很多面对面接触的行业,雇主们如何才能满足要求,安全复工?

 

一些基于AI的办公视频监控创业公司在这个危机中发现了契机,比如加州的一家公司,他们的主要产品是用于办公环境的视频监视AI应用,一方面可以极大的提高企业管理效率,另一方面也必须在隐私和公共安全的尺度上找到其平衡点。

 

该产品的主体是基于云端的SAS服务(software-as-a-service或软件即服务),但是也必须在需要监控的公共区域天花板上装上相应的摄像头:

 

想复工吗?人体检测原理先了解一下!_第2张图片

 

 

在新冠疫情爆发前,客户采购该款产品的一些主要用途包括:

  1. 对过度拥挤的办公区间发出警报,促使管理人员及时处理
  2. 对人员日常分布进行统计和了解,有助于合理安排空间使用率
  3. 需要开会,可以自动找到有空的会议室等。

 

 

正如该公司CEO没有想到的是,新冠的爆发给公司带来一个新的增长契机。对于需要复工的企业,该产品顺手就可以提供一些新的功能:

  1. 按每层楼或每个区域,控制最多的人数警报(这有点像电梯超重警报一样啊)
  2. 时刻提醒办公人员他们是否正在前往人群密集空间
  3. 根据社交隔离原则,提供每个员工相应的统计,如距离和频次等,从而估计感染风险

 

 

不难猜出,从AI角度而言,该产品的AI核心技术就是图像中的人体识别技术!

 

 

 

计算机视觉研究的一个热点和难点就是找到图像中的所有人物。比如,在无人驾驶领域,能够实时识别街道周围的行人是一个至关重要的技术。否则无人驾驶不可能上路行使,如果人可以都不管不顾,机器人岂不是无法无天?

 

找出图像中的人体位置和大小,从更大的方面来说,是目标检测的问题。能够找人就能找其他一样明显的东西,只是运用场景不同。比如下图中,计算机自动找到街道上的行人:

 

 

想复工吗?人体检测原理先了解一下!_第3张图片

 

 

 

从上面的图中,我们大概也能看出人体目标检测的一些难点所在:

  1. 人与人都不同,高矮胖瘦,穿着打扮,导致人的外观姿态各异,如果用一个模子来对照肯定是不行的。
  2. 图像中背景各式各样,不但会对人体造成遮挡,比如脸被挡的,或只露脑袋的。
  3. 检测识别速度很重要,效果再好的模型,如果速度慢,对实时性要求高的场合就会力不从心。

 

 

 

今天提到办公监测产品,由于是在室内安装和检测,因此有两个地方可以简化这个问题。一是摄像头是固定的,二是背景也是通常固定的。

 

因为背景和照明一般来说在办公区域比较稳定,所以可以减少很多的误测。由于背景和摄像头都是固定的,运动的物体就只有人。因此第一个相对简单算法就是比较连续拍摄图像之间的差异,尤其是夜深人静时候没有人的图像。两张图像相减,得到的区别图像就=完全是人体造成的。

 

无人的图像作为背景,利用背景建模算法提取当前运动的目标,再利用一些分类器模型判断运动目标是不是人。比如下图所示的一个监控场面,简单方法就可以比较清楚的看见有人体的图像:

 

 

想复工吗?人体检测原理先了解一下!_第4张图片

 

 

 

比上面背景对比算法更加复杂和功能强大的方法就是采用更加复杂的机器学习模型。比如我们之前文章提到过的卷积神经网络等深度学习技巧。 不过在这之前需要理解的则是图像特征的处理方法。

 

人体检测领域一个重要的里程碑是2005年提出的HOG(方向梯度直方图)特征计算方法。

先上一个图看看效果:

 

想复工吗?人体检测原理先了解一下!_第5张图片

 

很明显,该特征让我肉眼都看出了,人体的轮廓被勾画了出来。有了这个好的特征,后面的分类预测,计算速度则是更顺畅的事情(从理解角度而言,不一定是技术难度)。

 

 

怎么得到HOG特征呢?以黑白图像为例(彩色图像道理是一样,只要取某个通道上的最大值即可)。

 

首先,我把图片分成若干个小的单元,比如8x8的像素单元,在每个单原里面就有64个格子。每个小格子的灰度值和周边格子灰度值大小相比,可以让我们计算灰度的变化方向和强度(即梯度),如下图表示:

想复工吗?人体检测原理先了解一下!_第6张图片

 

 

但是每个单元都要用8x8x2=128个值来表示这些梯度,有点太多,而且看得太仔细也容易过拟合和不抗干扰。我便可以把这些128个值的角度分成9个值,每20度为一个直方,从而统计出该单元的梯度方向直方图,这样用9个数字就搞定128个数字做的同样事情。

 

 

最后每两个单元,采用滑动窗口的方式把每2个单元合并一下,得到新的直方图。把这些直方图从新画一下,就得到了上面的轮廓对比图,可以很清楚的看到人的轮廓。

 

 

当然现在最先进的人体检测技术已经在这个基础上有了很大的进展,主要是从更加复杂的特征处理技巧,分类模型的深度学习模型应用,和运输速度优化等方向上努力的。但是大概的特征处理原理还是万变不离其宗的。

 

更多精彩文章,请关注我(gongzhonghao):

你可能感兴趣的:(数据挖掘,机器学习算法和原理)