CN109978035B - 基于改进的k-means和损失函数的行人检测方法 - Google Patents

基于改进的k-means和损失函数的行人检测方法 Download PDF

Info

Publication number
CN109978035B
CN109978035B CN201910202078.4A CN201910202078A CN109978035B CN 109978035 B CN109978035 B CN 109978035B CN 201910202078 A CN201910202078 A CN 201910202078A CN 109978035 B CN109978035 B CN 109978035B
Authority
CN
China
Prior art keywords
data
xml
picture
loss
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910202078.4A
Other languages
English (en)
Other versions
CN109978035A (zh
Inventor
郭杰
郑佳卉
吴宪云
李云松
解静
邱尚锋
林朋雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201910202078.4A priority Critical patent/CN109978035B/zh
Publication of CN109978035A publication Critical patent/CN109978035A/zh
Application granted granted Critical
Publication of CN109978035B publication Critical patent/CN109978035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本发明提出了一种基于改进的k‑means和损失函数的行人检测方法,用于对包含行人目标的视频或图像进行分类和识别,主要解决现有技术中聚类结果不准确和预测框不能根据自身尺寸特征学习损失的问题,实现步骤为:构建训练集和测试集;基于改进的k‑means算法对训练集进行聚类;对YOLOv3检测网络的损失函数进行改进;基于改进的损失函数对训练集进行训练;对测试集进行检测。本发明在聚类阶段筛除训练集标注信息中的无效数据,将得到的有效数据进行聚类,从而得到更精确的候选框初始化尺寸,还使不同预测框根据自身尺寸特征学习不同的预测损失,从而得到更准确的行人目标检测网络。

Description

基于改进的k-means和损失函数的行人检测方法
技术领域
本发明属于目标检测技术领域,涉及一种行人检测方法,具体涉及一种基于改进的k-means和改进的损失函数的行人检测方法,可用于对包含行人目标的视频或图像进行分类和识别。
背景技术
行人检测是指对视频或图像中行人的位置坐标和置信度进行检测,衡量检测结果的主要指标有检测精度和检测速度,其中最重要的衡量指标为检测精度,而检测精度往往受到行人特征和损失函数的影响。
目前,常用的行人检测方法依据对行人特征的提取方式不同可以分为基于传统算法的行人检测和基于深度学习的行人检测两类。
传统的行人检测方法主要有全局特征的检测方法、基于局部特征提取的检测方法和基于多特征的检测方法。基于全局特征的检测方法主要是通过整幅图的梯度方向直方图检测行人的轮廓从而找到行人的位置。基于局部特征提取的检测方法主要是提取输入图片的局部特征通过匹配行人特征进行检测。基于多特征的检测方法主要是对灰度,轮廓等多种类型特征进行提取检测并综合这些特征的检测结果。以上三种方法的共同优点是简单快速,但是由于行人特征对光照、背景和遮挡等因素比较敏感,在检测时容易引入背景噪声和光线干扰,因此传统的行人检测方法检测精度较低。
深度学习的发展为行人检测的研究带来了新的思路。基于深度学习的行人检测方法主要有基于候选框选取的检测方法和基于端到端的检测方法,基于候选框选取的检测方法主要是人工选取候选框再进行网络训练,尽管该方法具有良好的检测效果,但由于其事先选取候选框导致网络的检测效率很低。
近年来,基于端到端的检测方法由于其具有较好的检测精度和检测效率逐渐成为行人检测领域的主流方法,该方法以基于深度学习的目标检测网络为基础网络,利用聚类的方法对候选框的尺寸进行初始化,从而让候选框的初始尺寸接近行人特征的尺寸,使得网络更加容易收敛,然后利用损失函数对训练集进行训练,得到行人检测网络模型,最后使用行人检测网络模型对测试集图片进行检测得到所有行人目标的位置坐标和置信度。然而目前大多数行人检测算法所采用的基础网络检测精度仍不理想,如YOLOv1、YOLOv2等,因此这些行人目标检测算法的检测精度均较低。例如,申请公布号为CN 109325418A,名称为“基于改进YOLOv3的道路交通环境下行人识别方法”的专利申请,公开了一种通过改进的YOLOv3进行行人检测的方法。该方法以YOLOv3为基础网络,首先在使用k-means聚类的过程中增加了候选框的个数,从而增加了网络提取特征的能力,然后又在网络利用损失函数进行训练时,增大了损失函数中的坐标损失函数的权重,得到行人检测网络模型。但该方法在使用k-means进行聚类时没有考虑到训练集中标注信息无效的情况,使得聚类结果不准确;并且该方法在计算损失时没有考虑不同尺寸预测框对坐标损失函数中的坐标误差和宽高误差学习比重不同的问题,使得预测框不能根据自身尺寸特征学习损失。因此,如何筛选出训练集标注信息中的有效数据和计算更为准确的损失仍是该领域亟待解决的问题。
发明内容
本发明的目的在于针对上述已有的行人检测技术的不足,提出一种基于改进的k-means和损失函数的行人检测方法,旨在提高不同场景下行人目标的检测精度。
本发明的技术思路是:首先构建训练集和测试集,其次使用改进的k-means聚类算法对训练集的标注信息进行聚类,并将聚类结果作为YOLOv3网络候选框的尺寸初始化值,然后基于YOLOv3网络中改进的损失函数对训练集进行训练,最后利用训练好的行人检测网络模型对测试集进行检测。
根据上述技术思路,实现本发明目的采取的技术方案包括如下步骤:
(1)构建训练集和测试集:
(1a)将采集的任意场景下行人视频中连续或非连续的N帧图像以jpg图片的形式保存到JPEGImages文件夹中,并对各幅图片进行命名,N>1000;
(1b)将JPEGImages文件夹中半数以上的图片作为训练图片集,其余图片作为测试图片集,并将训练图片集中所有图片的名称写入ImageSets/Main文件夹下的trainval.txt文件中,同时将测试图片集中所有图片的名称写入ImageSets/Main文件夹下的test.txt文件中;
(1c)对训练图片集和测试图片集中的每幅图片所包含的不同行人进行画框标注,并保存标注框的坐标数据,然后将标注框中所包含的行人目标的类别person以及每幅图片中包含的标注框的坐标数据保存到xml文件中,得到由多个xml文件组成的Annotations文件夹,其中每个xml文件的名称与其对应行人图片的名称相同;
(1d)将从Annotations文件夹中选取的与trainval.txt文件中图片名称相同的xml文件作为训练图片集的标注信息集,与test.txt文件中图片名称相同的xml文件作为测试图片集的标注信息集,并将训练图片集的标注信息集写入darknet文件夹下的train.txt文件中,将测试图片集的标注信息集写入darknet文件夹下的test.txt文件中,所述训练图片集和其对应的xml标注信息集构成训练集,测试图片集和其对应的xml标注信息集构成测试集;
(2)基于改进的k-means算法对训练集进行聚类:
(2a)对训练集中的标注信息进行筛选:
(2a1)将从训练集对应的xml标注文件中提取到的坐标数据写入长度为l的数组data_xml中,将从data_xml中读取的第一组坐标数据作为当前坐标数据,并初始化其在data_xml中的当前索引值q=0;
(2a2)定义data_xml中q对应的坐标数据:将标注框左上角对应的x轴投影坐标定义为xmin,标注框左上角对应的y轴投影坐标定义为ymin,标注框右下角对应的x轴投影坐标定义为xmax,标注框右下角对应的y轴投影坐标定义为ymax
(2a3)计算xmin与xmax的差值xd,ymin与ymax的差值yd,并判断xd和yd对应的data_xml中的数据是否为有效数据,若xd=0或yd=0,则xd和yd对应的data_xml中的数据为无效数据,删除该无效数据,l=l-1,并执行步骤(2a2);若xd≠0且yd≠0,则xd和yd对应的data_xml中的数据为有效数据,执行步骤(2a4);
(2a4)计算xd与yd的商div,并根据div>3是否成立判断div对应的data_xml中的数据的有效性,若是,则div对应的data_xml中的数据为无效数据,删除该无效数据,l=l-1,并执行步骤(2a5),否则,则div对应的data_xml中的数据为有效数据,令q=q+1,并执行步骤(2a5);
(2a5)重复执行步骤(2a2)~(2a4)直到q=l,得到有效标注信息;
(2b)对有效标注信息进行聚类:
(2b1)设聚类中心的个数为k,k>0,构建以data_xml的长度l为行数,以k为列数的二维矩阵data_k,data_k的行表示data_xml中保存的有效标注信息,列表示聚类中心的值,并初始化data_k为0,;
(2b2)对k个聚类中心分别进行随机初始化;
(2b3)计算data_xml中l个有效标注信息与k个聚类中心的距离值,并将每个距离值写入data_k中有效标注信息对应的行和聚类中心对应的列所在的位置;
(2b4)将data_k中每一行对应的有效标注信息作为该每一行中最小距离值所在的列对应聚类中心的成员,并将每个聚类中心的数值更新为由该每个聚类中心成员宽和高的均值;
(2b5)重复步骤(2b3)和(2b4),直到k个聚类中心的值不再变化为止,并将k个聚类中心的值作为聚类结果;
(3)对YOLOv3检测网络的损失函数进行改进:
将YOLOv3检测网络损失函数中的坐标损失函数修改为Loss'coord
Figure BDA0001997803410000041
ti=2-wi×hi
其中,λcoord表示网络对预测框坐标的权重参数,l.w表示网络在图片宽上划分的尺寸,l.h表示网络在图片高上划分的尺寸,l.n表示网络中预测框的个数,i为对l.w×l.h迭代的变量,j为对l.n迭代的变量,wi表示预测框的宽,
Figure BDA0001997803410000042
表示标注框的宽,hi表示预测框的高,
Figure BDA0001997803410000051
表示标注框的高,xi表示预测框的左上角坐标在x轴的投影,
Figure BDA0001997803410000052
表示xmin,yi表示预测框的左上角坐标在y轴的投影,
Figure BDA0001997803410000053
表示ymin
(4)基于改进的损失函数对训练集进行训练:
(4a)将聚类结果作为YOLOv3网络候选框的尺寸初始化值;
(4b)基于YOLOv3网络中改进的损失函数对训练集进行K次迭代训练,K>10000,得到行人检测网络模型;
(5)对测试集进行检测:
将待检测的测试集输入到行人检测网络模型中进行检测,得到每个行人目标的位置坐标和置信度。
本发明与现有技术相比,具有如下优点:
本发明对YOLOv3中的损失函数进行改进,对小尺寸预测框加大了坐标损失函数中坐标误差的学习权重,避免了预测框不能根据自身尺寸特征学习损失的缺陷,同时,本发明对k-means聚类算法进行改进,对训练集中标注框的宽高大小及宽高比的值进行筛选,保留有效数据的同时去除无效数据,并对有效数据进行聚类,避免了无效标注信息使得聚类结果不准确而影响检测精度的缺陷,仿真结果表明,与现有技术相比本发明有效地提高了行人检测的检测精度。
附图说明
图1是本发明实现流程图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步详细描述。
参照图1,本发明包括如下步骤:
步骤1)构建训练集和测试集:
步骤1a)将摄像机、无人机或手机拍摄的任意场景下行人的视频中连续或非连续的N帧图片每隔10帧提取一帧图片并保存到JPEGImages文件夹中,N>10000,本实施例中采用的是手机拍摄的道路中行人视频中连续的12000帧图片,将各幅图片命名为不同的名字,其中视频的分辨率为1920×1080,JPEGImages文件夹中保存的图片的数量不少于1000幅;
步骤1b)将JPEGImages文件夹中半数以上的图片作为训练图片集,其余图片作为测试图片集,本实施例中使用7:3的比例划分训练图片集和测试图片集,并将训练图片集中所有图片的名称写入ImageSets/Main文件夹下的trainval.txt文件中,同时将测试图片集中所有图片的名称写入ImageSets/Main文件夹下的test.txt文件中,其中每幅图片的名称在trainval.txt文件和test.txt文件中作为一行;
步骤1c)对训练图片集和测试图片集中的每幅图片所包含的行人目标进行画框标注:
步骤1c1)对行人目标的类别及位置坐标(xmin,ymin,xmax,ymax)进行标注,其中每个行人目标的类别均为person,xmin为标注框左上角对应的x轴投影坐标,ymin为标注框左上角对应的y轴投影坐标,xmax为标注框右下角对应的x轴投影坐标,ymax为标注框右下角对应的y轴投影坐标;
步骤1c2)将训练图片集和测试图片集的每幅图片中所有行人目标的标注信息以xml格式进行保存,得到由多个xml格式文件组成的Annotations文件夹,其中每个xml格式文件的名称与其包含的标注信息所对应的图片名称相同,如图片000001.jpg所对应的标注信息文件名称为000001.xml,将JPEGImages文件夹、Annotations文件夹和ImageSets文件夹放入文件夹darknet中;
步骤1d)将从Annotations文件夹中选取的与trainval.txt文件中图片名称相同的xml文件作为训练图片集的标注信息集,与test.txt文件中图片名称相同的xml文件作为测试图片集的标注信息集,并将训练图片集的标注信息集写入darknet文件夹下的train.txt文件中,将测试图片集的标注信息集写入darknet文件夹下的test.txt文件中,所述训练图片集和其对应的xml标注信息集构成训练集,测试图片集和其对应的xml标注信息集构成测试集;
步骤2)基于改进的k-means算法对训练集进行聚类:
步骤2a)对训练集中的标注信息进行筛选:
步骤2a1)构建数组data_xml,使用python中的obj.findtext从所有训练集的xml文件中提取坐标数据,并将坐标数据依次写入data_xml中,其中data_xml的每一个成员都表示一组坐标数据,使用python中的len函数计算data_xml的长度l,读取data_xml中的第一组坐标数据,并初始化data_xml的当前索引值q=0;
步骤2a2)定义data_xml中q对应的坐标数据:将标注框左上角对应的x轴投影坐标定义为xmin,标注框左上角对应的y轴投影坐标定义为ymin,标注框右下角对应的x轴投影坐标定义为xmax,标注框右下角对应的y轴投影坐标定义为ymax
步骤2a3)计算xmin与xmax的差值xd,ymin与ymax的差值yd,其中xmin、xmax、ymin和ymax均为浮点型数,并判断xd和yd对应的data_xml中的数据是否为有效数据,若xd=0或yd=0,则xd和yd对应的data_xml中的数据为无效数据,使用python中的del函数在data_xml中删除这一组无效数据,l=l-1,并执行步骤(2a2);若xd≠0且yd≠0,则xd和yd对应的data_xml中的数据为有效数据,执行步骤(2a4);
步骤2a4)计算xd与yd的商div,并根据div>3是否成立判断div对应的data_xml中的数据的有效性,若是,则div对应的data_xml中的数据为无效数据,使用python中的del函数在data_xml中删除这一组无效数据,l=l-1,并执行步骤(2a5),否则,则div对应的data_xml中的数据为有效数据,令q=q+1,并执行步骤(2a5);
步骤2a5)重复执行步骤(2a2)~(2a4)直到q=l,得到有效标注信息,即此时data_xml中的全部标注信息;
步骤2b)对有效标注信息进行聚类:
步骤2b1)人为设置聚类中心的个数为k,k>0,本实施例中k为9,构建二维矩阵data_k,其行数为此时data_xml的长度l,列数为k,data_k的行表示data_xml中保存的有效标注信息,列表示聚类中心的值,并使用python中的np.zeros初始化data_k为0,;
步骤2b2)使用python中的np.random.choice对k个聚类中心分别进行随机初始化,其中每个聚类中心为一组长度为2的浮点型数组,将聚类中心的值写入名为clusters的boxes中;
步骤2b3)计算data_xml中l个有效标注信息与k个聚类中心的距离值d(box,centroid),计算表达式为:
d(box,centroid)=1-IOU(box,centroid)
Figure BDA0001997803410000081
box=xd×yd
其中centroid表示聚类中心中两个浮点型成员的乘积,box∩centorid表示box与centroid的交集,box∪centorid表示box与centroid的并集,然后将每个d(box,centroid)写入data_k中有效标注信息对应的行和聚类中心对应的列所在的位置;
步骤2b4)使用python中的np.argmin计算data_k每一行中最小距离值所在的列并记录到变量nearest_clusters中,在python中使用如下语句对每一个聚类中心进行更新:
clusters[cluster]=dist(boxes[nearest_clusters==cluster],axis=0)
其中,cluster为聚类中心的索引,在python中每执行一次上述语句cluster加一,直到对所有聚类中心都更新完毕为止,更新后的聚类中心依然存放在名为clusters的boxes中;
步骤2b5)重复步骤(2b3)和(2b4),直到k个聚类中心的值不再变化为止,并将k个聚类中心的值作为聚类结果;
步骤3)对YOLOv3检测网络的损失函数进行改进:
将darknet/src文件夹中region_layer.c文件的delta_region_box函数中的坐标损失函数修改为Loss'coord
Figure BDA0001997803410000082
ti=2-wi×hi
则YOLOv3中完整的改进损失函数Loss'为:
Loss'=Lossnoobj+Lossobj+Lossclass+Loss'coord
Figure BDA0001997803410000091
Figure BDA0001997803410000092
Figure BDA0001997803410000093
其中,Lossnoobj表示不包含目标的预测框的置信度损失函数,Lossobj表示包含目标的预测框的置信度损失函数,Lossclass表示类别损失函数,Loss'coord表示改进的坐标损失函数,λcoord表示网络对预测框坐标的权重参数,l.w表示网络在图片宽上划分的尺寸,l.h表示网络在图片高上划分的尺寸,l.n表示网络中预测框的个数,i为对l.w×l.h迭代的变量,j为对l.n迭代的变量,wi表示预测框的宽,
Figure BDA0001997803410000094
表示标注框的宽,hi表示预测框的高,
Figure BDA0001997803410000095
表示标注框的高,xi表示预测框的左上角坐标在x轴的投影,
Figure BDA0001997803410000096
表示xmin,yi表示预测框的左上角坐标在y轴的投影,
Figure BDA0001997803410000097
表示ymin,Lossnoobj表示不包含目标的预测框的置信度损失函数,Lossobj为包含目标的预测框的置信度损失函数,Lossclass为类别损失函数,λnoobj表示不包含目标的预测框对应的系数,
Figure BDA0001997803410000098
是表示该预测框是否不包含目标的参数,ci为预测框置信度,
Figure BDA0001997803410000099
为标注框置信度,λobj表示包含目标的预测框对应的系数,
Figure BDA00019978034100000910
是表示该预测框是否包含目标的参数;λclass表示包含目标类别的预测框对应的系数,c表示针对类别的迭代变量,class表示数据集中总的类别,pi(c)表示预测框中含有c类别的概率,
Figure BDA00019978034100000911
表示标注框中含有c类别的概率;
步骤4)基于改进的损失函数对训练集进行训练:
步骤4a)对行人检测网络的训练参数进行初始化设置:
修改voc.data文件中训练集与测试集的路径,并将最大迭代次数max_batches设为50200次,图片批处理大小为64,初始学习率为10-3,动量为0.9;
步骤4b)将聚类结果作为YOLOv3网络候选框的尺寸初始化值:
在yolov3-voc.cfg文件中的anchors中写入聚类结果;
步骤4c)基于YOLOv3网络中改进的损失函数对训练集进行K次迭代训练,K>10000,本实施例中K为20000,得到行人检测网络模型;
步骤5)对测试集进行检测:
步骤5a)在darknet文件夹下输入shell命令:
./darknet detector test cfg/voc.data cfg/yolov3-voc.cfg yolov3-voc_20000.weights
步骤5b)行人检测网络模型依据输入的shell命令,通过改进的损失函数对读入的测试集图片进行前向计算,得到每个行人目标的位置坐标和置信度,并保存在data/out文件夹中。
以下结合仿真实验,对本发明的技术效果作进一步说明:
1.仿真条件和内容:
本发明的仿真实验是在Intel(R)Xeon(R)CPU E5-2650 [email protected],GeForce GTX1080ti x4,32G内存的配置环境下实现的。实验中使用的行人视频数据来源于采用红米note7手机实际拍摄的西安电子科技大学校园内及附近道路的行人。
仿真实验:使用基于改进k-means和改进损失函数的行人检测方法与现有技术对行人检测的检测精度做对比仿真,根据本发明构建训练集和测试集后,首先对训练集的标注信息利用改进的k-means进行有效数据筛选,之后分别对训练集标注信息中的有效数据和全部数据进行聚类得到各自的聚类结果,将两个聚类结果分别作为基于改进损失函数的YOLOv3和现有技术中网络候选框的初始化尺寸,然后利用YOLOv3中改进的损失函数对训练集进行20000次训练的同时利用现有技术网络对训练集进行20000次训练,最终得到各自的行人检测网络模型,将测试集分别输入到两个行人检测网络模型中得到两个模型分别检测出的每个行人目标的位置坐标和置信度结果,并统计两种方法的检测精度,具体检测精度对比如下表所示。
2.仿真结果分析:
本发明所得到的行人检测结果与现有技术相比具有明显的优势,现有技术与本发明的检测精度如表1所示:
表1 检测精度对比表
评价指标 现有技术 本发明
检测精度 87.3 89.0
从表中可以明显看出,本发明得到的检测精度更大,表明本发明对行人目标的检测效果强于现有技术。
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制。对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (2)

