Detectron2 实例分割训练实战:COCO 数据注册、训练与评估
Detectron2 实例分割训练实战COCO 数据注册、训练与评估这篇教程根据我复现 Detectron2 实例分割流程时整理重点演示如何安装 Detectron2、注册 COCO 格式数据集、训练 Mask R-CNN 并评估结果。本文整理自我的学习和项目复现过程尽量按实操顺序保留 notebook 的关键步骤同时把数据集获取方式调整为适合中文教程发布的写法。本文会重点跑通以下流程安装 Detectron2 环境运行预训练模型推理从数据集后台获取 COCO 实例分割数据注册训练、验证和测试数据集训练并评估自定义实例分割模型如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型建议收藏本文配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住可以在评论区说明具体报错。 文章目录Detectron2 实例分割训练实战COCO 数据注册、训练与评估⚙️ 环境准备 安装 Detectron2 预训练模型推理 从数据集后台获取 COCO 数据 注册数据集️ 可视化训练样本️ 训练实例分割模型 评估模型 小结 同系列教程汇总⚙️ 环境准备先检查 GPU 与基础运行环境。建议优先使用 Colab GPU 或本地 NVIDIA GPU 环境。!nvidia-smi 安装 Detectron2Detectron2 对 CUDA/PyTorch 版本较敏感先确认依赖安装成功。!python-m pip installgithttps://github.com/facebookresearch/detectron2.gitimporttorch,detectron2 !nvcc--version TORCH_VERSION..join(torch.__version__.split(.)[:2])CUDA_VERSIONtorch.__version__.split()[-1]print(torch: ,TORCH_VERSION,; cuda: ,CUDA_VERSION)print(detectron2:,detectron2.__version__)# COMMON LIBRARIESimportosimportcv2fromdatetimeimportdatetimefromgoogle.colab.patchesimportcv2_imshow# DATA SET PREPARATION AND LOADINGfromdetectron2.data.datasetsimportregister_coco_instancesfromdetectron2.dataimportDatasetCatalog,MetadataCatalog# VISUALIZATIONfromdetectron2.utils.visualizerimportVisualizerfromdetectron2.utils.visualizerimportColorMode# CONFIGURATIONfromdetectron2importmodel_zoofromdetectron2.configimportget_cfg# EVALUATIONfromdetectron2.engineimportDefaultPredictor# TRAININGfromdetectron2.engineimportDefaultTrainer 预训练模型推理用预训练模型跑一张图确认安装和推理流程正常。!wget http://images.cocodataset.org/val2017/000000439715.jpg-q-Oinput.jpg imagecv2.imread(./input.jpg)cv2_imshow(image)cfgget_cfg()cfg.merge_from_file(model_zoo.get_config_file(COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml))cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST0.5cfg.MODEL.WEIGHTSmodel_zoo.get_checkpoint_url(COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml)predictorDefaultPredictor(cfg)outputspredictor(image)print(outputs[instances].pred_classes)print(outputs[instances].pred_boxes)visualizerVisualizer(image[:,:,::-1],MetadataCatalog.get(cfg.DATASETS.TRAIN[0]),scale1.2)outvisualizer.draw_instance_predictions(outputs[instances].to(cpu))cv2_imshow(out.get_image()[:,:,::-1]) 从数据集后台获取 COCO 数据从数据集后台导出 COCO 实例分割格式数据后修改本地路径。fromtypesimportSimpleNamespace# 从数据集后台下载 COCO 实例分割 格式数据集后修改 DATASET_DIR 指向解压目录。DATASET_DIR/content/dataset# 修改为数据集后台导出的数据集目录datasetSimpleNamespace(locationDATASET_DIR,version1,namecustom-dataset) 注册数据集Detectron2 训练前必须先注册 train/valid/test 数据集。DATA_SET_NAMEdataset.name.replace( ,-)DATA_SET_LOCATIONdataset.location# TRAIN SETTRAIN_DATA_SET_NAMEf{DATA_SET_NAME}-trainTRAIN_DATA_SET_IMAGES_DIR_PATHos.path.join(dataset.location,train)TRAIN_DATA_SET_ANN_FILE_PATHos.path.join(dataset.location,train,ANNOTATIONS_FILE_NAME)register_coco_instances(nameTRAIN_DATA_SET_NAME,metadata{},json_fileTRAIN_DATA_SET_ANN_FILE_PATH,image_rootTRAIN_DATA_SET_IMAGES_DIR_PATH)# TEST SETTEST_DATA_SET_NAMEf{DATA_SET_NAME}-testTEST_DATA_SET_IMAGES_DIR_PATHos.path.join(dataset.location,test)TEST_DATA_SET_ANN_FILE_PATHos.path.join(dataset.location,test,ANNOTATIONS_FILE_NAME)register_coco_instances(nameTEST_DATA_SET_NAME,metadata{},json_fileTEST_DATA_SET_ANN_FILE_PATH,image_rootTEST_DATA_SET_IMAGES_DIR_PATH)# VALID SETVALID_DATA_SET_NAMEf{DATA_SET_NAME}-validVALID_DATA_SET_IMAGES_DIR_PATHos.path.join(dataset.location,valid)VALID_DATA_SET_ANN_FILE_PATHos.path.join(dataset.location,valid,ANNOTATIONS_FILE_NAME)register_coco_instances(nameVALID_DATA_SET_NAME,metadata{},json_fileVALID_DATA_SET_ANN_FILE_PATH,image_rootVALID_DATA_SET_IMAGES_DIR_PATH)[data_setfordata_setinMetadataCatalog.list()ifdata_set.startswith(DATA_SET_NAME)]️ 可视化训练样本可视化训练样本能快速发现标注或类别映射问题。metadataMetadataCatalog.get(TRAIN_DATA_SET_NAME)dataset_trainDatasetCatalog.get(TRAIN_DATA_SET_NAME)dataset_entrydataset_train[0]imagecv2.imread(dataset_entry[file_name])visualizerVisualizer(image[:,:,::-1],metadatametadata,scale0.8,instance_modeColorMode.IMAGE_BW)outvisualizer.draw_dataset_dict(dataset_entry)cv2_imshow(out.get_image()[:,:,::-1])️ 训练实例分割模型配置 Mask R-CNN 训练参数并启动训练。# HYPERPARAMETERSARCHITECTUREmask_rcnn_R_101_FPN_3xCONFIG_FILE_PATHfCOCO-InstanceSegmentation/{ARCHITECTURE}.yamlMAX_ITER2000EVAL_PERIOD200BASE_LR0.001NUM_CLASSES3# OUTPUT DIROUTPUT_DIR_PATHos.path.join(DATA_SET_NAME,ARCHITECTURE,datetime.now().strftime(%Y-%m-%d-%H-%M-%S))os.makedirs(OUTPUT_DIR_PATH,exist_okTrue)cfgget_cfg()cfg.merge_from_file(model_zoo.get_config_file(CONFIG_FILE_PATH))cfg.MODEL.WEIGHTSmodel_zoo.get_checkpoint_url(CONFIG_FILE_PATH)cfg.DATASETS.TRAIN(TRAIN_DATA_SET_NAME,)cfg.DATASETS.TEST(TEST_DATA_SET_NAME,)cfg.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE64cfg.TEST.EVAL_PERIODEVAL_PERIOD cfg.DATALOADER.NUM_WORKERS2cfg.SOLVER.IMS_PER_BATCH2cfg.INPUT.MASK_FORMATbitmaskcfg.SOLVER.BASE_LRBASE_LR cfg.SOLVER.MAX_ITERMAX_ITER cfg.MODEL.ROI_HEADS.NUM_CLASSESNUM_CLASSES cfg.OUTPUT_DIROUTPUT_DIR_PATHtrainerDefaultTrainer(cfg)trainer.resume_or_load(resumeFalse)trainer.train()# Look at training curves in tensorboard:%load_ext tensorboard%tensorboard--logdir $OUTPUT_DIR_PATH 评估模型训练完成后在验证集或测试集上评估分割效果。cfg.MODEL.WEIGHTSos.path.join(cfg.OUTPUT_DIR,model_final.pth)cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST0.7predictorDefaultPredictor(cfg)dataset_validDatasetCatalog.get(VALID_DATA_SET_NAME)fordindataset_valid:imgcv2.imread(d[file_name])outputspredictor(img)visualizerVisualizer(img[:,:,::-1],metadatametadata,scale0.8,instance_modeColorMode.IMAGE_BW)outvisualizer.draw_instance_predictions(outputs[instances].to(cpu))cv2_imshow(out.get_image()[:,:,::-1]) 小结这篇教程完整整理了Detectron2 实例分割训练的核心复现流程。实际操作时建议先确认 GPU、依赖版本、数据集路径和模型权重路径再逐段运行 notebook。后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。 同系列教程汇总Google Gemini 3.5 Flash 零样本目标检测教程从提示词到可视化结果GLM-OCR 文档识别实战教程从验证码、公式到车牌 OCRRF-DETR ByteTrack 多目标跟踪实战教程从命令行到 Python 视频轨迹可视化SAM 3 图像分割实战教程文本、框和点提示的多种分割方式SAM 3 视频分割实战教程用文本提示分割并跟踪视频中的目标Detectron2 实例分割训练实战COCO 数据注册、训练与评估-本文

