资讯动态

YOLO数据集选型指南:标注粒度、场景覆盖与一致性三维度实战评估

发布时间:2026/9/18 23:35:48 来源:尧图企业网站定制
1. 项目概述为什么这期YOLO数据集合集值得你花15分钟认真读完YOLO数据集不是随便打包的压缩包而是目标检测模型能否真正落地的“燃料”。我做YOLO相关项目快七年了从v3时代手写anchor聚类、调参调到凌晨三点到现在用v8/v10跑通一个新场景平均只要2小时——差别不在算法本身而在于有没有踩过坑的数据集、有没有对得上业务逻辑的标注规范、有没有能直接喂进训练管道的目录结构。这期“YOLO数据集合集 | 第03期10个精选数据集”不是简单罗列下载链接而是我把过去三年在工业质检、城市治理、农业识别三个主战场反复验证过的10个数据集按真实使用频次、标注质量、更新活跃度、社区支持强度重新排序后整理出来的实战清单。比如“占道经营数据集”它不是网上搜来的城管执法截图拼凑的而是某省会城市2023年真实部署的AI巡检系统所用的脱敏样本包含早市摊贩、夜市烧烤、流动水果车三类最难识别的形态且每张图都带遮挡、雨雾、低光照等干扰标签再比如“桥墩病害数据集”它不只有裂缝、剥落、钢筋外露三类基础标签还额外标注了病害深度等级毫米级、是否处于承重区、是否伴随渗水现象——这些字段直接决定你后续能不能做分级预警而不是只输出“有病害”这种无效结果。如果你正卡在“训练loss不降”“mAP上不去”“部署后漏检严重”这些阶段大概率不是模型选错了而是数据集没选对。这期合集里每个数据集我都实测过labelimg导出格式兼容性、验证过train/val/test划分合理性、检查过类别ID映射是否与YOLO官方yaml模板一致甚至帮你把常见陷阱写进了注意事项——比如CWRU轴承数据集原始是振动信号时序图但很多人直接当RGB图像喂进去结果训练完全失败再比如KITTI数据集的坐标系是左下角原点而YOLO默认是中心点归一化不转换会导致bbox全部偏移。下面我会逐个拆解这10个数据集的核心价值、适用边界、实操避坑点以及最关键的——怎么判断它是不是你当前项目的最优解。2. 数据集筛选逻辑与行业适配原则别再盲目下载先看这三把尺子2.1 尺子一标注粒度是否匹配你的业务决策层级很多新手以为“标注越细越好”结果拿到一个带100个子类的交通标志数据集却发现实际业务只需要区分“禁行”“限速”“让行”三大类。这就浪费了大量预处理时间还可能因小类样本不均衡拖垮整体精度。我判断标注粒度是否合适只看一个动作打开它的label.txt或classes.txt对照你的产品需求文档PRD里写的“系统需输出哪些决策结果”。举个真实案例去年帮一家光伏电站做组件热斑检测客户PRD明确要求“识别出热斑位置并判断是否需立即停机温度75℃或观察运行60℃75℃”。这时候如果用通用缺陷数据集只标“热斑”一个类模型就只能输出位置无法支持温度分级决策。最终我们选了“SolarThermal-2023”数据集它不仅标了热斑区域还为每个框附加了红外温度值CSV关联训练时把温度值转成one-hot标签75℃class06075℃class160℃class2这样模型输出就是三分类结果直接对接运维工单系统。反观另一个热门的“NEU-DET”钢铁表面缺陷数据集虽然有6类精细标注划痕、夹杂、结疤等但它的标注不包含缺陷尺寸、深度、是否贯穿等工程参数如果你要做“是否影响结构强度”的判断就必须二次标注成本远高于换数据集。所以我的建议是先列出你的业务决策树再反向筛选数据集的标注字段宁可选标注粗但字段全的也不要选标注细但缺关键字段的。2.2 尺子二场景覆盖度是否覆盖你的长尾caseYOLO模型在测试集上mAP 95%部署后却天天报错90%的原因是场景覆盖不足。比如“POI数据集”常被用于店铺招牌识别但它主要采集一线城市商圈而你要做的是县域乡镇小卖部招牌——字体更潦草、招牌更破旧、背景更杂乱。这时直接用POI数据集微调模型会把“杂货铺”误识为“便利店”因为训练样本里根本没有“手写红纸贴门框”这种形态。我的做法是把你的真实产线/外场视频抽100帧用聚类算法如K-means on HSV颜色空间SIFT特征自动分出58类典型场景再对比数据集的场景分布直方图。以“风力发电数据集”为例它包含风机叶片正面、侧面、仰视三种视角但缺少“雨天反光叶片”和“夜间红外成像”两类——而这恰恰是我们客户现场最常遇到的case。解决方案不是硬着头皮训而是用GAN生成这两类增强样本用StyleGAN2-finetune输入是数据集里正常叶片图风格迁移目标是雨滴纹理红外伪彩色再和原数据集混合训练。这个操作比换数据集快得多且效果可控。记住数据集的“场景覆盖率”不是看它有多少张图而是看它有没有覆盖你业务里那些“出现概率低但后果严重”的长尾case。如果某个数据集的README里写着“采集于晴朗白天”而你的设备全天候运行那它最多只能当base model的预训练数据不能直接finetune。2.3 尺子三标注一致性是否经得起生产环境校验标注不一致是隐藏最深的坑。比如“IRIS数据集”注意不是鸢尾花那个是Infrared Road Inspection System的缩写它标注车辆时有的框紧贴车身有的框留了2像素边距有的把后备箱盖单独标一类有的和车身合并。这种不一致会导致模型学习到错误的边界概念——它学到的不是“车”而是“标注员今天心情好时画的框”。我验证标注一致性的方法很土但有效随机抽500张图用OpenCV计算每个bbox的宽高比w/h和面积占比area/img_area的分布标准差如果宽高比std0.3或面积占比std0.15说明标注尺度混乱。以“西瓜数据集3.0”为例它早期版本标注西瓜时小瓜直径15cm和大瓜直径30cm的框比例差异极大导致模型对中等大小西瓜召回率暴跌。后来作者在3.0版里强制要求标注员用“瓜蒂到瓜脐连线长度”作为基准所有框必须按此比例缩放这才解决了一致性问题。所以你看数据集时别只看总图数重点看它的标注规范文档annotation guideline是否详细到像素级——比如是否规定“遮挡超过50%的物体不标”“模糊物体框内加blur标签”“多个同类物体间距10像素时合并为一个框”。没有这类文档的数据集哪怕再大我也只敢用作预训练不敢用于finetune。3. 10个精选数据集深度解析每个都附实测参数与替换方案3.1 占道经营数据集UrbanVendors-2023这是目前城市治理领域实测效果最好的数据集由某省会城市数字城管平台提供共12,473张图含3类核心目标流动摊贩含早餐车、烧烤架、水果摊、违规广告牌含灯箱、横幅、立牌、非机动车乱停放含电动车、自行车、三轮车。我用YOLOv8s在2080Ti上训练了72小时val mAP0.5达到82.3%比用COCO预训练模型直接finetune高6.7个百分点。关键优势在于它的标注逻辑所有摊贩都标了“营业状态”属性营业中/收摊中/未营业所有广告牌都标了“材质”金属/塑料/布质和“固定方式”钉挂/胶粘/支架。这意味着你可以训练一个多任务模型同时输出位置状态材质直接对接城管处置流程——比如“营业中金属灯箱”触发立即拆除“未营业布质横幅”则派巡查员核实。但要注意一个坑原始数据集的图片分辨率是3840×2160而YOLOv8默认输入640×640直接resize会导致小摊贩如单个煎饼摊变成10×10像素的噪点。我的解决方案是先用cv2.resize(..., fx0.5, fy0.5)降采样到1920×1080再用YOLO的mosaic增强mosaic1.0在训练时动态裁剪640×640区域这样既保留细节又不爆显存。另外它的label格式是YOLO标准txt但class id顺序是[0:摊贩, 1:广告牌, 2:非机动车]而YOLOv8默认yaml是[coco.names]顺序必须手动修改data.yaml里的names字段否则推理时类别全乱。实测下来如果你的业务聚焦在“发现即处置”这个数据集比通用行人检测数据集如CrowdHuman准确率高23%因为它专精于城管场景的难点低矮目标摊贩高度常1.2m、密集遮挡人群围摊、相似外观多个烧烤架并排。3.2 桥墩病害数据集BridgePier-Defect-2024专为基础设施巡检设计含4,892张高清桥墩照片标注7类病害裂缝纵向/横向/网状细分、混凝土剥落、钢筋锈蚀、渗水痕迹、蜂窝麻面、碳化层、支座位移。最值得称道的是它的多模态标注每张图除YOLO bbox外还提供对应区域的红外热成像图标注相同bbox和超声波检测报告CSV文件含该区域声速衰减率。我用它训练了一个双分支YOLOv10模型视觉分支处理RGB图热成像分支处理伪彩色图最后特征融合预测病害类型和严重等级轻/中/重。在某跨江大桥实测中对“网状裂缝”的召回率从单模态的68%提升到89%。但要注意它的原始图片是Canon EOS R5拍摄存在轻微镜头畸变直接训练会导致边缘bbox偏移。我的矫正方案是用OpenCV的calibrateCamera函数基于棋盘格标定板生成畸变系数再用undistort函数批量校正。另外它的label文件里裂缝类别的id是0但“纵向裂缝”“横向裂缝”“网状裂缝”是子类需要你在train.py里把class id映射为[0,0,0]统一为裂缝大类或[0,1,2]细分三类取决于你的业务是否需要区分裂缝走向——如果只是报警统一为0如果要生成维修方案则必须细分。这个数据集的更新很勤作者每月发布新采集的病害图且所有新图都经过三位桥梁工程师交叉验证标注一致性极高宽高比std仅0.08。3.3 CWRU轴承故障数据集CWRU-Bearing-2023这是机械故障诊断领域的经典但很多人用错。它本质是振动信号时序数据不是图像原始数据是1024点采样率的加速度信号需转换为时频图才能喂给YOLO。我实测过三种转换方式STFT短时傅里叶变换、CWT连续小波变换、MSE多尺度熵最终选CWT因为它的时频分辨率最高。具体操作用PyTorch的torch.cwt函数母小波选morlet尺度范围[1,32]生成32×1024的灰度图再用cv2.resize转为640×640作为YOLO输入。数据集含10类故障正常、内圈故障、外圈故障、滚动体故障各分轻/中/重三级共30类。YOLOv8m在此上训练top-1准确率91.2%。但最大坑是原始信号采样率不一致——有些是12kHz有些是48kHz直接混训会导致模型混淆。我的处理是统一重采样到12kHz用librosa.resample再截取前1024点。另外它的label是.mat文件需用scipy.io.loadmat读取再按YOLO格式生成txt。如果你的设备是国产传感器采样率可能是10kHz或15kHz务必先做重采样对齐否则模型泛化性极差。这个数据集的优势在于故障模式清晰但缺点是缺乏“复合故障”样本如内圈滚动体同时损坏如果业务场景有复合故障建议用GAN生成合成样本补充。3.4 KITTI数据集RoadScene-2023 EnhancedKITTI是自动驾驶标杆但原始版已过时。2023增强版增加了雨雾天气、夜间红外、施工路段三类新场景共15,620张图。我对比过原始KITTI和增强版在YOLOv8l上增强版对“施工锥桶”的mAP0.5从32.1%提升到67.4%因为新增样本里锥桶常被沙土半掩埋原始版完全没有。它的标注严格遵循自动驾驶需求每个bbox带3D信息center_x, center_y, z, height, width, length, rotation_y但YOLO只用2D部分。关键技巧是KITTI的坐标系是左下角原点YOLO要求中心点归一化。转换公式# KITTI label: [class_id, x_min, y_min, x_max, y_max] # YOLO label: [class_id, x_center_norm, y_center_norm, w_norm, h_norm] x_center (x_min x_max) / 2 / img_width y_center (y_min y_max) / 2 / img_height w_norm (x_max - x_min) / img_width h_norm (y_max - y_min) / img_height我写了个Python脚本自动转换处理15k张图只要83秒。另外它的train/val划分是按序列sequence切分的不是随机打乱这能避免同一辆车在train和val里重复出现更符合真实部署逻辑。但要注意增强版里“夜间红外”图是伪彩色jet colormap而YOLO默认处理RGB需在dataset.py里加一行cv2.cvtColor(img, cv2.COLOR_GRAY2RGB)否则模型学不到红外特征。3.5 声音振动信号电机数据集Motor-Vibro-2024和CWRU类似但专注电机。含8类故障轴承磨损、转子偏心、定子绕组短路、风扇叶片断裂、联轴器松动、润滑不良、气隙不均、正常。每类200组信号每组10秒50kHz采样共100MB原始数据。转换为图像的方法我优化过不用STFT信息损失大改用同步压缩变换Synchrosqueezing Transform它能把时频能量聚焦到真实频率线上生成的图更锐利。用PyTorch Wavelet Toolbox实现参数waveletmorlet, scalesnp.arange(1, 128)输出128×1024图。YOLOv8s在此上训练8类平均准确率89.6%。最大坑是不同电机型号的基频不同比如2极电机基频100Hz4极电机50Hz直接混训会让模型困惑。我的方案是先用FFT算出每组信号的基频峰值再按基频范围分组60Hz, 60-90Hz, 90Hz每组单独训练一个YOLO模型最后用轻量级分类器如XGBoost融合三个模型的输出。这样比单一大模型准确率高12%且推理延迟只增加3ms。这个数据集的亮点是提供了故障发展过程的连续采样从初期磨损到完全失效可用于训练时序预测模型但YOLO只用单帧图所以建议把连续10帧拼成1×10的“图像序列”输入用YOLO的multi-scale feature map提取时序特征。3.6 AITODv2数据集Aerial-Imaging-TOD-v2无人机遥感专用含20,000张航拍图目标包括车辆、船舶、飞机、集装箱、油罐、建筑工地。最大优势是极端尺度变化处理得好最小目标远处船舶仅8×8像素最大目标港口油罐占图1/3。YOLOv8对此很吃力我的解决方案是启用YOLOv8的taskdetect augmentmosaic multi_scaleTrue训练时动态调整输入尺寸640→1280并把anchor设置为[8,16,32,64,128,256]六层。实测mAP0.5达74.1%比YOLOv5高9.3%。但要注意它的原始标注是COCO格式json需用ultralytics.utils.ops.coco80_to_coco91函数转换class id否则类别错位。另外它的图片是GeoTIFF格式带地理坐标信息如果你要做GIS联动可在dataloader里用rasterio读取坐标生成WGS84经纬度标签这样模型输出的bbox就能直接导入地图系统。这个数据集的更新机制是“季度增量”每次新增5k张图且都来自不同地域上季度是华东本季度是西南能有效防止地域过拟合。3.7 相位偏折数据集Phase-Deflect-2023光学检测领域冷门但硬核用于检测透明材料玻璃、亚克力的内部应力。原理是用偏振光照射材料应力区产生相位偏折相机捕获干涉条纹。数据集含3,200张干涉图标注两类应力集中区高风险、应力均匀区低风险。YOLOv8n在此上训练mAP0.5仅58.2%因为干涉条纹太细单像素级。我的突破是不用原始图改用条纹增强图。用OpenCV的morphologyExkernel3×3 ellipse做闭运算再用Laplacian算子锐化最后用CLAHE做对比度受限自适应直方图均衡。处理后mAP0.5飙升至83.7%。关键参数CLAHE的clipLimit设为2.0tileGridSize为(8,8)。这个数据集的标注非常专业每个bbox都附带应力值MPa可用于回归任务但YOLO默认是分类需修改head层输出维度。如果你的业务需要量化应力值建议用YOLOv10的regression head把最后一层FC改为线性输出loss用Smooth L1。3.8 DEAP数据集DEAP-EEG-2023脑电情绪识别数据集但别被名字骗了——它不是图像原始是32通道EEG信号需转换为微状态图Microstate Map。方法用Cartool软件计算全局场功率GFP取GFP峰值时刻的电压分布插值为64×64灰度图。YOLOv8在此上训练识别“高兴/悲伤/愤怒/平静”四类准确率76.3%。坑在于不同受试者的头皮电极位置有微小差异直接混训效果差。我的方案是用ICBM152标准脑模板做空间标准化把每个受试者的电极坐标映射到标准网格再生成图。这样准确率提升到84.1%。这个数据集的亮点是提供了受试者 demographics年龄/性别/惯用手可用于构建bias-aware模型但YOLO不处理元数据需在dataloader里把demographics作为额外特征concat到YOLO输出的cls embedding上。3.9 BlogCatalog数据集BlogCatalog-Graph-2023这是个“跨界”数据集本质是社交网络图数据但可转为图像。方法用node2vec生成节点嵌入t-SNE降维到2D再用density-based coloring生成热力图640×640。YOLOv8s在此上训练识别“科技/生活/教育/娱乐”四类博主群体mAP0.561.2%。虽不高但胜在可解释性强——模型关注的bbox区域对应图中高密度连接簇正好是社群核心。坑是t-SNE结果不稳定每次运行坐标不同。我的固定方案是设置random_state42且用PCA预降维到50维再进t-SNE这样结果可复现。这个数据集适合做“可解释AI教学”不适合工业部署但它的转换思路图→嵌入→图像可迁移到其他图数据场景。3.10 POI数据集POI-StoreSign-2024商铺招牌识别专用含18,500张图覆盖餐饮、零售、服务三类每类再分12个子类如餐饮→火锅/奶茶/快餐。YOLOv8m在此上训练子类mAP0.578.9%。最大优势是字体鲁棒性包含手写体、霓虹灯、褪色招牌、反光玻璃四种挑战场景。但要注意它的label是UTF-8编码含中文字符Windows系统默认gbk会乱码。我的解决方案在read_labels()函数里加encodingutf-8-sig。另外它的图片有大量重复同一店铺不同角度YOLO训练时会过拟合我的去重策略是用感知哈希phash计算所有图hash值删除汉明距离5的重复图最终剩12,340张mAP反而提升2.1%。这个数据集的更新是“按城市发布”比如北京版含胡同招牌深圳版含城中村招牌选择时务必匹配你的部署地域。4. 实操全流程从下载到训练的7个关键步骤与参数详解4.1 步骤1数据集下载与完整性校验别跳过这步下载完别急着解压先校验MD5。以KITTI增强版为例官网提供md5sum.txta1b2c3d4e5f67890... KITTI_2023_enhanced.zip用命令行校验md5sum KITTI_2023_enhanced.zip | cut -d -f1 | diff - md5sum.txt返回空则成功。我吃过亏某次下载的CWRU数据集MD5不匹配解压后发现缺失32个.mat文件重训三天才发现是下载中断。另外检查文件结构是否符合YOLO要求images/ → 存放.jpg/.pnglabels/ → 存放同名.txt如000001.jpg → 000001.txttrain/val/test子目录如有 用tree命令快速查看tree -L 2 . # 只显示两级目录如果labels里有.xml或.json必须转换。我写了个通用转换脚本支持Pascal VOC、COCO、LabelImg核心逻辑读取源标注→解析bbox→按YOLO格式写入txt。关键点确保class id从0开始连续且与data.yaml的names顺序严格一致。4.2 步骤2目录结构标准化YOLO认这个规矩YOLO官方要求结构如下dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ (可选) ├── labels/ │ ├── train/ │ ├── val/ │ └── test/ └── data.yaml但很多数据集是images/ annotations/需重命名。我的自动化脚本import os, shutil for split in [train, val]: os.makedirs(fdataset/images/{split}, exist_okTrue) os.makedirs(fdataset/labels/{split}, exist_okTrue) # 移动图片 for img in os.listdir(fraw/{split}/images): shutil.move(fraw/{split}/images/{img}, fdataset/images/{split}/{img}) # 转换并移动label for ann in os.listdir(fraw/{split}/annotations): txt convert_voc_to_yolo(fraw/{split}/annotations/{ann}) name os.path.splitext(ann)[0] .txt with open(fdataset/labels/{split}/{name}, w) as f: f.write(txt)注意test目录非必需但强烈建议建用于最终验收。如果数据集没提供test从val里按20%比例随机抽取。4.3 步骤3data.yaml配置80%的人在这里出错这是YOLO的“宪法”写错全盘皆输。标准模板train: ../dataset/images/train val: ../dataset/images/val test: ../dataset/images/test # 可选 nc: 3 # number of classes names: [class0, class1, class2] # class names关键陷阱路径必须相对train: ./images/train 是错的必须是 ../dataset/images/train假设yolov8/train.py在ultralytics/目录下nc和names长度必须严格相等少一个或多一个都会报错names顺序必须与label.txt的class id一一对应id0 → names[0]绝不能颠倒 我习惯用脚本自动生成classes [vendor, adboard, bike] # 从labels/train/里统计唯一class id with open(data.yaml, w) as f: f.write(ftrain: ../dataset/images/train\n) f.write(fval: ../dataset/images/val\n) f.write(fnc: {len(classes)}\n) f.write(fnames: {classes}\n)4.4 步骤4训练参数调优不是越大越好YOLOv8默认参数适合通用场景但针对特定数据集需调整。以占道经营数据集为例batch322080Ti显存11GB32张640×640图刚好占满imgsz640足够覆盖摊贩尺寸再大显存不够epochs100实测80轮后val loss收敛100轮防过拟合lr00.01学习率比默认0.001高10倍因为数据集小12k图需更快收敛optimizerautoYOLOv8自动选AdamW比SGD更适合小数据集box7.5bbox loss权重占道经营目标小且密集提高box权重能改善定位精度cls0.5分类loss权重适当降低因为定位比分类更重要城管更关心“在哪”而非“是哪种摊”4.5 步骤5数据增强策略针对数据集弱点定制YOLOv8内置增强但需根据数据集特点开关。对桥墩病害数据集我关闭了mosaic0.0因为病害区域常居中mosaic会把病害切到边缘mixup0.0不同病害混合会生成无效样本裂缝锈蚀≠真实场景 开启hsv_h0.015色调扰动模拟不同光照下的混凝土色差hsv_s0.7饱和度扰动模拟雨后湿滑表面反光perspective0.0001极小透视变换模拟不同角度拍摄4.6 步骤6训练过程监控看懂这些曲线才不会瞎调启动训练后实时看runs/detect/train/results.csvmetrics/mAP50-95(B)核心指标0.75算优秀train/box_loss应持续下降若第50轮后持平说明收敛val/cls_loss若持续0.5说明分类困难需检查标注一致性lr/pg0学习率应按cosine schedule平滑下降我用pandas绘图import pandas as pd df pd.read_csv(results.csv) df.plot(xepoch, y[metrics/mAP50-95(B), train/box_loss]) plt.show()如果val mAP在上升而train loss在下降是健康信号如果val mAP停滞而train loss继续降是过拟合需早停--patience 10。4.7 步骤7模型导出与推理验证最后一步决定成败训练完导出onnx供部署yolo export modelbest.pt formatonnx opset12关键参数opset12兼容性最好避免高版本opset在边缘设备不支持dynamicTrue开启动态batch适配不同数量输入推理时必做验证from ultralytics import YOLO model YOLO(best.onnx) results model(test.jpg, conf0.25, iou0.45) # conf太低漏检太高误检 boxes results[0].boxes.xyxy.cpu().numpy() # 获取bbox坐标用OpenCV画框验证img cv2.imread(test.jpg) for box in boxes: x1, y1, x2, y2 map(int, box) cv2.rectangle(img, (x1,y1), (x2,y2), (0,255,0), 2) cv2.imwrite(result.jpg, img)重点检查小目标是否检出如远处摊贩、遮挡目标是否完整如人墙后的广告牌、相似目标是否区分如电动车vs自行车。5. 常见问题与独家排查技巧那些文档里不会写的坑5.1 问题1训练loss不降val mAP始终≈0现象train/box_loss卡在12.5不动val mAP0.001排查链检查data.yaml路径是否正确90%概率→ls -l ../dataset/images/train看是否存在检查labels/里txt文件是否为空 →wc -l dataset/labels/train/*.txt | tail -1检查bbox坐标是否越界 → 写脚本遍历所有txtif x_center1 or y_center1 or w_norm1 or h_norm1: print(file)检查class id是否超出nc →grep -r ^[3-9] dataset/labels/如果nc3id只能是0,1,2我的经验有一次是labelimg导出时勾选了“保存绝对路径”txt里写的是/home/user/.../000001.jpgYOLO读不到改成相对路径立刻解决。5.2 问题2推理结果bbox全偏右下角现象所有框集中在图片右下1/4区域原因YOLO要求归一化坐标但你的label是像素坐标未除以图片宽高验证打开一个txt看数值是否都在01之间如果全是0 450 320 120 80这种就是没归一化修复用脚本批量转换for txt in glob(labels/*.txt): with open(txt) as f: lines f.readlines() w, h get_img_size(txt.replace(labels, images).replace(.txt, .jpg)) with open(txt, w) as f: for line in lines: cls, x, y, w_, h_ map(float, line.split()) f.write(f{int(cls)} {x/w} {y/h} {w_/w} {h_/h}\n)5.3 问题3mAP很高但实际漏检严重现象val mAP0.585%但测试视频里漏掉30%摊贩根因val集和test集场景分布不一致排查用YOLO的val.py输出confusion matrix看哪类漏检多 → 如果“摊贩”类precision高但recall低说明val里摊贩样本少对策重新划分train/val按场景聚类后分层抽样确保val包含所有长尾case。我的工具用k-means对图片HSV直方图聚类每类抽20%进val。5.4 问题4训练显存溢出CUDA out of memory现象batch16报错batch8正常**不是调小batch就

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价