写点什么

StartDT AI Lab | 视觉智能引擎—Re-ID 赋能线下场景顾客数字化

  • 2019-08-24
  • 本文字数:3138 字

    阅读完需:约 10 分钟

StartDT AI Lab | 视觉智能引擎—Re-ID赋能线下场景顾客数字化

人货场的思路是整个新零售数字化链路的核心,人是整个业务生命周期的起始点,图像算法的首要目标就是从图像中得到“人” 。在此前的文章中我曾谈到过 Face ID 的发展,Face ID 帮助商家赋能了线下用户画像,把视觉计算的热情带到支付、安防等各行各业。


诚然,分析人的方式多种多样,各种分析行人的算法中,Face 算法在其中有着得天独厚的优势,它在验证身份方面是最精准的(可以精确到支付验证),但 Face 算法在数量统计的准确度肯定不是最优的。因为很多场景下的 Face ID 受到了光照遮挡的影响,质量参差不齐,所以基于行人身体的识别诉求便越来越强。


我们常说一套算法系统是一个此消彼长,鱼和熊掌不能完美兼得的,这里的鱼指的是准确率–精确的识别人(face 技术),熊掌指的是召回率–全面抓到行人(body 技术)。只有当 face 技术和 body 技术紧密结合时,我们整个场景人的分析才能全面覆盖,人这个维度分析才能更有价值。那么下面我将着重讲讲整个行人识别的整体技术链路。

人体检测

通过计算机视觉信号对人的相关信息进行结构化提取,第一步通常是人体检测。由于奇点云商业赋能的相关产品和系统在广泛的商业场景中大量铺开,所以对人体检测的鲁棒性提出了较高的要求。在无约束的视觉场景下,人体检测主要碰到的问题有:


1. 尺度变化大: 身材大小不一,大人和小孩的比列会相差很大。行人距离摄像头的远近也会造成很大的尺度变化。尤其是这两种尺度问题叠加,造成的困难就更大了。


2. 人体姿态变化大: 直立行走、弯腰劳动、坐着休息、三五结伴等等,都会带来人体形态的巨大变化。


3. 摄像头造成的畸变: 目前行人检测所赋能的场景和商业盈利的要求,都对行人检测相关硬件的成本做出了比较大的限制。所以,由于摄像头本身成像质量和部署所带来的图像畸变是很常见的,而这对人体检测又带来了很大干扰。


4. 影像模糊: 行人检测训练中,由于行人所在的场景及其广泛,作为负样本的背景常带有形状、纹理、外观等于人体相像的景状物,加上光照角度等影响,使得一些负样本可以以假乱真。


5. 遮挡: 在行人密集的场景中,行人之间会互相遮挡,在不同的场景中穿梭,也常常使得部署位置固定的摄像头无法完整地检测到人体,这也对人体检测带来了很大困难。


6. 速度要求: 人体检测所赋能的场景往往是类安防的场景,其所需处理的数据量巨大,所以为了保障一些业务实时性的要求,对人体检测模型的检测速度就提出了较高的要求。而人体检测由于本身任务较难,模型较大,想要提升速度而不降低准确性,对技术的要求就更高了。


StartDT AI Lab 针对以上的一系列问题,展开了针对性的攻坚工作:


在数据准备上,下了很大的成本,通过自行标注整理,形成了百万级的数据样本库,尤其在零售商业场景下的行人标注,积累十分丰富。


在模型算法方面,充分借鉴了目前主流的铺设锚点框和新近取得较大突破的关键点检测类的方法。通过不断的迭代和实验,目前算法在准确率和召回率方面都已经可以充分满足当前业务场景下的人体检测任务。


在模型推断速度的提升方面,StartDT AI Lab 主要从两方面入手来压缩模型计算复杂性。一方面,压缩 backbone 神经网络,在尽可能不降低特征提取性能的前提下,减小 backbone 尺寸。另一方面,优化检测头模块,保障检测器整体性能不降低。通过不断的版本迭代,目前模型尺寸已经只有第一代模型的十分之一以下,在同等计算资源下,模型的处理效率有了巨大的提升。

行人重识别

