首页> 中国专利> 一种基于三重损失的改进的神经网络行人再识别方法

一种基于三重损失的改进的神经网络行人再识别方法

摘要

本发明公开了一种基于三重损失的改进的神经网络行人再识别方法,包括以下步骤:构建样本数据库,并基于样本数据库建立正负样本库,随机选取两个正样本和一个负样本组成三元组;搭建基于三重损失的神经网络并训练,神经网络由三个并行的卷积神经网络连接一个三重损失层构成;将待测图片以及扩充后的样本数据库中的每一张样本图片依次作为一组输入投入到训练好的神经网络中,神经网络另一输入为零或无输入;再利用欧式距离计算出神经网络输出的两张输入图片的特征向量的距离,并查询出升序排列出前20位的欧式距离,再进行简单的人工筛选即可得到最终识别结果。本发明的有益效果是:本发明的识别方法能够适用于有较大变化的图片场景,能够保证鲁棒性,具有较高的识别准确率。

著录项

  • 公开/公告号CN106778527A

    专利类型发明专利

  • 公开/公告日2017-05-31

    原文格式PDF

  • 申请/专利权人 中通服公众信息产业股份有限公司;

    申请/专利号CN201611061867.3

  • 发明设计人 舒泓新;蔡晓东;陈昀;

    申请日2016-11-28

  • 分类号G06K9/00(20060101);G06K9/62(20060101);

  • 代理机构37231 济南智圆行方专利代理事务所(普通合伙企业);

  • 代理人张玉琳

  • 地址 830000 新疆维吾尔自治区乌鲁木齐市黄河路191号

  • 入库时间 2023-06-19 02:24:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-12

    授权

    授权

  • 2017-06-23

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20161128

    实质审查的生效

  • 2017-05-31

    公开

    公开

说明书

技术领域

本发明涉及图像识别技术领域,特别涉及一种基于三重损失的改进的神经网络行人再识别方法。

背景技术

随着科技的进步,计算机等智能设备在人们的日常生活中应用越来越广泛,计算机在处理重复的,数据密集的任务时,比人类更有效,更准确。自然地人们希望计算机能够像人类一样处理一些更智能的问题。在计算机新的应用领域中计算机视觉是一个重要的部分,由计算机代替或辅助人类完成对目标的检测与跟踪是计算机视觉最核心也是最广泛的应用,从日常生活中用到的指纹或人脸解锁,到汽车的自动驾驶,机器人控制等都与计算机视觉技术息息相关。人类是社会生活的主体,对行人的识别理所当然的也是计算机视觉应用中最重要的任务之一。但由于人体姿态多变,外形不固定且随着衣着的变化表现的颜色特征也不同,目前仍然是一个极富挑战的课题,但因其广泛的应用前景,虽然行人检测任务面临着众多困难,仍然吸引了大量研究者的目光。

目前的行人在识别方法多是使用softmax回归来使卷积神经网络收敛,生成模型进行人分类方法,但当图片场景有较大变化时不能够保证鲁棒性,无法适用于多个场景(即背景固定的图,可移植性不好)。

发明内容

本发明提供了一种在测试样本大、角度变化大、光照复杂时仍能够具有高精确度的基于三重损失的改进的神经网络行人再识别方法。

为了实现上述目的,本发明提供了一种基于三重损失的改进的神经网络行人再识别方法,具体包括以下步骤:

步骤S1:构建样本数据库,并对样本数据库中的每一张样本图片进行数量扩充,由原来的一张样本图片扩充到八张样本图片组成一个小数据集;具体地,一张样本图片分别进行左上、右上、左下、右下四个方向的平移,平移的尺度为:y=height×(±0.5),x=width×(±0.5);沿以样本图片的中心分别按逆时针和顺时针分别旋转5°;对样本图片进行镜像,通过上述方式,一张样本图片扩充为八张样本图片;其中,样本数据库可以基于已公开的CUHK01库和VIPER库建立,对上述数据库中的图片进行扩充得到本发明所需的样本数据库;或,样本数据库也可以由小区高清摄像头或其他高清摄像头采集的图片,并采用Opencv人脸检测对采集的所有图片进行行人检测,去掉无行人的噪音,保留的照片进行数量扩充即为本发明所需的样本数据库;

