Coggle数据科学 | 科大讯飞AI大赛:玉米雄穗识别挑战赛

news2024/11/13 14:45:50

本文来源公众号“Coggle数据科学”,仅用于学术分享,侵权删,干货满满。

原文链接:科大讯飞AI大赛:玉米雄穗识别挑战赛

  • 赛题名称:玉米雄穗识别挑战赛

  • 赛题类型:计算机视觉、物体检测

  • 赛题任务:通过田间图像正确识别植株雄穗,并进行标注。

报名链接:https://challenge.xfyun.cn/topic/info?type=corn-tassel&ch=dw24_AtTCK9

赛事背景

随着中国经济发展和人口增长,对农业生产的需求不断增加,玉米作为重要的粮食作物之一,一直处于国家粮食安全和生态保护的重要位置。玉米制种产业是玉米生产的基础保障。随着玉米制种技术的不断发展,不育系生产由于无需去雄,节省劳动力,已经越来越普及。在玉米种子生产过程中,母本去雄作为种子纯度保障至关重要的环节,准确识别母本去雄后残留雄穗并去除是提升种子质量的重要手段。

赛事任务

在玉米花期,通过田间图像正确识别植株雄穗,并进行标注。

数据说明

本次比赛将会为选手提供玉米处于花期阶段的图片作为数据集,选手需要根据训练集进行训练,对测试集数据进行标定。

评估指标

本赛题对目标检测结果采用F1-score ( IoU0.5 记为TP )进行评价。

赛题 Baseline

  • 划分验证集

import os
import glob
import shutil

os.makedirs('val', exist_ok=True)
os.makedirs('val/labels', exist_ok=True)
os.makedirs('val/images', exist_ok=True)

labels = glob.glob('./train/labels/*')
images = glob.glob('./train/images/*')

labels.sort(); images.sort()

for x, y in zip(labels[-50:], images[-50:]):
    shutil.move(x, 'val/labels/')
    shutil.move(y, 'val/images/')
  • 创建数据集配置

import os
dir_path = os.path.abspath('./') + '/'

# 需要按照你的修改path
with open('yolo.yaml', 'w', encoding='utf-8') as up:
    up.write(f'''
path: {dir_path}/
train: train/
val: val/

names:
    0: tas
''')
  • 训练 YOLO 模型

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"

import warnings
warnings.filterwarnings('ignore')


from ultralytics import YOLO
model = YOLO("yolov8m.pt")
results = model.train(data="./yolo.yaml", epochs=40, device=1, batch=16)
  • 测试集预测

# 加载最优模型
model = YOLO("runs/detect/train5/weights/best.pt")

os.makedirs('submit', exist_ok=True)
test_paths = glob.glob('test/*')

for path in test_paths:
    predictions = model(path, save_txt=None)
    with open("./submit/" + path.split('/')[-1][:-4] + '.txt', '+w') as file:
          for idx, prediction in enumerate(predictions[0].boxes.xywhn): # change final attribute to desired box format
              cls = int(predictions[0].boxes.cls[idx].item())
              # Write line to file in YOLO label format : cls x y w h
              file.write(f"{cls} {prediction[0].item()} {prediction[1].item()} {prediction[2].item()} {prediction[3].item()}\n")

完整代码见:

https://github.com/datawhalechina/competition-baseline/tree/master/competition/%E7%A7%91%E5%A4%A7%E8%AE%AF%E9%A3%9EAI%E5%BC%80%E5%8F%91%E8%80%85%E5%A4%A7%E8%B5%9B2024

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

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

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

相关文章

图的应用(关键路径)

基于你设计的带权有向无环图,写出所有合法的关键路径,并算出关键路径总长度 文字描述:关键路径总长度的现实意义是什么? 1.关键路径 总长度454316 2.现实意义 从源点到汇点的所有路径中,具有最大路径长度的路径称…

MySQL高阶1892-页面推荐2

目录 题目 准备数据 分析数据 总结 题目 您正在为一个社交媒体网站实施一个页面推荐系统。如果页面被user_id的 至少一个朋友喜欢 ,而 不被user_id喜欢 ,你的系统将 推荐 一个页面到user_id。 编写一个解决方案来查找针对每个用户的所有可能的 页面…

感知笔记3:平面和物体检测

识别平面表面:这项技能使机器人能够检测物体通常所在的位置,如桌子和架子。这是搜索物体的第一步。识别物体:一旦您知道在哪里寻找,就必须在场景中识别不同的物体,并根据机器人的位置(坐标系)定…

【STL】pair 与 map:基础、操作与应用

C 标准库中提供了许多用于处理数据结构的容器和工具。pair 和 map 是两个非常有用的工具,广泛应用于存储和处理关联数据。在本文中,我们将详细介绍 pair 与 map 的相关操作,并结合代码实例为读者提供清晰的理解。 pair:成对数据的…

基于SpringBoot+Vue的家政预约平台系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…

powerbi-L8-导入数据时候的动态列

