0

0

讯飞2022-LED灯的色彩和均匀性检测挑战赛得分0.905

P粉084495128

P粉084495128

发布时间:2025-07-25 11:49:49

|

344人浏览过

|

来源于php中文网

原创

本文介绍讯飞2022年LED灯色彩和均匀性检测挑战赛的解决方案。使用PaddleClas套件的HRNet_W18_C模型,通过解压含中文路径的数据集,对负样本进行翻转等增强,调整正负样本比例至1:1,按8:1分训练集和测试集,训练后得0.90574分暂列第四。还提及可尝试更多模型和数据增强方法提分。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

讯飞2022-led灯的色彩和均匀性检测挑战赛得分0.905 - php中文网

讯飞-2022:LED灯的色彩和均匀性检测挑战赛

赛题描述: 工业自动化质检成为了当下主流与趋势,在整个质检中视觉质检又是重中之重。使用AI的先进视觉技术应用在工业质检领域。

比赛任务: 根据提供的数据集,来预测测试集的数据是否为良品(颜色,缺损和是否成像均匀)。

本项目特点: 无需修改代码,及其容易上手,且能够一举获得高分

数据集示例:

正样本:

讯飞2022-LED灯的色彩和均匀性检测挑战赛得分0.905 - php中文网        

负样本:

讯飞2022-LED灯的色彩和均匀性检测挑战赛得分0.905 - php中文网        

分析

由上图可以看出,LED的质检,主要是判断LED光环的完整性和光滑性,并不存在特别复杂的特征,对于大型分类模型,在这样的数据集上表现可能并不佳,因此,我们选择 HRNet_W18_C 模型进行训练。

PaddleClas介绍

飞桨图像识别套件 PaddleClas 是飞桨为工业界和学术界所准备的一个图像识别和图像分类任务的工具集,助力使用者训练出更好的视觉模型和应用落地。

PaddleClas为使用者提供了大量的优质模型,详细模型信息可参考: 链接

讯飞2022-LED灯的色彩和均匀性检测挑战赛得分0.905 - php中文网        

本Baseline采用PaddleClas套件进行训练,在讯飞提交界面获得了0.90574的分数,暂列 4/17 .

讯飞2022-LED灯的色彩和均匀性检测挑战赛得分0.905 - php中文网        

与第一名差距极小,文末将会介绍提分方法

解压数据集

由于数据集取材于原始比赛界面,故含有中文路径,在解压后会显示乱码,但不影响程序的读取。

UP简历
UP简历

基于AI技术的免费在线简历制作工具

下载
In [ ]
!unzip -oq data/data153476/LED灯的色彩和均匀性检测挑战赛公开数据.zip -d data/
   

数据集增强(初步)

通过观察数据集,正样本数量达到了451张,负样本数据只有41张,两种数据相差十倍,故首先使用翻转等简单操作增强负样本数据。

增强后的数据集存储在intensify文件夹下

In [ ]
import osimport cv2

bad_path = 'data/LED╡╞╡─╔л▓╩║═╛∙╘╚╨╘╝ь▓т╠Ї╒╜╚№╣л┐к╩¤╛▌/╤╡┴╖╝п/┤╬╞╖'a = os.listdir(bad_path)for i in a:    if i[-4:] != '.jpg':        continue
    print(bad_path+'/'+i)
    img = cv2.imread(bad_path+'/'+i)
    cv2.imwrite( './intensify/'+i, img)
    img_flip = cv2.flip(img, 1)
    cv2.imwrite( './intensify/'+i[:-4]+'1.jpg', img_flip)
    img_transpose = cv2.transpose(img)
    cv2.imwrite('./intensify/'+i[:-4]+'2.jpg', img_transpose)
    img_flip = cv2.flip(img_transpose, 1)
    cv2.imwrite('./intensify/'+i[:-4]+'3.jpg', img_flip)
    img_flip = cv2.flip(img_transpose, -1)
    cv2.imwrite('./intensify/'+i[:-4]+'4.jpg', img_flip)
   

创建数据集列表

读取原始正样本数据和增强后的负样本数据,由于正样本数据相互之间差异不大,故我们进读取其中一半图像,使得正负样本之间比例近似为1: 1

再通过随机分配的方式按1: 8的比例裁减为测试集和训练集

In [32]
import osimport random

bad_path = 'intensify'good_path = 'data/LED╡╞╡─╔л▓╩║═╛∙╘╚╨╘╝ь▓т╠Ї╒╜╚№╣л┐к╩¤╛▌/╤╡┴╖╝п/┴╝╞╖'bad_imgs = os.listdir(bad_path)
good_imgs = os.listdir(good_path)with open('datasets.txt', 'w') as f:    for i in bad_imgs:        if i[-4:] != '.jpg':            continue
        s = bad_path+'/'+i+' '+'1\n'
        f.writelines(s)
    tot = 0
    for i in good_imgs:
        tot += 1
        if tot >= 200:            break
        if i[-4:] != '.jpg':            continue
        s = good_path+'/'+i+' '+'0\n'
        f.writelines(s)with open('datasets.txt','r') as f:
    a = f.readlines()    with open('train.list','w') as ff:        with open('valid.list','w') as fff:            for i in a:
                n = random.randint(0, 9)                if n >= 8:
                    fff.write(i)                else:
                    ff.write(i)
   

克隆PaddleClas

最新版本为2.4版本,但本人习惯了2.3版本,新版本中包含了一些新加入的模型,可以进一步尝试

In [ ]
!git clone https://github.com/PaddlePaddle/PaddleClas.git --branch release/2.3
   

安装依赖

将修改后的配置文件放入PaddleClas

将修改后的预测文件放入engine,此文件可以直接生成submit所需的csv文件

In [ ]
!pip install -r PaddleClas/requirements.txt
!cp HRNet_W18_C.yaml PaddleClas/ppcls/configs/ImageNet/HRNet/
!cp engine.py PaddleClas/ppcls/engine/
   

训练

由于数据集少且模型较小,训练可以在几十分钟内完成

In [ ]
!python PaddleClas/tools/train.py \
    -c PaddleClas/ppcls/configs/ImageNet/HRNet/HRNet_W18_C.yaml \    # -o Arch.pretrained=output/EfficientNetB4/best_model \
    -o Global.device=gpu
   

预测

预测完成后会在主目录下生成test.csv文件,下载后前往讯飞赛题界面上传即可

In [ ]
!python PaddleClas/tools/infer.py \
    -c PaddleClas/ppcls/configs/ImageNet/HRNet/HRNet_W18_C.yaml \
    -o Global.pretrained_model=output/HRNet_W18_C/best_model
   

改进方法:

  • PaddleClas套件提供了大量的模型,可以尝试更多相似大小的模型或者更好的方法,HRNet_W18_C是本人以直觉选取的方案,并不是最优
  • 数据增强方面仅使用了图像翻转,且翻转的方向不全,可以进一步增强数据后重复训练

相关专题

更多
PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

27

2025.12.13

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

34

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

14

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

33

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

18

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

12

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

44

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Django 教程
Django 教程

共28课时 | 3.1万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号