步骤S2:建立正负样本库;随机选取属于同一小数据集的两张样本图片左右拼接作为正样本,随机选取属于不同小数据集的两张样本图片左右拼接作为负样本;正样本数量为15万-35万之间,负样本数量大于等于正样本数量的1/3;优选地,正样本数量为30万,负样本数量为15万;进一步地,从正负样本库中随机选一个正样本或负样本,定义其名称为Anchor并即为x_a,然后再随机选取两个与Anchor属于同一类的样本和属于不同类的样本,分别定义其名称为Positive 并记为x_p和Negative并记为x_n,由此构成一个(Anchor,Positive,Negative)三元组;

步骤S3:制作正负样本库的样本标签,将正样本标记为1,负样本标记为0,通过caffe框架提供的工具将样本格式转换为lmdb格式并生成对应的均值文件;具体地,首先遍历样本文件夹下所有图片,将其正样本文件夹下的所有图片名读出来写到txt文件并标记为1,将其负样本文件夹下的所有图片名读出来写到txt文件夹并标记为0;

步骤S4:搭建基于三重损失的神经网络,所述神经网络由三个并行的卷积神经网络连接一个三重损失层构成;所述神经网络包括三个输入;

所述卷积神经网络包括五个并行的通道,其中一个通道用于提取全局特征,具体结构为:一个卷积层C1接池化层P1接卷积层C2接池化层P2接全连接层;另外四个通道用于提取局部特征,具体结构均为:一个卷积层C1接卷积层C2接全连接层;其中五个通道中的全连接层为一个,即五个通道的特征向量通过最后的全连接层,生成输入图片的最终特征向量。其中,在输入神经网络前,先将输入图片按照图片高度等分为四个局部图片,一个完整图片作为神经网络全具特征提取通道的输入,四个局部图片作为神经网络四个局部特征提取通道的输入;

所述三重损失层采用三重损失函数用来优化神经网络参数。

步骤S5:所述步骤S2中构成的同一个三元组的三个元素作为神经网络的三个输入,对神经网络进行训练;在投入神经网络之前,将三元组的三个元素图片转换为LMDB格式,并以100个三元组作为一个批次进行训练;

三重损失针对三元组中的每个元素或样本,训练一个参数共享或者不共享的网络,得到三个元素对应的特征表达,分别记为;三重损失的目的就是通过网络训练,使得x_a和x_p特征表达之间的距离尽可能小,而x_a和x_n的特征表达之间的距离尽可能大,并且要让x_a与x_n之间的距离和x_a与x_p之间的距离之间有一个最小的间隔,优选地设定值为1,表达式如下:

对应的所述三重损失函数如下:

步骤S6:将待测图片以及扩充后的样本数据库中的每张样本图片输入到训练好的神经网络中,神经网络另一个输入(即训练时负样本的输入)为零或无输入;再利用欧式距离计算神经网络输出的两张输入图片的特征向量的距离,并查询出欧式距离升序排列至少前15或前20位对应的样本图片(优选地,查询出欧式距离升序排列前20位对应的样本图片),排序越靠前相似度最高,在20张样本图片中进行人工筛选即可得出最后识别结果。其中,待测图片由人脸库随机筛选得出;或,待测图片由小区高清摄像头或其他高清摄像头采集的行人图片。

本发明的有益效果是:本发明的识别方法能够适用于有较大变化的图片场景,能够保证鲁棒性,具有较高的识别准确率;其中,本发明中三重损失的作用是将相同样本所生成的特征向量的距离拉近,不同样本所生成的特征向量的距离推开,这样能够很好的将相同样本与不同样本区分开。

具体实施方式

以下采用实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。

本发明提供了一种基于三重损失的改进的神经网络行人再识别方法,具体包括以下步骤:

步骤S1:构建样本数据库,并对样本数据库中的每一张样本图片进行数量扩充,由原来的一张样本图片扩充到八张样本图片组成一个小数据集;具体地,一张样本图片分别进行左上、右上、左下、右下四个方向的平移,平移的尺度为:y=height×(±0.5),x=width×(±0.5);沿以样本图片的中心分别按逆时针和顺时针分别旋转5°;对样本图片进行镜像,通过上述方式,一张样本图片扩充为八张样本图片;其中,样本数据库可以基于已公开的CUHK01库和VIPER库建立,对上述数据库中的图片进行扩充得到本发明所需的样本数据库;或,样本数据库也可以由小区高清摄像头或其他高清摄像头采集的图片,并采用Opencv行人检测对采集的所有图片进行行人检测,去掉无行人的噪音,保留的照片进行数量扩充即为本发明所需的样本数据库;

