天池酒瓶瑕疵检测数据集分析及完整baseline

news2024/11/28 0:33:27

以下内容为还没思路的小伙伴牵个头提供一个demo,大佬勿喷,线上成绩0.7+,留空间给小伙伴们发挥自己的力量
ps:markdown不怎么熟悉,代码中如有明显缩进问题,自行斟酌改正,编辑好几次都改不过来,请原谅....

数据分析
瑕疵大类:
瓶盖瑕疵、标贴瑕疵、喷码瑕疵、瓶身瑕疵、酒液瑕疵
瑕疵小类:
{ 0: '背景', 1: '瓶盖破损', 2: '瓶盖变形', 3: '瓶盖坏边', 4: '瓶盖打旋', 5: '瓶盖断点', 6: '标贴歪斜', 7: '标贴起皱', 8: '标贴气泡', 9: '喷码正常', 10: '喷码异常' }

背景图片说明(可直接去除背景图片训练):
"annotations"中的元素,"category_id":0对应的是背景。当且仅当一张图片对应的所有annotations中,"category_id"都为0,该图片为背景图片。

类别统计:
round1:
图片数量:4516
瑕疵个数(带背景):6945
瑕疵个数(不带背景):5775
图片大小: 除 6,7,8 外都为(492,658), 6 7 8为(3000,4096)

 

enter image description here


图一 带背景类类别统计图

enter image description here

图二 去除背景类短边统计图

分类图统计图

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Demo
分析:
此次任务是酒瓶上的瑕疵检测,类似于天池上一个布匹瑕疵检测,因此可以选取mmdetection目标检测框架,对于网络精度而言,首选是二阶段网络,比如fasterrcnn,cascade等,但是由于复赛会加入时间惩罚,因此对于网络前传速度也有很大的要求.参赛小伙伴们应充分考虑速度和精度的trade off. 比如对模型进行进行剪枝压缩,网络蒸馏等,或者考虑多进程或多batch测试,这些都需要尝试,这里我只是提供一个简单的demo给大家参考下.

模型选择:

backbone采用resnet50,检测器采用faster-rcnn

可优化点:
1.采用dcn减少不同尺度目标的差异性带来的影响,提高检测性能
2.本次比赛到目前位置提供的数据集目标尺寸小目标较多,同时存在几类大目标,可通过聚类设置合理的anchor
3.用roi align代替roi pooling
4.使用focalloss,ohem等trick平衡正负以及困难样本
等等

mmdetection编译:
1.对mmdetection进行安装编译

  • git clone GitHub - open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark
  • cd mmdetection
  • python setup.py develop (如果编译不成功,使用另一条命令 pip install -v -e .)
    具体安装细节请参考官方Readme

2.数据准备
mmdetection默认输入的数据集格式是coco数据格式,这次官方提供的标注格式也是coco格式,无需转换,可直接使用,但需要注意的是将json中的背景类去除.

3.mmdetection简单介绍

4.修改配置文件
这里提供一份训练config,根据具体优化自行修改

查看本文全部内容,欢迎访问天池技术圈官方地址:天池酒瓶瑕疵检测数据集分析及完整baseline_天池技术圈-阿里云天池

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

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

相关文章

【canvas】canvas基础使用(九):文本绘制

简言 canvas除了能够绘制图形外,也可以绘制文本。 绘制文本 fillText() 填充文本 CanvasRenderingContext2D 对象的方法 fillText() 是 Canvas 2D API 的一部分,它在指定的坐标上绘制文本字符串,并使用当前的 fillStyle 对其进行填充。存…

ChatGPT深度科研应用、数据分析及机器学习、AI绘图与高效论文撰写教程

原文链接:ChatGPT深度科研应用、数据分析及机器学习、AI绘图与高效论文撰写教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601506&idx2&sn5dae3fdc3e188e81b8a6142c5ab8c994&chksmfa820c85cdf58593356482880998fc6eb98e6889b261bf62…

如何解决DDoS攻击?

DDoS攻击(分布式拒绝服务攻击)是一种恶意利用多台傀儡机协同发起大规模网络流量,旨在压垮目标系统或网络资源,使其无法正常服务的网络攻击手段。由于现代计算机和网络性能的提升,单点发起的DoS攻击已难以奏效&#xff…

基于ssm缪斯乐器购物网站的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本缪斯乐器购物网站就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

DNF手游攻略:萌新入坑大全!

玩DNF手游国服已经正式定档,离上线已经越来越近了,很多小伙伴对于装备打造以及附魔还不是特别了解。如果你还不知道装备要怎么附魔,不要担心,本篇攻略将为你全面解析全职业过渡和毕业附魔推荐。 ​ 一、物理职业附魔推荐 1. 武器…

知道XRD标准品PDF卡片号,如何直接导出标准物质数据,简单快速一分钟完成(附jade下载安装方法)

知道XRD标准品PDF卡片号,如何直接导出标准物质数据(附jade下载安装方法) 网上找到的方法都是先检索再导出,我的样品根本检索不到,但是根据参考文献知道了自己的pdf卡片号,可通过jade直接导出数据 1.请安装…