背景: 在数据导入之后刷新的过程中出现了无法刷新的异常报错, 检查后发现是由于原始数据的列的名字变化导致了power BI在处理数据类型的时候 需求 处理方法是什么, ? 方法 动态获取表格的列: 获取数据的时候&#xff…

身份证识别接口的应用场景和作用

引言 在信息化与数字化高速发展的今天,身份证作为个人身份的重要证明文件,在各行各业的应用越来越广泛。传统的身份证信息录入和审核过程通常需要人工操作,不仅效率低下,而且容易出现错误。为了解决这些问题,身份证识别…

iftop流量监控工具

一、iftop简介 iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。 二、安装iftop 1、编译安装 如果采用编译安装可以到iftop官网下载最新的源码包。 1.1 CentOS上安装所需…

学习之使用IDEA集成GIT

一、环境准备 1.1 配置git忽略文件 git.ignore 文件模版内容如下: # Compiled class file *.Class#Log file *.log# BlueJ file *.ctxt# Mobile Tools for Java (J2Me) *.mtj.tmp/# Package File *.jar *.war *.nar *.ear *.zip *.tar.gz *.rar.classpath .project .settings…

基于SSM+Vue+MySQL的酒店管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着旅游业的蓬勃发展,酒店业作为旅游产业链中的重要一环,面临着日益增长的客户需求和激烈的市场竞争。传统的人工酒店管理模式已难以满足高效、精准、个性化的服务要求。因此,开发一套基于SS…

powerBi -L4-分组求和

有如下的表格&#xff1a;我们想统计 不同商品的销售次数&#xff0c;根据商品ID进行分类&#xff0c;统计不同ID出现的次数 1.新建列&#xff1a; 2.输入如下的公式 分组统计序列 COUNTROWS(FILTER(数据源,[商品类别]EARLIER(数据源[商品类别])&&[索引]<EARLIE…

算法学习1

知识点 一.时间复杂度二.排序1.选择排序2.冒泡排序 三.异或交换 一.时间复杂度 列如&#xff1a; //长度为n的整型数组 int arr[n];//循环1 for(int i 0 ;i < n; i) {for(int j i;j < n;j){cout << arr[i] << endl;cout << arr[j] << endl;}…

(c语言+数据结构链表)项目:贪吃蛇

目录 1.项目背景 2.游戏效果演⽰ 3. ⽬标 4. 技术要点 5. Win32 API介绍 5.1 Win32 API 5.2 控制台程序 5.3 控制台屏幕上的坐标COORD 5.4 GetStdHandle 5.5 GetConsoleCursorInfo 5.5.1 CONSOLE_CURSOR_INFO 5.6 SetConsoleCursorInfo 5.7 SetConsoleCursorPositi…

统计项目代码行数工具—cloc

目录 引言一、cloc简介二、cloc安装三、cloc使用四、参考博客 引言 项目开发完成&#xff0c;想要查看自己项目的代码行数&#xff0c;强烈推荐一款非常好用的命令行工具-cloc。 一、cloc简介 只需要通过命令行的方式运行cloc&#xff0c;就可以得知指定文件代码行数、注释函…

java--章面向对象编程(高级部分)

类变量和类方法 类变量 类变量内存布局 什么是类变量 类变量也叫 静态变量/静态属性&#xff0c;是该类的所有对象共享的变量&#xff0c;任何一个该类的对象去访问它时&#xff0c;取到的都是相同的值&#xff0c;同样任何一个该类的对象去修改它时&#xff0c;修改的也是同…

基于flask+vue框架的传染病防控酒店信息系统zvt93(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;患者,服务人员,病房类型,病房信息,病房分配,需求箱,商品分类,商品信息,购买商品,分配反馈,健康上报,患者信息,患者分配 开题报告内容 基于flaskvue框架的传染病防控酒店信息系统开题报告 一、项目背景 在全球公共卫生事件频发的背景下…

排序-----选择排序

首先介绍几种排序的分类&#xff1a; 选择排序是每次都遍历&#xff0c;标记出最小的元素&#xff0c;然后把它放在前面。 本文介绍优化后的版本&#xff1a;每次遍历标记出最小的和最大的元素&#xff0c;分别放到前面和后面。&#xff08;注意这里是找到对应的下标&#xff0…

【Python报错已解决】To update, run: python.exe -m pip install --upgrade pip

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

如何使用ssm实现基于Javaweb的网上花店系统的设计与实现

TOC ssm653基于Javaweb的网上花店系统的设计与实现jsp 研究背景 自计算机发展以来给人们的生活带来了改变。第一代计算机为1946年美国设计&#xff0c;最开始用于复杂的科学计算&#xff0c;占地面积、开机时间要求都非常高&#xff0c;经过数十几的改变计算机技术才发展到今…

docker部署个人网页导航

1&#xff09;效果展示 2&#xff09;步骤 2.1&#xff09;往期部署docker自行查找 2.2&#xff09;CV命令 mkdir ~/onenav&&cd ~/onenav vi docker-compose.yml粘贴内容 version: 3 services:onenav:container_name: onenav #容器名称ports:- "3080:80"…