0x00 摘要
本文分享一种仅利用单眼视频便可识别人像的方法。主要依赖的识别方法是:预测人像在单眼视频中未来的3D动作。
预测动作的方法是:使用一种可靠的方法将平面的人像提升为3D,我们为每个识别到的人像建立了一个过去短时间内动作特性的模型,主要依据是3D动作、在3D空间中所处的位置和3D外观。
对未来的预测方面,我们用一种基于概率的方法在短时间内被预测的状态和观察到的某一帧之间进行计算。
(猜测,图像间的)关联是用匈牙利匹配算法, 匹配结果被用与按顺序对每个时隙进行误差修正。
0x01 简介Intro
图1
如同人脑对3D物体的处理,对处理系统的输入都是“人眼观察”到的RGB通道的2D像素,而呈现的结果却是“对3D物体的感知”。当视频的一系列小时隙依次到来,我们先提取出从图像中检测到的人像的3D模型,然后以此为依据,为当前这一帧解决不同时隙间“自下而上”的检测和“自上而下”的预测之间关联问题。(即当前帧前后,前面的为检测,后面的为预测,解决的是当前帧前后的检测和预测之间的关联问题)
当观察结果与小时隙关联起来后,每个人会被重新估计,然后系统可以在原视频中随着时间的推移继续动态标记出人像的位置。
能够实现这一技术的根基:深度学习和大数据,是他们让持续的人像的3D化提取成为可能,且非常可靠。
图2:PHALP人像标记预测系统
起初的提取技术基于:HMAR模型。我们首先给予视频最初的一系列帧作为输入,在其上识别出全部人像的边界框。然后模型就可以输出这些人像在3D空间中的姿势、外观和所处位置,通过整合最初一系列帧,就可以得到这个人像在3D空间中的动作轨迹。此后的一切工作都以这最初的一系列帧为基础。
接下来,以某个将来时刻的帧为依据,对全部人像在这两个时间之间的状态进行预测,并逐个对这些人像与那个将来时刻帧中代表人像的边界框进行一一对应。(使用匈牙利算法)
使用SMPL模型中经典的UV映射来整合人像的外观,然后使用时间距离最近的那个预测作为它的外观;
使用经过改进的HMMR模型整合姿势信息, 通过姿势的移动轨迹来生成姿势的预测;
使用线性回归来预测这个人在3D空间中未来所处的位置。
在三个度量上使用匈牙利算法,可以容易的在过去检测到的一系列小时隙人像动作与将来一帧中的人像动作间建立联系。PHALP的预测可以按照时间顺序继续向下进行预测。系统的最终输出是为视频中每个被识别的人像做出颜色框标记,并在它们之间做出明显区分。
注意,即使在有镜头变化(shot change)的视频中,该系统依然可以识别出人像的外观和姿势,因为它们不会像人物所处位置一样会随着镜头变化而改变。(在这种场景下,系统需要一点点小的修改)
0x02 相关工作
A.(物体)追踪
1.先前的相关工作主要集中于2D平面的追踪,在这一领域的工作中,作为输入的图像质量是至关重要的因素。但先前工作对输入图像质量的要求往往过高,导致在3D图像中更加难以得到利用。为了降低对输入图像质量的高要求,“倒退追踪”是一个常用的方法,但它仍不能解决对输入图像质量的要求过高这一问题。因此先前工作在3D空间对物体的运动轨迹、动作等进行预测存在困难,且需要引入非线性动作模型进行机器学习。
与之相比,PHALP模型的优势在于,只需要进行简单的线性回归即可对物体在短时间内的3D坐标进行预测。
2.目前也有在追踪方面整合3D信息的方法,但它们大都需要多角度的图像输入,或要求3D激光扫描作为输入。而PHALP只要求单眼(2D)图像输入。
3.最近的工作利用物体不变性来追踪视频输入中固定的人群,需要依赖深度评估网络来确定人群的3D位置。另外一些方法需要借助人工标注数据序列来学习不变性。而在PHALP中,已经通过在3D空间中放置完整的人体网格实现了对人像所处位置、姿势和外观的预测。换言之,物体不变性已经内建在PHALP系统中了。
B.从单眼图像3D人体重建
我们主要依托HMAR的一个改进版本,使用了一个与HMMR类似的模型来实现单眼3D人体重建
0x03 方法
PHALP主要具有三个步骤:
1.为检测到的每个人像都进行分析;
2.对过去一段时间的人像(轨迹)进行整合,并生成对未来状态(轨迹)的预测;
3.在基于概率的框架中,将已分析的(过去的)小时隙中的人像(轨迹)与预测(轨迹)结果进行关联。
A. 单帧处理过程
我们使用HMAR模型的一个改进版本进行该步骤的工作。PHALP系统的单帧输入将使用例如Mask-RCNN的传统检测网络进行分析,并计算识别人像的三个基本度量:姿势、外观和在空间中所处的位置。HMAR会返回这三个度量的值:
3D姿势 p;外观 a; 人像在3D空间中的位置的估计l
HMAR的输入是边界框内的像素,当人群非常密集时,这些像素可能不完全来自一个人。这样可能会引起结果的误差。解决方法:对HMAR模型进行改进,为其增加一个新的输入参数。用来自Mask R-CNN输出的,关于人像识别的像素级别蒙版,对HMAR进行重训练。作者认为这样的处理并不能保证完全消除误差,也不能保证识别框和识别像素的完全正确,但能够在处理人群密集视频的时候有改善,拥有更强的鲁棒性。
B.3D 小时隙预测
目前的3D分析可以为每一帧画面都生成人像明显而生动的人像模型,并将其描绘出来。利用这些信息,在我们的追踪算法中可以在每一步的online处理之后都创建人像模型,并对每个小时隙之后的人像状态进行预测。
1.外观预测算法
外观预测算法可以在多个连续时隙中捕捉每一个独立的人,并整合出这个人的外观信息。人像在视频中经常被遮挡,便于描绘人像的状态,故创建蒙板V,并与从单帧图像中得到的人像UV图进行结合,即可体现这种遮挡关系。用A代表某个人i在时间t的外观,这个外观是由这个人的UV图像T和可见性蒙板V结合而成的。这一步是用HMAR模型完成的。蒙板为二值化取值(0,1),表示UV上的某个点是否可见。
取某个人在全体时间中A的外观集合Ai,进行聚合算法如下:
(公式2)
该聚合值为单帧外观的加权和值,将旧有的Ait和最新一帧进行加权求和。注意,当只有最初单帧时,该加权和的值与那一帧的外观值相等。该公式可以表现出人像外观逐帧的细微变化。最后,将该算法得到的人像外观模型预测与实际得到的输入进行对比,即可得到预测质量的评估。
图三展示了这一过程。
2.位置预测算法
为了避免在进行人像空间位置预测时出现不稳定,作者放弃使用XYZ轴,而是将Z轴转换为画面深度N进行运算:n = log(1/z)。其中,X、Y表示人像在平面图像中的位置,而N表示人像在平面图像中的深度。利用画面深度值N,可以很直接地用该值表示人像在观看者眼中的规模大小。即:深度代表人像在观看者眼中,与观看者距离的远近,越远则人像规模越小,反之则越大。
常用的Constant Velocity Assumption (CVA)常速假设对XYN进行线性回归:
与外观模型类似,将旧有的一系列过去位置集合Li(Lit=(xit,yit,nit)T)作为输入,进行位置预测。
位置预测算法如下:
(公式3)
输出的预测结果的每个分量是在各自坐标轴的线性回归,各坐标轴上的计算完全类似,没有特殊处理。
在对每个分量进行线性回归时,取值的间隔计算方法如下,以X为例:
(公式4)
其中,α是由自由度的值(w-2)得到的置信分布。MSE的值为预测人像位置上误差的平方的均值。¯t是旧有帧的时间的平均值。
3.姿势预测算法
姿势预测算法以旧有的一系列姿势Pi作为输入,计算生成人像姿势的预测pbt。与前二者:外观预测和位置预测不同,由于姿势变化较为细微,姿势预测算法需要接下来的最多12帧作为依据对人像姿势进行回归。作者使用HMMR模型进行算法的运算。
(这里的HMMR基于Transformer进行调整过的,Transformer是基于自注意力机制的一个深度学习模型)
Transformer科普:https://zhuanlan.zhihu.com/p/82312421
使用该模型的优势是:输入中的人像可以是不连续的,且即使输入不连续,也依然可以对接下来时隙帧的人像姿势进行预测,如图4
(图4)
C.对预测得到的3D人像进行追踪
使用与上述类似的算法得到预测人像。在每个时隙,每个人像都具有外观、位置和姿势三种属性,每种属性都有不同的特性。即:每种属性的预测准确率在数学分布上的特性都不同,具体见图5.
(图5)
通过旧有的一系列帧,可以计算得出预测的下一帧T的人像模型属性。这些属性都在人像的UV像素空间中。接下来,作者使用HMAR人像编码器网络,将预测的人像模型与实际的下一帧中识别的人像模型进行拟合,并计算得出三种属性的误差∆。
1.外观误差
(公式)
基于贝叶斯公式,后验概率与外观误差∆A的条件概率是成比例的。基于图5中左上图像的“外观距离”,使用柯西分布对外观误差进行建模,可以得到近似分布概率:
(公式5)
该分布公式中有一个比例调优参数βa,需要人工调优。
2.姿势误差
(公式)
与外观误差类似,作者使用柯西分布对人像内围的条件概率进行拟合。 如上方公式,∆p同样基于模型姿势预测值和下一帧的检测值进行计算。可以得到与外观误差类似的近似分布概率:
(公式6)
该分布公式中,∆p和βp都是比例系数。
3.位置误差
对位置误差的拟合与外观和姿势不同,且最终拟合的分布曲线也不同。这里需要对下一帧的预测位置Li,检测到的位置Lt和三维属性的预测向量{δx, δy, δn}作为输入,在后一帧中计算考虑位置误差的小时隙的后验概率。作者根据经验数据,将这个条件概率分布近似拟合为指数分布。图5下方的两图展示了由不同坐标轴的置信区间拟合的图像,其内围近似为指数分布,左一表示X、Y平面,右一表示图像深度这一维度。
其中,内围(蓝色部分)表示预测正确,拟合曲线外部(橙色部分)表示预测错误。
X、Y平面内围的后验概率表达式如下:
(公式7)
其中βxy是指数分布的比例系数,∆xy 是预测人像状态和实际下一帧人像状态的2D像素误差,δxy是2D位置预测的置信区间。
图像深度内围的后验概率表达式如下:
(公式8)
其中βn是指数分布的比例系数,δn是图像深度的置信区间,∆n是预测人像状态和实际下一帧人像状态的画面深度误差。
由于实际人像的条件概率由于外观、姿势和位置三个属性描述,其中位置属性又由X、Y、N三个维度描述,故某帧中实际人像的总体条件概率可以由这五个属性进行计算:
(公式9)
这个总体条件概率可以描述这五个属性的误差之间的关联。为了描述这些关联,作者将相似度度量映射到权重值上。预测人像与实际人像之间的权重函数如下,由这五个属性的误差作为输入:
(公式10)
最终使用匈牙利算法进行预测状态与实际图像状态进行匹配。作者使用损失函数对权重函数的参数进行调优。参数的初始值来自估计密度函数,而损失函数是帧之间的关联误差。调优算法是内德-米德算法。调优完毕的参数值将被用于PHALP追踪算法实际应用测试。PHALP追踪算法如下:
(算法1)
PHALP追踪算法可以简单概括如下:
1.输入:作为输入的视频材料的每一帧的图像,及其时间戳t,并为分析过程设定每一帧的“寿命”,当同一帧未能匹配成功的次数超过其寿命时,表明它的特征已经被纳入输出的结果,需要从帧集合中移除;
2.为每一帧图像中识别的全部人像计算分析所用的五个属性的预测值,即人像、姿势,和位置信息中的横轴坐标、纵轴坐标、深度信息。该步骤相当于为下一帧的人像属性信息作预测;
3.为接下来的每一帧计算预测属性值和实际值,并用权重函数的方法计算两者间的权重,用以描述它们的关联程度;
4.根据权重函数的计算结果,使用匈牙利算法对每一帧的下一帧的预测状态和实际图像状态进行匹配;
5.将那些预测与实际足够近似而匹配成功的帧置入输入结果的集合;
6.将那些匹配失败的帧寿命+1;
7.用那些多次匹配失败的帧重新组成输入帧集合,便于下个循环继续分析之,直到所有失败帧的寿命均已耗尽;
8.将已超过“寿命”的帧丢弃,因为这些预测结果与实际图像的差距过大,算法不得不将其舍弃。
0x04 实验
实验使用的数据集有三:姿势追踪、MuPoTS和AVA,画面内容囊括体育运动、日常闲聊和电影。所依赖的学习模型为Mask-RCNN。评估度量有三:人像身份转换、多物体追踪的准确率和ID F1分数(IDF1指标代表被检测和跟踪的目标中获取正确的ID的检测目标的比例,综合考虑ID准确率和ID召回率,代表两者的调和均值。
公式
其中,IDP代表ID跟踪的准确率,IDR代表ID跟踪的召回率。IDF1指标更聚焦于跟踪算法跟踪某个目标的时间长短,考察跟踪的连续性和重识别的准确性。IDF1以1为最佳情况,数值越高代表跟踪特定目标的精度越好。)
(表1)
与其他多目标追踪方法对比,PHALP追踪算法的综合表现性能更优。
(表2)
0x05 个人对算法的认识及分析
宏观来讲,PHALP算法是利用基础的二维图像框进行人物识别的基础技术,结合自己设计的外观、姿势、位置三大属性来描绘单个人物在图像中的状态,并以此为依据,得到了单个人物的UV建模,并将其在二维平面中“提取”出来,得到了三维的结果。由于PHALP算法的输入是视频,所以不能仅仅停留在单帧画面的分析,而是必须能够在连续的视频中持续追踪到同一个人物。这一步的核心工作是基于HMAR和HMMR框架的机器学习,根据已有部分视频的多帧输入和将来的一帧或多帧,通过训练来对缺少的这些帧的人物状态进行“预测”。这个“预测”本质上是通过对三大属性的计算,结合经验数据的概率分布曲线,选择合理的置信区间进行推测。上述工作对整个输入视频的每一帧都将执行,并在最终使用匈牙利算法将这些预测结果和实际视频图像中的人像状态进行匹配,匹配的依据是它们的相似程度。相似程度使用调优的权重函数和损失函数进行描述。在多次预测并匹配筛选后,可以得到有参考依据的人像UV模型输出。由于每一帧都得到了输出结果,输出的人像UV模型可以在视频中被连续的标记出来,在人眼中呈现出连续的、运动的3D模型。
另外,由于核心工作是基于计算预测的,通过PHALP算法追踪到的人像即使短暂被其他人或物体遮挡,也可以继续追踪。
对于视频图像中人物数量过多或重叠程度过高的问题,作者是基于经验数据进行优化的。
0x06 Futrue Working
1.在外观预测算法(Chap 3 B Formula 2)中,作者对相邻时隙间的人像外观做了乐观假设,假设外观一般不会出现大幅度的变化。这一点在一些极端情况中并不适用,如交通事故视频。个人认为在这些极端情况下,这一技术的应用效果将大打折扣。
2.对于视频图像中人物数量过多或重叠程度过高的问题,由于作者基于经验数据进行优化,尽管在文中提到这是“已经尽力的优化”,这样处理的有效程度很可能随着输入视频中人物数量和重叠程度的高低显著变化。