首页 网站首页 商业资讯 数据 查看内容

Detectron2训练自己的数据集手把手指导

私域电商 数据 2022-11-22 11:18 8305人围观

Detectron2练习自己的实例朋分数据

This article was original written by Jin Tian, welcome re-post, first come with https://jinfagang.github.io . but please keep this copyright info, thanks, any question could be asked via wechat: jintianiloveu

本文先容若何机关自己的类coco数据集,并用detectron2来练习并猜测。现实上detectron2出来已经有几天了。但这个框架小我感受离真正产业利用还有点间隔,首先第一点是欠好摆设,其次是相关的其他模子导出支持比力差,比如不支持onnx,同时即即是导出的onnx模子也很难用上一些加速框架停止加速,比如不支持TensorRT。但假如你不是追求速度,用python做推理也是可以的,而且最关键的是,你可以用你的数据集练习你的模子,大概是在这个框架上增加一些自己的点窜,看看结果能否是更好之类。

首先看看这个若何来练习自己的数据集。我们明天要用的数据是这个:

wget https://github.com/Tony607/detectron2_instance_segmentation_demo/releases/download/V0.1/data.zip

这篇文章很大鉴戒于原作者的一些尝试,感爱好的朋友可以给他github一个star,人家也不轻易。这个data是一个很是很是合适来测试朋分的一个微型数据集,小到什么水平?只要那末25张图片。。




种别大如果:

cats: [{'supercategory': 'date', 'id': 1, 'name': 'date'}, {'supercategory': 'fig', 'id': 2, 'name': 'fig'}, {'supercategory': 'hazelnut', 'id': 3, 'name': 'hazelnut'}]

(这里date的意义是枣椰子,fig的意义是无花果,hazelnut是榛子。)

假如你下载好了数据,那末根基上我们可以起头了。大师可以看到这个数据集还有一个trainval.json,美满是依照coco的标注方式来标注的。coco的json格式也是今朝比力通用的是instance segmentation 大概是Panoptic segmentation标注格式。


Setup Detectron2

关于若何安装detectron2这里不展开论述,大师可以依照github赐与的步调来。这里给大师几点提醒:

  • 要python3.6;
  • 要pytorch1.3.

其他的没有了。


练习

首先看一下这个很是小很是迷你的数据集,在100次练习以后的结果:




Full source code:

注册完数据集以后,可以起头train,根基上几个epoch便可以。

可以看出来,这个结果还是很是不错的啊。练习的剧本也很是简单:


import random
from detectron2.utils.visualizer import Visualizer
from detectron2.data.catalog import MetadataCatalog, DatasetCatalog
import fruitsnuts_data
import cv2
from detectron2.engine import DefaultTrainer
from detectron2.config import get_cfg
import os
from detectron2.engine.defaults import DefaultPredictor
from detectron2.utils.visualizer import ColorMode


fruits_nuts_metadata = MetadataCatalog.get("fruits_nuts")


if __name__ == "__main__":
cfg = get_cfg()
cfg.merge_from_file(
"../../configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml"
)
cfg.MODEL.WEIGHTS = os.path.join(cfg.OUTPUT_DIR, "model_final.pth")
print('loading from: {}'.format(cfg.MODEL.WEIGHTS))
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5 # set the testing threshold for this model
cfg.MODEL.ROI_HEADS.NUM_CLASSES = 3
cfg.DATASETS.TEST = ("fruits_nuts", )
predictor = DefaultPredictor(cfg)

data_f = './data/images/2.jpg'
im = cv2.imread(data_f)
outputs = predictor(im)
v = Visualizer(im[:, :, ::-1],
metadata=fruits_nuts_metadata,
scale=0.8,
instance_mode=ColorMode.IMAGE_BW # remove the colors of unsegmented pixels
)
v = v.draw_instance_predictions(outputs["instances"].to("cpu"))
img = v.get_image()[:, :, ::-1]
cv2.imshow('rr', img)
cv2.waitKey(0)

大师能够感觉这个instance segmention练习的太轻易,那末来应战难度大一点的?

确切,这个坚果数据集实在是太简单了,简单到我们甚至打印不出任何练习进程,一眨眼模子就练习好了。那就来个难度大一点的吧,我们将用Detectron2练习Cityscapes的实例朋分!


Detectron2 练习Cityscapes实例朋分

虽然在Detectron2里面有Cityscapes的数据dataloader,但我们并不筹算用它,相反,我们感觉利用同一化的coco数据集格式可以更好的让数据fit。当我们决议做这件工作的时辰犯难了。若何从Cityscapes转到coco?

幸亏有这个需求的人很多,这值得我们开辟一个工具来转它。我们保护的现成的工具剧本可以在这里找到:

https://github.com/jinfagang/cityscapestococo

现实上我们将数据转到coco以后,发现结果我们设想的还好,由于这些标注都很是精准,而且包括了我们感爱好的常用种别,比如car,truck,rider,cyclist,motor-cycle等:




这是可视化的结果。这些步调与我们上面练习坚果数据集的步调差不多,大师仿制步调来,首先可视化数据确保我们的数据是正确无误的。那末接下里的工作就很简单了。




看起来似乎还不错,这些种别众多而精准,接下来起头train:




看起来似乎还不错。现在练习一个instance segmentation 简直是太简单了。

那末这个instance segmention模子练习完成以后是一种什么样的结果呢?模子还在练习,我们等下一期技术文章公布以后,给大师分享一下成果,同时,告诉大师一个好消息:

  1. 类似于MaskRCNN这样的模子速度是很难在现实场景中用起来的,缘由也很简单,我们都需要realtime的工具,这速度差强人意,能够否有人尝试更简便的backbone呢?不得而知,不外好消息是现实上经过一些加速框架,是可以把MaskRCNN加速到realtime的。而这些,我们等到detectron2go公布以后,也许会看获得一些好消息。