1.一种基于改进的k-means和损失函数的行人检测方法,其特征在于,包括如下步骤:
(1)构建训练集和测试集:
(1a)将采集的任意场景下行人视频中连续或非连续的N帧图像以jpg图片的形式保存到JPEGImages文件夹中,并对各幅图片进行命名,N>10000;
(1b)将JPEGImages文件夹中半数以上的图片作为训练图片集,其余图片作为测试图片集,并将训练图片集中所有图片的名称写入ImageSets/Main文件夹下的trainval.txt文件中,同时将测试图片集中所有图片的名称写入ImageSets/Main文件夹下的test.txt文件中;
(1c)对训练图片集和测试图片集中的每幅图片所包含的不同行人进行画框标注,并保存标注框的坐标数据,然后将标注框中所包含的行人目标的类别person以及每幅图片中包含的标注框的坐标数据保存到xml文件中,得到由多个xml文件组成的Annotations文件夹,其中每个xml文件的名称与其对应行人图片的名称相同;
(1d)将从Annotations文件夹中选取的与trainval.txt文件中图片名称相同的xml文件作为训练图片集的标注信息集,与test.txt文件中图片名称相同的xml文件作为测试图片集的标注信息集,并将训练图片集的标注信息集写入darknet文件夹下的train.txt文件中,将测试图片集的标注信息集写入darknet文件夹下的test.txt文件中,所述训练图片集和其对应的xml标注信息集构成训练集,测试图片集和其对应的xml标注信息集构成测试集;
(2)基于改进的k-means算法对训练集进行聚类:
(2a)对训练集中的标注信息进行筛选:
(2a1)将从训练集对应的xml标注文件中提取到的坐标数据写入长度为l的数组data_xml中,将从data_xml中读取的第一组坐标数据作为当前坐标数据,并初始化其在data_xml中的当前索引值q=0;
(2a2)定义data_xml中q对应的坐标数据:将标注框左上角对应的x轴投影坐标定义为xmin,标注框左上角对应的y轴投影坐标定义为ymin,标注框右下角对应的x轴投影坐标定义为xmax,标注框右下角对应的y轴投影坐标定义为ymax
(2a3)计算xmin与xmax的差值xd,ymin与ymax的差值yd,并判断xd和yd对应的data_xml中的数据是否为有效数据,若xd=0或yd=0,则xd和yd对应的data_xml中的数据为无效数据,删除该无效数据,l=l-1,并执行步骤(2a2);若xd≠0且yd≠0,则xd和yd对应的data_xml中的数据为有效数据,执行步骤(2a4);
(2a4)计算xd与yd的商div,并根据div>3是否成立判断div对应的data_xml中的数据的有效性,若是,则div对应的data_xml中的数据为无效数据,删除该无效数据,l=l-1,并执行步骤(2a5),否则,则div对应的data_xml中的数据为有效数据,令q=q+1,并执行步骤(2a5);
(2a5)重复执行步骤(2a2)~(2a4)直到q=l,得到有效标注信息;
(2b)对有效标注信息进行聚类:
(2b1)设聚类中心的个数为k,k>0,构建以data_xml的长度l为行数,以k为列数的二维矩阵data_k,data_k的行表示data_xml中保存的有效标注信息,列表示聚类中心的值,并初始化data_k为0;
(2b2)对k个聚类中心分别进行随机初始化;
(2b3)计算data_xml中l个有效标注信息与k个聚类中心的距离值,并将每个距离值写入data_k中有效标注信息对应的行和聚类中心对应的列所在的位置;
(2b4)将data_k中每一行对应的有效标注信息作为该每一行中最小距离值所在的列对应聚类中心的成员,并将每个聚类中心的数值更新为由该每个聚类中心成员宽和高的均值;
(2b5)重复步骤(2b3)和(2b4),直到k个聚类中心的值不再变化为止,并将k个聚类中心的值作为聚类结果;
(3)对YOLOv3检测网络的损失函数进行改进:
将YOLOv3检测网络损失函数中的坐标损失函数修改为Loss'coord
Figure FDA0002882373970000031
ti=2-wi×hi
其中,λcoord表示网络对预测框坐标的权重参数,l.w表示网络在图片宽上划分的尺寸,l.h表示网络在图片高上划分的尺寸,l.n表示网络中预测框的个数,i为对l.w×l.h迭代的变量,j为对l.n迭代的变量,
Figure FDA0002882373970000032
表示预测框是否包含目标的参数,wi表示预测框的宽,
Figure FDA0002882373970000033
表示标注框的宽,hi表示预测框的高,
Figure FDA0002882373970000034
表示标注框的高,xi表示预测框的左上角坐标在x轴的投影,
Figure FDA0002882373970000035
表示xmin,yi表示预测框的左上角坐标在y轴的投影,
Figure FDA0002882373970000036
表示ymin
(4)基于改进的损失函数对训练集进行训练:
(4a)将聚类结果作为YOLOv3网络候选框的尺寸初始化值;
(4b)基于YOLOv3网络中改进的损失函数对训练集进行K次迭代训练,K>10000,得到行人检测网络模型;
(5)对测试集进行检测:
将待检测的测试集输入到行人检测网络模型中进行检测,得到每个行人目标的位置坐标和置信度。
2.根据权利要求1所述的基于改进的k-means和损失函数的行人检测方法,其特征在于,步骤(3)中所述的YOLOv3检测网络的损失函数,计算表达式为
Loss=Lossnoobj+Lossobj+Lossclass+Losscoord
Figure FDA0002882373970000037
Figure FDA0002882373970000038
Figure FDA0002882373970000041
Figure FDA0002882373970000042
ti=2-wi×hi
其中,Loss表示损失函数,Lossnoobj表示不包含目标的预测框的置信度损失函数,Lossobj表示包含目标的预测框的置信度损失函数,Lossclass表示类别损失函数,Losscoord表示坐标损失函数,λnoobj表示不包含目标的预测框对应的系数,l.w表示网络在图片宽方向上的划分尺寸,l.h表示网络在图片高方向上的划分尺寸,i,j分别为对应的迭代变量,
Figure FDA0002882373970000043
是表示该预测框是否不包含目标的参数,ci为预测框置信度,
Figure FDA0002882373970000044
为标注框置信度;λobj表示包含目标的预测框对应的系数,
Figure FDA0002882373970000045
是表示该预测框是否包含目标的参数;λclass表示包含目标类别的预测框对应的系数,c表示针对类别的迭代变量,class表示数据集中总的类别,pi(c)表示预测框中含有c类别的概率,
Figure FDA0002882373970000046
表示标注框中含有c类别的概率,λcoord表示网络对预测框坐标的权重参数,wi表示预测框的宽,
Figure FDA0002882373970000047
表示标注框的宽,hi表示预测框的高,
Figure FDA0002882373970000048
表示标注框的高,xi表示预测框的左上角坐标在x轴的投影,
Figure FDA0002882373970000049
表示xmin,yi表示预测框的左上角坐标在y轴的投影,
Figure FDA00028823739700000410
表示ymin
CN201910202078.4A 2019-03-18 2019-03-18 基于改进的k-means和损失函数的行人检测方法 Active CN109978035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910202078.4A CN109978035B (zh) 2019-03-18 2019-03-18 基于改进的k-means和损失函数的行人检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910202078.4A CN109978035B (zh) 2019-03-18 2019-03-18 基于改进的k-means和损失函数的行人检测方法

