基于yolov8的SAR影像目标检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】

  更多目标检测、图像分类识别、目标追踪等项目可看我主页其他文章

功能演示:

基于yolov8的SAR影像目标检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili

(一)简介

基于yolov8的SAR影像目标检测系统在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的模型权重,模型训练记录,GUI界面和各种模型指标(准确率、精确率、召回率等)等。

GUI界面由pyqt5设计实现,可用笔记本摄像头或者外接USB摄像头

该项目是在pycharm和anaconda搭建的虚拟环境执行,pycharm和anaconda安装和配置可观看教程:

超详细的pycharm+anaconda搭建python虚拟环境_pycharm anaconda环境搭建-CSDN博客

(二)项目介绍

1. 模型训练、验证

​该项目可以使用已经训练好的模型权重,也可以自己重新训练,自己训练也比较简单:

第一步:修改data/data.yaml中的数据集路径

​​

第二步:模型训练与验证,即运行train.py文件 

第三步:使用模型,即运行gui.py文件即可通过GUI界面来展示模型效果

2. 数据集 

​​​​​

部分数据展示: 

​​​​

3.GUI界面(技术栈:pyqt5+python) 
a.GUI初始界面

b.图像检测界面

​​

c.视频或摄像实时检测界面 

​​

4.模型训练和验证的一些指标及效果

​​

​​

 ​​

(三)代码

由于篇幅有限,只展示核心代码

    def upload_img(self):"""上传图片"""# 选择录像文件进行读取self.comboBox.setDisabled(False)self.pushButton_4.setEnabled(False)# 上传图像fileName, fileType = QFileDialog.getOpenFileName(self, 'Choose file', '', '*.jpg *.png *.tif *.jpeg')if fileName:self.file_path = fileName"""检测图片"""org_path = self.file_path# 目标检测t1 = time.time()# 图像检测results = self.model.predict(source=org_path, imgsz=self.output_size, conf=self.conf_threshold)[0]names = results.namest2 = time.time()self.label_6.setText('{:.3f} s'.format(t2 - t1))now_img = results.plot()# 调整图像大小self.resize_scale = self.output_size / now_img.shape[0]im0 = cv2.resize(now_img, (0, 0), fx=self.resize_scale, fy=self.resize_scale)cv2.imwrite("images/tmp/single_result.jpg", im0)# 自适应图像大小self.label_3.setScaledContents(True)# 显示图像self.label_3.setPixmap(QPixmap("images/tmp/single_result.jpg"))# 获取位置信息location_list = results.boxes.xyxy.tolist()location_list = [list(map(int, e)) for e in location_list]# 获取类别信息cls_list = results.boxes.cls.tolist()cls_list = [int(i) for i in cls_list]# 获取置信度信息conf_list = results.boxes.conf.tolist()conf_list = ['%.2f %%' % (each * 100) for each in conf_list]# 目标总数total_nums = len(location_list)self.label_11.setText(str(total_nums))choose_list = ['全部']target_names = [names[id] + '_' + str(index) for index, id in enumerate(cls_list)]choose_list = choose_list + target_names# 复合框信息self.comboBox.clear()self.comboBox.addItems(choose_list)self.results = resultsself.names = namesself.cls_list = cls_listself.conf_list = conf_listself.location_list = location_list# 显示目标框if total_nums >= 1:# 渲染类别和置信度信息self.label_16.setText(names[cls_list[0]])self.label_15.setText(str(conf_list[0]))#   默认显示第一个目标框坐标#   设置坐标位置值self.label_13.setText(str(location_list[0][0]))self.label_19.setText(str(location_list[0][1]))self.label_21.setText(str(location_list[0][2]))self.label_23.setText(str(location_list[0][3]))else:# 清空显示框self.label_16.setText(' ')self.label_15.setText(' ')self.label_13.setText(' ')self.label_19.setText(' ')self.label_21.setText(' ')self.label_23.setText(' ')

(四)总结

以上即为整个项目的介绍,完整的项目包括代码,数据集,训练好的模型权重,模型训练记录,GUI界面和各种模型指标等 

整个项目包含全部资料,一步到位,省心省力

若项目使用过程中出现问题,请及时交流!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/63482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32开发 云调试

https://blog.csdn.net/weixin_43794311/article/details/128722001 VScode支持的仿真平台 https://docs.wokwi.com/zh-CN/vscode/getting-started 编译:Ctrl Alt B上传并重启模拟器:CtrlShifB Wokwi:Start Simulator调试:CtrlShifB Wokwi…

模版方法模式的理解和实践

在软件开发中,设计模式为我们提供了一套经过验证的解决方案,用于解决常见的设计问题。其中,模版方法模式(Template Method Pattern)是一种行为设计模式,它定义了一个算法的框架,并允许子类在不改…

MySQL--》如何在SQL中巧妙运用函数与约束,优化数据处理与验证?

目录 函数使用 字符串函数 数值函数 日期函数 流程函数 约束 函数使用 函数是指一段可以直接被另一段程序调用的程序或代码,在mysql当中有许多常见的内置函数,接下来开始对这些内置函数及其作用进行简单的讲解和使用: 字符串函数 my…

归有光,情感与真实的独行者

归有光,字熙甫,号震川,生于明孝宗弘治十年(公元1507年),卒于明穆宗隆庆五年(公元1571年),享年64岁。他是中国明代著名的散文家、文学家和史学家,其散文风格清…

计算机网络-Wireshark探索ARP

使用工具 Wiresharkarp: To inspect and clear the cache used by the ARP protocol on your computer.curl(MacOS)ifconfig(MacOS or Linux): to inspect the state of your computer’s network interface.route/netstat: To inspect the routes used by your computer.Brows…

Vue3小兔鲜电商项目

创建项目 npm install 装包

美畅物联丨视频接入网关如何配置 HTTPS 证书

在安防领域,视频接入网关(Video Access Gateway,VAG)是视频监控系统的重要组成部分,其职责是把视频数据从前端设备传输至后端服务器。配置HTTPS证书后,可对视频流进行加密传输,避免数据在网络传…

fastcam编程套料软件

Fastcam是一款功能强大的专业软件,以下是对它的具体介绍: 基本信息 • Fastcam自1982年推出首个交互式CNC编程和套料系统后,一直不断更新发展. • 它是为数控火焰、等离子、激光和水射流切割机等数控切割机开发的编程套料软件. 主要功能模…

【大语言模型】LangChain ModelsIO与Models I/O Promopts详解

【大语言模型】LangChain ModelsIO与Prompts详解 一、LangChain ModelsIO1、简介2、Models I/O 的应用场景3、Models I/O 主要模块3.1、Prompts3.2、Modelsa、MESSAGES 类型 3.3、Output Parsers 二、LangChain ModelsIO Prompts1、简介2、Prompts 的优点3、实战示例3.1、Promp…

MicroBlaze软核开发(三):DDR + FLASH

实现功能:使用 MicroBlaze软核,配置 DDR、Flash 接口,并将程序烧写固化到Flash,每次启动 FPGA 时自动运行 Flash 中的程序 。 Vivado版本:2018.3 FPGA:Xilinx Artix-7 系 目录 引言 Vivado部分&#xff1…

11.23[大数据]

PRO1:LSTM模型预测输出都是同一个值? 画出来的图像就是一条横线 这个搜了搜,原因可能有很多,但感觉最主要的原因极可能是激活函数选择不当,以及层的搭建不合适 原模型是 REF https://zhuanlan.zhihu.com/p/654325094 https:/…

基于SpringBoot+Vue的新闻管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网技术的飞速发展,信息传播速度不断加快,新闻媒体行业面临着巨大的机遇与挑战。传统的新闻媒体正在逐渐向数字化转型,而新闻管理系统作为数字化新闻媒体的核心组成部分,其…

【C语言】完成程序设计填空

文章目录 1、请阅读下面的程序,在空白处填写正确的代码,要求各在一行从头开始输出m和n的值。2、求100~599之间的所有水仙花数,即各位数字的立方和恰好等于该数本身的数。3、以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序 拆分并输出。请填空…

MySQL-DDL之数据表操作

文章目录 一. 表的创建1. 表的创建2. 栗子 二. 查看表1. 查看数据库中的所有表2. 查看表结构 三. 删除表1. 删除表 四. 修改表结构1. 添加字段2. 修改字段3. 删除字段4. 修改表名 数据定义语言:简称DDL(Data Definition Language) 一. 表的创建 1. 表的创建 格式&…

【开源安全保护】如何安装JumpServer堡垒机

【开源安全保护】如何安装JumpServer堡垒机 什么是堡垒机 大家好,我是星哥,今天我以前来认识堡垒机 堡垒机(Bastion Host),也称为跳板机(Jump Server),是指在计算机网络中&#x…

【经典论文阅读】DDPM(Diffusion)

DDPM(Diffusion) denoising diffusion probabilistic models 【生成模型】DDPM概率扩散模型(原理代码)-CSDN博客 【DDPM】一文看懂去噪扩散概率模型,公式讲解、代码实现与最全详解(一)-CSDN博客 【DDPM】…

重拾Java:穿越最具多功能性的编程语言之旅

你知道Java是世界上最广泛使用的编程语言之一吗?无论是用于Web应用、企业系统,还是Android开发,Java始终是各级开发者的可靠选择。 在完成SESI SENAI的系统开发技术培训后,我决定重新学习这门语言。现在,我将其与我正…

MySQL--用户权限

1.使用root用户登录MySQL客户端,创建一个名为userl的用户,初始密码为123456;创建一个名为user2的用户,无初始密码。然后,分别使用uesr1、user2登录MySQL 客户端。 创建两个用户 使用user1登录 使用user2登录 2.使用root用户登录&a…

LabVIEW断路器检测系统

随着电网技术的快速发展,对电力系统的可靠性和安全性要求不断提高,塑壳断路器作为关键的保护设备,其出厂前的检测非常重要。开发了一种基于LabVIEW软件平台开发的塑壳断路器智能脱扣器检测系统,该系统能够有效提高检测的自动化水平…

Python实现Excel中数据条显示

Python中要实现百分比数据条的显示,可以使用pandas库,pandas图表样式的设置与Excel中的条件格式设置比较类似,比如Excel里常用的数据条的用法,在pandas中使用代码进行高亮显示,用来突出重点数据,下面一起来…