尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

详细介绍:广告点击场景下的 YOLO-world 模型训练失败及其解决办法

详细介绍:广告点击场景下的 YOLO-world 模型训练失败及其解决办法
📅 发布时间:2026/6/19 7:30:14

广告点击场景下的 YOLO-world 模型训练失败及其解决办法

背景

我们要通过ADB指令,在局域网下控制手机行为(点击、滑动、启动app)。但要完成这样的控制,需要对于手机屏幕元素(关键文字、关键UI元素)的准确识别。文本识别,用paddleocr就不错(对比过3种ocr模型,paddleocr识别得更恰当些),能应对80%以上的场景;但不够随心所欲。

用YOLO识别UI元素,作为一种不可缺少的场景识别的补充。例如:

当我们认为 644个金币不值得点击观看广告,或,如果点击容易引导背后的算法逐步降低我们每次点击获取的金币量,我们就要点击底下这个 ×,来退出本次弹窗 。但很显然,文本识别 paddleocr 没办法认知这个 x。

类似这样的场景并不少。paddleocr无法解决,只能让yolo上。

在这里插入图片描述


当前面临的问题,是 YOLO-world 模型训练失败,评价参数没有值。
在这里插入图片描述
当前错误状态分析
日志中,​验证集指标全为 0 是核心异常点,需优先排查以下问题:
​1. 验证集加载失败:检查验证集路径是否正确、数据是否被正确读取(如文件路径错误、权限问题)。
2. ​标注格式错误:验证集标签(如 XML、JSON、TXT)是否与模型预期格式匹配(如类别 ID 超出范围、坐标格式错误)。
​3. 模型预测全错:训练初期模型参数随机,可能导致预测全错,但 mAP50 也应为 0?需检查代码中 mAP 计算逻辑是否有 Bug。
4. ​数据不均衡/无目标:验证集是否全是背景类(无目标)?或目标类别与训练集不匹配?

训练指标的优化方向(当前损失未下降的潜在原因)
若验证集指标修复后仍存在“损失震荡/不下降”,可参考以下方向:
5. ​学习率:学习率过高会导致损失震荡,过低则收敛慢。可尝试调整学习率策略(如余弦退火、分段下降)。
​6. 数据增强:增加数据增强(如旋转、缩放、马赛克)缓解过拟合,提升泛化能力。
​7. 模型结构:Backbone 过于简单(特征提取不足)或过于复杂(过拟合)都可能导致损失异常,需匹配任务难度。
​8. 损失函数超参数:YOLO 的损失包含权重系数(如 box_gain、cls_gain),需确保各损失权重平衡。
综上,当前训练的核心问题是验证集指标异常(全0)​,需先解决数据加载/验证流程问题;其次,训练损失的震荡也需结合学习率、数据增强等方向优化。


代码

import os
from ultralytics import YOLOWorld
model = YOLOWorld('yolov8s-worldv2.pt')
# 训练
results = model.train(
data=r"./ad.yaml",
epochs=100,
imgsz=640,
lr0=0.001  # 手动设置初始学习率为 0.001
)

样本标注与识别目标

标注格式用的YOLO的txt输出格式
在这里插入图片描述


样本构成

(1)负样本
共169张无目标图像,对应169个空的标注文件
在这里插入图片描述
在这里插入图片描述
(2)正样本
全量正样本
攒了2652张正样本,打算采取分批少量标注,训练模型后逐次自动标注,人工核对后逐步扩充样本集的半自动标注策略。
在这里插入图片描述
已标注正样本
目前只标注了28张
在这里插入图片描述
在这里插入图片描述
当前训练中,训练集和验证集均为28张正样本。试过添加169张负样本,训练后的模型评价一样无效。


解决思路

错误状态分析给出的思路中,个人认为问题更有可能出在如下几个点:样本少 + 不均衡、标注不正确(类别混乱)、模型参数量大小不匹配、学习率设置不当。

  1. 排除“标注不正确(类别混乱)”:打开labelImg重新查看标注类别和框选区域,也深入查看标注文件中的类别标注数据,看不出来有什么问题;“标注不正确”的情况 先做排除;
  2. 排除“模型参数量大小不匹配”
    前面的模型训练代码针对的是开放世界 YOLO-world 模型,一般参数量就是大一些。所以,我们要减少参数量,首要的,是要整体上换成普通的yolo模型,我们换个参数量最小的模型试试:
    在这里插入图片描述
    yolov5n卡死无法下载(可能路径不维护了),换成yolov8n后模型可以下载了。
    相应的,我们的代码修改如下:
from ultralytics import YOLO  # 注意这里是 YOLO,不是 YOLOWorld
# 加载 YOLOv8n 模型(标准目标检测模型)
model = YOLO('yolov8n.pt')  # 这是官方 YOLOv8n 检测模型
# 开始训练
results = model.train(
data=r"./ad.yaml",      # 你的数据集配置文件
epochs=100,             # 训练 100 轮
imgsz=640,              # 输入图像尺寸
lr0=0.005               # 初始学习率(你可以根据需要调整)
)

效果:
在这里插入图片描述
虽然训练结果看起来还不太稳定,但关键参数是都有了。
就这么简单??就是参数量与样本量不匹配的问题?
回看训练过程,参数至少看起来已能达到很好的效果了。看来是对症结一抓一个准了。
在这里插入图片描述
增加训练到 10000 epoch,750早停了,效果较好。看来深层原因是找到了。
在这里插入图片描述


小结

换了一个模型后,效果已达标。所以,基本确定,本次模型训练失败的原因, 是模型结构和参数与样本数据量、复杂度不匹配的问题。
可能仍存在别的问题,但当前效果已可用,暂不做其它增强,先往下做样本的自动标注。

相关新闻

  • 【深度学习计算机视觉】06:目标检测内容集
  • debian13 无法正常从休眠中恢复
  • 全差分放大器(FDA)电路设计计算问题及电压范围估算[原创www.cnblogs.com/helesheng]

最新新闻

  • CushyStudio统一画布全攻略:精通Inpainting与Outpainting,轻松扩展图像边界
  • TC850高速积分型ADC:工业噪声环境下的高精度数据采集解决方案
  • 终极Spotify字体美化指南:3分钟打造你的专属音乐界面
  • 2026年6月18日每日60秒读懂世界
  • 终极指南:如何在本地部署Meta-Llama-3.1-8B-Instruct-GGUF大语言模型
  • AMD Nitro-E架构深度解析:3层高效扩散模型设计模式与资源优化策略

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号