相关新闻

AI Agent 的终极形态会是什么

AI Agent 的终极形态会是什么

开篇一个残酷的事实我们今天讨论的 AI Agent,大概率不是它最终的样子。就像 2007 年 iPhone 发布时,没有人能预测到 2026 年手机会变成什么形态。我们现在看到的 Agent——Cursor 写代码、Claude 回答问题、AutoGPT 跑任务——都只是演进过程中的中间态。…

2026/7/23 9:03:02 阅读更多 →
AI行业洞察—从1700个岗位看大厂AI要什么人

AI行业洞察—从1700个岗位看大厂AI要什么人

一、摘要 我对AI行业内的岗位需求情况进行了调研(详见文章第四部分),核心结论如下: 1、26年的大厂AI人才招聘已经不是“算法科学家”的独角戏,AI应用在产运、工程、算法岗位方面都有增量岗位,招聘要求是围…

2026/7/22 6:03:47 阅读更多 →
Zephyr SDK 1.0.1 安装与STM32F103C8T6开发环境搭建全攻略

Zephyr SDK 1.0.1 安装与STM32F103C8T6开发环境搭建全攻略

最近在尝试用 Zephyr RTOS 开发一个基于 STM32F103C8T6 的小项目,结果第一步安装 Zephyr SDK 就卡住了。网上资料要么版本太老,要么步骤不全,尤其是针对 Windows 和 Linux 不同环境的细节,踩了不少坑。为了帮大家少走弯路&#xf…

