CN115187879A - 一种基于YOLOv5的楼栋检测与楼层定位方法及装置 - Google Patents

一种基于YOLOv5的楼栋检测与楼层定位方法及装置 Download PDF

Info

Publication number
CN115187879A
CN115187879A CN202210791696.9A CN202210791696A CN115187879A CN 115187879 A CN115187879 A CN 115187879A CN 202210791696 A CN202210791696 A CN 202210791696A CN 115187879 A CN115187879 A CN 115187879A
Authority
CN
China
Prior art keywords
building
yolov5
detection
floor
image
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.)
Pending
Application number
CN202210791696.9A
Other languages
English (en)
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.)
China Three Gorges University CTGU
Original Assignee
China Three Gorges University CTGU
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 China Three Gorges University CTGU filed Critical China Three Gorges University CTGU
Priority to CN202210791696.9A priority Critical patent/CN115187879A/zh
Publication of CN115187879A publication Critical patent/CN115187879A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/17Terrestrial scenes taken from planes or by drones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Remote Sensing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于YOLOv5的楼栋检测与楼层定位方法及装置,方法包括如下步骤:楼栋检测模型构建及训练;窗户检测模型构建及训练;楼层定位。本发明的有益效果是:首先通过改进YOLOv5,使得该网络能够更加准确的检测更大目标物体,将图片放入该网络来检测楼栋,得到楼栋在图片中的位置信息,将原图片剪裁为仅包含该楼栋的图片;再次改进YOLOv5使得该网络能够更加准确的检测小目标物体,将目标图像依次导入训练后的YOLOv5楼栋检测模型及训练后的YOLOv5窗户检测模型,得到带有窗户检测结果的图像;根据带有窗户检测结果的图像,确定楼栋的每一层的位置,本方法可以大大提高无人机楼栋检测及楼层定位准确度。

Description