步骤S2:建立正负样本库;随机选取属于同一小数据集的两张样本图片左右拼接作为正样本,随机选取属于不同小数据集的两张样本图片左右拼接作为负样本;正样本数量为15万-35万之间,负样本数量大于等于正样本数量的1/3;优选地,正样本数量为30万,负样本数量为15万;进一步地,从正负样本库中随机选一个正样本或负样本,定义其名称为Anchor并即为x_a,然后再随机选取两个与Anchor属于同一类的样本和属于不同类的样本,分别定义其名称为Positive 并记为x_p和Negative并记为x_n,由此构成一个(Anchor,Positive,Negative)三元组;

步骤S3:制作正负样本库的样本标签,将正样本标记为1,负样本标记为0,通过caffe框架提供的工具将样本格式转换为lmdb格式并生成对应的均值文件;具体地,首先遍历样本文件夹下所有图片,将其正样本文件夹下的所有图片名读出来写到txt文件并标记为1,将其负样本文件夹下的所有图片名读出来写到txt文件夹并标记为0;

步骤S4:搭建基于三重损失的神经网络,所述神经网络由三个并行的卷积神经网络连接一个三重损失层构成;所述神经网络包括三个输入;

所述卷积神经网络包括五个并行的通道,其中一个通道用于提取全局特征,具体结构为:一个卷积层C1接池化层P1接卷积层C2接池化层P2接全连接层;另外四个通道用于提取局部特征,具体结构均为:一个卷积层C1接卷积层C2接全连接层;其中五个通道中的全连接层为一个,即五个通道的特征向量通过最后的全连接层,生成输入图片的最终特征向量。其中,在输入神经网络前,先将输入图片按照图片高度等分为四个局部图片,一个完整图片作为神经网络全具特征提取通道的输入,四个局部图片作为神经网络四个局部特征提取通道的输入;

所述三重损失层采用三重损失函数用来优化神经网络参数。

步骤S5:所述步骤S2中构成的同一个三元组的三个元素作为神经网络的三个输入,对神经网络进行训练;在投入神经网络之前,将三元组的三个元素图片转换为LMDB格式,并以100个三元组作为一个批次进行训练;

三重损失针对三元组中的每个元素或样本,训练一个参数共享或者不共享的网络,得到三个元素对应的特征表达,分别记为,,;三重损失的目的就是通过网络训练,使得x_a和x_p特征表达之间的距离尽可能小,而x_a和x_n的特征表达之间的距离尽可能大,并且要让x_a与x_n之间的距离和x_a与x_p之间的距离之间有一个最小的间隔,优选地设定值为1,表达式如下:

对应的所述三重损失函数如下:

步骤S6:将待测图片以及扩充后的样本数据库中的每张样本图片输入到神经网络中,神经网络另一个输入(即训练时负样本的输入)为零或无输入;再利用欧式距离计算神经网络输出的两张输入图片的特征向量的距离,并查询出欧式距离升序排列前20位对应的样本图片,排序越靠前相似度最高。其中,待测图片由行人库随机筛选得出;或,待测图片由小区高清摄像头或其他高清摄像头采集的行人图片。

采用本发明的识别方法,将待检图片与样本数据库(选用VIPER库)放进训练好的model中进行测试,并分别统计排序第1位、前5位、前10位、前15位和前20位的识别准确率,与传统识别方法进行对比结果如表1所示。

表1 本发明与传统方法的识别精度对照表

MethodTop1Top5Top10Top15Top20PCCA19.348.964.973.980.3KISSME19.648.062.270.977.0LMLF29.152.366.073.979.9本发明31.355.069.176.085.2

由表1的数据可知,在样本数量大、样本角度变化大、光线复杂的情况下,与传统方法相比,本发明的识别方法在行人识别准确率方面大大提高。本发明中三重损失的作用是将相同样本所生成的特征向量的距离拉近,不同样本所生成的特征向量的距离推开。这样能够很好的将相同样本与不同样本区分开。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号