Publications (2)

Publication Number Publication Date
CN109978035A CN109978035A (zh) 2019-07-05
CN109978035B true CN109978035B (zh) 2021-04-02

Family

ID=67079213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910202078.4A Active CN109978035B (zh) 2019-03-18 2019-03-18 基于改进的k-means和损失函数的行人检测方法

Country Status (1)

Country Link
CN (1) CN109978035B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866476B (zh) * 2019-11-06 2023-09-01 南京信息职业技术学院 一种基于自动标注和迁移学习的密集堆垛目标检测方法
CN110942005A (zh) * 2019-11-21 2020-03-31 网易(杭州)网络有限公司 物体识别方法及装置
CN110929646A (zh) * 2019-11-22 2020-03-27 国网福建省电力有限公司 一种基于无人机航拍图像的配电杆塔倒断信息快速识别方法
CN111104965A (zh) * 2019-11-25 2020-05-05 河北科技大学 车辆目标识别的方法及装置
CN111274894A (zh) * 2020-01-15 2020-06-12 太原科技大学 一种基于改进YOLOv3的人员在岗状态检测方法
CN113537257A (zh) * 2020-04-13 2021-10-22 山西农业大学 基于YoLov3网络实现的小麦检测方法
CN112800906B (zh) * 2021-01-19 2022-08-30 吉林大学 一种基于改进YOLOv3的自动驾驶汽车跨域目标检测方法
CN113361347A (zh) * 2021-05-25 2021-09-07 东南大学成贤学院 一种基于yolo算法的施工现场安全检测方法
CN113807472B (zh) * 2021-11-19 2022-02-22 智道网联科技(北京)有限公司 分级目标检测方法及装置
CN114119583A (zh) * 2021-12-01 2022-03-01 常州市新创智能科技有限公司 工业视觉检测***、方法、网络模型选择方法及经编机

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186776A (zh) * 2013-04-03 2013-07-03 西安电子科技大学 基于多特征和深度信息的人体检测方法
CN107358223A (zh) * 2017-08-16 2017-11-17 上海荷福人工智能科技(集团)有限公司 一种基于yolo的人脸检测与人脸对齐方法
CN108460403A (zh) * 2018-01-23 2018-08-28 上海交通大学 一种图像中多尺度特征融合的目标检测方法与***
CN108647665A (zh) * 2018-05-18 2018-10-12 西安电子科技大学 基于深度学习的航拍车辆实时检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872477B (zh) * 2009-04-24 2014-07-16 索尼株式会社 检测图像中的对象的方法、装置,及包括该装置的***
US9460354B2 (en) * 2012-11-09 2016-10-04 Analog Devices Global Object detection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186776A (zh) * 2013-04-03 2013-07-03 西安电子科技大学 基于多特征和深度信息的人体检测方法
CN107358223A (zh) * 2017-08-16 2017-11-17 上海荷福人工智能科技(集团)有限公司 一种基于yolo的人脸检测与人脸对齐方法
CN108460403A (zh) * 2018-01-23 2018-08-28 上海交通大学 一种图像中多尺度特征融合的目标检测方法与***
CN108647665A (zh) * 2018-05-18 2018-10-12 西安电子科技大学 基于深度学习的航拍车辆实时检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Pedestrian Detection Method Based on Faster R-CNN;Hui Zhang 等;《 2017 13th International Conference on Computational Intelligence and Security》;IEEE;20171218;427-430 *
Pedestrian Detection: An Evaluation of the State of the Art;Piotr Dollar 等;《 IEEE Transactions on Pattern Analysis and Machine Intelligence》;IEEE;20120430;第34卷(第4期);743-761 *

