项目:基于yolov5的舰船检测+pycharm+机器学习+图像检测

项目:基于yolov5的舰船检测+pycharm+机器学习+图像检测

项目将深度学习的方法引入海洋目标的检测,利用深度神经网络模型强大的学习能力和模型通用性,来实现准确、可靠和快速的目标自动检测和识别,为海洋领域里不同目标的检测、定位和识别等多种应用需求提供技术支持,她对航海运输、海上搜救等都有实际意义。

· SAR图像特点
· 应用举例:AIS(Automatic Identification System)信息融合、灾害监测、海洋监测、资源勘探、测绘和军事
· 作用:有助于航运交通的目标监测和管理
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目流程与结果
1 工程环境的搭建
首先,安装python3.6,并安装pycharm2019作为python的环境IDE。因为训练神经网络的电脑是win10且没有显卡,所以我们采用CPU模式。
打开Pycharm,打开Project,然后开始安装所缺少的库。由于系统版本的不同,所需要安装的库也略有不同。可以把train.py、detect.py和test.py这几个文件点开,看Pycharm的提示进行安装库。
2 SAR图像的标注与数据集的制作
由于开源的SAR图库和SAR图像船舶标注较少,因此,需要用图像标注软件LabelImg对SAR图像下的舰船进行标注。标注示例如下图所示:
标注舰船时要注意区分海岛和舰船,一般海岛形状不规则,且亮度不均匀;而舰船一般为条状亮点,有行驶尾迹。用LabelImg标注后可以生成记录图片中目标位置信息的文件,可以用来训练自己的YOLO网络模型,使之具有检测SAR图像下舰船特征的能力。
其中,标注后生成的文件存储的是标注物的起点坐标(x,y),目标框宽与高(w,h)等数据。每行代表一个目标,各元素分别是:种类(ship)、4个坐标。标注之后的数据集如下所示:
从数据集下载下来Annotations(标注)、JPEGImages(图片)两个文件夹,将他们复制到YOLOV5工程目录下的data文件夹下,然后将JPEGImages文件夹复制一下,并重命名为images,最后在data下新建两个空文件夹,分别命名为ImageSets和labels,建立工程文件编写代码。
再进行迁移学习,修改cfg文件中网络的结构,主要是yolo层前一层的Conv层的卷积核个数。需要将filters=255改为filters=18,即: anchor个数3x(种类数+bbox4个坐标+bbox信度)。将yolo层的class=80改为class=1,即类数。
修改train.py中main函数的parser参数,主要是yolo.cfg文件位置,rbc.data文件位置,还有epochs、batch size等超参数,直接运行就好了。
测试detect.py,测试图片位置默认在data/images输出在runs/detect/exp文件夹。
在这里插入图片描述
在处理图像的基础上我们也可以处理视频,不过在处理时间上有些长。视频处理的原理基础是将视频顺序截取,然后再对图像进行检测。但目前对图像检测的成果还不是十分优秀,我们训练的YOLO v5网络对视频有一定的检测能力,但由于视频清晰度不够,舰船过小,环境过于复杂等原因,对检测有一定阻碍。由于港口SAR视频较少,用以上视频作为示例,证明我们训练的网络可以检测有舰船特性的目标。若想增强视频检测能力可以增加不同环境下的数据集训练,但有可能降低实时性。
在现如今随人们对AI的运用能力大大提高,运用神经网络检测图像已经不是意见很难实现了。但是在未来对神经网络检测图像的发展中仍然有很多需要完善的地方。首先,完善所制作的SAR图像数据集,并将其用来训练YOLO v5模型,使之能识别SAR图像下的舰船特征。其次,优化网络,降低漏检错检概率。
在这里插入图片描述

在这里插入图片描述
我的视频演示见:【剪辑-哔哩哔哩】 https://b23.tv/N0LsAvc

数据集标注:https://app.roboflow.com/
工程源码:https://github.com/ultralytics/yolov5
(使用上述源码进行二次开发)
使用在线GPU训练模型:https://colab.research.google.com/

  • 4
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
基于YOLOv8的车辆+车牌检测系统源码(部署教程+训练好的模型+各项评估指标曲线).zip 平均准确率:0.96 类别:car、plate 【资源介绍】 1、ultralytics-main ultralytics-main为YOLOv8源代码,里面涵盖基于yolov8分类、目标检测额、姿态估计、图像分割四部分代码,我们使用的是detect部分,也就是目标检测代码 2、搭建环境 安装anaconda 和 pycharm windows系统、mac系统、Linux系统都适配 在anaconda中新建一个新的envs虚拟空间(可以参考博客来),命令窗口执行:conda create -n YOLOv8 python==3.8 创建完YOLOv8-GUI虚拟空间后,命令窗口执行:source activate YOLOv8 激活虚拟空间 然后就在YOLOv8虚拟空间内安装requirements.txt中的所有安装包,命令窗口执行:pip install -r requirements.txt 使用清华源安装更快 3、训练模型过程 进入到\ultralytics-main\ultralytics\yolo\v8\detect\文件夹下,datasets即为我们需要准备好的数据集,训练其他模型同理。 data文件夹下的bicycle.yaml文件为数据集配置文件,该文件为本人训练自行车检测模型时创建,训练其他模型,可自行创建。博文有介绍https://blog.csdn.net/DeepLearning_?spm=1011.2415.3001.5343 train.py中238行,修改为data = cfg.data or './bicycle.yaml' # or yolo.ClassificationDataset("mnist") 237行修改自己使用的预训练模型 若自己有显卡,修改239行,如我有四张显卡,即改成args = dict(model=model, data=data, device=”0,1,2,3“) 以上配置完成后运行train.py开始训练模型,训练完毕后会在runs/detect/文件夹下生成train*文件夹,里面包含模型和评估指标等 4、推理测试 训练好模型,打开predict.py,修改87行,model = cfg.model or 'yolov8n.pt',把yolov8n.pt换成我们刚才训练完生成的模型路径(在\ultralytics-main\ultralytics\yolo\v8\detect\runs\detect文件夹下),待测试的图片或者视频存放于ultralytics\ultralytics\assets文件夹, 运行predict.py即可,检测结果会在runs/detect/train文件夹下生成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sr_shirui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值