【kafka】安装

也是第二次安装,蛮记录一下 1.安装kafka之前需要先完成zookeeper的安装 【zookeeper】安装 2. Apache Kafka官网下载 3. 解压完成后修改server.properties配置文件 修改日志文件存放路径 查看与zookeeper连接的端口是否和zookeeper服务所在的端口一致 &#xf…

在vue中发现一个prop新的写法在官方文档没有,查百度不行,还有什么其他方法排查不

先看图,最近在接手一个同事的代码,发现prop有这样的写法: 我自己查了官网,以及百度都没有找到这种写法。这时我灵机一动,想到一个方法,vscode有内置的typesscript,自然有prop类型推断&#xff0…

【数据结构】树与二叉树、树与森林部分习题以及算法设计例题 2

目录 【数据结构】树与二叉树、树与森林部分习题以及算法设计例题一、交换二叉树每个结点的左右孩子Swap 函数(先序遍历):Swap 函数(中序遍历) 不可行:Swap 函数(后序遍历)&#xff…

Java小白教学—五千字带你了解多线程机制及线程安全问题

基础概念 📖 问题一 : 什么是线程?线程和程序、进程有什么区别? 程序:为实现某种功能,使用计算机语言编写的一系列指令的集合。 指的是静态的代码(例如安装在电脑上的那些文件) 进程&#xff…

由于找不到msvcr120.dll,无法继续执行代码的详细处理方法,教你快修复msvcr120.dll

DLL文件,全称动态链接库文件,在计算机系统中具有重要作用。其中,msvcr120.dll是一个常见的DLL文件,它关联了许多程序和应用的正常运行。本指南将深入解释 msvcr120.dll文件的功能,并阐述如果缺少该文件会引起什么样的问…

C语言案例——输出以下图案(两个对称的星型三角形)

目录 图片代码 图片 代码 #include<stdio.h> int main() {int i,j,k;//先输出上半部图案for(i0;i<3;i){for(j0;j<2-i;j)printf(" ");for(k0;k<2*i;k)printf("*");printf("\n");}//再输出下半部分图案for(i0;i<2;i){for(j0;j&…

WebKit简介及工作流程

文章目录 一、WebKit简介二、WebKit结构三、Webkit工作流程四、WebKit常见问题五、WebKit优点六、相关链接 一、WebKit简介 WebKit是一个开源的浏览器引擎&#xff0c;它的起源可以追溯到2001年&#xff0c;当时苹果公司推出了其首款基于Unix的操作系统Mac OS X。在2002年&…

ST-LINK Utility 4.6.0 下载安装及使用方法介绍

一、介绍 STM32 ST-LINK Utility是针对STM32全系芯片进行编程&#xff08;读、写、擦除、选项字&#xff09;的一款工具。 STM32 ST-LINK Utility软件主要的功能就是量产&#xff08;批量下载代码的工具&#xff09;。它也是比较实用的一个工具&#xff0c;当我们需要查看芯片F…

BackTrader 中文文档(十)

原文&#xff1a;www.backtrader.com/ 用户自定义佣金 原文&#xff1a;www.backtrader.com/docu/user-defined-commissions/commission-schemes-subclassing/ 重塑 CommInfo 对象到实际形式的最重要部分涉及&#xff1a; 保留原始的 CommissionInfo 类和行为 为轻松创建用户定…

Android Material Design学习笔记

Material Design控件学习记录 Toolbar 新建一个工程后&#xff0c;在res/values/themes.xml文件里 <resources xmlns:tools"http://schemas.android.com/tools"><!-- Base application theme. --><style name"Theme.MaterialTest" paren…

【C++航海王:追寻罗杰的编程之路】异常——错误处理方式之一

目录 引言 1 -> C语言传统的处理错误的方式 2 -> C异常概念 3 -> 异常的使用 3.1 -> 异常的抛出和捕获 3.2 -> 异常的重新抛出 3.3 -> 异常规范 4 -> 自定义异常体系 5 -> C标准库的异常体系 6 -> 异常的优缺点 引言 在C编程中&#xff…

《剑指 Offer》专项突破版 - 面试题 110 : 所有路径(C++ 实现)

题目链接&#xff1a;所有路径 题目&#xff1a; 一个有向无环图由 n 个节点&#xff08;标号从 0 到 n - 1&#xff0c;n > 2&#xff09;组成&#xff0c;请找出从节点 0 到节点 n - 1 的所有路径。图用一个数组 graph 表示&#xff0c;数组的 graph[i] 包含所有从节点 …

javaWeb项目-游泳馆管理系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、SSM框架 开发信息…

机器学习实验------决策树

第1关&#xff1a;什么是决策树 任务描述 本关任务&#xff1a;根据本节课所学知识完成本关所设置的选择题。 第2关&#xff1a;信息熵与信息增益 任务描述 本关任务&#xff1a;掌握什么是信息增益&#xff0c;完成计算信息增益的程序设计。 import numpy as npdef calcIn…