阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

深度学习技术如何用于密集人群计数

  • 2019-05-05
  • 本文字数:2654 字

    阅读完需:约 9 分钟

深度学习技术如何用于密集人群计数

CNN 算法使用基于密度的估计算法来保留空间信息以便在局部和整体进行计数,同时,CNN 也可以准确地提取全局和局部特征。影响人群计数的因素主要包括:遮挡物、密度差异、透视扭曲和相机角度。


Kesari 讨论了三种商业案例:大型商场的人群数量、从照片中统计南极企鹅的数量以及显微镜图像中的生物细胞数量。企鹅数量统计的数据来源于超过 100 个摄像头在 16 个不同的场景中历经一年时间拍摄的图像。研究人员使用了开源工具Crowd-sourced annotations对图像中的企鹅进行了标注。


InfoQ 邀请了 Kesari 对他大会期间的讲话进行了采访,深入地讨论了深度学习技术如何被用于密集人群计数的案例。


InfoQ:您能谈一下什么是深度学习,以及它与传统机器学习的区别吗?


Ganes Kesari:机器学习(ML)的目的是让程序学习如何去解决问题,而不是简单地执行预定的逻辑。通过这种学习,程序可以在未见过的场景下获得预期的输出。例如,通过对过去六个月股票数据的分析可以预测明天的股价。或者判断下个月是否会有大的波动。

当深度学习被归入机器学习方法的大家庭中时,它与传统机器学习方法是有很大区别的。拿一个人脸检测系统举例。使用传统的机器学习方法,我们可以识别并提取关键特征(眼镜、鼻子和下巴等)。然后让软件只对这些关键部位的特征进行夸身份的匹配。

但是在深度学习中,我们向模型展示数百张只有身份信息标注的人脸图像,然后让机器明白真正独一无二的点是什么(面颊的曲率或者其他人类无法注意到的细微的部分)。机器会决定哪些属性对于人脸识别是足够重要的(这一过程也称为特征检测),并且整个数据流经模型的过程会迭代成百数千次(称为 Epoch)。

深度学习技术使得机器学习在过去的十年大规模的席卷全球,尤其是在图像、视频和音频领域有效地解决了大量的问题。它被用于结构化的数据处理,并且已经与我们的生活息息相关,例如 Facebook 的好友推荐以及很多新闻推送程序的文章推荐系统。


InfoQ:您能简要介绍一下人群计数案例以及你们在该方面使用的算法和技术吗?


Kesari:人群计数可以被广泛地用于多种实际场景,例如统计人群、动物、物体或其他实体的数量。我们展示了其中的三种案例:

  • 统计人数:人群计数在零售行业有巨大的潜力,它可以有效地分析零售店中的顾客数量、预测销售情况估计营销活动的成功。

  • 统计企鹅数量:南极的研究人员正在研究全球气候变暖以及人类活动对企鹅数量的影响。得益于人群计数算法,数百万张通过隐藏式相机捕捉到的图像都可以用于统计数量。

  • 统计生物细胞数量:药物特性描述是新药研发过程中的关键步骤,科学家需要通过对显微图像分析得到不同类型细胞的数量。这一痛苦地手动过程可以被自动化的计数算法所代替。

在人群计数方面有一些已发表的工作。传统算法使用基于检测的方法,例如,通过扫描图像来识别人群或他们的头。通过在所有匹配的目标周围绘制边界框来预测总数。

上述的这类方法会被很多不利因素影响:1)被遮挡或者背对摄像头的人数无法被统计,2)透视扭曲或前后位置的人脸大小不一致,3)在同一幅图中,人群密度的分布不均匀(例如有些区域人群密度异常地高),4)针对不同摄像机角度的模型需要独立地训练。

基于密度的算法通过将不同大小的人近似为不同的簇,可以解决上述的这些挑战。已发表的论文中的实验证明了这种算法的优越性,这些实验使用了一些主流框架,例如级联 CNN、多列 CNN 等。


InfoQ:您能简述一下级联卷积神经网络(Cascade CNN)为何有助于解决人群计数这类问题的吗?


Kesari:我们使用了级联 CNN 模型解决上述的三种案例中遇到的多种不利因素。级联 CNN 结构的两个关键阶段是:1)第一阶段也称为“高层级先验阶段”,这一阶段在大范围内给出整张图像人数的粗略估计。2)第二阶段进行密度估计,同时使用前一阶段的结果生成更加细粒度的密度图。(如下图所示)

这些密度图可以帮助预测图像中目标的数量。级联 CNN 的结构可以无差别地用于统计人、动物甚至是具有自定义外形的实体的数量。更多的技术细节可以参阅论文原文:https://arxiv.org/pdf/1707.09605.pdf



InfoQ:您能更详细地讨论一下企鹅跟踪案例中的技术细节吗?你们都遇到了什么样的挑战以及其解决方案?


Kesari:当然。在这个案例中,我们需要对不同时间点拍摄的企鹅图像数量进行统计。这是一项由牛津大学提出的项目,Penguin watch 网站发布了这个项目的众包以获取数据的标注。世界各地的志愿者们对这个数千张图像进行了标注以帮助我们的模型学习企鹅看起来究竟是什么样的。现在,这个项目的挑战是模型需要对不同曝光率下的企鹅照片进行识别,一些图片中企鹅是高密度聚集的,一些图片中企鹅是很难被发现的。

