项目概述:2019年互联网+比赛项目,该项目主要是视频分析,使用深度学习和Yolo v3算法,寻找走失人员。但是该项目初始目标定的过于宏大,凭我们团队当时的硬件设施不足以实施,所以只停留在理论层面,没有真正实现。在此自我留题,希望以后有机会实现!
本系统主要面向游乐园、公园、超市等公共场所,通过基于视频的模糊查询算法对公共场所提供的所有摄像设备的视频流画面进行图像识别和分析,最终将大致的搜索信息返回,其中包括走失人员最后所在的位置信息和周边行人的特征信息等。从而实现对走失人员的搜寻、识别和定位,并通过周边行人特征来进行相应的问询。 该产品通过基于视频的图像识别技术,快速准确的缩小搜寻范围,给出预估定位,大大缩减了摄像头视频搜索的人力成本,提高了搜索的成功率,节省了宝贵的救援时间,对保障易走失人群(儿童、老人)的人身安全和公共场所的运营有重要的意义。
据一项大致数据显示,中国每年失踪人口数量巨大,仅是儿童走失数量就达到了20多万,但成功找回的概率却是低的可怕。20万个儿童也就意味着20万个家庭的破裂,那既如此,又谈何小康社会。为此,国家开始关注这一严重问题,人民群众也对此的关注度也越来越大,但这个问题还需要很长一段时间去解决甚至一直无法根除,那么我们系统在市场中的份额也会不断地增大,家长、公安部门、社会媒体、国家对于我们这样的系统也必定是越来越高度关注。当然,随着这一系统的使用,效果显著,那么大家也势必会采用我们的系统去寻找丢失儿童。 目前做的比较好的产品有百度寻人和中国儿童失踪预警平台等等,但是他们的寻找模式都是利用大数据的分析而不够定位到某一个具体的情景和地点之中。专家指出,要织密儿童保护网络,关键要形成快速反应机制,在最短的时间内对走失儿童进行有效搜救。今年两会期间,民盟中央提交了一份关于加快推广启用公共场所防止儿童走失系统的提案,建议在商场、大型超市、景区、游乐场、车站码头等儿童走失高发场所推广启用公共场所防止儿童走失系统。在发现儿童走失的第一时间做出快速反应,社会力量迅速介入,可有效避免儿童遇害悲剧的发生。
过去十年,中国是监控摄像头增长最快的国家。根据咨询公司 IHS Markit 2016 年的数据,中国共装有 1.76 亿个监控摄像头。其中由公安系统掌握的,有 2000 万个。摄像头覆盖范围逐步上涨,各景区和游乐场所的监控设备也不断更新升级,这为人民安全增添了强有力的技术保障,也为我们的产品的应用奠定了硬件基础。
我们选用到的视频算法,有着领先的速度优势和不断更新的技术保障,他们都有着强大的功能,为产品提供了稳固的技术内核。本系统选用的是人物的一些外部特征,如发型,衣物款式和颜色等,我们不选用一些更深入的细节特征是因为用一些简单特征的组合能使得检测速度更加的快,所以本系统较细节特征的比对又有着明显的速度优势。要知道,搜索走失人员最宝贵的资源就是时间,随着时间的推移,走失者就越难被搜寻人员寻得。
百度度寻人是全球最大中文搜索引擎百度推出的公益互动开放平台。借助百度业界领先的搜索技术、庞大的用户规模、海量的数据优势,建立全国范围内失踪儿童与流浪儿童的开放数据库,并利用中国科学院计算技术研究所无偿提供的人脸识别技术迅速匹配孩子的照片,帮助家长和热心网友第一时间获取失散儿童信息。百度衷心希望通过百度寻人,帮助丢失的孩子尽快和家人团圆。2013年4月20日四川雅安发生地震,为了帮助人们寻找当地的亲友,百度发布了雅安地震寻人平台,点击百度首页logo或文字链均可进入。
中国儿童失踪预警平台于2015年5月25日国际儿童失踪日这一天在人民大会堂召开发布会,正式启动中国儿童失踪预警平台的建设。它是以民政部直接登记主管的全国首家支持和发展社会工作的全国性基金会——中社社会工作发展基金会为依托,由其下属专项基金中社儿童安全科技基金全权负责运作的中国儿童失踪社会应急响应系统。
它是一套借助成熟的移动互联网技术和GIS地理信息系统的支持,结合国外多个国家的成功经验研发的,贴合中国国情和特点的中国儿童失踪社会应急响应系统。该系统成熟后可以在儿童走失发生时就迅速介入,通过群众互助加警方联动的方式,帮助家长迅速找回走失儿童,降低孩子发生意外的概率。2016年12月6日,由人民网、环球时报、环球网和《环球TIME》新闻客户端联合主办,环球网承办的2016环球风尚年度盛典召开,公益项目中国儿童失踪预警平台,被评为十大“风尚榜样”。
1月11日18时北京市朝阳区星城亮马国际公寓,10岁女孩失踪。12日16时@公安部儿童失踪信息紧急发布平台发布了该名女孩失踪信息的微博,同时微博自动将该条失踪信息push给周边范围的微博用户。12日18时走失女孩在朝阳区酒仙桥京客隆超市被一名收到微博推送的网民发现。该网友发现后及时与孩子家长联系并送其回家。
2016年10月,基于LBS地理定位的互助平台“众觅”正式上线,其中一个主要作用就是致力于公益活动。革命性创新LBS2.1 PIN中继分享溯源激励算法,在纯互联网信息泛滥与LBS传播有限中找到最佳平衡点,专门针对失踪儿童找回,公益+悬赏,只为更快。
在西岸集团的中控室,有一块巨型屏幕,呈现的是一幅三维西岸实景地图。地图上,行人、安保人员、非机动车、机动车等各种人和物一应俱全,并在人脸识别、姿态识别、视频结构化分析等技术支撑下,自动显示它们的主要特征和状态。例如,行人的性别、大致年龄、上身和下身服装颜色、是否带包,以及车辆种类等信息,“智慧公共空间管理平台”都能自动识别出来。
人工智能视觉系统采集到的这些信息有很多用途,如寻找走失人员。今后,上海西岸的中控室接到寻人求助后,工作人员可以将此人的照片输入平台,与海量的人体特征数据进行比对,搜索走失人员;也可将文字描述输入平台,如输入“白色上衣、蓝色短裤、背一个包”,平台也能进行搜索。
首先本系统课通过内网和外网的移动端进行查询,外网是以移动端向服务器发送相关搜索信息(如衣物颜色样式,发型,走失时间段,走失地段等)的请求,在经过服务器确认后(相关验证通过短信提醒)进行相应搜索并在手机端返回符合特征的人员,在用户选择后,能得到相应的信息(如最后出现的视频,最后出现的地点和时间,中途目标的路径模拟等)。
所以本系统需要相应的硬件设施为基础,其中包括高清的摄像头,网络,服务器和相应的存储系统。在存储方面需要相关的数据库,例如系统的配置的数据库,保存监控的视频信息的数据库,移动端用户的数据库和行人的信息数据库等都是不可缺少的。
在功能上除了要满足最关键的关键信息行人的搜寻,还要满足一些辅助性质的功能:比如短信平台的功能,用于通知或是发送验证码等;还有走失目标路径模拟功能,在获得相应目标的轨迹后用动画在地图上展示给搜寻者或是亲人家属看,将数据可视化,提升用户的体验。 本系统逻辑架构图如下:
深度学习是近十年来人工智能领域取得的重要突破。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域的应用取得了巨大成功。现有的深度学习模型属于神经网络。神经网络的起源可追溯到20世纪40年代,曾经在八九十年代流行。神经网络试图通过模拟大脑认知的机理解决各种机器学习问题。1986年,鲁梅尔哈特(Rumelhart)、欣顿(Hinton)和威廉姆斯(Williams)在《自然》杂志发表了著名的反向传播算法用于训练神经网络,该算法直到今天仍被广泛应用。
可以看到,深度学习在图像识别领域的发展和应用蒸蒸日上,其效率和准确率都在不断提高,新技术也在不断涌现出来。前景非常光明。和传统的机器学习进行比较,深度学习不需要人工去提取构造特征,对于不同种类的物体,用传统的机器学习方法可能会需要花很多时间去提取该种类的特殊的特征。这些年深度学习对于图像上的识别取得了很好的成果,越来越多优秀的网络可供我们选择和使用,这就是我们选择深度学习来解决这一问题的原因。
Yolov3算法在本系统中起到从自然环境中识别并框定人形的作用,以便于对其进行相应的特征判别。olo系列算法的原名为you only look once,其算法就和他的名字一样,其一大特点就是快,在其v1这一初始版本中使用了预定义的候选区,将图片直接分割为7*7的网格,每个网格允许预测出2个边框,也就是说一张图中有98个候选区,其和RCNN等之前的算法区别就在简单粗暴地定义好了候选区。但是yolo也会使用RCNN等算法中用到的边框回归,使得边框进行略微修正来提高正确率。其v1版本的创新点就在划分了候选区,除去这个创新点,其他部分和普通CNN网络没太大区别。
本系统使用的是yolo算法中的v3版本,v3的版本的创新点在于调整了网络结构;利用多尺度特征进行对象检测;对象分类用Logistic取代了softmax。 Yolov3包含了252层,其中的构成如下图:
Yolov3的网络结构如下图:
Yolo_v3作为yolo系列目前权衡识别速度和正确率后较为优秀的算法,对之前的算法既有保留又有改进。“分而治之”,从yolo_v1开始,yolo算法就是通过划分单元格来做检测,只是划分的数量不一样。采用"leaky ReLU"作为激活函数。端到端进行训练。一个loss function搞定训练,只需关注输入端和输出端。从yolo_v2开始,yolo就用batch normalization作为正则化、加速收敛和避免过拟合的方法,把BN层和leaky relu层接到每一层卷积层之后。多尺度训练。在速度和准确率之间tradeoff。
CVPR 2019接收的论文《Fast Online Object Tracking and Segmentation: A Unifying Approach》作者Qiang Wang开源了这套SiamMask代码,引起了极大关注。作者是在近年出现的SiamFC跟踪算法基础上做的改进。
SiamMask的效果,只需要给定一个包围框,即可同时实现目标跟踪与分割。我们在yolo中已经得到人物框,所以就不需要给初始的包围框。SiamMask在本系统中起到跟踪的作用,被跟踪目标不会进行特征的判定。跟踪跟踪在本系统中是为了减少对相同的物体的判断识别,从而减少了计算消耗的时间。
下图展示了其整体算法流程,左侧上面图像为框出来的目标图像,左侧下面图像为要搜索目标位置的视频中的一帧,经过卷积网络,生成Row(response of a candidate window,候选窗口响应),网络后面有三个head,除了在SiamFC算法中已经存在的预测box(目标位置)的head和预测响应score(目标出现概率)的head,作者增加了预测目标mask(目标二值掩码)的head。
另外也可以直接去掉预测box的head,提高计算速度,包围框也可以通过mask计算得到。网络结构如下:
大致流程图:检测分割人物图像查找上下衣和发型特征跟踪重复的人物并忽略返回第一层进行新的检测和分割返回符合要求的人物位置。 其流程图如下:
该深度学习算法基于三层学习网络,在第一层网络上主要使用了yolov3算法进行图像中人形图像的识别和分离,其大致的工作原理是:在大图中用分割或者改变网络内部结构的方法,并返回目标图像任务框的坐标位置。在第二层网络上,使用人物上下衣颜色作为特征识别分类。检测yolo识别出的人物的上下衣颜色款式和发型特征,将检测到的人像放入SiamMask作进一步的跟踪筛除处理,并将之后的图像重新放入yolov3中进行新一轮的人的检测。筛除处理的目的是过滤掉重复出现的人物图像,以检测到更多不同的满足走失人员特征的人物图像,以免遗漏。此时,使用siammask半监督学习算法跟踪已检测到的人物图像的位置(持续刷新人物的坐标框),并将结果返回yolov3判定。通过多次循环,最终可以得到在摄像视频流的一定时间内,摄像头拍摄到的疑似走失人员的人物图像,以供家属和搜寻人员进一步判定。
过去十年,中国是监控摄像头增长最快的国家。根据咨询公司 IHS Markit 2016 年的数据,中国共装有 1.76 亿个监控摄像头。其中由公安系统掌握的,有 2000 万个。摄像头覆盖范围逐步上涨,各景区和游乐场所的监控设备也不断更新升级,这为人民安全增添了强有力的技术保障,也为我们的产品的应用奠定了硬件基础。
我们选用到的算法,有着领先的速度优势和不断更新的技术保障,他们都有着强大的功能,为产品提供了稳固的技术内核。在从自然环境检测人上,yolo系列较于其他深度学习的算法,其区别在于预定了候选区,使得搜索时间大大缩短,提高了效率。Siammask算法则是一个最新的一个半监督的跟踪与检测算法,其作用是减少了不必要的识别使得本系统的时间缩短。
Github链接 https://github.com/qqwweee/keras-yolo3
论文:《Fast Online Object Tracking and Segmentation: A Unifying 系统roach》作者Qiang Wang
Siammask算法目前实验结果水平 作者在VOT-2016、VOT-2018数据集上测试跟踪精度,在DAVIS-2016、DAVIS-2017数据集上测试了目标分割的精度。 下图是与普通的跟踪算法的结果比较。
SiamMask相比之前的跟踪算法的state-of-the-art精度又改进不少。
下图是与现有的视频目标分割算法的精度的比较:
虽然SiamMask精度并不是最高的,但速度却比其他算法快1到2个数量级!在真实应用中更有价值。 下图为mIoU-速度的散点图。
Yolov3相比与前两代识别更准确、泛华能力也更好。有了多个新的技术亮点:
终于为 YOLO 增加了 top down 的多级预测,解决了 YOLO 颗粒度粗,对小目标无力的问题。v2 只有一个 detection,v3 一下变成了 3 个,分别是一个下采样的,feature map 为 1313,还有 2 个上采样的 eltwise sum,feature map 为 2626,52*52,也就是说 v3 的 416 版本已经用到了 52 的 feature map,而 v2 把多尺度考虑到训练的 data 采样上,最后也只是用到了 13 的 feature map,这应该是对小目标影响最大的地方。在论文中从单层预测五种 boundingbox 变成每层 3 种 boundongbox。
作者 v3 替换了 v2 的 softmax loss 变成 logistic loss,由于每个点所对应的 bounding box 少并且差异大,每个 bounding 与 ground truth 的 matching 策略变成了 1 对 1。
当预测的目标类别很复杂的时候,采用 logistic regression 进行分类是更有效的,比如在 Open Images Dataset 数据集进行分类。在这个数据集中,会有很多重叠的标签,比如女人、人,如果使用 softmax 则意味着每个候选框只对应着一个类别,但是实际上并不总是这样。复合标签的方法能对数据进行更好的建模。
采用简化的 residual block 取代了原来 1×1 和 3×3 的 block(其实就是加了一个 shortcut,也是网络加深必然所要采取的手段)。这和上一点是有关系的,v2 的 darknet-19 变成了 v3 的 darknet-53,为啥呢?就是需要上采样啊,卷积层的数量自然就多了,另外作者还是用了一连串的 33、11 卷积,33 的卷积增加 channel,而 11 的卷积在于压缩 3*3 卷积后的特征表示。
由于 top down 的多级预测,进而改变了 router(或者说 concatenate)时的方式,将原来诡异的 reorg 改成了 upsample。
随着模型训练越来越高效,神经网络层级的不断加深,信息抽象能力的不断提高,以及一些小的修修补补,未来的目标检测应用mAP会不断提升。
目前所谓的“实时”,工业界是不认可的。为什么呢,因为学术圈的人,验证模型都是建立在 TitanX 或者 Tesla 这类强大的独立显卡上,而实际的潜在应用场景中,例如无人机/扫地/服务机器人/视频监控等,是不会配备这些“重型装备”的。所以,在嵌入式设备中,如 FPGA,轻量级 CPU 上,能达到的实时,才是货真价实的。
类似于 tiny YOLO 的模型分支会受到更多关注。模型的小型化是应用到嵌入式设备的重要前提。而物联网机器人无人机等领域还是以嵌入式设备为主的。模型剪枝/二值化/权值共享等手段会更广泛的使用。