一种基于YOLOv5的楼栋检测与楼层定位方法及装置
技术领域
本发明涉及目标检测技术领域,尤其是涉及一种基于YOLOv5的楼栋检测与楼层定位方法及装置。
背景技术
随着无人机技术的不断成熟,无人机送餐、无人机灭火等应用层出不穷,然而,对于城市高楼来说,若要实现定楼层配送(如直接将餐食投放到特定楼层的阳台上,或通过灭火无人机对特定楼层喷灭火剂),则需要通过算法实现对楼栋及楼层的自动检测及定位。
现有技术中,楼层的定位方法大多基于气压测量的方法,该方法需要提前对每一层的气压值进行测量记录,并且泛化能力差,需要对每一栋的楼层气压预设值分别进行测量记录,使用不便。
发明内容
有鉴于此,有必要提供一种基于YOLOv5的楼栋检测与楼层定位方法及装置,用以实现对楼栋及楼层的自动检测及定位。
为了实现上述目的,本发明提供了一种基于YOLOv5的楼栋检测与楼层定位方法,包括如下步骤:
S1、楼栋检测模型构建及训练
S11、获取楼栋图像集;
S12、对获取到的楼栋图像集进行预处理,标注出楼栋在图像上的位置信息;
S13、建立改进的针对大目标检测的YOLOv5楼栋检测模型;
S14、通过标注后的楼栋图像集训练所述YOLOv5楼栋检测模型;
S15、将楼栋图像集导入训练后的YOLOv5楼栋检测模型中进行楼栋检测,再将图像集中的每张图像裁切成仅包含楼栋的图像;
S2、窗户检测模型构建及训练
S21、对裁切后的图像进行预处理,标注出窗户在图像上的位置信息;
S22、建立改进的针对小目标检测的YOLOv5窗户检测模型;
S23、通过标注窗户后的图像集训练所述YOLOv5窗户检测模型;
S3、楼层定位
S31、将目标图像依次导入训练后的YOLOv5楼栋检测模型及训练后的YOLOv5窗户检测模型,得到带有窗户检测结果的图像;
S32、根据带有窗户检测结果的图像,确定楼栋的每一层的位置。
在一些实施例中,所述步骤S13中,建立改进的针对大目标检测的YOLOv5楼栋检测模型具体包括:
S131、将图像输入网络后经过的第一个Fosus模块改进为一个大小为6*6的卷积层,在等效的前提下实现了GPU设备更快速的运算;
S132、将YOLOv5中的SPP模块进行改进,将SPP模块中经过CBL(CONV,BN,SILU)层后最大池化层的kernel size由13*13、9*9、5*5改为15*15、11*11、7*7;
S133、在平衡不同尺度损失上把三个预测特征层权重系数进行适当调整以适应更大目标的检测。
在一些实施例中,所述步骤S133中,调整后的损失函数为:
Figure BDA0003730500890000021
其中,Lobj为总的损失,
Figure BDA0003730500890000031
为小目标的损失,
Figure BDA0003730500890000032
为中目标的损失,
Figure BDA0003730500890000033
为大目标的损失。
在一些实施例中,所述步骤S22中,建立改进的针对小目标检测的YOLOv5窗户检测模型具体包括:
S221、使用一个6*6的卷积层替换Focus层以节省GPU开销;
S222、将SPP模块中的池化核大小由13*13、9*9、5*5改为11*11、7*7、3*3,改动后更有利于检测窗户这种小目标;
S223、在平衡不同尺度损失上把三个预测特征层权重系数进行适当调整,通过增大小目标的权重系数和减小大目标的权重系数使得在小目标检测上更加准确。
在一些实施例中,所述步骤S223中,调整后的损失函数为:
Figure BDA0003730500890000034
其中,Lobj为总的损失,
Figure BDA0003730500890000035
为小目标的损失,
Figure BDA0003730500890000036
为中目标的损失,
Figure BDA0003730500890000037
为大目标的损失。
在一些实施例中,所述步骤S32中,根据带有窗户检测结果的图像,确定楼栋的每一层的位置的具体方法包括如下步骤:
S321、提取图像中各个窗户中心点的坐标:
S322、按照每个中心点读取的顺序将各中心点附上标签值,选取一个中心点,计算该中心点与其他中心点的欧氏距离,保留距离最小的八个中心点,将选取的中心点与距离最小的八个中心点依次连线,得到八条线段,依次计算这八条线段的倾斜角的正弦值;
S323、将当前点与正弦值最大的中心点的标签值保存为一个二值列表;
S324、依次选取其他的中心点,重复步骤S322~S323,直到全部选取完毕,得到若干个二值列表;
S25、将所有的二值列表进行遍历,将含有相同元素的列表进行合并,去除重复元素,得到若干个合并后的标签值列表;
S26、选取一个合并后的标签值列表,取出每个标签值对应中心点的坐标,以拟合出所述标签值列表对应的拟合直线的方程;
S27、遍历所有中心点,判断每个中心点是否在该标签值列表对应的拟合直线上,计算该拟合直线上的中心点的个数;
S28、依次选取其他的合并后的标签值列表,重复步骤S26~S27,直到选取完毕,得到每个合并后的标签值列表对应的拟合直线上的中心点的个数,保留中心点个数最多的拟合直线,该拟合直线上的中心点的个数即为楼栋的总层数,对该拟合直线上的所有中心点按纵坐标值由小到大排序并编号,则每个中心点的编号即为对应的楼层数,从而可实现对楼层的定位。
本发明还提供了一种基于YOLOv5的楼栋检测与楼层定位装置,包括:处理器、存储器和通信总线;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现所述的基于YOLOv5的楼栋检测与楼层定位方法。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现所述的基于YOLOv5的楼栋检测与楼层定位方法中的步骤。
与现有技术相比,本发明提出的技术方案的有益效果是:首先通过改进YOLOv5,使得该网络能够更加准确的检测更大目标物体,将图片放入检测较大目标的YOLOv5来检测楼栋,得到楼栋在图片中的位置信息,通过该位置信息将原图片剪裁为仅包含该楼栋的图片;再次改进YOLOv5使得该网络能够更加准确的检测小目标物体,将剪裁后的图片放入该网络来检测窗户,根据带有窗户检测结果的图像,确定楼栋的每一层的位置,本方法操作过程简单方便,检测结果清晰直观,可以大大提高无人机楼栋检测及楼层定位准确度。
附图说明
图1是本发明提供的基于YOLOv5的楼栋检测与楼层定位方法的一实施例的流程示意图;
图2是本发明提供的基于YOLOv5的楼栋检测与楼层定位方法的一实施例中对图像进行楼栋检测及剪裁的过程示意图;
图3是图2中的实施例中窗户检测的结果示意图;
图4是图2中的实施例中中心点检测及连线的过程示意图;
图5是图2中的实施例中所有拟合直线的结果示意图;
图6是图2中的实施例中保留中心点个数最多的拟合直线的结果示意图;
图7是图2中的实施例中对拟合直线上的中心点进行排序编号后的结果示意图;
图8是应用本方法进行新的楼栋检测及楼层定位时的流程示意图;
图9是本发明提供的基于YOLOv5的楼栋检测与楼层定位方法的另一实施例的检测过程示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
请参照图1,本发明提供了一种基于YOLOv5的楼栋检测与楼层定位方法,包括如下步骤:
S1、楼栋检测模型构建及训练
S11、获取楼栋图像集;
通过无人机上的相机对楼栋进行大规模采集,为提高模型的泛化性能,在时间上需要在早、中、晚三个不同的时间段对数据进行采集,在空间上需要对不同楼栋进行不同角度的数据采集,数量上共需采集不低于1500张图像。
S12、对获取到的楼栋图像集进行预处理;具体包括:
S121、数据清洗:为保证数据集的干净可用,需要对采集完的数据进行清洗,把图像模糊、相似度过高、目标缺失等不合格图像从楼栋图像集中剔除;
S122、数据标注:将上述清洗过的楼栋图像集中的每一张图像都使用LabelImg工具对图像中的楼栋进行标注,需要标注出楼栋在图片中的位置信息;
S123、数据增广:为了尽可能使数据多样化,需要对清洗后的数据进行适度的增广,增广方案包括:垂直、水平翻转、平移、缩放、剪裁、增加高斯模糊噪声、提高对比度等,若采集的图像数量足够多,也可以省去数据增广这一步骤。
S124、数据集的划分:将上述标注后的楼栋图像集按照50%、25%、25%的比例随机划分为训练集、验证集和测试集。
S13、建立改进的针对大目标检测的YOLOv5楼栋检测模型;具体为:
S131、将图像输入网络后经过的第一个Fosus模块改进为一个大小为6*6的卷积层,在等效的前提下实现了GPU设备更快速的运算;
S132、将YOLOv5中的SPP模块进行改进,将SPP模块中经过CBL(CONV,BN,SILU)层后最大池化层的kernel size由13*13、9*9、5*5改为15*15、11*11、7*7;
S133、在平衡不同尺度损失上把三个预测特征层权重系数进行适当调整以适应更大目标的检测。调整后的损失函数为:
Figure BDA0003730500890000071
其中,Lobj为总的损失,
Figure BDA0003730500890000072
为小目标的损失,
Figure BDA0003730500890000073
为中目标的损失,
Figure BDA0003730500890000074
为大目标的损失。
S14、通过标注后的楼栋图像集训练所述YOLOv5楼栋检测模型;
根据设备实际情况来调整训练时的模型参数,具体先将data所需的yaml文件中的train、val、nc(分类个数)、name(分类名称)改为训练集所在路径、验证集所在路径,将epochs改为500,将batch-size改为64,img-size改为604*604。更改完成后开始训练模型,训练完成后再通过验证集和测试集进行验证和测试。
S15、将楼栋图像集导入训练后的YOLOv5楼栋检测模型中进行楼栋检测,再将图像集中的每张图像裁切成仅包含楼栋的图像(如图2所示);
将待检测楼栋图片准备好,通过命令行输入命令语句,包括检测命令、配置命令等,例如:python detect.py–-source my_biulding.jpg,运行完成后将得到一个带有楼栋检测目标框结果的图片。因为图片中的窗户属于小目标,为了更加准确检测小目标,需要将上述图片中的楼栋裁剪成单独一张图片再放入网络。
具体地,将清洗后数据集的所有图片放入上述YOLOv5的楼栋检测网络中进行楼栋检测,将检测完成后的图片重复上述剪裁步骤依次剪裁成为只包含楼栋的图片。
S2、窗户检测模型构建及训练
S21、对裁切后的图像进行预处理,标注出窗户在图像上的位置信息;
将上述裁切后的图像使用LabelImg工具进行标注,标注出窗户在图像上的位置信息;
S22、建立改进的针对小目标检测的YOLOv5窗户检测模型;具体为:
S221、使用一个6*6的卷积层替换Focus层以节省GPU开销;
S222、将SPP模块中的池化核大小由13*13、9*9、5*5改为11*11、7*7、3*3,改动后更有利于检测窗户这种小目标;
S223、在平衡不同尺度损失上把三个预测特征层权重系数进行适当调整,通过增大小目标的权重系数和减小大目标的权重系数使得在小目标检测上更加准确。调整后的损失函数为:
Figure BDA0003730500890000081
其中,Lobj为总的损失,
Figure BDA0003730500890000082
为小目标的损失,
Figure BDA0003730500890000083
为中目标的损失,
Figure BDA0003730500890000084
为大目标的损失。上述过程完成后配置参数开始训练检测窗户的YOLOv5模型。
S23、通过标注窗户后的图像集训练所述YOLOv5窗户检测模型;
S3、楼层定位
S31、将目标图像依次导入训练后的YOLOv5楼栋检测模型及训练后的YOLOv5窗户检测模型,得到带有窗户检测结果的图像(如图3所示);
S32、根据带有窗户检测结果的图像,确定楼栋的每一层的位置。具体为:
S321、提取图像中各个窗户中心点的坐标:
通过窗户检测结果可以得到图中窗户外接最小矩形框的各顶点坐标,通过取出矩形框左上角坐标(x1,y1)与右下角坐标(x2,y2)求出矩形框的中心点的坐标(x0,y0),即:
Figure BDA0003730500890000091
通过算法将同一相对位置不同楼层的窗户中心点进行聚类,聚类后类中的中心点数量就是楼栋的总层高,接着将中心点按照y值的大小进行排序得到每个点所对应的楼层数便可实现一栋楼中的楼层定位,算法具体实现如下:
S322、按照每个中心点读取的顺序将各中心点附上标签值(例如,p0,p1,p2等),选取一个中心点(x0,y0),计算该中心点与其他中心点的欧氏距离,保留距离最小的八个中心点,将选取的中心点(x0,y0)与距离最小的八个中心点(xi,yi)依次连线,得到八条线段(如图4所示),依次计算这八条线段的倾斜角的正弦值sin,则:
Figure BDA0003730500890000092
其中,(xi,yi)为距离最小的八个中心点中的第i个中心点的坐标,i为自然数,且0<i<9。
S323、将当前点与正弦值最大的中心点的标签值保存为一个二值列表;保留最大正弦值并且该值大于0.9所对应的点,将其他点剔除,将该点其对应点的标签值保存为一个二值列表,例如:[p0,p1],该点与保留的点所连线段的倾斜角最接近九十度。
S324、依次选取其他的中心点,重复步骤S322~S323,直到全部选取完毕,得到若干个二值列表,此时,图片上会出现多条中心点的连线(如图5所示);
S25、将所有的二值列表进行遍历,将含有相同元素的列表进行合并,去除重复元素,得到若干个合并后的标签值列表,例如将([p0,p1],[p1,p5])合并为[p0,p1,p5];
S26、选取一个合并后的标签值列表(例如[p0,p1,p5...,p(n-1)]),取出每个标签值对应中心点的坐标((x0,y0),(x1,y1),(x5,y5)...,(x(n-1),y(n-1))),以拟合出所述标签值列表对应的拟合直线的方程;具体拟合过程如下:
将这n个坐标用最小二乘法代入直线回归方程来拟合直线,假设该直线函数为y=kx+b,其中x为横坐标,y为纵坐标,k、b为待定系数。最小二乘法公式如下:
Figure BDA0003730500890000101
Figure BDA0003730500890000102
Figure BDA0003730500890000103
Figure BDA0003730500890000104
解出该线性方程后计算出这n个点的坐标到该直线的平均距离
Figure BDA0003730500890000105
计算公式如下:
Figure BDA0003730500890000111
Figure BDA0003730500890000112
S27、遍历所有中心点,判断每个中心点是否在该标签值列表对应的拟合直线上,计算该拟合直线上的中心点的个数;具体为:
遍历图中所有中心点,计算中心点到该直线的距离d,如果
Figure BDA0003730500890000113
那么则认为该点在该直线上。
S28、依次选取其他的合并后的标签值列表,重复步骤S26~S27,直到选取完毕,得到每个合并后的标签值列表对应的拟合直线上的中心点的个数,保留中心点个数最多的拟合直线(如图6所示),该拟合直线上的中心点的个数即为楼栋的总层数,对该拟合直线上的所有中心点按纵坐标值由小到大排序并编号(如图7所示),则每个中心点的编号即为对应的楼层数,从而可实现对楼层的定位。
需要指出的是,模型训练完备后,应用本方法进行新的楼栋检测及楼层定位时,则不再需要对模型进行训练,系统可按照如图8所示的流程进行新的楼栋检测及楼层定位。
在实际应用中,本发明针对模型训练中未出现的楼栋的检测及楼层定位也具有极高的准确率(如图9所示)。
综上所述,本发明首先通过改进YOLOv5,使得该网络能够更加准确的检测更大目标物体,将图片放入检测较大目标的YOLOv5来检测楼栋,得到楼栋在图片中的位置信息,通过该位置信息将原图片剪裁为仅包含该楼栋的图片;再次改进YOLOv5使得该网络能够更加准确的检测小目标物体,将剪裁后的图片放入该网络来检测窗户,通过检测窗户的位置信息来计算出每个窗户的中心点位置,最后通过聚类算法将每层相对位置相同窗户的中心点进行聚类,该类中窗户的数量即为楼栋的总层高,将中心点按照坐标中高度大小依次排列,排列后的顺序即对应楼栋每层楼的顺序,最后将点所在位置进行从小到大标号即可实现楼栋每层的定位,操作过程简单方便,检测结果清晰直观,可以大大提高无人机楼栋检测及楼层定位准确度。
与现有技术相比,本发明的有益效果包括:
(1)本发明设计了一种更加准确的窗户检测算法,算法首先将原图放入改进后检测大目标更加准确的YOLOv5网络来检测楼栋,将检测后的楼栋进行剪裁放入改进后检测小目标更加准确的YOLOv5网络来检测窗户,这种方法相比于直接在原图上检测窗户更加准确,尤其是在小窗户的检测效果上。
(2)本发明设计了一种聚类算法,通过该聚类算法可以将不同楼层同一相对位置窗户的中心点进行聚类,将聚类后的点按照坐标的高度大小进行排序,从而间接实现楼层定位,简单高效。
应该理解的是,虽然本实施的各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
本发明还提供了一种基于YOLOv5的楼栋检测与楼层定位装置,包括:处理器、存储器和通信总线;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现所述的基于YOLOv5的楼栋检测与楼层定位方法。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现所述的基于YOLOv5的楼栋检测与楼层定位方法中的步骤。
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (8)

1.一种基于YOLOv5的楼栋检测与楼层定位方法,其特征在于,包括如下步骤:
S1、楼栋检测模型构建及训练
S11、获取楼栋图像集;
S12、对获取到的楼栋图像集进行预处理,标注出楼栋在图像上的位置信息;
S13、建立改进的针对大目标检测的YOLOv5楼栋检测模型;
S14、通过标注后的楼栋图像集训练所述YOLOv5楼栋检测模型;
S15、将楼栋图像集导入训练后的YOLOv5楼栋检测模型中进行楼栋检测,再将图像集中的每张图像裁切成仅包含楼栋的图像;
S2、窗户检测模型构建及训练
S21、对裁切后的图像进行预处理,标注出窗户在图像上的位置信息;
S22、建立改进的针对小目标检测的YOLOv5窗户检测模型;
S23、通过标注窗户后的图像集训练所述YOLOv5窗户检测模型;
S3、楼层定位
S31、将目标图像依次导入训练后的YOLOv5楼栋检测模型及训练后的YOLOv5窗户检测模型,得到带有窗户检测结果的图像;
S32、根据带有窗户检测结果的图像,确定楼栋的每一层的位置。
2.根据权利要求1所述的基于YOLOv5的楼栋检测与楼层定位方法,其特征在于,所述步骤S13中,建立改进的针对大目标检测的YOLOv5楼栋检测模型具体包括:
S131、将图像输入网络后经过的第一个Fosus模块改进为一个大小为6*6的卷积层,在等效的前提下实现了GPU设备更快速的运算;
S132、将YOLOv5中的SPP模块进行改进,将SPP模块中经过CBL(CONV,BN,SILU)层后最大池化层的kernel size由13*13、9*9、5*5改为15*15、11*11、7*7;
S133、在平衡不同尺度损失上把三个预测特征层权重系数进行适当调整以适应更大目标的检测。
3.根据权利要求2所述的基于YOLOv5的楼栋检测与楼层定位方法,其特征在于,所述步骤S133中,调整后的损失函数为:
Figure FDA0003730500880000021
其中,Lobj为总的损失,
Figure FDA0003730500880000022
为小目标的损失,
Figure FDA0003730500880000023
为中目标的损失,
Figure FDA0003730500880000024
为大目标的损失。
4.根据权利要求1所述的基于YOLOv5的楼栋检测与楼层定位方法,其特征在于,所述步骤S22中,建立改进的针对小目标检测的YOLOv5窗户检测模型具体包括:
S221、使用一个6*6的卷积层替换Focus层以节省GPU开销;
S222、将SPP模块中的池化核大小由13*13、9*9、5*5改为11*11、7*7、3*3,改动后更有利于检测窗户这种小目标;
S223、在平衡不同尺度损失上把三个预测特征层权重系数进行适当调整,通过增大小目标的权重系数和减小大目标的权重系数使得在小目标检测上更加准确。
5.根据权利要求4所述的基于YOLOv5的楼栋检测与楼层定位方法,其特征在于,所述步骤S223中,调整后的损失函数为:
Figure FDA0003730500880000025
其中,Lobj为总的损失,
Figure FDA0003730500880000026
为小目标的损失,
Figure FDA0003730500880000027
为中目标的损失,
Figure FDA0003730500880000031
为大目标的损失。
6.根据权利要求1所述的基于YOLOv5的楼栋检测与楼层定位方法,其特征在于,所述步骤S32中,根据带有窗户检测结果的图像,确定楼栋的每一层的位置的具体方法包括如下步骤:
S321、提取图像中各个窗户中心点的坐标:
S322、按照每个中心点读取的顺序将各中心点附上标签值,选取一个中心点,计算该中心点与其他中心点的欧氏距离,保留距离最小的八个中心点,将选取的中心点与距离最小的八个中心点依次连线,得到八条线段,依次计算这八条线段的倾斜角的正弦值;
S323、将当前点与正弦值最大的中心点的标签值保存为一个二值列表;
S324、依次选取其他的中心点,重复步骤S322~S323,直到全部选取完毕,得到若干个二值列表;
S25、将所有的二值列表进行遍历,将含有相同元素的列表进行合并,去除重复元素,得到若干个合并后的标签值列表;
S26、选取一个合并后的标签值列表,取出每个标签值对应中心点的坐标,以拟合出所述标签值列表对应的拟合直线的方程;
S27、遍历所有中心点,判断每个中心点是否在该标签值列表对应的拟合直线上,计算该拟合直线上的中心点的个数;
S28、依次选取其他的合并后的标签值列表,重复步骤S26~S27,直到选取完毕,得到每个合并后的标签值列表对应的拟合直线上的中心点的个数,保留中心点个数最多的拟合直线,该拟合直线上的中心点的个数即为楼栋的总层数,对该拟合直线上的所有中心点按纵坐标值由小到大排序并编号,则每个中心点的编号即为对应的楼层数,从而可实现对楼层的定位。
7.一种基于YOLOv5的楼栋检测与楼层定位装置,其特征在于,包括:处理器、存储器和通信总线;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-6中任意一项所述的基于YOLOv5的楼栋检测与楼层定位方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-6任意一项所述的基于YOLOv5的楼栋检测与楼层定位方法中的步骤。
CN202210791696.9A 2022-07-05 2022-07-05 一种基于YOLOv5的楼栋检测与楼层定位方法及装置 Pending CN115187879A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210791696.9A CN115187879A (zh) 2022-07-05 2022-07-05 一种基于YOLOv5的楼栋检测与楼层定位方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210791696.9A CN115187879A (zh) 2022-07-05 2022-07-05 一种基于YOLOv5的楼栋检测与楼层定位方法及装置

Publications (1)

Publication Number Publication Date
CN115187879A true CN115187879A (zh) 2022-10-14

Family

ID=83517724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210791696.9A Pending CN115187879A (zh) 2022-07-05 2022-07-05 一种基于YOLOv5的楼栋检测与楼层定位方法及装置

Country Status (1)

Country Link
CN (1) CN115187879A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116978181A (zh) * 2023-09-20 2023-10-31 永林电子股份有限公司 一种兼具日常照明功能的led应急灯控制方法及其装置
CN117726239A (zh) * 2024-02-18 2024-03-19 温州市建设工程咨询有限公司 工程质量验收实测实量方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116978181A (zh) * 2023-09-20 2023-10-31 永林电子股份有限公司 一种兼具日常照明功能的led应急灯控制方法及其装置
CN117726239A (zh) * 2024-02-18 2024-03-19 温州市建设工程咨询有限公司 工程质量验收实测实量方法及系统
CN117726239B (zh) * 2024-02-18 2024-04-30 温州市建设工程咨询有限公司 工程质量验收实测实量方法及系统

Similar Documents

Publication Publication Date Title
CN110532970B (zh) 人脸2d图像的年龄性别属性分析方法、系统、设备和介质
CN106960195B (zh) 一种基于深度学习的人群计数方法及装置
CN111080693A (zh) 一种基于YOLOv3的机器人自主分类抓取方法
CN111126184B (zh) 一种基于无人机视频的震后建筑物损毁检测方法
CN109145708B (zh) 一种基于rgb和d信息融合的人流量统计方法
CN109284733A (zh) 一种基于yolo和多任务卷积神经网络的导购消极行为监控方法
TW200820099A (en) Target moving object tracking device
CN114387520A (zh) 一种用于机器人采摘的密集李子精准检测方法及其系统
CN109948490A (zh) 一种基于行人重识别的员工特定行为记录方法
CN115187879A (zh) 一种基于YOLOv5的楼栋检测与楼层定位方法及装置
CN107392182A (zh) 一种基于深度学习的人脸采集识别方法及装置
CN111428743B (zh) 商品识别方法、商品处理方法、装置及电子设备
CN112115775A (zh) 一种基于计算机视觉的监控场景下的吸烟行为检测方法
CN110599522A (zh) 一种视频序列中动态目标检测剔除方法
CN116385430A (zh) 一种机器视觉瑕疵检测方法、装置、介质及设备
CN114721403B (zh) 基于OpenCV的自动驾驶控制方法、装置及存储介质
CN117671022B (zh) 一种室内弱纹理环境的移动机器人视觉定位系统及方法
CN112183412A (zh) 人员身份识别方法、装置、电子设备及存储介质
WO2022127814A1 (zh) 一种图像的显著性物体检测方法、装置、设备及存储介质
CN111898552B (zh) 一种判别人员关注目标物的方法、装置及计算机设备
AU2021204563A1 (en) Target detection methods, apparatuses, electronic devices and computer-readable storage media
CN119832602A (zh) 一种低产蛋鸡高光谱检测方法及系统
CN111369494A (zh) 冬小麦穗密度检测方法及装置
CN111708907A (zh) 一种目标人员的查询方法、装置、设备及存储介质
CN109146834A (zh) 车辆定损方法及装置、计算机可读存储介质、终端

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