确定人体数量的方法及装置的制造方法_3

文档序号:9826409阅读:来源:国知局
阈值,当每一图像样本中的人体数量与每一图像样本中的实际人体数量之间的误差小于预设阈值时,执行步骤S203,当每一图像样本中的人体数量与每一图像样本中的实际人体数量之间的误差大于或者等于预设阈值时,执行步骤S201。
[0104]在步骤S203中,当每一图像样本中的人体数量与每一图像样本中的实际人体数量之间的误差小于预设阈值时,确定卷积层和全连接层中各节点之间的连接的权重参数符合预设条件。
[0105]在步骤S204中,在确定卷积层和全连接层中各节点之间的连接的权重参数符合预设条件时,停止训练卷积神经网络,得到已训练的卷积神经网络。
[0106]在对未训练的卷积神经网络进行训练之前,需要准备海量的人体的图像样本(例如,20000张包含由不同人体数量的图像样本,本公开所述的“海量”可以通过一个较大的设定数量来限定,例如,设定数量可以达到万以上的量级),对这些海量的图像样本进行标号(label),例如,包含有O个人体的图像样本的标号为0,包含有I个人体的图像样本的标号为I,…,包含有N个人体的图像样本的标号N(N为正整数),等等,可以准备20000张包含不同人体数量的图像样本,在该20000张图像样本中,包含了从0-100个人体数量,例如,包含有O个人体数量的图像样本为30张,包含有I个人体数量的图像样本为50张,等等,包含不同人体数量的图像样本的数量可以相同也可以不相同,本公开对此不做限制。
[0107]未训练的卷积神经网络的结构可以参照图2B的示意,如图2B所示,在该未训练的卷积神经网络中,包括输入层、第一卷积层、第二卷积层、第三卷积层、第四卷积层、第五卷积层、第一全连接层、第二全连接层以及输出层。上述的20000张图像样本作为训练样本输入到该卷积神经网络中进行训练,并根据卷积神经网络输出的分类结果,不断对该卷积神经网络各卷积层上节点之间的连接的权重参数进行调整。在不断的调整过程中,该卷积神经网络在基于输入的训练样本进行训练后,输出的分类结果与用户标定的分类结果相比,准确度将会逐渐提高。与此同时,用户可以预先设置一个预设条件,例如,在不断的调整过程中,如果该卷积神经网络输出的分类结果与用户标定的分类结果相比,准确度达到预先设置的准确度阈值后,表示该卷积神经网络中各卷积层节点之间连接的权重参数均为最佳权重参数,此时可以认为该卷积神经网络的卷积层和全连接层中各节点之间的连接的权重参数符合该预设条件。
[0108]为了验证结果输出模块15输出的人体数量的准确度,还可以通过图2C所示的误差计算模块20通过执行上述步骤S202和步骤S203的方式来控制卷积神经网络训练的迭代次数。在一实施例中,误差计算模块20可以通过L2范数的loss层来确定图像样本中的实际人体数量与经过未训练的卷积神经网络14得到的人体数量进行误差计算,如果误差计算模块20计算得到的误差值较大,并达到一个预设阈值,则通过图像样本继续对卷积神经网络14进行训练,例如,卷积神经网络14得到的输出结果为I,表示该图像样本中包含有个人体,如果该图像样本中包含有50个人体,此时误差为(50-1 )*(50-1),大于预设阈值,需要继续对卷积神经网络14进行训练,卷积神经网络14中的各层的权值参数又被更新了一次,如此迭代,例如在迭代了一直到10w轮之后,在卷积神经网络14得到的输出结果为49时,误差为(50-49)*(50-49),此时可以停止训练卷积神经网络14,此时保存卷积神经网络训练得到的权值参数,得到已训练的卷积神经网络。
[0109]本实施例中,通过海量的图像样本对卷积神经网络进行训练,由于图像样本中包含有海量的人体轮廓特征,进而可以使已训练的卷积神经网络的权值参数能够准确的表达人体轮廓特征,当输入已训练的卷积神经网络的图像中包含有人体轮廓时,即可以识别出图像中有利于人体轮廓识别的特征,避免出现人体重叠导致的对人脸产生遮挡时导致人脸识别错误的情形。
[0110]图3是根据一示例性实施例二示出的确定人体数量的方法的流程图;本实施例利用本公开实施例提供的上述方法,以如何根据人体数量来对卷积神经网络中的权值参数进行更新为例并结合图1B进行示例性说明,如图3所示,包括如下步骤:
[0111]在步骤S301中,根据已训练的卷积神经网络的输入维度对图像采集模块采集到的图像进行缩放处理,控制缩放处理后的图像的分辨率与卷积神经网络的输入维度相同。
[0112]在步骤S302中,将缩放处理后的图像输入至已训练的卷积神经网络中,已训练的卷积神经网络的各个卷积层和全连接层中的权值参数用于表示已训练的人体轮廓特征。
[0113]在步骤S303中,通过已训练的卷积神经网络对缩放处理后的图像提取缩放处理后的图像中的人体轮廓特征。
[0114]在步骤S304中,通过已训练的卷积神经网络对得到的人体轮廓特征进行回归计算,得到缩放处理后的图像上的人体数量。
[0115]步骤S301和步骤S304的相关描述可以参见上述图1A所示实施例的描述,在此不再详述。
[0116]在步骤S305中,监听用于控制权值参数更新的按键是否被触发,如果按键被触发,执行步骤S306,如果按键未被触发,将该人体数量作为最终的人体数量输出。
[0117]在一实施例中,用于控制权值参数更新的按键既可以为实体按键,也可以为执行本公开所述方法的装置上的虚拟按键。该按键可以由用户通过观察的方式来触发,例如,用户发现装置输出的人体数量与图像画面上所显示的人体数量差别较大时,触发该按键,以确定需要对卷积神经网络的权值参数进行更新。
[0118]在步骤S306中,当需要对已训练的卷积神经网络的权值参数进行更新时,向提供已训练的卷积神经网络的服务器获取更新后的卷积神经网络的权值参数。
[0119]在一实施例中,当提供卷积神经网络的服务器接收到大量用户发送的需要更新权值参数的请求时,服务器可以对卷积神经网络的权值参数进行更新,以确保用户在使用过程中通过卷积神经网络能够得到准确的人体数量,在一实施例中,可以通过图1B所示的通信接口 16向服务器获取权值参数。
[0120]本实施例在具有上述实施例的有益技术效果的基础上,通过对卷积申请网络的权值参数进行更新,可以确保在使用过程中通过卷积神经网络能够得到准确的人体数量。
[0121]图4是根据一示例性实施例三示出的确定人体数量的方法的流程图;本实施例利用本公开实施例提供的上述方法,以如何得到人群密度为例并结合图1B进行示例性说明,如图4所示,包括如下步骤:
[0122]在步骤S401中,确定图像采集模块在设定时间段内采集图像的采集周期。
[0123]在步骤S402中,控制图像采集模块在采集周期从摄像装置获取图像。
[0124]在一实施例中,采集周期可以由用户实际需要来设置,例如,图像采集模块12每隔一分钟采集摄像装置10的视频图像。在一实施例中,设定时间段也可以由用户实际需要来设置,例如,在高峰时段的早上8点至10点,晚上17点至晚上19点,此时,图像采集模块12可以在早上8点至10点以每个一分钟采集摄像装置10的视频图像,在晚上17点至晚上19点以每隔一分钟采集摄像装置的视频图像。
[0125]在步骤S403中,在设定时间段内统计通过已训练的卷积神经网络得到的图像上的人体数量的总和。
[0126]在步骤S404中,根据人体数量的总和以及设定时间段对应的时间长度确定单位时间内的人群密度。
[0127]在步骤S405中,如果人群密度达到预警阈值,发出报警信息。
[0128]在一示例性场景中,例如,对于2015年11月27日早上8点至10点之间,图像采集模块12每隔一分钟采集摄像装置10的视频图像,得到共120张的人体图像,通过装置11执行上述实施例得到每一张图像所包含的人体数量,对该120张图像上的人体数量进行加和,再除以设定时间段对应的时间长度120分钟,即可以得到单位时间内(每分钟)的人群密度。每分钟的人群密度达到了 100人,而该摄像装置10所在场合的人流量必须控制在70人以内,此时可以发出报警信息,以提示相关工作人员对该场合进行人流量的限制,避免不必要的人员拥挤导致的人员伤亡事故。
[0129]本实施例在具有上述实施例有益技术效果的基础上,通过在设定时间段内统计通过已训练的卷积神经网络得到的图像上的人体数量的总和,根据人体数量的总和以及设定时间段对应的时间长度确定单位时间内的人群密度,当人群密度达到预警阈值时,发出报警信息,从而可以使相关工作人员对该场合进行人流量的限制,避免不必要的人员拥挤导致的人员伤亡
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1