2026/7/22 3:31:19 阅读更多 →

最新新闻

AI Agent技术栈:大模型落地的工程实践与架构设计

AI Agent技术栈:大模型落地的工程实践与架构设计

1. 项目概述:AI Agent与大模型落地的时代机遇2026年的AI领域正在经历一场深刻的范式转移。当大模型参数规模突破百万亿级门槛时,单纯比拼模型尺寸的时代已经结束,行业焦点转向如何让这些"数字大脑"真正解决实际问题。这就是AI Agen…

2026/7/24 6:53:14 阅读更多 →
程序设计语言的特点

程序设计语言的特点

1. C 语言概述C 是一种通用、静态类型、编译式、支持多范式的程序设计语言,C 在 C 语言的基础上增加了面向对象、泛型编程等特性,同时保持了与 C 语言的高度兼容性和高效性,使其成为系统软件、游戏开发、高性能计算等领域的核心语言。2. C 的…

2026/7/24 6:53:14 阅读更多 →
【Seaborn 学习笔记】P1.关系图:散点图 scatterplot、折线图 lineplot

【Seaborn 学习笔记】P1.关系图:散点图 scatterplot、折线图 lineplot

matplotlib 画图,seaborn 画变量关系seaborn 本质上是在 matplotlib 的画布上画图安装 Seaborn使用 pip 安装:pip install seaborn在 Python 中导入 Seaborn 库导入并取别名为 sns:import seaborn as sns加载 Seaborn 内置数据集Seaborn 拥有…

2026/7/24 6:53:14 阅读更多 →
Retriever And Chain With LangChain 完整解读

Retriever And Chain With LangChain 完整解读

Retriever And Chain With LangChain 完整解读Retriever(检索器)和 Chain(链)是 LangChain 中 RAG(Retrieval-Augmented Generation,检索增强生成)最核心的两个组件。很多初学者容易把它们混淆&…

2026/7/24 6:53:14 阅读更多 →
Retriever  Chain in LangChain 完整深度解读

Retriever Chain in LangChain 完整深度解读

Retriever & Chain in LangChain 完整深度解读适配 LangChain 0.1 新版 API(区分 legacy RetrievalQA 与现代 LCEL 写法) 核心定位:RAG 的两大基础组件 ——Retriever(检索器)负责找文档,Chain&#xf…

2026/7/24 6:53:14 阅读更多 →
Claude三大模型代码能力评测与选型指南

Claude三大模型代码能力评测与选型指南

1. 项目背景与核心问题最近在开发者社区看到不少关于Claude不同模型版本的讨论,尤其是针对代码生成能力的对比。作为一个长期使用AI辅助编程的工具人,我决定对Claude的三个主要模型——Opus、Sonnet和Haiku进行一次系统的横向评测。这次测试主要聚焦两个…

2026/7/24 6:52:14 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