4.3 AI识虫比赛

2023-11-13

一、查看环境并准备数据

# 查看当前挂载的数据集目录, 该目录下的变更重启环境后会自动还原
!ls /home/aistudio/data
# 查看工作区文件, 该目录下的变更将会持久保存. 请及时清理不必要的文件, 避免加载过慢.
!ls /home/aistudio/work
anchor_lables.py  draw_results.py    multinms.py	reader.py
box_utils.py	  eval.py	     output_pic.png	train.py
calculate_map.py  image_utils.py     predict.py		yolo_epoch50.pdparams
darknet.py	  insects_reader.py  pred_results.json	yolov3.py
draw_anchors.py   map_utils.py	     __pycache__
# 将数据解压缩到 /home/aistudio/work目录下面
# 初次运行时需要将代码注释取消
!unzip -d /home/aistudio/work /home/aistudio/data/data67206/insects.zip
# 进入工作目录  /home/aistudio/work
%cd  /home/aistudio/work
# 查看工作目录下的文件列表
!ls
anchor_lables.py  draw_results.py    map_utils.py	__pycache__
box_utils.py	  eval.py	     multinms.py	reader.py
calculate_map.py  image_utils.py     output_pic.png	train.py
darknet.py	  insects	     predict.py		yolo_epoch50.pdparams
draw_anchors.py   insects_reader.py  pred_results.json	yolov3.py

二、启动训练

通过运行train.py 文件启动训练,训练好的模型参数会保存在/home/aistudio/work目录下。

!python train.py

三、启动评估

通过运行eval.py启动评估,需要制定待评估的图片文件存放路径和需要使用到的模型参数。评估结果会被保存在pred_results.json文件中。

  • 为了演示计算过程,下面使用的是验证集下的图片./insects/val/images,在提交比赛结果的时候,请使用测试集图片./insects/test/images

  • 这里提供的yolo_epoch50.pdparams 是未充分训练好的权重参数,请在比赛时换成自己训练好的权重参数

# 在测试集test上评估训练模型,image_dir指向测试集集路径,weight_file指向要使用的权重路径。
# 参加比赛时需要在测试集上运行这段代码,并把生成的pred_results.json提交上去
!python eval.py --image_dir=insects/test/images --weight_file=yolo_epoch50.pdparams 
# 在验证集val上评估训练模型,image_dir指向验证集路径,weight_file指向要使用的权重路径。
!python eval.py --image_dir=insects/val/images --weight_file=yolo_epoch50.pdparams 

计算精度指标

通过运行calculate_map.py计算最终精度指标mAP

  • 同学们训练完之后,可以在val数据集上计算mAP查看结果,所以下面用到的是val标注数据./insects/val/annotations/xmls

  • 提交比赛成绩的话需要在测试集上计算mAP,本地没有测试集的标注,只能提交json文件到比赛服务器上查看成绩

!python calculate_map.py --anno_dir=insects/val/annotations/xmls/ --pred_result=pred_results.json 
Accumulating evaluatation results...
mAP(0.50, 11point) = 71.97

四、预测单张图片并可视化预测结果

!python predict.py --image_name=./insects/test/images/3157.jpeg --weight_file=./yolo_epoch50.pdparams
# 预测结果保存在“/home/aistudio/work/output_pic.png"图像中,运行下面的代码进行可视化
# 可视化检测结果
from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline

img = Image.open("/home/aistudio/work/output_pic.png")

plt.figure("Object Detection", figsize=(15, 15)) # 图像窗口名称
plt.imshow(img)
plt.axis('off') # 关掉坐标轴为 off
plt.title('Bugs Detestion') # 图像题目
plt.show()

png

五、提升方案

