公司动态

快递识别数据集构建与YOLOv8训练全流程实战指南

📅 2026/8/28 2:32:50
快递识别数据集构建与YOLOv8训练全流程实战指南
简介目标检测是计算机视觉的核心任务之一而高质量数据集则是模型性能的基石。在工业与物流场景中传送带上的物体识别与分拣高度依赖精准的检测模型这背后离不开科学的数据采集、清洗、标注与划分流程。从数据集设计到模型训练每一步都直接影响实际部署效果。本文基于物流自动化实践系统讲解快递识别数据集的构建方法、YOLOv8训练流程及常见问题排查涵盖类别体系设计、标注规范、OBB旋转框、小目标优化与部署细节为工业检测与物流视觉工程师提供可落地的工程参考。 如果你在物流自动化这个圈子里待过大概率听过这类需求传送带上的快递包裹要被实时认出来然后分流、计数、扫码、甚至判断破损与否。这里的核心就是目标检测而目标检测最烧钱的不是算法本身是数据和标注。这个“快递识别数据集”的标题说白了就是把物流场景下的真实问题变成算法能学习的数据资产。这篇文章围绕快递识别数据集的构建、标注、训练和部署展开适合正在做物流视觉、工业检测、或者想用YOLOv8训练自己数据集的工程师参考我把踩过的坑和能直接用的流程都整理到后面了。1. 快递识别数据集到底解决什么问题1.1 物流场景中的目标检测任务与痛点快递包裹在物流场景里不是一个单一物体它会长成各种形态硬纸箱、文件信封、编织袋、带缠绕膜的散件、不规则泡状袋。过去自动化分拣主要依赖条码扫描和人工分拣但条码位置不固定流水线高速运动时经常扫不到人工分拣效率又上不去。视觉识别要解决的第一个问题就是“把包裹从背景里找出来”然后再交给机械臂、摆轮分拣机或者计数系统去执行后续动作。这个任务听起来简单真正落地时难点很具体。传送带上的包裹往往一个叠一个或者紧挨着边界不清晰黑色垃圾袋和硅胶传送带在灰度上几乎没区别包裹高速运动时摄像头拍出来的图会有运动模糊还有透明缠绕膜在光照下反光直接让检测框抖动。这些问题是公开数据集很少覆盖的公开的COCO、VOC里有杯子、椅子、汽车就是没有连着传送带一起拍的快递所以为了满足真实场景的部署需求自建快递识别数据集几乎是必然选择。1.2 快递识别数据集的典型应用场景快递识别数据集可以拆成几个不同场景来用。最常见的场景是传送带上位姿识别检测目标是整个包裹的外接框用于给机械臂抓取提供抓取位置和姿态预估第二种是计数与分流识别只需要识别出包裹是否进入某个区域并且跟踪进料斗编号输入输出都比较简单第三种是面单检测与OCR定位先检测出包含快递面单的区域再把区域抠出来交给OCR识别这属于目标检测加文字识别的级联方案面单检测框的精度直接决定后期OCR的准确率。还有一类在国内物流企业比较关注就是对异形件和破损包裹的识别。纸箱破了、胶带开了、袋子漏了这些异常状态用通用目标检测模型很难识别需要专门的数据集去标注“破损区域”或者“胶带缺失”。也就是说快递识别数据集既可以做定位型检测也可以做属性分类型检测具体类别的设计要在做数据集之前想清楚不然到后面返工成本极高。1.3 数据集在目标检测项目中的实际影响目标检测项目的成败数据集决定的比重至少占七成。同样的YOLOv8网络训练一个标注规范的数据集和训练一个标注混乱的数据集mAP可能差出一倍。快递识别数据集中最常见的问题就是标注框不贴合、类别定义不一致、背景样本太少这些都会让模型在实际生产线上出现漏检和误检。真正可用的数据集应该是“从现场来、回现场去”的现场的光照、传送带颜色、摄像头角度、包裹的种类分布都要在数据集里有所体现。有些团队贪图快从网上下载一堆快递图片来训练效果在实验室看着还行一放到现场就崩了原因是训练集和部署环境的domain gap太大。数据集的采集需要遵循一条原则宁可图片数量少一些也要保证场景的覆盖度尤其是负样本和困难样本的数量不能省。2. 数据设计类别体系、标注规范与格式选择2.1 类别体系设计的常见方案对比快递识别数据集的类别设计直接决定了模型能做什么、不能做什么。设计类别体系时要回到物理场景里问自己一个问题算法输出的这些框后面要驱动什么设备如果只是驱动摆轮分流只需要分“包裹”和“背景”两类就够了但如果后续还要做包裹属性分拣例如分“软包”和“硬箱”那类别体系就要重新设计。我见过比较成熟的快递识别项目类别体系一般有三种思路。第一种是按材质分类纸箱、泡沫箱、文件袋、编织袋、软包袋这种分类方便后续按不同物理属性分流。第二种是按语义区域分类包裹主体、面单、破损区域、胶带区域这种更适合做质检和质量追溯。第三种是混合分类主体类别加上属性标签例如“纸箱-完好”、“纸箱-破损”相当于把类别做成多标签这种对标注要求高但模型的鲁棒性更好。建议刚开始做数据集的时候不要急着一口气定20个类别先把最主要的5到7个类别做精。类别过多时类间相似度会快速上升比如“文件袋”和“软包袋”在视觉上本来就分不开强行分类会加剧模型抖动。先解决“能不能识别出包裹”的问题再解决“能不能细分包裹”的问题这个优先级不要搞反。2.2 标注规范与质量控制的实操方法标注质量是数据集的核心快递数据集中标注框的精度尤其重要。传送带上的包裹常有遮挡和堆叠如果标注时把被遮住的边界也标进框里模型学到的其实是“包裹是完整的实心矩形”到了真实线上遇到遮挡时就会漏检。正确的做法是标注可见部分的实际轮廓用贴合物体边缘的框即使包裹被遮挡了一部分只标人眼能明确判断的部分。面对面单检测这类任务标注规范要更严格。面单经常倾斜贴在包裹上水平框会把周围的大量背景也包进来此时需要评估是使用旋转框还是水平框。如果OCR模块对面单倾斜不敏感水平框也可以满足需求如果OCR模型裁剪后效果不佳建议直接使用OBB旋转框标注虽然标注成本更高但面单区域的裁切精度会有非常明显的提升。质量控制方面建议每批数据标注完成后随机抽20%做二次审核。审核人需要看的是框是否贴合目标、类别是否错标、是否存在漏标小目标。尤其是小目标人工标注时很容易漏掉传送带角落的小包裹这类漏标会让模型的召回率在后期怎么调都上不去。还有一个容易忽略的点背景差异越大的图片越必须单独校验因为模型可能学到传送带背景的特征而不是包裹本身的特征。2.3 COCO格式、YOLO格式与旋转框OBB的选择数据集格式的选择会直接影响训练时的加载效率。主流的检测格式无非是COCO JSON、VOC XML、YOLO TXT和DOTA格式的OBB旋转框。COCO格式适合训练前做数据分析因为可以读取annotations直接统计类别数量和面积分布YOLO格式最轻量每张图对应一个txt文件训练时无需解析冗长的JSON。我的建议是用COCO格式作为工作格式来进行数据管理但通过脚本转换成YOLO格式来训练。因为YOLO格式中每个目标归一化后的中心点坐标是相对于图片宽度和高度的比值这在小尺寸图片上很容易因为四舍五入产生误差。如果你的图片尺寸是640x640一个宽度只有10像素的小目标归一化后只有0.0156浮点精度稍有变化就可能产生偏移。用COCO做存储格式可以保留完整的整数坐标信息训练前再做格式转换减少了中间环节的信息损失。如果涉及面单倾斜检测或旋转目标检测就需要考虑OBB格式。OBB的标签逻辑和水平框不同常见的是DOTA数据集的格式需要标注四个角的坐标。这里有个潜在的坑四个角的顺序必须一致否则训练时计算旋转IoU会错乱。建议标注工具在导出OBB的时候统一按左上→右上→右下→左下的顺序输出并且标注软件中设置好自动闭合校验。3. 从零构建数据集采集、清洗、标注到划分3.1 图像采集的环境布置与数据采样策略数据采集是快递识别数据集的第一步也是决定项目上限的一步。如果现场已经部署了摄像头直接用生产环境的视频流抽帧是最省力的抽帧间隔控制在每3到5帧抽一帧这样可以保留目标在不同位置的连续运动信息避免模型只在固定位置识别目标。如果还没有摄像头建议优先选择工业相机而不是监控摄像头工业相机的快门速度快可以大幅减少高速传送带上常见的运动模糊。采集时的场景多样性非常重要。同一台相机晚上开灯和白天开窗进来的自然光完全不同人脸识别项目面对光照变化还可以依赖算法增强快递检测不行因为传送带本身的黑色橡胶区域在强光下会产生过曝。所以采集至少要覆盖三个时间段白天、夜晚灯光、傍晚混合光。还要刻意覆盖不同传输带速度下的图像因为高速运动时包裹的模糊程度和低速时完全不同。不要忽略负样本采集负样本就是没有包裹的空传送带图片以及传送带上出现异物例如扫帚、手套、工具的图片。负样本在目标检测中的作用是压低误检率很多模型在识别包裹时看到传送带上的阴影也会误判为包裹这时候多一张空传送带负样本模型就多一点抵抗力。建议负样本比例控制在总数据量的15%到20%之间比较合适。3.2 数据清洗去掉模糊、遮挡过度与重复样本数据采集完不能立刻标注必须先做清洗。清洗的第一优先级是去掉严重模糊的帧判断模糊的方法很简单用OpenCV拉普拉斯算子的方差值做参考方差小于设定阈值就视为清晰度不足。传送带高速运动中模糊帧的比例可能高达30%如果这些帧全部送去标注既浪费人力还拉低模型性能。第二优先级是去除重复度极高的样本。因为视频抽帧的特性同一包裹连续多帧在画面中的位置非常接近如果把连续帧全部保留数据集里会有大量高度相似的图片导致训练时模型过拟合到特定位置。处理上可以按时间间隔抽帧或者用感知哈希算法计算图片相似度去掉相似度高于0.95的重复帧。遮挡过度的样本要保留一部分但不要超过总量的10%。完全被其他包裹盖住、肉眼都分不清边界的图片标注质量差模型也学不到有效特征直接剔除。但轻微遮挡的样本建议保留这类样本是提升模型鲁棒性的核心资产尤其是包裹之间互相搭边的场景如果数据集中完全没有这类情况模型一上真实分拣线就会立刻“翻车”。3.3 标注工具选型与标注效率提升技巧标注工具的选择对效率影响非常大。单人项目直接用LabelImg或者X-AnyLabeling就够了X-AnyLabeling支持加载已有模型做预标注先用一个粗糙模型跑一遍人工只需要调整错框和补漏标效率能提升3到5倍。如果是多人协作标注团队超过三个人建议直接用CVAT它可以搭建在服务器上所有标注员打开浏览器就能协作审核流程也更规范。快递数据集的标注工作中最大的效率瓶颈在于大量重复形状的包裹如果连续十张图都是类似的纸箱可以善用“复制上一帧标注”的功能微调后提交这在类似场景的视频抽帧中尤其实用。另一个技巧是不要在一张图上反复犹豫一张图上超过10个目标时一次性标完不要中断注意力一旦打断漏标概率会上升。标注过程中建议让标注员只看一种类别不要混合标。一个标注员专门标纸箱另一个专门标面单这样每个人对类别的边界判断保持统一减少了标注标准不一致的问题。项目里如果就一个人负责标注也建议按类别分时段处理先标完所有图的纸箱再回头标面单而不是一张图一个图把所有类别都标完。3.4 数据划分的艺术训练集、验证集、测试集数据划分看起来简单其实是构建数据集时最容易犯错的地方。很多团队按文件夹机械地划分数据例如前80%的图片进训练集后20%进验证集但是视频抽帧得到的数据在时间上高度相关前80%和后20%可能根本不是同一个场景下的数据。正确做法是先把不同场景分组例如分成白天组、夜晚组、黄昏组然后从每个组里按比例随机抽取数据保证场景分布均匀。验证集和测试集的用途完全不同。验证集在训练过程中用来判断模型是否收敛以及选择最佳权重帮助调试超参数测试集在训练完成后用于最终性能评估它的地位更接近“考试卷”。测试集的数据不能和训练集有重复也不能和验证集有重复最稳妥的办法是测试集的图片单独从另一时段采集保证评价结果真实反映模型在新场景下的表现。比例上我通常按70%训练、15%验证、15%测试来分。如果数据集总量少于1000张不建议单独拆测试集改用交叉验证的方式评估因为数据量太少时拆出的测试集只有一两百张评估结果方差太大。另外划分完数据后一定做一次类别分布检查确保训练集和验证集中每个类别的比例接近不能出现训练集里“纸箱”占了80%验证集里“面单”占了50%这种分布不匹配会让模型的验证结果完全失真。4. 基于YOLOv8训练快递识别模型的完整流程4.1 环境准备与YOLO训练基础当前目标检测领域里YOLOv8是训练自定义数据集最顺手的框架之一安装和配置都比较简单。建议直接用Python 3.10以上的环境CUDA版本按你的显卡驱动装好然后安装ultralytics这个包。整个训练流程不复杂把数据集组织好写一个数据配置文件然后执行训练命令就可以。这里的关键不是命令本身而是训练前对环境变量的理解。训练之前建议用官方预训练权重做迁移学习用yolov8n.pt来训练自己的数据集这是目前工程上几乎默认的做法。随机初始化从头训练一个模型需要的数据量和训练时间都太大而预训练模型已经在ImageNet或COCO上学到了大量的通用特征这些特征迁移到快递包裹上通常只需要很少的数据就能达到可用的效果。还有一个很多人容易忽略的细节就是训练时设置 seed 固定随机种子。目标检测训练过程包含很多随机操作比如数据增强、图片shuffle、初始权重扰动如果不固定seed两次训练出的模型可能有明显差异给复现和后续调试造成困难。在YOLOv8中可以直接在训练命令里加seed42保证结果可重复。4.2 数据集配置文件与目录组织规范用YOLOv8训练数据集前需要把数据整理成框架要求的目录结构然后编写一个YAML配置文件。目录结构一般是这样dataset目录下面分images和labels两个大目录各自再按train、val、test三个子目录划分。这里有一个经验之谈图片和标注文件的文件名必须一一对应建议统一命名为“场景标识_时间戳_序号”的格式例如line1_20250511_000123.jpg和对应的txt文件。数据集配置文件的内容很简单就是指定路径和类别列表。需要注意YAML里的类别列表顺序必须与标注文件里的类别ID一致这个顺序一旦训练时确定下来后续部署推理时就必须保持一致。检查类别顺序是否错误的方法很简单打开标注好的txt文件第一个数字就是类别ID统计一下每个ID的数量和类别列表对照一下就能发现是否对错了。验证集和测试集的图片不要放在同一个文件夹里搞混。YOLOv8在训练过程中只用val目录来评估模型不会使用test目录测试集需要单独用训练完成后的命令来评估。很多新手把测试数据也放进验证集里一起评估最后得到的mAP虚高实际部署时性能立刻露馅。4.3 YOLOv8训练参数选择与损失函数分析初学者训练自己的数据集时最容易陷入一个误区盲目追求大模型。在快递识别场景中如果模型部署在边缘设备或Jetson上用一个YOLOv8n或者YOLOv8s就够了大模型YOLOv8x虽然精度更高但推理速度和显存占用会让人头大。实际生产中快递包裹形态相对简单小模型在精确率上的差距并没有想象中那么明显。训练时的主要参数包括imgsz、epochs、batch、lr0。图像尺寸建议设置成640这是速度和精度的折中方案直接改成1280虽然精度有提升但速度会下降明显。训练轮数通常设置150到300轮之间不要只看轮数要看验证集上的损失曲线是否还在下降如果验证损失连续20个epoch不降说明模型已经收敛可以提前停止。对YOLOv8的损失函数要有一个基础认知它的总损失由分类损失、定位损失和置信度损失三部分组成。快递场景中定位损失对检测框的贴合度影响最大尤其包裹边界不清晰时定位损失很容易主导整个训练过程。如果发现预测框比真实框偏大一圈可以适当调低box_loss的权重或者检查标注框是否本身就偏松。4.4 训练过程监控与模型评估指标解读训练过程中需要盯住的关键指标包括训练损失、验证损失、mAP50、mAP50-95、精确率和召回率。mAP50表示当预测框和真实框的IoU大于0.5时算命中mAP50-95是更严格的指标它把IoU阈值从0.5到0.95划分多个等级计算平均精度。快递识别场景里mAP50够用是底线mAP50-95才是模型真正“分得准不准”的衡量标准建议两者都关注。精确率和召回率的取舍要结合应用场景来判断。如果是做快递分拣计数那么召回率比精确率更重要宁可多识别几个框也不要漏掉包裹因为多识别的影响可以靠后续设备过滤漏检就会导致计数错误。如果是做破损检测精确率必须优先因为误报破损会让管理人员花费大量时间复核次品反而降低效率。训练完成后框架会自动生成混淆矩阵、PR曲线和训练曲线图。混淆矩阵是排查类别混淆的重要工具如果发现“软包袋”和“编织袋”之间互相混淆严重说明这两个类别在视觉上真的过于接近必要时合并这两个类别重新训练比盲目增加数据更高效。5. 常见问题与排查技巧实录5.1 标注框不贴合导致的预测偏移标注框不贴合物体会导致模型预测框发生系统性偏移比如纸箱的框总是往左下角偏一点点。这个问题的排查方式比较直接在验证集上随机抽取几十张预测图看预测框与真实框之间的偏差方向是否有统一规律如果是统一向左下偏移说明标注阶段标注框普遍偏大或偏小需要回头修正标注数据。标注框不贴合在快递场景里最常见的原因是标注员把“包裹可见区域”误标成“包裹实际区域”。前面说过包裹被遮挡时的可见边界才是应该标注的区域但标注员往往会根据经验猜测被遮住的包裹边界这个猜测过程让框边缘不准确。解决的办法是在标注规范里明确写清楚“遮挡目标只标可见部分”并且用示例图给标注员展示。如果数据集已经训练完才发现标注不贴合不建议手动去修改所有标注那工作量太大了。可以先用现有模型在原始数据上跑一遍找出预测量大的样本只修正预测偏差超过阈值的标注框然后重新训练。这样能显著减少修正量而且修正的目标更明确效率高很多。5.2 小目标漏检率高怎么处理快递传送带上的小包裹以及画面远处的小目标漏检率往往高于平均水平。小目标在图像中所占的像素面积太小特征提取阶段就被降采样丢了。YOLOv8本身有专门针对小目标的检测层但需要训练时保证数据集中小目标样本所占的比例足够不然模型对这类目标的识别能力就很弱。处理小目标问题可以从数据和模型两个层面入手。数据层面针对小目标做过采样让包含小目标的图片多次参与训练或者用拼接增强将小目标放大后放入图像中。模型层面可以试试提高输入分辨率imgsz到960或者使用专门针对小目标优化过的模型结构例如增加注意力模块让模型更加关注小尺寸纹路特征。还有一种通用做法是切图把原始图像切成多块重叠区域每块区域再放大检测但这会大幅增加推理时间适合离线分析场景不适合产线实时检测。实际项目中先检查数据集中小目标的数量和占比如果占比确实太低优先补数据比调模型更有效。5.3 遮挡与重叠场景下的识别策略包裹在传送带上堆积是常态一个包裹压住另一个包裹模型很容易把两个紧挨的包裹识别成一个大包裹。这种现象的根本原因是训练数据中的重叠样本不足。处理方法是增加重叠和遮挡样本的标注比例同时在训练时让两个邻近目标的标注框保持独立不能为了标注方便就把两个紧挨的包裹合并成一个框。模型层面可以在检测后处理阶段调节NMS非极大值抑制的IoU阈值。默认值一般是0.5左右如果包裹密集堆叠建议把IoU阈值调高到0.6或0.7让模型保留更多重叠框然后再判断相邻框是否属于不同目标。不过这需要在真实场景里反复测试阈值太大会产生大量重复框阈值太小又会漏检重叠目标。针对特别严重的堆叠场景可以考虑使用旋转目标检测YOLOv8-OBB或者分割模型先把包裹的轮廓分割出来再拟合外接框。这样在包裹边界本身难以区分的时候像素级的特征比矩形框更可靠但训练开销会明显增加适合对精度要求极高的场景。5.4 类别不平衡与学习率异常问题排查快递数据集中类别不平衡非常常见比如纸箱样本有5000个文件袋样本只有300个这时候模型就会偏向学纸箱的特征。解决方式有几种第一是对少数类做过采样让少数类图片重复参与训练第二是使用focal loss来调整难易样本的损失权重让模型更关注困难样本第三是调整数据增强策略针对少数类做更大力度的旋转缩放以生成更多变体。训练时如果发现loss曲线震荡剧烈或者直接变成NaN首先检查学习率是否过大。YOLOv8的基础学习率默认值是0.01如果更换了模型结构或者数据集很小这个值可能过大。此时将学习率降低到0.001再试通常能解决大部分震荡问题。如果loss中出现NaN还要检查标注文件是否有超出图片边界的坐标这类脏数据会导致训练时计算出非法梯度。另外训练过程中如果发现mAP不升反降且持续多个epoch先检查是不是模型过拟合了。过拟合的典型特征是训练损失持续下降但验证损失上升。这时不要盲目增加训练轮数应该先减少模型容量换更小的模型或者增加正则项和数据增强的力度让模型无法死记训练数据。6. 快递识别数据集的扩展方向与实际部署建议6.1 从HBB到OBB旋转目标检测的应用快递面单倾斜、包裹任意方向是常态用水平框检测倾斜的面单一定会包含大量背景这个定位误差会直接影响后续OCR的识别精度。如果项目对裁剪区域的要求很高就得考虑从水平框HBB升级为旋转框OBB。YOLOv8官方支持OBB训练标注格式相对复杂但效果提升明显。旋转框检测的另一个应用场景是快递包裹的任意方向识别与抓取。机械臂抓取时不仅需要知道包裹的中心和大小还需要知道包裹的旋转角度否则夹爪的朝向不对就可能抓空或者损坏包裹。有了OBB标注模型可以直接输出旋转角后端机械臂的轨迹规划就多了一个重要输入参数。OBB训练对标注数据质量要求更高四边形的四个角点顺序不能乱角度定义必须统一。如果标注数据角点顺序混乱训练时loss会异常大并且很难收敛。建议先用水平框模型跑通整体流程架构确认业务逻辑没问题后再逐步切换到旋转框做精度升级避免一上来就给自己上高难度。6.2 未来扩展分割任务、多模态与实时视频追踪快递识别数据集的边界不会停在目标检测上。如果想把数据复用价值最大化可以在标注检测框的同时顺手标注目标的掩膜这样可以训练分割模型分割模型的好处是能生成更精确的包裹轮廓对严重遮挡场景的处理能力强于检测框。快递行业的体积测量就是典型的分割应用用分割结果估算包裹的三维轮廓比简单的检测框准得多。多模态融合开始走向物流行业摄像头加深度相机的组合可以给出包裹的3D位置和体积信息摄像头加RFID读码器可以同时获得视觉位置和RFID标签身份两者融合后解决“哪个包裹对应哪个运单”的问题。如果数据集建设时有前瞻性可以同步采集深度图像和时间同步的RFID数据数据资产的价值会随之增加。实时视频追踪是另一个落地很广的方向。在传送带上部署追踪算法如ByteTrack、DeepSORT可以让检测框在连续帧之间关联输出每个包裹的运动轨迹和进出料口对应关系。这个方向的实现只需要目标检测模型输出位置信息关键是数据采集环节要有视频流和时间戳单张静态图像的数据集无法支撑轨迹追踪的验证需求。6.3 项目落地时容易忽视的三个部署细节第一个部署细节是模型量化。快递识别项目的最终载体大概率是边缘设备例如Jetson Orin、RK3588或者工业主机这些设备对模型推理速度和显存都有要求。模型训练完建议先测试FP16半精度推理如果速度还达不到要求再做INT8量化。但量化会掉点所以在量化之前要保留一个评估用的测试集量化后重新跑一遍评估确认性能回落不超过可接受范围。第二个部署细节是推理时的置信度阈值选择。数据集标注和训练阶段使用的是统一的置信度但部署阶段的阈值需要重新按现场效果调整。建议在部署前用现场采集的测试视频跑一遍模型画出置信度分布直方图再根据漏检和误检的可接受程度选择一个合适的阈值。千万不要直接沿用训练时的默认阈值那在快递现场大概率不能用。第三个部署细节是数据回流机制。模型上线后要定期把生产环境里出现的错误样本漏检和误检图片保存下来人工筛选后增量补充到数据集中重新做一次小规模微调训练。目标检测的现场环境会变化比如传送带颜色更换、灯光改造、新增快递包装种类数据回流机制能保证模型长期运行后不会逐步劣化。我在做快递识别数据集时最深的一个体会是数据集的规划和标注的投入决定了后面所有工作的高度。模型换来换去框架升来升去最终效果的上限其实在最初那批数据里就定好了。如果你正准备搭建快递识别系统可以从一个场景、几个关键类别、两千张高质量标注图开始先把整个链路跑通再逐步扩大数据量这比一开始就追求大规模数据集要稳健得多。本文还有配套的精品资源点击获取