本文首发于MANA AI社区,假如你对AI感爱好,接待加入我们的社区一路交换:

高端人脉微信群

高端人脉微信群

人脉=钱脉,我们相信天下没有聚不拢的人脉,扫码进群找到你所需的人脉,对接你所需的资源。

商业合作微信

商业合作微信

本站创始人微信,13年互联网营销经验,擅长引流裂变、商业模式、私域流量,高端人脉资源丰富。

我有话说......
  • 销客多 2022-11-22 11:28
    一点用也没有
  • 老橡树1 2022-11-22 11:28
    您好您知道了嘛 我也想知道
  • lzd21cn 2022-11-22 11:27
    train.py中最后trainer.train()会报一个tenser越界的错,请问Detection2中有需要修改的地方吗
  • 123456881 2022-11-22 11:26
    是要新下一个权重,去model zoo里找相应的权重,比如mask_rcnn_R_50_FPN_3x对应的是model_final_f10217.pkl,重命名成model_final.pth然后放到./output路径下。
  • tel13265114935 2022-11-22 11:25
    请参考full sourcecode
  • 123456819 2022-11-22 11:25
    确实,作者写错了,他贴的应该是预测脚本

查看全部评论>>

相关推荐

各领域公开数据集下载

各领域公开数据集下载

整理了网上的公开数据集,分类下载如下,希望节约大家的时间。1.经济金融1.1.宏观经济

快速找到论文数据的19个方法

快速找到论文数据的19个方法

在这个用数据说话的时代,能够打动人的往往是用数据说话的理性分析,无论是对于混迹职

有哪些可以获取数据的网站?[大数据]

有哪些可以获取数据的网站?[大数据]

做数据可视化或者数据分析的朋友可能经常会碰到的问题就是有想法没有数据。想到我有几

Detectron2训练自己的数据集手把手指导

Detectron2训练自己的数据集手把手指导

Detectron2训练自己的实例分割数据集This article was original written by Jin Tian,

数据增强(Data Augmentation)

数据增强(Data Augmentation)

我们常常会遇到数据不足的情况。比如,你遇到的一个任务,目前只有小几百的数据,然而

数据迷思2:辛普森悖论下的香港死亡数字

数据迷思2:辛普森悖论下的香港死亡数字

如果有两名篮球手A和B,本来,无论是两分球还是三分球,A都要比B投得准,但是一个赛季

数据看中国vs世界:2021世界各国/地区薪资排名

数据看中国vs世界:2021世界各国/地区薪资排名

数据源:NUMBEO自从我的“randy77:数据看中国vs世界:2020年世界各国人均GDP最新排名

数据可视化:打造高端的数据报表

数据可视化:打造高端的数据报表

本文是《如何快速成为数据分析师》的第五篇教程,如果想要了解写作初衷,可以先行阅读

最通俗易懂的理解什么是数据库

最通俗易懂的理解什么是数据库

1.什么是数据库呢?每个人家里都会有冰箱,冰箱是用来干什么的?冰箱是用来存放食物的

数据可视化:深入浅出BI

数据可视化:深入浅出BI

本文是《如何快速成为数据分析师》的第六篇教程,如果想要了解写作初衷,可以先行阅读

数据分析师这个岗位,可能近几年会消亡

数据分析师这个岗位,可能近几年会消亡

近期成为月入两万的数据分析师的广告遍地都是,可能会对一些未入行的同学造成错觉。我

没数据分析项目经验,找工作也别太慌!

没数据分析项目经验,找工作也别太慌!

1. 你问不少同学加了微信,第一句往往类似这样: 在校或刚毕业的学生,没有实习经验,

Excel函数公式大全(图文详解)

Excel函数公式大全(图文详解)

我把每个函数的中文名都制作成了目录,通过目录能够快速定位到相应的函数。如果这篇文

18个超实用的神级免费网站,找论文和文献必备!

18个超实用的神级免费网站,找论文和文献必备!

写论文至关重要的一步就是查文献,为了让小伙伴们能够在查文献的路上少走弯路,顺利写

30个值得推荐的数据可视化工具(2020年更新)

30个值得推荐的数据可视化工具(2020年更新)

30个数据可视化工具(2020年更新)目录摘要• 零编程工具◦ 图表(9个)◦ 信息图(2

从三次人口普查的公开数据看兵源人口的变化与“征兵难”问题 ... ...

从三次人口普查的公开数据看兵源人口的变化与“征兵难”问题 ...

最近很多人私信询问如何看待出生人口或人口总量减少对征集兵员和国家安全的影响。这可

数据看中国VS世界:世界各国人类发展指数排名-2020

数据看中国VS世界:世界各国人类发展指数排名-2020

人类发展指数:Human Development Index(HDI),是联合国开发计划署从1990年开始发布

GIS数据免费下载网站

GIS数据免费下载网站

刚学习GIS和RS的同学肯定很困惑于数据的问题,因为没有数据,就没法分析,那么GIS最基

2022新数据出炉:透过性别比例与出生人口,我看到两个残酷的现实

2022新数据出炉:透过性别比例与出生人口,我看到两个残酷的现实

2022重磅数据公布,全年出生人口956万人,死亡人口1041万人。从性别构成来看,男性人

数据中台(一)什么是数据中台

数据中台(一)什么是数据中台

本文从数据中台的定义、核心能力、优点出发阐述企业数据中台建设的意义与必要性。一、

TA还没有介绍自己。

最近内容

电话咨询: 15924191378
添加微信