Also Published As

Publication number Publication date
CN109978035A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
CN109978035B (zh) 基于改进的k-means和损失函数的行人检测方法
CN111104898B (zh) 基于目标语义和注意力机制的图像场景分类方法及装置
CN111476284B (zh) 图像识别模型训练及图像识别方法、装置、电子设备
CN107424159B (zh) 基于超像素边缘和全卷积网络的图像语义分割方法
CN112668594B (zh) 一种基于对抗性域适应的无监督图像目标检测方法
CN108399378B (zh) 一种基于vgg深度卷积网络的自然场景图像识别方法
CN105574550A (zh) 一种车辆识别方法及装置
WO2023000160A1 (zh) 高光谱遥感影像半监督分类方法、装置、设备及存储介质
KR20200027888A (ko) 차선 모델을 이용하여 차선을 검출할 수 있는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN115471739A (zh) 基于自监督对比学习的跨域遥感场景分类与检索方法
CN110659601A (zh) 基于中心点的深度全卷积网络遥感图像密集车辆检测方法
JP2019185787A (ja) 地理的地域内のコンテナのリモート決定
CN112990282A (zh) 一种细粒度小样本图像的分类方法及装置
CN110135428B (zh) 图像分割处理方法和装置
CN115409896A (zh) 位姿预测方法、装置、电子设备和介质
CN114549959A (zh) 基于目标检测模型的红外弱小目标实时检测方法和***
CN114882204A (zh) 船名自动识别方法
CN114299291A (zh) 一种可解释的人工智能医疗图像语义分割方法
CN112329810B (zh) 一种基于显著性检测的图像识别模型训练方法及装置
CN116522565B (zh) 一种基于bim的电力工程设计配电网规划方法及计算机设备
CN117437186A (zh) 一种基于深度学习算法的透明件表面缺陷检测方法及***
CN116958809A (zh) 一种特征库迁移的遥感小样本目标检测方法
CN111832463A (zh) 一种基于深度学习的交通标志检测方法
CN113139540B (zh) 背板检测方法及设备
US20220366242A1 (en) Information processing apparatus, information processing method, and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant