写点什么

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:514568

    评论

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

    技术分析:AnalyticDB强力支撑双11

    数据库 互联网 数据分析 双十一 数据舱

    云图说|云上攻击早知道,少不了这个“秘密武器”!

    华为云开发者联盟

    安全 云服务 云端

    阿里P10带你深度剖析:淘宝网是如何基于Spring Cloud微服务框架搭建大型电商平台设计

    Java架构追梦

    Java 架构 面试 微服务 SpringCloud

    微服务下,使用 ELK 进行日志采集以及统一处理

    华为云开发者联盟

    微服务 Kibana ELK

    重磅发布!Flink Forward Asia 2020 在线峰会预约开启!

    Apache Flink

    flink

    8.3红黑树原理与性能特性

    张荣召

    架构师训练营 1 期 - 第八周作业(vaik)

    行之

    飞书的「背道而驰」

    ToB行业头条

    区块链USDT系统开发解决方案,USDT支付系统技术开发

    13530558032

    8.4经典算法

    张荣召

    区块链带来的业务流程优化是数字化转型最深层次的变革

    CECBC

    区块链 数字化

    8.2常见数据结构与Hash表原理分析

    张荣召

    数字货币合约交易所系统开发技术

    薇電13242772558

    区块链 数字货币

    缓存与数据库一致性策略

    码界西柚

    用废旧纸箱DIY智能宠物喂食器!旅行在外远程投喂“二狗子”

    智能物联实验室

    物联网 DIY 智能硬件

    作业--week08

    张荣召

    高性能IO模型:为什么单线程Redis能那么快?

    小Q

    Java redis 学习 架构 面试

    架构师第一期作业(第8周)

    Cheer

    作业

    企业级软件的核心价值

    Learun

    敏捷开发 快速开发 企业开发 企业应用

    简要分析近几年商业软件开发平台的现状

    Learun

    企业 企业开发 企业应用

    数字货币交易所开发定制,币币撮合交易开发商

    13530558032

    Mock服务设计与实现:MySQL驱动字节码修改增强

    华为云开发者联盟

    MySQL 数据库 sql

    企业级软件的核心价值

    Marilyn

    敏捷开发

    8.1文件与磁盘IO:如何把磁盘的读写速度提升十万倍?

    张荣召

    Week 8 命题作业

    阿泰

    函数式编程:如何高效简洁地对数据查询与变换

    华为云开发者联盟

    编程 面向对象 数据处理

    建行数字债券允许比特币交易?官方回应了!业内人士:交易架构的创新值得赞赏

    CECBC

    比特币 债券

    区块链赋能供应链金融 | 应用优势与四类常见模式

    CECBC

    区块链 供应商审核

    区块链钱包APP开发,开发搭建数字货币钱包

    13530558032

    简要分析近几年商业软件开发平台的现状

    Marilyn

    快速开发 企业开发

    自己写歌怎么编曲?4款超好用编曲软件推荐

    奈奈的杂社

    编曲 音频制作 midi daw

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