Gramener 与微软AI地球进行了合作来解决这个挑战。我们使用了Pytorch来建立级联 CNN 框架。在选取 Adam 优化器的情况下,我们使用了很低的学习率和动量。我们使用均值绝对误差(MAE)和均方误差(MSE)。我们在配备了 V100 的 NC6 V3 上训练了 3-4 天共 200 个 epoch。最终模型的 MAE 约等于 10,我们将模型配置为了微软地球 AI 的一个 API。


InfoQ:在您的报告中提到了生物细胞数量案例。这和其他 AI 模型有什么不同吗?


Kesari:我们为制药客户提供了生物细胞计数问题的解决方案。虽然程序的技术部分使用了与企鹅类似的模型结构,但是在一些细节方面有几点不同。首先,数据量为数百级,这与人或企鹅可用的数万或数十万级的标记数据不同。大多数标注工作必须从头开始,以使机器可以理解。

另一方面,细胞的形状使得这一问题更难处理。任何看起来接近圆形的东西都有可能被认为是相同的细胞类型。尽管这对人类来说是一种主观的意见,对机器而言这是非常具有挑战性的。并且,显微图像具有无法计数的无关部分,因此我们必须进行异常值检测以排除这些区域。

为了使这个方法可行,模型的结果必须经过审核并可以通过人为纠正。一个很大的挑战是找到从密度图统计的每个形状的想坐标(x,y)。我们使用轮廓检测方法来找到模型统计的细胞,然后将它们显示在 UI 上以供进一步手动纠错。


InfoQ:关于您项目中的更多细节,读者们应该如何在自己的开发环境中尝试呢?


Kesari:我们和微软 AI 地球的大部分工作都使用了开放 API 和笔记的形式公开,以方便 NGO 和研究人员直接重用模型。关于企鹅计数的项目还没有产品化,但是在物种分类方面有其他类似的深度学习工作。

我们最近刚完成了一个开源数据科学平台——Gramex。这个可视化分析平台包括数据处理库、计算组件库、可视化图表库,它可以帮助使用者快速高效建立数据应用。


查看英文链接Convolutional Neural Network Deep Learning Techniques for Crowd Counting


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-05-05 08:005686

评论

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

3款好用的国产软件,装了就舍不得卸载

高端章鱼哥

思维导图 低代码

Enhancing WiFi7 Network Efficiency: How IPQ9574 and IPQ9554 Collaborate with QCN9274

wallyslilly

ipq9574

聚道云软件连接器助力生产制作行业实现数字化升级

聚道云软件连接器

技术分享 | 神级程序员都在用什么工具?

互联网工科生

IntelliJ IDEA 数据源 JNPF

生产力工具低代码开发平台

这我可不懂

软件开发 低代码 JNPF

Sora文生视频模型深度剖析:全网独家指南,洞悉98%关键信息,纯干货

汀丶人工智能

Pika sora 文生视频 文生视频模型

当平台工程遇上DevEx:打造卓越的开发者体验

京东科技开发者

为什么程序员不能一次性写好,需要不停改bug?

伤感汤姆布利柏

已解决xlrd.biffh.XLRDError: Excel xlsx file; not supported异常的正确解决方法,亲测有效!!!

小明Java问道之路

提升网络灵活性,SD-WAN助您快速应对备用线路需求

Ogcloud

网络 SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商

面试官:如何实现多级缓存?

王磊

Java 面试

安全利器!龙蜥推出机密计算远程证明服务—OAAS 诚邀广大用户测试

OpenAnolis小助手

开源 安全 龙蜥社区 机密计算 OAAS

人工智能的起源和应用场景

小齐写代码

探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来

快乐非自愿限量之名

人工智能 视频制作 AI视频

如何做代币分析:以 BNB 币为例

Footprint Analytics

Token 代币 bnb

关于代码性能优化的总结

快乐非自愿限量之名

深度学习 代码 代码优化

一文总结 C++ 常量表达式、constexpr 和 const

不在线第一只蜗牛

c++ 开发语言 tldr

《人工智能在测试开发中的应用》

测吧(北京)科技有限公司

测试

展开说说鸿蒙开源与技术细节

Geek_2305a8

多人协同开发场景,如何做到高效发布

阿里云云效

阿里云 云原生 云效

技术专栏丨Rust 语言简介及其在 Fabarta 技术栈中的应用

Fabarta

Web3.0区块链技术开发方案丨mint铭文铭刻制度开发

西安链酷科技

铭文开发

多人协同开发场景,如何做到高效发布

阿里巴巴云原生

阿里云 微服务 云原生 云效

分布式场景怎么Join | 京东云技术团队

京东科技开发者

正式发布后的一年,我们都做了什么? | Sermant 2023年度总结

华为云开源

开源 微服务 服务治理 sermant

APISIX 可观测性最佳实践

观测云

APISIX

春节后,必读的12篇大模型论文

学术头条

人工智能 大模型 AIGC AI Agent

鸿蒙NEXT来了?企业开发者需要关注些什么

Geek_2305a8

AI 大模型微调训练营第 0 期 -- 毕业总结

Jabez

spark为什么比mapreduce快?

京东科技开发者

旁门左道:借助 HttpClientHandler 拦截请求,体验 Semantic Kernel 插件

不在线第一只蜗牛

Java c++ 开发语言

深度学习技术如何用于密集人群计数_AI&大模型_Srini Penchikala_InfoQ精选文章