人货场的思路是整个新零售数字化链路的核心,人是整个业务生命周期的起始点,图像算法的首要目标就是从图像中获得“人” 。前一篇咱们主要讲了Face ID的发展,Face ID帮助商家赋能了线下用户画像,把视觉计算的热情带到支付、安防等各行各业。算法
诚然,分析人的方式多种多样,各类分析行人的算法中,Face算法在其中有着得天独厚的优点,它在验证身份方面是最精准的(能够精确到支付验证),但Face算法在数量统计的准确度确定不是最优的。由于不少场景下的Face ID受到了光照遮挡的影响,质量良莠不齐,因此基于行人身体的识别诉求便愈来愈强。网络
咱们常说一套算法系统是一个此消彼长,鱼和熊掌不能完美兼得的,这里的鱼指的是准确率--精确的识别人(face技术),熊掌指的是召回率--全面抓到行人(body技术)。只有当face技术和body技术紧密结合时,咱们整个场景人的分析才能全面覆盖,人这个维度分析才能更有价值。那么下面我将着重讲讲整个行人识别的总体技术链路。dom
经过计算机视觉信号对人的相关信息进行结构化提取,第一步一般是人体检测。因为奇点云商业赋能的相关产品和系统在普遍的商业场景中大量铺开,因此对人体检测的鲁棒性提出了较高的要求。在无约束的视觉场景下,人体检测主要碰到的问题有:ide
尺度变化大:人的身材大小不一,大人和小孩的比列会相差很大。行人距离摄像头的远近也会形成很大的尺度变化。尤为是这两种尺度问题叠加,形成的困难就更大了。性能
人体姿态变化大:直立行走、弯腰劳动、坐着休息、三五结伴等等,都会带来人体形态的巨大变化。学习
摄像头形成的畸变:目前行人检测所赋能的场景和商业盈利的要求,都对行人检测相关硬件的成本作出了比较大的限制。因此,因为摄像头自己成像质量和部署所带来的图像畸变是很常见的,而这对人体检测又带来了很大干扰。优化
影像模糊:行人检测训练中,因为行人所在的场景及其普遍,做为负样本的背景常带有形状、纹理、外观等于人体相像的景状物,加上光照角度等影响,使得一些负样本能够以假乱真。人工智能
遮挡:在行人密集的场景中,行人之间会互相遮挡,在不一样的场景中穿梭,也经常使得部署位置固定的摄像头没法完整地检测到人体,这也对人体检测带来了很大困难。视频
StartDT AI Lab针对以上的一系列问题,展开了针对性的攻坚工做:生命周期
✨在数据准备上,下了很大的成本,经过自行标注整理,造成了百万级的数据样本库,尤为在零售商业场景下的行人标注,积累十分丰富。
✨在模型算法方面,充分借鉴了目前主流的铺设锚点框和新近取得较大突破的关键点检测类的方法。经过不断的迭代和实验,目前算法在准确率和召回率方面都已经能够充分知足当前业务场景下的人体检测任务。
✨在模型推断速度的提高方面,StartDT AI Lab主要从两方面入手来压缩模型计算复杂性。一方面,压缩backbone神经网络,在尽量不下降特征提取性能的前提下,减少backbone尺寸。另外一方面,优化检测头模块,保障检测器总体性能不下降。经过不断的版本迭代,目前模型尺寸已经只有第一代模型的十分之一如下,在同等计算资源下,模型的处理效率有了巨大的提高。
行人重识别的技术自己是从度量学习这个大类脱胎而来,和人脸识别要解决的是一类问题——检索。经过检索,咱们但愿行人的空间信息和时间信息可以关联和聚类到一块儿,那么重识别就很容易理解了,在一个摄像头出现的某个行人,若是咱们能够找出在其余摄像头中出现的踪影,那么就完成了一次跨境追踪。
试想这样的场景若是在迪斯尼乐园/机场/大学校园里和孩子走散了,除了广播“xx小朋友你的家长在广播室等你”的被动方式。咱们能够翻开实点图就找到熊孩子。而实点图就能够经过重识别来实现:主动输入小朋友的照片,检索多个不一样位置的摄像头下的当前帧,找到熊孩子的出现摄像头。最后联系摄像头的位置,就能够定位孩子了。这个应用一样也能够用来找小偷/保护vip等等。这样的想象空间确实给人以极大的振奋,但如此具备将来感的画面也不是一蹴而就的。StartDT AI Lab背后大量的技术支撑才能有让行人重识别技术发挥其应有的做用:
1.Body-Tracking机制:在视频结构中的行人追踪能够规约为多目标跟踪问题,咱们主要经过滤波和贪心算法结合的手段整合每一个行人ID所关联的信息,在短期的范围内,追踪能够将某个行人的行人框根据先后帧的关联性,快速匹配,这样的好处有两点:一个是增长空间的连续性,在一段视频帧中先后帧之间有着行人的空间信息,追踪就能够将它们的空间信息统一在一块儿;二是节约了计算成本,在整个追踪过程当中只需有表明性的分析某帧数据,即可以对总体信息有一个较高维度的把控。
2.人体骨骼点分析:对于行人重识别来讲,经过计算机视觉技术,获取人体的骨骼点,这些关键点能为行人重识别提供关键先验知识。首先,不是全部检测出的行人都适合去作重识别,其中不完整的行人,分辨率太低的行人对模型会产生必定的影响,为了不这些脏数据的影响,骨骼点就能够提供必定过滤做用,经过骨骼点数量咱们对行人的完整度有一个定性的评估。同时,骨骼的位置信息也是咱们行人对齐的关键所在,不一样的行人的姿态和位置是须要经过骨骼关键点来完成对齐的,经过对齐行人特征,减小身体部件错位对结果产生较大影响。
3.Person Re-identification:行人重识别是经过在监控视频中,用Re-ID模型对行人的图片进行特征抽取,这个特征所呈现的特色是类似的行人距离较近,不一样的行人距离较远,这个高维度embedding的特征就能够帮助咱们找到不一样摄像头下,相同的行人。虽然技术很新很先进,但在实际场景中,咱们分析行人图片时,没法避免的产生了行人不完整的现象,若是咱们直接过滤掉这些行人,那么在更高层的数据统计维度产生的系统偏差将为对召回率产生较大影响,在行人不完整时,咱们被业务倒逼去使用残缺人体进行比对。咱们有意在模型训练时增长这样的噪音数据,同时经过无监督的方式对身体特征对齐,提升了算法对不完整行人的鲁棒性。
数据样本是人工智能技术的基础,然而数据的积累是极其费时、费力又费钱的一项工做,尽管当前存在一些数据可观的公开数据集,然而这些数据集自己存在样本分布不均衡,样本多样性差等问题。另外不一样应用场景下的数据分布之间存在必定的区别,致使模型的泛化能力会严重下降,所以就必须进行实地数据标注,Re-ID样本的标注尤其困难。
在项目中,因为现场摄像头画面的行人数据分布与公开数据集之间存在巨大domain差别,所以采用公开数据集训练的Re-ID模型在该场景下的准确率较低,没法知足实际需求。针对此问题,咱们采用生成对抗网络(GAN)将公开数据集中的行人转化成实际场景下的图像风格,从新进行训练后,模型准确率提高了50%以上。此外,咱们还经过GAN的方式实现行人姿态的变化,以提升数据集的多样性;经过注意力机制,强化学习行人除衣着以外的特征(头部,四肢等),以解决行人换衣致使的准确率降低的问题。
风格迁移:
风格迁移前
风格迁移后
行人服装更换:
经过以上技术展现,读者对于行人重识别(Re-ID)这项技术有了全面的了解,也对奇点云对于技术的极致追求有了新的认识。游离在VIP体系以外的稀疏用户行为,正是经过行人识别技术,将其落袋到整个客流画像之中,为动线分析,热力分析提供了可能性。同时也弥补了Face ID没法做用于广义统计维度的短板,StartDT AI Lab经过各类算法相互协同并取长补短,产生了微妙的化学反应,最终从新定义了客流系统,将商家的分析维度达到了新的高度。