季 珂,韩龙玫,卿粼波,刘 美,吴晓红
1(四川大学 电子信息学院,成都 610065)
2(成都市规划设计研究院,成都610081)
健康城市的发展以实现人的全面、健康发展为目标[1].视力是群体健康的重要指标之一,然而现代生活方式、环境等因素导致人群群体的视力障碍(包括常见的近视、远视、散光、弱视等)发生率呈现上升趋势[2].视力障碍不仅影响国防和航空等特殊人才的选拔[3],也给生活带来不便.相关研究指出,到2050年,近视将对全世界50 亿人造成不同程度的负面影响[4].调查城市群体的视力情况有助于掌握群体健康的基本情况,制定针对性的政策和措施,为健康城市的建设打下基础.
近些年调查群体视力的方法,主要采用以下四种方法:对某一特定群体进行普查、在医院门诊收集视力信息、对某群体分层抽样收集视力信息和使用问卷调查的方式收集视力信息.杜连心等人[5]采用对在校学生进行普查的方法调查小学生的视力,周珂晶等人[6]通过在门诊收集学龄前儿童的视力信息以了解他们的视力障碍情况,朱梦男等人[7]使用问卷调查的方式了解某高校医学院大学生视力情况,他卉等人[8]采用分层随机抽样的方法调查教学环境卫生与学生视力情况.然而,普查会耗费大量的人力物力;问卷调查存在虚假填写、调查结果质量得不到保证、回收率也难以保证的情况;门诊收集个人信息涉及隐私会带来诸多不便;分层随机抽样的方法需要对样本总体情况进行了解.视力障碍群体分布广泛、人数众多,使用上述方法调查难度大,取样困难.
随着人工智能的迅猛发展,利用计算机视觉技术实现监控视频系统智能化是一个热门研究领域.视频分析技术已经在行人检测[9]、目标跟踪[10]、性别识别[11]等领域取得了显著的成果.基于视频分析人的属性在金融、身份验证、安防等领域有着广泛的应用.人的属性包括性别属性、穿戴属性、年龄属性等,而人脸是人类最重要的生物特征之一,蕴含着大量的信息[12].近几年,视频大数据的研究受到了国内外学者的密切关注,越来越多的视频分析技术与其他领域结合取得了良好的成果.在聚焦人的属性上,视频大数据具有得天独厚的优势[13].通过视频分析技术自动的识别监控视频中人的属性是一种高效途径,也是未来的发展趋势.
为了提高群体视力调查的效率,降低数据获取的门槛,本文利用视频分析技术提取监控视频中的行人人脸属性,识别公共群体中视力障碍的数量和比例,作为区域人群群体健康的样本指标,由于男女生理结构的不同,为了更加科学的调查行人的视力状况,我们对群体性别进行了识别.我们通过卷积神经网络中的检测技术,实现行人人脸检测,为了提高性别和眼镜识别的效果,我们改进了人脸分析卷积神经网络,并对行人人脸属性进行分析,得到的人脸属性信息包含性别和是否佩戴眼镜,最终经过数据量化,在Web 端进行可视化展示.该方法为调查员调查群体健康节省了巨大的工作量,提供了重要的数据支撑,并为统计调查领域研究群体健康提供了新思路.
为了研究行人的人脸信息,获得的监控视频首先需要进行人脸检测,得到人脸图像后建立数据集进行相应的分析.本文设计的方案易于移植到嵌入式平台,方案图如图1所示.
图1 系统方案示意图
本研究主体框架为获取摄像头采集的监控区域视频,检测视频中人脸的存在,分析人脸属性,量化信息在Web 端展示.为了获得行人群体的视力障碍情况,本文分析的人脸属性包括行人的性别、是否佩戴眼镜,同时记录对应的量化信息,最终对记录的信息进行分析,通过网络端实现基础数据查询的功能.
人脸检测部分,目前主要以Faster-RCNN[14]、SSD[15]等目标检测算法为代表,它们都可以用于人脸目标检测,但Faster-RCNN 检测速度慢,SSD 对人脸小目标检测性能不佳.Zhang 等人[16]在2016年提出的MTCNN 网络精度高、速度快.MTCNN 是一种三阶级联架构方式的快速卷积神经网络算法.这种算法分为3 个阶段:首先通过浅层CNN 快速产生大量的候选框;其次利用更加复杂的CNN 精炼候选框,丢弃大量没有人脸的候选框;最后使用更加强大的CNN 实现最终人脸的候选框,并输出五个人脸面部关键点位置.因此本文选择MTCNN 来实现人脸检测的功能.
在检测到人脸的基础上,本文需要进行人脸属性分析,在分析过程需要克服以下几个困难:监控场景下光照或背景会变化,视频中行人不断移动造成视角也随之改变,采集到的人脸因光照和姿态变化大,甚至采集到由于行人运动而模糊的人脸图像.这些图像分辨率低,对训练的精度有所影响,俯拍视角也对检测效果有一定的影响.分析人脸属性需要使用分类网络对性别和是否佩戴眼镜进行分类.目前常用的分类网络VGG16[17]、ResNet[18]都可以用于分类,但是上述网络结构复杂,考虑到本文所设计系统需要移植到嵌入式平台,因此我们在网络的选择上有所约束.跨连卷积神经网络(Cross-connected CNN,CCNN)结构简单,简单的网络有助于处理速度的提升,此网络符合我们的要求.为了进一步提高性别识别和眼镜识别的准确率,我们改进了CCNN 网络.
数据可视化部分通过Web 端系统进行展示,监控视频中行人人脸属性分析处理量化后,Web 端需要从数据库获取人脸属性分析量化的数据,再以图表的形式展示在Web 端,实现用户在浏览器查询基础数据的功能.Web 端系统采用了B/S 架构,数据库选择MySQL存储相关数据,前端框架使用AngularJS,后端框架使用Django MTV,应用程序接口选择JavaScript 语言,相关的图表绘制采用Echarts.
张婷等人[19]指出传统的卷积神经网络在分类上只利用高层次特征构造分类器,没有有效利用低层次特征,如果能将高层次和低层次特征共同结合用于构造分类器,将达到更好的分类效果.CNN 卷积的过程是不断筛选的过程,前几层过滤掉的浅层信息对后面的分类不是没有用的,浅层的边缘纹理信息有助于图像的分类,可以把浅层卷积层的信息特征与深层特征进行融合[20].佩戴眼镜相比未戴眼镜,眼睛区域有较大的差别,男女在脸部有额头形状、颧骨线条、下巴形状等不同的特征.
在上述思路下,我们对CCNN 网络进行了改进.利用浅层卷积层的特征输出与最后卷积层特征输出结合,融合多层卷积的特征,再将融合层进行池化,将中间池化层的信息与深层池化层信息相连,利用融合的方式增强输入到全连接层的语义信息,最后经全连接层对融合的特征信息分类送至输出层.改进的网络包含3 个卷积层,3 个池化层,2 个融合层,2 个全连接层,如图2所示.使用的激活函数为ReLU 函数,池化方式为最大池化.为了减少特征信息的损失,输出层损失函数为SoftmaxLoss[21].为了降低网络移植到嵌入式平台的复杂性,本文性别识别和眼镜识别采用同一个网络.
图2 人脸分析卷积神经网络结构示意图
标准的人脸数据集诸如FDDB[22]、Adience[23]、LFW[24]等基本上是水平视角,分辨率较高.FDDB 数据集包含野外拍摄的人脸图像,不适合公共群体场景下的应用.Adience 数据集通过智能手机拍摄的人脸图像,不适合监控摄像头俯拍的特性,并且智能手机拍摄的图片清晰度高于监控摄像头得到的图片.LFW 数据集通过网络收集的人脸图像清晰度也较高.而在实际应用中,并不能完全做到水平视角,本文检测到的人脸分辨率不高,街道上的监控视角也多为俯拍视角,对人脸属性分析有一定的影响,并且公开数据集没有眼镜数据集.在此背景的需求下,本文获取监控视角下的视频进行分析,并制作符合要求的数据集.自制数据集分辨率低,具有俯拍视角的特性,标准数据集与自制数据集的对比如图3所示.
数据集的制作过程先使用人脸检测卷积神经网络检测监控视频中存在的人脸,然后将人脸图片输出,筛选相对清晰的图片.将该数据集命名为SCU_Face_attributes,如图4所示.SCU_Face_attributes 包含两个部分,即性别数据集和眼镜数据集,具体划分如表1所示.
图3 数据集的对比
表1 数据集划分
性别数据集中男性图片与女性图片比例近1:1,眼镜数据集中戴眼镜和未戴眼镜图片数量比例约1:0.89.最终建立各自相对应的训练集、验证集、测试集比例约为8:1:1,其中验证集用于训练阶段的测试,当训练数据完成指定迭代次数后,利用验证集对该阶段的训练效果进行评估;测试集则用于对已经训练好的模型进行测试,来验证训练模型的准确度.
图4 SCU_Face_attributes
本文实验条件:所选的PC 机系统为Ubuntu16.04,主要配置为:Intel(R) Core(TM) i5-3470 CPU @ 3.20 GHz;NVIDIA GeForce GTX 1070 8 GB 显存,监控视频的分辨率为1280×720,帧速率为25 fps.
使用改进的CCNN 网络在自制数据集的训练集上进行训练,性别识别和眼镜识别分开训练,由于使用同一个网络故采用同样的设置.本文采取Caffe 框架,网络训练参数的设置如下:基本学习率设为0.001,池化层步长(stride) 和池化核大小(kernel_size) 设置为3 和2,此重叠采样方式能减少过拟合的风险,也能保持空间不变性.网络动量(momentum)设为0.9、权重衰减量(weight_decay)设为0.0005,训练总迭代次数为40000.
本文的测试部分使用改进的CCNN 网络在自制数据集的测试集上进行测试,改进的CCNN 网络在自制数据集训练过程中,能从训练样本很好的学习到人脸的特征,并且训练取得较好的收敛效果,将新的数据应用到训练好的模型上达到了如表2所示的准确度.改进的CCNN 网络在性别识别和眼镜识别的准确度上相比CCNN 网络提高了约1%,取得了较高的识别率.
表2 实验效果展示(%)
本文摄像头位置信息和行人人脸属性量化信息采用模拟数据进行效果展示.Web 端主要展示由行人的性别和是否佩戴眼镜得到的量化信息.其中Camera-Message 数据记录所有关注的街道摄像头的信息,包括地理位置经纬度、摄像头id 号、街道名、关注时间和所属地区,如表3所示.
表3 CamerMessage 数据表
为了便于数据库的管理,数据库中将摄像头的位置信息与摄像头包含的具体信息分离.摄像头的命名方式为Camera***(如Camera 005,005 表示CameraMessage 中对应的摄像头id 号),数据库中人脸属性对应的数据表的命名方式为t********(例如t20181125).数据表包含对应时间、对应时间的行人数量、对应时间的男性数量、对应时间的女性数量、对应时间的男性戴眼镜和未戴眼镜数量、对应时间的女性戴眼镜和未戴眼镜数量,如表4所示.
建设健康城市需要统计不同区域群体的视力障碍情况,本文将行人的人脸属性信息量化后在地图上展示,地图服务能直观清楚的展示公共空间中行人的视力障碍情况.本文Web 端系统选择百度地图作为开发框架,百度地图JavaScript API 是一套由JavaScript 语言编写的应用程序接口,应用程序接口丰富、文档齐全,能够构建交互性强的Web 应用[25].地图服务需要添加关注街道的地理位置功能,本文添加关注街道后,读取数据库中存储的关注街道的信息,地图上会以红色气泡表示关注的街道,以此表示部署的摄像头位置信息.显示的详细信息如图5所示.
表4 人脸属性信息表
图5 关注街道信息
显示关注的街道信息后,需要展示该街道行人人脸属性信息的数据.本文使用Echarts 用于实现量化行人人脸信息展示的功能.Web 端行人人脸信息数据的图表采用基于JavaScript 开发的可视化库Echarts[26]绘制.Echarts 提供丰富的图形接口,图表种类丰富,可高度定制个性化可视化图表.
我们的统计方法为在同一地区部署多个摄像头,每个摄像头监控一条街道路段,利用校园一天中上学、放学、吃饭的时间段统计群体的性别和视力障碍情况.在地图上选择一个已关注的街道,红色气泡标注会变成跳动的黄色气泡标注,选择时间后,展示某个摄像头包含的具体信息,男女比和视力情况示意图都用饼状图显示,选择地区后,该地区不同街道的性别示意图和视力情况示意图的对比都用柱状图显示,如图6所示.
图6 Web 端整体展示效果图
本文提出一种基于CCNN 的监控视频中行人人脸信息的分析方法,首先检测监控视频中的行人,然后提取人脸属性得到行人的性别和是否佩戴眼镜,判别视力障碍数量,最后在Web 端使用Echarts 进行相应的图表绘制,展示了单条街道或者某区域的人群视力障碍数量和性别比例.本文将视频分析技术引入群体健康的统计调查领域,推进了调查领域技术的发展,为调查工作提供了新思路.当然,本文方法使用是否佩戴眼镜这一单一属性来判断行人有无视力障碍,不能对佩戴装饰眼镜进行进一步识别,但相比传统的视力状况调查方法,本文方法涵盖数据面更广、总体来说精度更高,可以大致反映一定区域内的群体视力状况.中小学生、学龄前儿童群体戴隐形眼镜、装饰眼镜的比例很低,针对这类群体,我们的研究更有价值.也可以针对后期需求进一步拓展设计,可进一步分析年龄结构等数据,针对特定人群展开调查统计,并在Web 端分时段展示分析数据,满足建设健康城市的需求.