这里给出的是一份基础版本的代码,可以在上面继续改进提升,可以使用的改进方案有:

  • 1、使用其它模型如faster rcnn等 (难度系数5)

  • 2、使用数据增强,可以对原图进行翻转、裁剪等操作 (难度系数3)

  • 3、修改anchor参数的设置,教案中的anchor参数设置直接使用原作者在coco数据集上的设置,针对此模型是否要调整 (难度系数3)

  • 4、调整优化器、学习率策略、正则化系数等是否能提升模型精度 (难度系数1)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4.3 AI识虫比赛 的相关文章

  • node.js学习

    一 基础知识 1 终端 shell命令 dir 列出当前目录下所有路径 表示当前目录 表示上一级目录 md 目录名 新建文件 rd 目录名 删除文件 文件名 直接打开文件 2 环境变量 windows系统中的变量 配置path 当在命令行窗
  • 数字图像处理之二维码图像提取算法(十一)

    check ratio requirement b w b w b 1 1 3 1 1 bool qr checkRatio totalFinderSize 0 for int i 0 i lt 5 i int count stateCou
  • vue项目PC端屏幕分辨率与窗口大小自适应

    效果 mermaid svg O0n9N0Pq5xuLBK3e label font family trebuchet ms verdana arial font family var mermaid font family fill 33
  • java求数组中,某个值连续出现次数最多的数的次数

    这次遇到的问题是 要在一个数组中找到连续出现次数最多的数的次数 下面的数组 我想拿到0的连续出现次数最多的次数 连续出现3次 第一次0连续出现一次 第二次连续出现2次 第三次连续出现6次 我要拿到6次这个东西 int s 0 1 0 0 1