行人重识别的技术本身是从度量学习这个大类脱胎而来,和人脸识别要解决的是一类问题——检索。通过检索,我们希望行人的空间信息和时间信息能够关联和聚类到一起,那么重识别就很容易理解了,在一个摄像头出现的某个行人,如果我们可以找出在其他摄像头中出现的踪迹,那么就完成了一次跨境追踪。


试想这样的场景如果在迪斯尼乐园/机场/大学校园里和孩子走散了,除了广播“xx 小朋友你的家长在广播室等你”的被动方式。我们可以翻开实点图就找到熊孩子。而实点图就可以通过重识别来实现:主动输入小朋友的照片,检索多个不同位置的摄像头下的当前帧,找到熊孩子的出现摄像头。最后联系摄像头的位置,就可以定位孩子了。这个应用同样也可以用来找小偷/保护 vip 等等。这样的想象空间确实给人以极大的振奋,但如此具有未来感的画面也不是一蹴而就的。StartDT AI Lab 背后大量的技术支撑才能有让行人重识别技术发挥其应有的作用:


1.Body-Tracking 机制: 在视频结构中的行人追踪可以规约为多目标跟踪问题,我们主要通过滤波和贪心算法结合的手段整合每个行人 ID 所关联的信息,在短时间的范围内,追踪可以将某个行人的行人框根据前后帧的关联性,快速匹配,这样的好处有两点:一个是增加空间的连续性,在一段视频帧中前后帧之间有着行人的空间信息,追踪就可以将它们的空间信息统一在一起;二是节约了计算成本,在整个追踪过程中只需有代表性的分析某帧数据,便可以对整体信息有一个较高维度的把控。


2.人体骨骼点分析: 对于行人重识别来说,通过计算机视觉技术,获取人体的骨骼点,这些关键点能为行人重识别提供关键先验知识。首先,不是所有检测出的行人都适合去做重识别,其中不完整的行人,分辨率过低的行人对模型会产生一定的攻击,为了避免这些脏数据的影响,骨骼点就可以提供一定过滤作用,通过骨骼点数量我们对行人的完整度有一个定性的评估。同时,骨骼的位置信息也是我们行人对齐的关键所在,不同的行人的姿态和位置是需要通过骨骼关键点来完成对齐的,通过对齐行人特征,减少身体部件错位对结果产生较大影响。


