社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

基于YOLO的用于无人机与鸟类检测分割数据集,适用于深度学习和机器学习算法

计算机视觉研究院 • 昨天 • 15 次点击  

点击蓝字


关注我们

关注并星标

从此不迷路

计算机视觉研究院

公众号ID计算机视觉研究院

学习群扫码在主页获取加入方式

https://www.sciencedirect.com/science/article/pii/S2352340923004742

计算机视觉研究院专栏

Column of Computer Vision Institute

道路裂缝的及时检测对于降低交通事故风险、延长道路使用寿命、提高运输效率至关重要。尽管用于道路裂缝检测的深度学习方法取得了进展,但在处理复杂背景、多样化裂缝形态和多尺度目标方面仍然存在挑战。

PART/1

     概述   

无人驾驶飞行器(UAV,无人机)在专业和娱乐场景中的使用都在迅速增加,这引发了人们对人员和设施安全保障的担忧。针对这一领域的一个研究方向是开发无人机检测系统。然而,许多现有系统存在局限性,比如会漏检,或者误检其他空中目标,包括鸟类。为了解决这个问题,开发一个能提供无人机和鸟类图像的标准数据集,对于训练精确且有效的检测模型而言至关重要。在此背景下,我们提出一个由无人机和鸟类在各种环境中飞行的图像组成的数据集。这个数据集将成为研究人员和开发人员开发无人机检测与分类系统的宝贵资源。

该数据集是使用Roboflow软件创建的,这使我们能够借助人工智能辅助的边界框、多边形和实例分割,高效地编辑和处理图像。该软件支持广泛的输入和输出格式,因此可以轻松地将数据集导入不同的机器学习框架。为确保尽可能高的准确率,我们手动对每张图像进行了边缘到边缘的分割,为YOLO模型训练提供详细且准确的信息。

该数据集包含训练集和测试集,可用于评估模型性能。与现有数据集相比,我们的数据集有几个优势,包括同时纳入了无人机和鸟类(这两种目标在检测系统中常被误分类)。此外,我们数据集中的图像是在不同环境中采集的,为模型训练和测试提供了广泛的场景。所呈现的数据集为从事无人机检测和分类系统开发的研究人员和开发人员提供了宝贵的资源。同时纳入无人机和鸟类,以及多样的环境和场景,使得这个数据集成为训练精确且有效模型的独特且必要的工具。我们希望这个数据集将有助于无人机检测和分类系统的发展,提升专业和娱乐场景中的安全性保障。


PART/2

     目的   

数据的价值

1)所呈现的数据集包含在不同光照条件下拍摄的经过处理的无人机和鸟类的RGB照片。该数据集可用于多种应用,如图像处理、图像分割、机器学习和深度学习,以检测并区分无人机和鸟类。

2)此数据集可用于对比涉及无人机和鸟类的实时实验结果。它能够仅通过图像处理和分析,在不同场景中检测并区分多架无人机与鸟类。

3)该数据集可用于开发稳健的无人机检测系统,有助于预防机场或人员密集场所等禁区的潜在安全风险。通过准确识别无人机并将其与鸟类区分开来,该系统可助力提升人员和设施的安全性。

研究目的

由于成本降低以及无人机技术的进步,无人机在多个应用领域的使用越来越广泛,这使得无人机识别成为一项至关重要的目标检测挑战。然而,在低对比度、远距离、可见度有限等不利条件下检测无人机,需要使用有效的识别算法。但机器学习算法不仅要有效,还需要有大规模的数据集来训练它,以在不同环境中检测和识别无人机与鸟类。本文所呈现的数据集,是通过从42个不同视频中提取帧制作而成的,这些视频涵盖不同的光照条件和场景。


PART/3

     数据描述   

制作该数据集共使用了42个视频,涵盖无人机和鸟类视频。用于提取帧的素材分辨率如下:

4096×2160,每秒25帧

3840×2160,每秒30帧

1080×1920,每秒25帧

1280×720,每秒60帧

这些视频片段通常时长为1分钟,画面中会出现一架或多架无人机或鸟类。视频来自Pexels网站,在进行分割和数据增强前,先在Roboflow中提取了视频帧。除提取视频帧外,还在印度博帕尔维杰亚讷伽尔技术大学(VITBhopalUniversity)用数码相机拍摄了一些鸟类图像,该校能看到大量鸟类,这样做是为了提升使用该数据集的模型性能,同时也对数据集应用了数据增强,以增加案例的多样性。

在本文呈现的数据集中,每个图像文件都配有一个YOLO格式的文本文件。若未检测到目标,算法会跳过该图像。文本文件中按以下顺序包含信息:(类别ID、x中心坐标、y中心坐标、宽度、高度)。

数据集被精心整理成三个不同的文件夹,分别用于训练、验证和测试,每个文件夹又进一步细分为两个子文件夹,用于存储图像和对应的标签。这个综合数据集包含20925张图像,其中鸟类图像8451张,无人机图像12474张,所有图像都被精心压缩到640×640像素,并以广泛使用的JPEG格式保存。选用YOLO像素(这种像素利用单级检测架构)是经过策略性选择的,便于实现实时检测,因为与两级检测架构相比,YOLO处理速度更快、帧率更高,使其成为众多行业目标检测任务的首选工具。

YOLO采用的单级检测架构相较于传统两级检测架构有显著优势。两级架构需要多次遍历网络来检测目标,而YOLO只需一次高效的遍历就能完成,大幅降低了计算成本,这在速度和精度至关重要的实时应用中尤为有利。此外,YOLO在检测小目标时精度极高,超越了因多分类阶段而难以检测小目标的两级架构。在YOLO和其他两级检测架构之间做选择,取决于目标大小、图像复杂度以及检测速度与精度之间期望的权衡等因素。

本文呈现的数据集与其他公开数据集相比独具特色,因为它对目标(即鸟类和无人机)进行了细致的分割。每个包含检测到的鸟类或无人机的视频帧,都经过了从背景中分割目标的精细处理,形成了高精度的表示,能显著提升算法在实时画面中的检测能力。与简单的边界框标注相比,这种分割方法在像素层面捕捉目标的确切形状、大小和位置,精度更高。

在实时画面中检测鸟类和无人机等目标的任务中,分割后的数据集尤为宝贵,因为对目标的精细分割能让算法更深入地理解目标的视觉特征,从而提高检测精度和性能。此外,本数据集在训练文件夹的图像中纳入了马赛克子块,这对提升算法检测画面中距离相机较远的小型目标(如鸟类或无人机)的能力至关重要。通过将图像分割成更小、细节更丰富的子块,马赛克能提供更高的分辨率和更聚焦的视角,让算法识别这些目标复杂的视觉属性,进而准确检测它们。

训练过程中纳入马赛克,营造了一种贴近真实的训练环境,算法会接触到各种场景,其中小型目标分散在图像的不同区域,甚至有些距离相机很远。这使算法能够熟练识别并精准定位实时画面中的小型目标,即便它们因尺寸缩小和对比度降低而带来固有挑战。借助训练过程中马赛克子块的独特特性,算法在开发有效检测小型目标(如鸟类或无人机)的稳健能力方面获得显著优势,即便这些目标距离相机很远,从而确立了本数据集作为推进具有挑战性场景中目标检测能力的宝贵资源的地位。


PART/4

     实验设计、材料和方法   

材料

为创建用于基于YOLO的实际检测的无人机和鸟类图像数据集,我们使用了Roboflow软件。Roboflow助力我们高效编辑和处理数据集,借助人工智能辅助进行边界框、多边形和实例分割操作。通过使用公开可用的模型,我们能够自动标注图像,节省时间和精力。Roboflow支持多种输入格式,如JPG、PNG、BMP、MOV、MP4和AVI,方便在创建数据集时轻松导入所需图像。

该软件还允许以多种不同格式轻松导出,包括cocoJSON、VGG、VottJSON、MarmotXML、YOLOPyTorch、YOLODarknetTXT以及KaggleCSV,使得在各类机器学习框架中使用这些数据变得简单。使用Roboflow的主要优势之一在于其直观的界面和智能默认设置。这让我们无需大量培训或专业知识,就能快速且准确地标注图像。此外,Roboflow具备严格的隐私和安全协议,确保我们的数据安全且受保护。

为确保获得最佳结果,我们手动对每张图像进行了边缘到边缘的分割,保证YOLO模型能够获取准确且详细的信息。这种对细节的关注以及对精度的重视,将确保我们的模型在实际场景中能够准确检测和分类无人机与鸟类。通过利用Roboflow的高级功能,并且花费时间手动分割每张图像,我们得以创建高质量的数据集,使我们的模型即便在具有挑战性的环境中也能发挥最佳性能。

在上图中,展示了数据集创建的整个过程,呈现了为特定任务或研究生成数据集所涉及的连续步骤。该图概述了数据如何从不同来源收集,经过预处理以确保质量和可用性,以及标注和标记过程。它还展示了将数据集划分为训练集和验证集,同时应用数据增强技术以增加多样性。经过这些阶段后得到的最终数据集,可用于训练机器学习模型、开展统计分析或推进其他数据驱动的研究工作。

方法

在从Pexels网站下载不同分辨率的视频之前,我们先对每个视频进行分类,并记录在电子表格中。随后,从视频里逐帧提取图像,导入Roboflow并保存。之后,对所有图像进行标注。为避免自动标注可能出现的错误,每张图像都需手动分割。标注开始时,创建两个类别:类别0代表无人机,类别1代表鸟类。

数据集创建完成后,使用Roboflow将其预处理并清理为YOLO格式。在训练模型前,所有图像都必须标准化,即根据需求调整尺寸、方向或颜色。

生成的数据集已进一步清理和预处理,这样算法就能直接将图像用作输入,无需额外预处理,从而节省时间。该数据集虽已按YOLO格式预处理,但要满足所选模型的要求,仍需一些预处理和清理操作。预处理最重要的方面是调整尺寸,为此,向数据集中添加图像时,会将所有图像调整为640×640像素,因为所有图像尺寸相同,算法在训练和推理时运行得更快,卷积神经网络也会因图像尺寸一致而更好地支持全连接层。

在上图中,展示了几种场景实例作为示例。

根据上表,为实现从多个视角读取图像,除左右或上下读取外,还应用了随机翻转。为增加算法多样性,旋转角度设定为约34°。这种数据增强技术有助于算法学习不同的图像近似值和视角,进而提升其对不同图像条件的泛化能力。由于数据集中包含多种条件,部分场景存在多种光照情况。如前所述,上表中应用了随机曝光,以应对数据集中的各种光照场景。这种增强技术对于帮助算法泛化并在不同光照条件下执行任务至关重要。当算法过度拟合错误内容或产生误报时,噪声在改善这些情况方面发挥着关键作用。本数据集使用的方法名为“椒盐噪声”,它会将像素颜色的随机部分转换为黑色或白色。噪声可通过多种方式实现。

调整尺寸是预处理最重要的步骤之一。鉴于卷积神经网络(CNNs)的全连接层要求所有图像采用等尺寸数组,这会加快训练和推理速度。通过防止模型过度拟合输入图像中的特定斑点,旋转成为一项关键的增强技术,确保模型对输入图像的方向不敏感。R(红)、G(绿)、B(蓝)三个矩阵用于表示颜色,而单个黑白范围的矩阵用于表示灰度。将图像转换为灰度的步骤可应用于训练集和测试集,因为这会显著影响计算速度。

为提高算法训练和部署的准确率,采用了随机翻转。由于存在各种光照场景,应用了随机曝光;这一步骤对于帮助模型泛化至关重要,使其能够在不同光照场景下学习执行任务。

以下是分割后的鸟类和无人机图像的几个示例,

如上图所示:该数据集以YOLOv7PyTorch格式生成。为了让计算机识别这些图像中感兴趣的目标,必须对图像进行分类、标记、分割和标注。这将帮助模型理解广泛的场景,进而开展深度学习或机器学习。在图像标注中应用语义分割,以辅助识别单一类别中的物品。该数据集旨在用于测试和训练算法,从而从任何相机模块或从地面检测飞行中的无人机和鸟类。

在上图中,展示了不同类型的数据增强技术,以说明应用于无人机图像的各种变换。此图的目的是展示数据增强的可能性范围,包括旋转、曝光调整、灰度转换、添加噪声、模糊效果和翻转。每种增强技术都作为特定变换的直观呈现,不提供详细说明或具体应用。该图旨在快速概述无人机图像处理中使用的增强类型。

有相关需求的你可以联系我们!

END



转载请联系本公众号获得授权


计算机视觉研究院学习群等你加入!


ABOUT

计算机视觉研究院

计算机视觉研究院主要涉及深度学习领域,主要致力于目标检测、目标跟踪、图像分割、OCR、模型量化、模型部署等研究方向。研究院每日分享最新的论文算法新框架,提供论文一键下载,并分享实战项目。研究院主要着重”技术研究“和“实践落地”。研究院会针对不同领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

往期推荐 

🔗

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/183282
 
15 次点击