随机推荐

  • 信息物理系统(CPS)之吾之愚见

    信息物理系统 CPS 是这两年比较热门的研究方向 下面我就从定义 结构等2个方面浅谈一下 如有错误之处请多指教 信息物理系统是集成计算 通信与控制于一体的下一代智能系统 通过人机交互接口实现和物理进程的交互 使用网络化空间以远程的 可靠的
  • 利用python处理excel

    本宝宝有个工作中 需要报送个人所得税 其实以前我写过一个集成报送各年金税金vba的小代码 但是因为新接的任务数据量太大 vba可能会假死 即使能处理 也因为最近在自学python 所以想尝试用python 我的思路是 把报税模板复制出来 然
  • verilog中已知系统时钟频率和波特率可知传输一位数据所需周期和边沿检测电路

    设时钟频率为 clk 50MHZ 50 000 000 HZ 波特率为 bound 115200 位 秒 每秒可以传输115200位数据 传输一位数据所需周期数为 T cnt clk bound 50 000 000 115200 其中选择
  • 究竟深度学习在干什么?

    来源 人机与认知实验室 概要 深度学习取得了巨大的成功 这是无容置疑的 对此 我们不必再多说什么 但是 其理论基础仍然有很大的空白 深度学习取得了巨大的成功 这是无容置疑的 对此 我们不必再多说什么 但是 其理论基础仍然有很大的空白 例如
  • 10 种常用的字符串方法

    10 种常用的字符串方法 1 concat 字符串拼接 const str1 12345678 const str2 abcdefgh const str3 console log str1 concat str2 str3 1234567
  • Linux下TCP通信在两个虚拟机上连接失败,使用回环地址正常

    Linux下TCP通信在两个虚拟机上连接失败 情况描述 在一台虚拟机上使用回环地址 127 0 0 1 时一切正常 当部署到两台虚拟机 局域网下同网段 上时出现连接失败的情况 解决办法 首先使用命令nc z v
  • TCP客户端与服务端建立以及测试——缇友的python学习笔记

    一 客户端创建以及测试 书写代码 import socket if name main tcp test socket socket socket socket AF INET socket SOCK STREAM 创建tcp套接字 AF
  • 肠道细菌四大“门派”——拟杆菌门,厚壁菌门,变形菌门,放线菌门

    一般在肠道菌群健康检测报告中 会有主要菌属构成比例 类似下图 图源 谷禾肠道菌群健康检测报告我们可以看到图中列举了拟杆菌门 厚壁菌门 等 很多小伙伴拿到报告之后 对于这些细菌门表示困惑 这些细菌门都代表了什么意思 某个细菌门比例高了会怎么样
  • 微信小程序调用腾讯地图,获取当前位置得到数据有偏差以及不同软件,不同坐标之间的转换Gcoord

    前言 在微信小程序中调用腾讯本家地图后 发现有偏差 而且距离还不小 在找了很多资料后 发现网上的资料很多都是挂羊头卖狗肉 都是坐标轴之间的互转 比如腾讯的坐标和百度坐标之间的转换 还起的名字是解决小程序的偏移问题 被误导了很久 也找了很多资
  • JAVA入门到精通:Path环境变量

    一 环境变量的定义 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数比如临时文件夹位置和系统文件夹位置等 这点有点类似于DOS时期的默认路径当你运行某些程序时除了在当前文件夹中寻找外还会到设置的默认路径中去查找 简单地说这里的
  • wx.login 和 wx.getUserProfile 同时使用问题

    在开发微信小程序时 会先调用wx login 获取 code 以后 调用 wx getUserProfile 获取rawData signature encryptedData iv等信息 到后台进行处理 但是随着4月28日24时后发布的新
  • SprinBoot项目启动报错Exception in thread "main" java.lang.reflect.InvocationTargetException

    错误代码 lottery api start SLF4J Class path contains multiple SLF4J bindings SLF4J Found binding in jar file data javaprogra
  • Linux多线程并发运行原理+代码例程详解

    文章目录 线程创建和退出 原理 代码 结果 线程属性修改 原理 代码 结果 互斥锁 原理 代码 结果 信号量线程控制原理 使用信号量线程互斥 代码 结果 使用信号量线程同步 代码 结果 小结分析 生产者消费者 实验 问题分析 代码 结果分析
  • 不可重复读和可重复读的理解

    image png 1 不可重复读 同一个事务中 id 10行 字段c1 第一次查询 c1 0 id 10行 字段c1 第二次查询 c1 1 因为在第二次查询 另外一个事务修改了c1 1 且事务提交 2 可重复读 同一个事务中 id 10行
  • iOS编程基础-OC(九)-专家级技巧:使用运行时系统API(续)

    该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 第九章 专家级技巧 使用运行时系统API 9 2 使用运行时系统API 接下来仍然是编写一段程序 该程序会使用运行时系统API以动态的方式创建一个类和一个类实例 然后
  • ES7基础篇-04-索引映射操作(_mappering)

    文章目录 1 简介 2 索引库和索引映射一起创建 3 索引库和索引映射分开创建 4 字段映射解释 5 查看映射关系 6 映射属性详解 1 简介 有了索引库 等于有了数据库中的database 接下来就需要索引库中的类型了 也就是数据库中的表
  • 同步复位、异步复位、亚稳态、建立时间、保持时间、恢复时间、清除时间

    同步 异步复位的概念是重要的基础内容 需对其有较清晰的认识 才能在复位电路的设计时得心应手 本文基于前辈分享 结合自己的理解 浅谈亚稳态 复位电路等相关内容 首先需要明确的是 同步 异步名词背后的两个对象是谁 谁和谁同 谁和谁异 复位的目标
  • java自动化测试之开发工具eclipse安装配置

    java自动化测试之开发工具eclipse安装配置 一 eclipse下载 下载地址 http www eclipse org downloads http www eclipse org downloads 打开连接后 显示如下 选择Ec
  • 单片机期末复习

    一 填空题 1 最小系统能够运行起来的必要条件 单片机的最小系统包含 电源电路 晶振电路 复位电路 单片机最小系统供电正常 提拱能量 单片机芯片工作正常 单片机最小系统各元器件连接电路无误 单片机片外晶振 谐振电容正常 单片机复位电路正常
  • 4.3 AI识虫比赛

    文章目录 一 查看环境并准备数据 二 启动训练 三 启动评估 计算精度指标 四 预测单张图片并可视化预测结果 五 提升方案 一 查看环境并准备数据 查看当前挂载的数据集目录 该目录下的变更重启环境后会自动还原 ls home aistudi