2023讯飞AI开发者大赛-基于可见光图像的柑橘花果梢语义分割挑战赛-初赛记录

news2024/11/23 2:10:18

初识数据

注册账号后下载数据集
在这里插入图片描述
文件目录如下:
在这里插入图片描述
test中image有75张图片,train中image有225张图,对应json中的225个标注文件,是labelme导出的。训练:测试 遵循3:1原则。

在这里插入图片描述
图片分辨率为608*608; 观察文件名,均以shoot数字_数字命名,可推测原始拍摄为高清大图,第一个数字代表第几张大图,第二个数字代表从该大图中截取的第几张小图

标注导出

json格式的标注需要导出为像素图,导出方法很多,由于已知是labelme格式的文件,所以用该工具转化最方便。步骤如下

1.新建环境

之前其实已经在base安装过labelme库了,但就是找不到那个exe(转化要用),所以直接新建(推荐)一个虚拟环境,重新pip install
在这里插入图片描述

2.批量转化

找到该exe文件,路径大致如图
C:\ProgramData\miniconda3\envs\pyqt\Scripts\labelme_json_to_dataset.exe
在这里插入图片描述
接着运行如下代码,路径记得修改

import os
path = 'D:\Datasets\Orange\\train\json'  # path为labelme标注后的.json文件存放的路径
json_file = os.listdir(path)
for file in json_file:
    os.system("C:\ProgramData\miniconda3\envs\pyqt\Scripts\labelme_json_to_dataset.exe  %s"% (path + '/' + file))

生成一个文件夹,for循环运行完是多个
在这里插入图片描述
其中四个文件
在这里插入图片描述

用代码将每个文件夹下的label以及label_viz按相应名字移走,结果如下
在这里插入图片描述
主要是要labels去训练,label_vizs就是看看
在这里插入图片描述

预实验

数据集标注质量不好,从436_5到526_3有53个样本标注较粗糙,疑似多人标注
左图右图差别较大
在这里插入图片描述

使用提供的base代码结果为0.67
提供的base代码
在这里插入图片描述

提交过程

预处理

一些基础的数据增强,减少颜色、位置、大小等影响。

模型改进

由于要经常换backbone,有个像工具包的环境会好很多,如paddle,mmseg等都可以。
陆陆续续用deeplabv3,deeplabv3+,fcn,pspnet等跑过,追求速度backbone都用的r50,效果一般,比base好个0.2-0.3,其中最好的是psp,精度70%,故后续选psp作为待改进网络
在这里插入图片描述


对数据做了少量增强augdata,精度涨了1%
在这里插入图片描述


不相信deeplabv3系列干不过psp,还是在augdata上跑了这两个网络,对deeplabv3系列死心
在这里插入图片描述


Psp中加入eca,发现精度下降了
在这里插入图片描述


把损失函数换了一下,发现r50的基础上涨了点;一星期后把r50换r101,又稍微增强了数据集augdata2,精度涨至72.4%
在这里插入图片描述


后试图用transformer,训练了80K,训练精度是最高的98%,测试结果很惨,感觉它太准确了,训练数据较少,以至于过拟合了
在这里插入图片描述


试图用crf做后处理,跑通了,但结果最差,可能是要调参的问题,没时间调了放弃该做法
在这里插入图片描述


试图加入cbam机制,结果一般
在这里插入图片描述


做最后一次数据增强,一张图变13张图。加入se,精度涨了一点点,精度72.9%
在这里插入图片描述
在这里插入图片描述


用ocrnet,表现还可以
在这里插入图片描述

后处理

对已有的五种网络的结果进行投票融合,分别为psp,ocr,uper,deepv3系列
在这里插入图片描述
精度涨了1%,此时排名12
在这里插入图片描述


对之前标注不清楚的部分结果做平滑处理,即腐蚀膨胀操作,k_size=5。结果涨了2%,此时排名3
在这里插入图片描述


参数k_size=8,对这20张图平滑
在这里插入图片描述
结果涨了一点,实时排名1。初赛最终排名2
在这里插入图片描述


复赛提交了几次,卷不动+其他原因,弃了弃了。

总结

见识了更多的预处理方法,建模过程简单接触了transformer,简单了解后处理操作。更合理的调参有待学习。

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

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

相关文章

到江西赣州ibm维修服务器之旅-联想X3850 x6黄灯故障

2023年08月15日,一位江西赣州工厂客户通过朋友介绍与冠峰售前工程师取得联系,双方对产品故障前后原因沟通的大致情况如下: 服务器型号:Lenovo system x3850 x6 为用户公司erp仓库服务器 服务器故障:正常使用过程中业…

YOLOV8改进:加入RCS-OSA模块,提升检测速度

1.该文章属于YOLOV5/YOLOV7/YOLOV8改进专栏,包含大量的改进方式,主要以2023年的最新文章和2022年的文章提出改进方式。 2.提供更加详细的改进方法,如将注意力机制添加到网络的不同位置,便于做实验,也可以当做论文的创新点。 2.涨点效果:RCS-OSA模块更加轻量化,有效提升检…

广联达OA前台sql注入+后台文件上传漏洞复现分析

文章目录 前言资产特征前台sql注入后台文件上传解决办法 前言 最近看到广联达OA的前端sql注入和后端文件上传漏洞联动的poc 广联达科技股份有限公司以建设工程领域专业应用为核心基础支撑,提供一百余款基于“端云大数据”产品/服务,提供产业大数据、产业…

力扣 198. 打家劫舍

题目来源:https://leetcode.cn/problems/house-robber/description/ C题解:因为是间接偷窃,所以偷nums[i]家前,一定偷过第i-2或者i-3家,因为i-1不能偷。 例如12345共5家,先偷第1家,那么2不能偷…

ChatGLM-RLHF(七)-PPO实践(Proximal Policy Optimization)原理实现代码逐行注释

从open AI 的论文可以看到,大语言模型的优化,分下面三个步骤,SFT,RM,PPO,我们跟随大神的步伐,来学习一下这三个步骤和代码实现,本章介绍PPO实践。 生活中,我们经常会遇到…

水库大坝安全监测MCU,提升大坝管理效率的利器!

水库大坝作为防洪度汛的重要设施,承担着防洪抗旱,节流发电的重要作用。大坝的安全直接关系到水库的安全和人民群众的生命财产安全。但因为水库大坝的隐患不易被察觉,发现时往往为时已晚。因此,必须加强对大坝的安全管理。其安全监…

最长递增子序列——力扣300

int lengthOfLIS(vector<int>& nums) {int len=1, n=nums.size();if

MCA Recovery简介

概述 1、MCA Recovery – Execution Path 软件层辅助从不可纠正的数据错误恢复&#xff1b; 1&#xff09;处理器识别到硬件不可纠正错误&#xff0c;打上数据腐烂标签&#xff0c;事件交由固件或OS处理。 2&#xff09;如果固件/OS有冗余数据备份&#xff0c;可以被纠正&#…

图像去雨、去雪、去雾论文学习记录

All_in_One_Bad_Weather_Removal_Using_Architectural_Search 这篇论文发表于CVPR2020&#xff0c;提出一种可以应对多种恶劣天气的去噪模型&#xff0c;可以同时进行去雨、去雪、去雾操作。但该部分代码似乎没有开源。 提出的问题&#xff1a; 当下的模型只能针对一种恶劣天气…

基于主题的情绪分析:将主题建模与情绪分析联系起来

一、说明 朋友们&#xff0c;大家好&#xff01;现在我们学习了如何在Twitter数据上进行主题建模和情感分析&#xff0c;但我们还没有将这两种技术联系在一起。我们如何获得与每个主题相对应的情绪&#xff1f;在这篇文章中&#xff0c;我将向您展示进行基于主题的情绪分析的方…

Kubernetes 企业级高可用部署

1、Kubernetes高可用项目介绍 单master节点的可靠性不高&#xff0c;并不适合实际的生产环境。Kubernetes 高可用集群是保证 Master 节点中 API Server 服务的高可用。API Server 提供了 Kubernetes 各类资源对象增删改查的唯一访问入口&#xff0c;是整个 Kubernetes 系统的数…

云原生 AI 工程化实践之 FasterTransformer 加速 LLM 推理

作者&#xff1a;颜廷帅&#xff08;瀚廷&#xff09; 01 背景 OpenAI 在 3 月 15 日发布了备受瞩目的 GPT4&#xff0c;它在司法考试和程序编程领域的惊人表现让大家对大语言模型的热情达到了顶点。人们纷纷议论我们是否已经跨入通用人工智能的时代。与此同时&#xff0c;基…

linux pwn 相关工具

环境搭建 虚拟机安装 镜像下载网站为了避免环境问题建议 22.04 &#xff0c;20.04&#xff0c;18.04&#xff0c;16.04 等常见版本 ubuntu 虚拟机环境各准备一份。注意定期更新快照以防意外。虚拟机建议硬盘 256 G 以上&#xff0c;内存也尽量大一些。硬盘大小只是上界&#…

RocketMQ、Dashboard部署以及安全设置

RocketMQ、dashboard部署以及安全设置 一、启动RocketMQ1.1 下载RocketMQ1.2 修改配置文件1.2.1 修改nameServer Jvm内存配置1.2.2 修改broker参数 1.3 启动1.3.1 启动NameServer1.3.2 启动Broker1.3.3 测试是否启动成功1.3.3.1 测试消息发送1.3.3.2 测试消息接收1.3.3.3 Java程…

SSM——用户、角色、权限操作

1. 数据库与表结构 1.1 用户表 1.1.1 用户表信息描述 users 1.1.2 sql语句 CREATE TABLE users( id varchar2(32) default SYS_GUID() PRIMARY KEY, email VARCHAR2(50) UNIQUE NOT NULL, username VARCHAR2(50), PASSWORD VARCHAR2(50), phoneNum VARCHAR2(20), STATUS INT…

Ceph入门到精通-Aws Iam(user,role,group,policy,resource)架构图和快速入门

-- Aws Iam(identity,user,role,group,policy,resource,)架构图和快速入门. 【官网】&#xff1a;Cloud Computing Services - Amazon Web Services (AWS) 应用场景 aws 云服务运维,devops过程中经常涉及各项服务&#xff0c;权限&#xff0c;角色的处理。 为了更好的使用各项…

C语言入门 Day_4 小数 字符和常量

目录 前言 1.浮点型 2.字符型 3.易错点​​​​​​​ 4.思维导图 前言 我们学习了C语言中用来表示整数的数据类型&#xff1a;整型&#xff08;int&#xff09;&#xff0c;今天我们会学习用来表示小数的数据类型&#xff1a;浮点型&#xff08;float&#xff09; 1.浮点型 …

tinymce动态生成

最近在做一个vue项目, 其中用到了富文本tinymce插件,界面上需要有多个编辑器, 界面如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/f029b487c799482d8d53c2c31e07ccad.png 这里点击添加按钮, 需要动态添加tinymce组件 页面的元素 // item是v-for循环中的对象 <…

【第三阶段】kotlin语言的split

const val INFO"kotlin,java,c,c#" fun main() {//list自动类型推断成listList<String>val listINFO.split(",")//直接输出list集合&#xff0c;不解构println("直接输出list的集合元素&#xff1a;$list")//类比c有解构&#xff0c;ktoli…