基于深度学习的乘客多标签分类方法、系统、介质及设备

文档序号:31355158发布日期:2022-08-31 13:30阅读:159来源:国知局
基于深度学习的乘客多标签分类方法、系统、介质及设备

1.本发明涉及计算机视觉技术领域,具体地,涉及一种基于深度学习的乘客多标签分类方法、系统、介质及设备。


背景技术:

2.电梯是高层建筑必不可少的搬运方式,在经济技术飞速发展的时代,城市化现象和人工智能在日常生活中广泛普及。传统的监控系统功能单一、人工检查耗力费时,随着监控摄像头使用的急剧增加以及机器学习的发展,基于图像的人群场景分析近年来引起了学术界和行业的极大兴趣,构建电梯智能监控系统逐渐成为机器视觉的焦点研究方向之一。
3.专利文献cn111144247a(申请号:cn201911292323.1)公开了一种基于深度学习的自动扶梯乘客逆行检行为测方法,包括步骤一、从自动扶梯的监控视频流获取图像帧,并设定检测区域(roi);步骤二、使用目标检测算法检测步骤一中规定的roi区域中乘客的头部位置;步骤三、使用分类器判别步骤二中检测到的人头的方向,判断该乘客是否有可能出现逆行现象;步骤四、利用多目标跟踪算法对步骤三中每个可能逆行的目标(头部)进行跟踪,得到跟踪轨迹;步骤五、对步骤四中的每一条轨迹进行分析,判断乘客是否发生逆行行为。
4.专利文献cn108805093a(申请号:cn201810627161.1)公开了一种基于深度学习的手扶电梯乘客摔倒检测算法,包括步骤:1)乘客搭乘手扶电梯视频图像采集;2)利用fhog描述子和svm分类器检测乘客人脸;3)利用kcf跟踪乘客人脸,基于乘客人脸信息新建乘客轨迹列表;4)用迁移学习重新训练yolo2算法模型来检测乘客人身;5)匹配乘客人脸和乘客人身,将人身信息加入到轨迹列表中;6)利用openpose深度学习算法提取乘客骨骼关节点序列;7)匹配乘客人身与乘客骨骼关节点序列,将骨骼关节点信息加入到轨迹列表中;8)分析轨迹列表中的骨骼关节点信息,检测乘客摔倒行为。
5.专利文献cn111259718a(申请号:cn201911017881.7)公开了一种基于高斯混合模型的扶梯滞留检测方法及系统,包括步骤:a)利用深度学习网络从视频图像中提取行人信息;b)利用机器学习方法构建分类模型,对实时检测到的行人信息进行分类筛选;c)构建高斯混合模型,获取当前帧的滞留目标图像;d)对滞留目标图像进行预处理,获得在扶梯出入口滞留检测区域内的图像;e)采用边缘检测算法获取候选滞留目标轮廓,进行候选滞留框面积判断;f)进行候选滞留框重叠判断,进行滞留报警。
6.人群属性识别属于细粒度视觉分类的眼睛范畴,细粒度图像分析作为计算机视觉中一个有趣、基础和具有挑战性的问题,几十年来一直是一个活跃的研究领域,它的目标是检索、识别和生成属于一个超类别下的多个从属类别的图像,可分为基于强监督的方式和基于弱监督的方式两类。前者依赖于更多的人工标注(图像标签、目标位置等)来学习对目标的检测,对数据的构建有较髙要求。弱监督方式使模型聚焦于图像的局部,使网络参数的更新向着挖掘到更有区分度的图像区域进行。近年来,深度学习的兴起使得研究者们大都采用深度卷积神经网络构建行人属性识别模型。根据模型建立的侧重点,可将当前众多的行人属性识别方法归为五类,分别为:基于图像块的方法、基于整个图像的方法、基于注意
力的方法、基于序列化特征学习的方法、基于弱监督的方法。当前行人属性识别的方法大都涉及到迁移学习中的模型参数微调,以弥补训练数据不足的问题。
7.电梯轿厢具有空间狭小、封闭和不透明等特点,智能监控旨在运用深度学习、视频处理等方法,利用电梯视频中的丰富信息,对监控视频进行分析,进行乘梯人的动态监测,挖掘背后的数据规律,可为实现电梯智能化管理,以及电梯广告的精准投放创造条件,提高电梯乘坐的安全性和商业性,有助于改变传统的电梯管理和运营模式。故基于深度学习的电梯乘客多标签属性智能分类方法的研究,对于构建电梯轿厢智能监控具有重要的研究价值和意义。


技术实现要素:

8.针对现有技术中的缺陷,本发明的目的是提供一种基于深度学习的乘客多标签分类方法、系统、介质及设备。
9.根据本发明提供的基于深度学习的乘客多标签分类系统,包括:
10.图像数据采集模块:获取监控视频并转码播放,调用目标检测算法进行人员检测并截取乘客图像;
11.属性数据集建立及处理模块:建立乘客属性数据集并遍历校对图像和标签,分别提取图像和标签列表并将标签转化为独热码;
12.乘客属性识别模块:先加载图像并预处理、加载属性标签并重排,接着划分数据集,配置深度神经网络模型参数并训练,然后进行模型预测,在图像层面和属性层面计算评价指标;
13.结果显示和保存模块:构建背景和预测字典,打印属性识别和评价结果并保存。
14.优选的,所述图像数据采集模块包括有依次通信连接的监控视频获取单元、人员检测单元、图像截取单元;
15.所述监控视频获取单元,利用电梯顶部安装的摄像头实时采集监控视频、转码并流畅播放;
16.所述人员检测单元,调用深度学习方法,检测视频流中的人员;
17.所述图像截取单元,用于在视频流中截取人员检测回归框,并保存至数据集路径。
18.优选的,所述属性数据集建立及处理模块包括:
19.建立电梯图像数据集,包含图像文件夹与标签csv文件;
20.利用乘客属性数据集建立及处理方法,遍历校对图像与标签使之一一对应;
21.分别提取图像和标签列表,并将文字标签转化为二值化独热码。
22.优选的,所述乘客属性识别模块包括:
23.模型搭建及训练单元,用于准备训练数据、配置网络参数和训练深度学习模型;
24.模型测试及评价单元,用于分别在图像层面和属性层面评价模型性能,评价指标包括准确率、精确率和召回率。
25.根据本发明提供的基于深度学习的乘客多标签分类方法,包括:
26.图像数据采集步骤:获取监控视频并转码播放,调用目标检测算法进行人员检测并截取乘客图像;
27.属性数据集建立及处理步骤:建立乘客属性数据集并遍历校对图像和标签,分别
提取图像和标签列表并将标签转化为独热码;
28.乘客属性识别步骤:先加载图像并预处理、加载属性标签并重排,接着划分数据集,配置深度神经网络模型参数并训练,然后进行模型预测,在图像层面和属性层面计算评价指标;
29.结果显示和保存步骤:构建背景和预测字典,打印属性识别和评价结果并保存。
30.优选的,所述图像数据采集步骤包括:
31.监控视频获取步骤:利用电梯顶部安装的摄像头实时采集监控视频、转码并流畅播放;
32.人员检测步骤:调用深度学习方法,检测视频流中的人员;
33.图像截取步骤:在视频流中截取人员检测回归框,并保存至数据集路径。
34.优选的,所述属性数据集建立及处理步骤包括:
35.建立电梯图像数据集,包含图像文件夹与标签csv文件;
36.利用乘客属性数据集建立及处理方法,遍历校对图像与标签使之一一对应;
37.分别提取图像和标签列表,并将文字标签转化为二值化独热码。
38.优选的,所述乘客属性识别步骤包括:
39.模型搭建及训练步骤:准备训练数据、配置网络参数和训练深度学习模型;
40.模型测试及评价步骤:分别在图像层面和属性层面评价模型性能,评价指标包括准确率、精确率和召回率。
41.根据本发明提供的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的方法的步骤。
42.根据本发明提供的基于深度学习的乘客多标签分类设备,包括:控制器;所述控制器包括所述的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的基于深度学习的乘客多标签分类方法的步骤;或者,所述控制器包括所述的基于深度学习的乘客多标签分类系统。
43.与现有技术相比,本发明具有如下的有益效果:
44.本发明可实现重点乘客识别,为电梯大数据、智能安防、广告投放等工作提供技术支持,提高电梯乘坐的安全性和商业性。
附图说明
45.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
46.图1是本发明提供的基于深度学习的电梯乘客多标签属性智能分类方法流程示意图;
47.图2是本发明提供的电梯图像数据采集装置的组成示意图;
48.图3是本发明提供的电梯乘客属性数据集建立及处理方法的流程示意图;
49.图4是本发明提供的电梯乘客多标签属性智能识别方法中所述模型搭建及训练的流程示意图;
50.图5是本发明提供的电梯乘客多标签属性智能识别方法中所述模型测试及评价的流程示意图;
51.图6是本发明提供的电梯乘客属性识别设备的结构示意图;
52.图7是本发明提供的计算机设备的结构示意图。
具体实施方式
53.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
54.实施例1:
55.第一方面,本发明提供了一种电梯图像数据采集装置,包括有依次通信连接的监控视频获取单元、人员检测单元、图像截取单元。
56.所述监控视频获取单元,利用电梯顶部安装的摄像头实时采集监控视频、转码并流畅播放。
57.所述人员检测单元,调用深度学习方法,检测视频流中的人员。目标检测算法可选的有:在提取特征的基础上直接进行分类回归的单一阶段检测器yolo、ssd等,以及基于候选区的两阶段检测器fast r-cnn等。
58.所述图像截取单元,用于在电梯视频流中截取人员检测回归框,并保存至数据集路径。
59.第二方面,本发明提供了一种电梯乘客属性数据集建立及处理方法:包括以下几个步骤:
60.1、获取电梯图像数据集,包括图像文件夹与标签csv文件。
61.2、处理数据集,遍历校对图像与标签使之一一对应。
62.3、分别提取图像img和标签label列表。
63.4、将标签转化为二值独热码。
64.5、将二值化多标签保存成pkl文件。
65.所述步骤1中,获取由所述第一方面采集的电梯乘客图像和属性标签。图像名按照截取的先后顺序以递增的阿拉伯数字命名,csv文件第一列为图像名称,第2-12列为对应标签信息。
66.所述步骤1中,标签属性包含以下类别:性别(男,女);年龄(小孩,青少年,成年人,老人);头装(不带帽子,带帽子,带头盔);头发长短(无法识别,光头秃顶,短发,长发);是否白发(非白发,白发);是否眼镜(不带眼镜,带眼镜);职业(快递,保洁,居民);是否抱小孩(不抱小孩,抱小孩);是否玩手机(不玩手机,玩手机);是否背包(不背包,背包);是否拿手包(拿手包,拿手包),共计11中类型。
67.所述步骤2中,具体步骤包括:

分别读取标签文件和图像文件夹,即将所有图像和对应标签分别保存为list_1和list_2;

对比交集得到缺失文件。即首先求得list_1和list_2的交集列表inter,其次分别求得图像列表list_1与交集列表inter的差集diff_1,标签列表list_2与交集列表inter的差集diff_2。

删除不完整差集文件。首先在图像文件夹中删掉csv文件没有的图像,即在list_1中删掉diff_1,其次在csv文件中删掉图像文件夹没有的图像,即在list_2中删掉diff_2。

删除标签文件重复行。当标签数目大于文件夹
中图像数目,但是二者差集为0时,代表标签有重复行。在进行上述操作后,数据集处理完毕,使得图像和标签一一相对应。
68.所述步骤3中,csv文件的行索引为图像名称,列索引为属性名称。

将csv文件的第一列读取为列表,记为img,img形如[1.jpg,2.jpg,
……
n.jpg],长度为图像个数;

将每个img索引对应的行读取为列表,记为label,label是长度等于11的文字标签。
[0069]
所述步骤4中,对于所述步骤3得到的label列表进行二值化处理,具体地,令属性记为1,不存在记为0,将label转化为独热码,则label形如[101
……
1],长度为27,分别代表以下27种属性的存在性:“不戴帽子、不戴眼镜、不抱小孩、不拿手包、不玩手机、不背包、保洁、光头/秃顶、头发无法识别、女、小孩、居民、快递、成年人、戴头盔、戴帽子、戴眼镜、拿手包、玩手机、男、白发、短发、老人、背包、长发、青少年、非白发”。
[0070]
所述步骤5中,利用所述步骤4的二值化结果,将多标签属性类别classes保存为pkl文件,便于测试打印属性信息,其中属性类别classes长度为27。
[0071]
第三方面,本发明提供了一种电梯乘客多标签属性智能识别方法,包括模型搭建及训练单元、模型测试及评价单元。其中,模型搭建及训练包括数据准备、模型配置、模型训练与保存三个步骤;模型测试分为图像层面和属性层面两个部分,评价指标包括准确率、精确率、召回率。
[0072]
(一)模型搭建及训练单元
[0073]
1、数据准备:
[0074]
(1)配置数据集和预训练模型路径,初始化训练信息;
[0075]
(2)加载训练图像文件,进行预处理并转化为数组形式;
[0076]
(3)加载图像列表img和标签独热码label;
[0077]
(4)按照图像加载的顺序重排label,得到truth;
[0078]
(5)划分训练集和测试集并随机打乱;
[0079]
所述步骤(1)中,初始化训练包括迭代次数、批大小、学习率、图像尺寸等。
[0080]
所述步骤(2)中,预处理包括:数据增强,平移,旋转,调整大小,归一化。
[0081]
所述步骤(3)中,图像列表和标签独热码由所述第二方面步骤3得到。
[0082]
所述步骤(4)必要的原因是:

训练集图像列表img_train=[1.jpg,10.jpg,100.jpg,
……
],而所述第二方面步骤3得到的img=[1.jpg,2.jpg,3.jpg
……
],训练时图像加载时的顺序,与原来img列表中的顺序即可能不一致;

可能采用划分数据的方式,选择部分图像训练,而不是img列表中的全部,直接采用所述第二方面步骤3得到的img可能会导致图像与标签不匹配。
[0083]
所述步骤(4)的具体方式为:

遍历训练集文件夹中的所有图像,得到训练集图像列表img_train;

对img_train中每一个图像,找到图像名在img_train中的位置索引index;

利用索引index,在所述第二方面步骤3得到的label列表中查找其对应的标签,再按照训练集图像列表img_train顺序,重新构造标签列表truth。
[0084]
所述步骤(5)中,其中划分数据集方式为:随机选取数据集的80%用于训练,剩余20%用于测试。打乱的目的是对数据进行重新洗牌,使得数据的排列拥有一定的随机性,在顺序读取时任意类型的数据的可能性相同。
[0085]
2、模型配置:
[0086]
(1)选择主干模型并配置输出;
[0087]
(2)配置优化器和损失函数;
[0088]
所述步骤(1)中,主干模型可选vgg,resnet,inception等,模型的末端为全连接层,模型输出节点的个数等于属性类别即27。模型末端的激活函数选择sigmoid,其作用为将网络的每一个输出值进行非线性化,将一个标量数字转换到[0,1]之间,便于二分类以判断属性是否存在。
[0089]
所述步骤(2)中,优化器选择adam优化方法,损失函数选择二值交叉熵损失binary cross-entropy,其原因是:多标签分类将每个预测的标签作为一个独立的伯努利分布以单独评价每一个输出节点。
[0090]
3、模型训练与保存:
[0091]
用于训练模型的输入为img和所述第三方面(一)模型搭建及训练单元-1数据准备-步骤(4)得到的truth。
[0092]
(二)模型测试及评价单元:
[0093]
1、模型测试:
[0094]
(1)加载模型和标签文件;
[0095]
(2)处理待测图像并输入模型;
[0096]
(3)根据模型输出和设定阈值标记属性索引;
[0097]
(4)根据属性索引得到预测结果img_pre;
[0098]
所述步骤(1)中模型由所述第三方面(一)模型搭建及训练单元-3模型训练与保存得到,标签文件由所述第二方面步骤3得到
[0099]
所述步骤(2)中,图像处理操作包括:调整大小、归一化、转换为数组形式。
[0100]
所述步骤(3)中,将经所述步骤(2)处理的数组形式的图像输入到所述步骤1所加载的模型中,模型的输出在[0,1]之间,为网络末端sigmoid激活函数非线性处理的预测值,设置一定阈值(一般设置为0.5),定义输出大于阈值则任务该属性存在,否则不存在。将输出列表中大于阈值的值对应的索引记为idx。
[0101]
所述步骤(4)中,根据所述步骤(3)所得的索引值idx,得到预测结果pre,具体地,定义一个全为0的长度为27的列表,在索引idx处,令该列表的值为1,即得到每个属性的预测结果。
[0102]
2、图像层面评价:
[0103]
(1)加载图像的属性预测值img_pre;
[0104]
(2)加载图像的标签真实值img_truth;
[0105]
(3)计算每张图像的评价指标;
[0106]
所述步骤(1)中,加载所述第三方面(二)模型测试及评价单元-1模型测试-步骤(4)所得到的图像预测值img_pre,为长度等于27的列表,列表元素为0或1。
[0107]
所述步骤(2)中,加载由所述第二方面步骤3得到的label信息,即图像标签的真实值,为长度等于27的列表,列表元素为0或1。
[0108]
所述步骤(3)中,可使用python机器学习中sklearn.metrics中提供的函数:accuracy_score,precision_score,recall_score来计算指标,函数的输入为由所述步骤(1)得到的预测值img_pre和所述步骤(2)加载的真实值img_truth。
[0109]
3、属性层面评价:
[0110]
(1)将图像预测值拼接得到属性预测值n_pre;
[0111]
(2)将图像真实值拼接得到属性真实值n_truth;
[0112]
(3)构建每种属性的预测值att_pre和真实值att_truth;
[0113]
(4)计算每种属性的评价指标;
[0114]
所述步骤(1)中,将所述第三方面(二)模型测试及评价单元-2图像层面评价-步骤(1)所得的n张图像的预测值img_pre进行拼接得到属性预测值n_pre,为长度等于n的列表,列表元素为长度为27的预测值img_pre。
[0115]
所述步骤(2)中,将第三方面(二)模型测试及评价单元-2图像层面评价-步骤(2)所得的n张图像的标签真实值img_truth进行拼接得到属性真实值n_truth,为长度等于n的列表,列表元素为长度为27的标签真实值img_truth。
[0116]
所述步骤(3)中,将所述步骤(1)和所述步骤(2)所得的n_pre和n_truth视为n行m列的矩阵,其中n为图像数目,m为属性数目,m等于27。则n_pre的每一列代表该列对应属性的预测值att_pre,att_pre为长度等于n的列表,列表元素为0或1;n_truth的每一列代表该列对应属性的真实值att_truth,att_truth为长度等于n的列表,列表元素为0或1。
[0117]
所述步骤(4)中,可使用python机器学习中sklearn.metrics中提供的函数:accuracy_score,precision_score,recall_score来计算指标,函数的输入为所述步骤(3)所得的每种属性预测值att_pre和真实值att_truth。
[0118]
第四方面,如图6,本发明提供了一种电梯乘客属性识别设备,包括有依次通信连接的电梯图像数据采集模块、电梯乘客属性数据集建立及处理模块、电梯乘客属性识别评价模块、结果显示和保存模块;
[0119]
所述电梯图像数据采集模块,用于获取厢内监控视频并采用深度学习算法截取乘客图像。
[0120]
所述电梯乘客属性数据集建立及处理模块,用于建立电梯图像文件夹与标签csv文件并遍历校对使之一一对应,分别提取图像和标签列表并将标签转化为二值化独热码。
[0121]
所述电梯乘客属性识别模块,用于进行深度神经网络模型的配置、训练、测试及预测结果定量评价。
[0122]
所述结果显示和保存模块,用于构建预测结果文本字典、加载各项评价指标、打印预测评价结果并保存。显示模块包含以下步骤:
[0123]
1、加载图像并构建背景;
[0124]
2、构建预测结果文本字典;
[0125]
3、加载各项评价指标;
[0126]
4、打印预测评价结果并保存;
[0127]
所述步骤1中,加载所述第三方面(三)模型测试中测试的图像,调整尺寸并生成相同大小的黑色背景。
[0128]
所述步骤2采用字典即键值对的方式整理属性预测结果,其中键为27种属性类别,由所述第二方面步骤5所得的pkl文件加载得到,值为图像送入模型的输出,代表每种属性在所有可能的目标类别中的概率,由所述第三方面(三)模型测试加载得到。
[0129]
所述步骤3中,加载所述第三方面(四)图像层面评价步骤3计算得到的评价指标结
果。
[0130]
所述步骤4中,将所述步骤2构建的结果文本和所述步骤3加载的评价指标依次打印在所述步骤1建立的黑色背景上,再与所述步骤1加载的待测原图进行水平拼接,最后保存在指定路径。
[0131]
第五方面,本发明提供了一种电梯轿厢乘客多标签属性智能分类系统,包括有依次通信连接的监控摄像头、视频服务器和个人计算机,其中,所述监控摄像头布置在厢内顶部并使监控视野涵盖厢门的所在区域;
[0132]
所述监控摄像头,用于将采集获取的视频流传送至所述视频服务器;
[0133]
所述视频服务器,用于对所述视频流进行数码转换,得到厢内监控视频;
[0134]
所述个人计算机,用于从所述视频服务器中获取所述厢内监控视频,并执行如第三方面所述的电梯乘客多标签属性智能分类方法,得到乘客外貌特征的识别结果。
[0135]
第六方面,如图7,本发明提供了一种计算机设备,包括有依次通信连接的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第二方面所述的标签数据处理方法或第三方面的所述电梯乘客多标签属性智能分类方法。
[0136]
第七方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如上第二方面所述的标签数据处理方法或第三方面的所述电梯乘客多标签属性智能分类方法。
[0137]
第八方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如上第二方面所述的标签数据处理方法或第三方面的所述电梯乘客多标签属性智能分类方法。
[0138]
实施例2:
[0139]
实施例2为实施例1的优选例。
[0140]
如图1所示,所述基于深度学习的电梯乘客多标签属性智能分类方法,包括:
[0141]
s1.获取电梯轿厢监控视频并转码流畅播放。
[0142]
所述电梯监控视频为针对目标电梯轿厢而采集获取的监控视频,其可以是实时采集的监控视频,也可以是历史采集的并存储在诸如视频服务器或本地存储器等中的监控视频,因此其获取的具体方式可以但不限于包括:接收来自监控摄像头的实时监控视频,或者从所述视频服务器或所述本地存储器中读取历史监控视频。
[0143]
s2.调用目标检测算法进行人员检测并截取乘客图像。
[0144]
如图2所示,人员检测单元调用深度学习方法,检测视频流中的人员。目标检测算法可选的有:在提取特征的基础上直接进行分类回归的单一阶段检测器yolo、ssd等,以及基于候选区的两阶段检测器fast r-cnn等。图像截取单元用于在电梯视频流中截取人员检测回归框,并保存至数据集路径。
[0145]
s3.建立电梯乘客属性数据集并遍历校对图像和标签。
[0146]
如图3所示,首先获取电梯图像数据集。包括图像文件夹与标签csv文件,其中图像名按照截取的先后顺序以递增的阿拉伯数字命名,csv文件第一列为图像名称,第2-12列为对应标签信息。其次处理数据集,遍历校对图像与标签使之一一对应。包含以下几个步骤:读取图像和标签列表、对比交集得到缺失文件、删除不完整差集文件、删除标签重复文件。
[0147]
所述步骤s3中,标签属性包含以下类别:性别(男,女);年龄(小孩,青少年,成年人,老人);头装(不带帽子,带帽子,带头盔);头发长短(无法识别,光头秃顶,短发,长发);是否白发(非白发,白发);是否眼镜(不带眼镜,带眼镜);职业(快递,保洁,居民);是否抱小孩(不抱小孩,抱小孩);是否玩手机(不玩手机,玩手机);是否背包(不背包,背包);是否拿手包(拿手包,拿手包),共计11种类型。
[0148]
s4.分别提取图像和标签列表并将标签转化为独热码。
[0149]
如图3所示,首先分别提取图像和标签列表。即将csv文件的第一列读取为图像列表,长度等于图像个数,列表内容为图像名;将每个图像索引对应的行读取为标签列表,长度等于属性种类即11,列表内容为文字标签。其次将标签转化为二值独热码。将第三步得到的标签列表进行二值化处理,具体地,令属性记为1,不存在记为0,将标签列表转化为独热码,并将二值化多标签保存成pkl文件以便于属性识别结果加载和打印。经过二值化转化为独热码之后,将每一种类别的属性展开,即“不戴帽子、不戴眼镜、不抱小孩、不拿手包、不玩手机、不背包、保洁、光头/秃顶、头发无法识别、女、小孩、居民、快递、成年人、戴头盔、戴帽子、戴眼镜、拿手包、玩手机、男、白发、短发、老人、背包、长发、青少年、非白发”,共计27种,故独热码标签长度为27。
[0150]
s5.加载图像并预处理、加载属性标签并重排。
[0151]
如图4所示,所述步骤s5对应数据准备单元。第一步:配置数据集和预训练模型路径,初始化训练信息,包括迭代次数、批大小、学习率、图像尺等。第二步:加载训练图像文件,进行预处理并转化为数组形式,预处理包括:数据增强,随机平移,旋转,调整大小,归一化。第三步:加载所述步骤s4得到的图像列表和标签独热码。第四步:按照图像加载的顺序重排标签,得到真实值。具体步骤包括:遍历训练集文件夹中的所有图像,得到训练集图像列表;对每一个图像,找到图像名在训练集图像列表中的位置索引;利用索引,在所述步骤s4得到的标签列表中查找其对应的标签,再按照训练集图像列表加载顺序,重新对标签列表进行排序,确保与图像一一对应。
[0152]
s6.划分数据集,配置深度神经网络模型参数并训练。
[0153]
所述步骤s6中,随机选取数据集的80%用于训练,剩余20%用于测试,对数据进行重新洗牌,使得数据的排列拥有一定的随机性,在顺序读取时任意类型的数据的可能性相同。
[0154]
如图4所示,模型配置单元包括配置主干模型参数、优化函数和损失器。主干模型可选vgg,resnet,inception等,模型的末端为全连接层,模型输出节点的个数等于属性类别即27。模型末端的激活函数选择sigmoid,其作用为将网络的每一个输出值进行非线性化,将一个标量数字转换到[0,1]之间,便于二分类以判断属性是否存在由于多标签分类将每个预测的标签作为一个独立的伯努利分布以单独评价每一个输出节点,故优化器选择adam优化方法,损失函数选择二值交叉熵损失binary cross-entropy。被训练模型的输入为所述步骤s5中按序加载的图像和所述步骤s5中经过重新排序的属性标签。
[0155]
s7.模型预测,在图像层面和属性层面计算评价指标。
[0156]
如图5所示,模型测试具体实施步骤为:加载所述步骤s6训练好的模型和所述步骤s5得到的待测图像,图像经过调整大小、归一化、转换为数组形式等预处理后输入模型。模型的输出在[0,1]之间,为网络末端sigmoid激活函数非线性处理的预测值。设置一定阈值
(一般为0.5),输出大于阈值则任务该属性存在,否则不存在。记录输出列表中大于阈值的值对应的索引,定义一个全为0的长度为27的列表,在索引处,令该列表的值为1,即得到每种属性的预测结果每张图像的属性预测结果为一个列表,长度为27,列表元素为0或1。
[0157]
如图5所示,图像层面评价具体实施步骤为:加载所述步骤s7得到的图像预测列表和所述步骤s5得到的真实标签列表用于计算每张图像的3个评价指标,计算方法可选的有:python机器学习中sklearn.metrics中提供的函数:accuracy_score,precision_score,recall_score等。
[0158]
如图5所示,属性层面评价具体实施步骤为:对于n张图像,将所述步骤s7得到的图像预测列表拼接得到属性预测值,将所述步骤s5得到的真实标签列表拼接得到属性真实值。属性预测值和属性真实值均为n行m列的矩阵,其中n为图像数目,m为属性数目,m等于27。矩阵的每一列代表一种属性的预测值或真实值,每一行代表一张图像的预测值或真实值。提取属性预测值矩阵的每一列,构造每种属性的预测值,提取属性真实值矩阵的每一列,构造每种属性的真实值,作为计算评价指标的输入,用于计算每种属性的3个评价指标,计算方法可选的有:python机器学习中sklearn.metrics中提供的函数:accuracy_score,precision_score,recall_score等。
[0159]
s8.构建背景和预测字典,打印属性识别和评价结果并保存。
[0160]
所述步骤s8种,显示模块包含以下步骤:加载所述步骤5中测试的图像,调整尺寸并生成相同大小的黑色背景。采用字典即键值对的方式整理所述步骤7得到的属性预测结果,其中键为27种属性类别,由所述步骤s4所得的pkl文件加载得到,值为图像送入模型的输出,代表每种属性在所有可能的目标类别中的概率,由所述步骤s7模型测试加载得到。加载所述步骤s7得到的图像层面评价计算得到的评价指标结果。将构建的结果文本和加载的评价指标依次打印在所述建立的黑色背景上,再与待测原图进行水平拼接以便于对比,最后显示并保存在指定路径。
[0161]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
[0162]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1