00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    3.Person Re-identification: 行人重识别是通过在监控视频中,用 Re-ID 模型对行人的图片进行特征抽取,这个特征所呈现的特点是相似的行人距离较近,不同的行人距离较远,这个高维度 embedding 的特征就可以帮助我们找到不同摄像头下,相同的行人。虽然技术很新很先进,但在实际场景中,我们分析行人图片时,无法避免的产生了行人不完整的现象,如果我们直接过滤掉这些行人,那么在更高层的数据统计维度产生的系统误差将为对召回率产生较大影响,在行人不完整时,我们被业务倒逼去使用残缺人体进行比对。我们有意在模型训练时增加这样的噪音数据,同时通过无监督的方式对身体特征对齐,提高了算法对不完整行人的鲁棒性。


    样本生成

    数据样本是人工智能技术的基础,然而数据的积累是极其费时、费力又费钱的一项工作,尽管当前存在一些数据可观的公开数据集,然而这些数据集本身存在样本分布不均衡,样本多样性差等问题。另外不同应用场景下的数据分布之间存在一定的区别,导致模型的泛化能力会严重降低,因此就必须进行实地数据标注,Re-ID 样本的标注尤为困难。


    在项目中,由于现场摄像头画面的行人数据分布与公开数据集之间存在巨大 domain 差异,因此采用公开数据集训练的 Re-ID 模型在该场景下的准确率较低,无法满足实际需求。针对此问题,我们采用生成对抗网络(GAN)将公开数据集中的行人转化成实际场景下的图像风格,重新进行训练后,模型准确率提升了 50%以上。此外,我们还通过 GAN 的方式实现行人姿态的变化,以提高数据集的多样性;通过注意力机制,强化学习行人除衣着之外的特征(头部,四肢等),以解决行人换衣导致的准确率下降的问题。


    风格迁移:


    👆风格迁移前



    👆风格迁移后



     行人服装更换:




    通过以上技术展示,读者对于行人重识别(Re-ID)这项技术有了全面的了解,也对我们对于技术的极致追求有了新的认识。游离在 VIP 体系之外的稀疏用户行为,正是通过行人识别技术,将其落袋到整个客流画像之中,为动线分析,热力分析提供了可能性。同时也弥补了 Face ID 无法作用于广义统计维度的短板,StartDT AI Lab 通过各种算法相互协同并取长补短,产生了微妙的化学反应,最终重新定义了客流系统,将商家的分析维度达到了新的高度。


    作者:哲彼、草窗 @奇点云


    2019-08-24 16:514447

    评论

    发布
    暂无评论
    发现更多内容

    如何使用物联网低代码平台进行个人设置?

    AIRIOT

    低代码 物联网 低代码,项目开发

    毕业季 | 华为专家亲授面试秘诀:如何拿到大厂高薪offer?

    华为云开发者联盟

    面试 工作 offer 大厂 毕业

    K临近算法介绍

    乌龟哥哥

    7月月更

    创业团队如何落地敏捷测试,提升质量效能?丨声网开发者创业讲堂 Vol.03

    声网

    创业讲堂 生态专栏

    linux下清理系统缓存并释放内存

    入门小站

    Linux

    AirServer2022最新版功能介绍及下载

    茶色酒

    AirServer AirServer2022

    微服务服务稳定性治理

    阿泽🧸

    微服务治理 7月月更

    JavaScript 设计模式之代理模式

    devpoint

    JavaScript 设计模式 代理模式 7月月更

    网络编程常用的几种字符编码

    HoneyMoose

    实例讲解将Graph Explorer搬上JupyterLab

    华为云开发者联盟

    人工智能 GES

    云服务器ECS夏日省钱秘籍,这次@老用户快来领走

    阿里云弹性计算

    阿里云 云服务器ECS

    透过华为军团看科技之变(六):智慧公路

    脑极体

    BlocProvider 为什么感觉和 Provider 很相似?

    岛上码农

    flutter ios 安卓 移动端开发 7月月更

    混沌工程平台 ChaosBlade-Box 新版重磅发布

    阿里巴巴云原生

    阿里云 分布式 云原生 混沌工程

    精耕渠道共谋发展 福昕携手伟仕佳杰开展新产品培训大会

    联营汇聚

    使用环信提供的uni-app Demo,快速实现一对一单聊

    环信

    即时通讯 uni-app集成 环信im

    架构师毕业总结

    凯博无线

    【直播回顾】战码先锋首期8节直播完美落幕,下期敬请期待!

    OpenHarmony开发者

    Open Harmony

    BOOTSTRAP

    Jason199

    bootstrap 7月月更

    华为云专家详解GaussDB(for MySQL)新特性

    华为云开发者联盟

    数据库 云计算 后端 算子

    4. 对象映射 - Mapping.Mapstercover

    MASA技术团队

    C# .net 微软 框架 Framework

    若干互联网暴露面的收敛及处置建议

    穿过生命散发芬芳

    7月月更 互联网暴露

    一个实习生的CnosDB之旅

    CnosDB

    IoT 时序数据库 开源社区 CnosDB infra

    云小课|3种常用Git工作流推荐

    华为云开发者联盟

    后端 开发 华为云

    宝,运维100+服务器很头疼怎么办?用行云管家!

    行云管家

    云计算 运维 服务器 云管

    毕业总结

    流火

    vue-axios(三)

    小恺

    7月月更

    纪念成为首个DAYU200三方demo贡献者

    坚果

    HarmonyOS OpenHarmony OpenHarmony应用开发 7月月更 harmony

    九章云极DataCanvas公司蝉联中国机器学习平台市场TOP 3

    九章云极DataCanvas

    认识线程

    zarmnosaj

    7月月更

    Windows11 ARM版本安装Python环境

    IT蜗壳-Tango

    IT蜗壳教学 7月月更

    StartDT AI Lab | 视觉智能引擎—Re-ID赋能线下场景顾客数字化_AI&大模型_哲彼、草窗@奇点云_InfoQ精选文章