mmdetection

detectron和mm-detection是干什么的?

别来无恙 提交于 2021-02-15 01:52:37
1 背景介绍 mm-detection在功能上基本和Detectron一致,都是detection codebase((视觉)检测代码库),而Detectron是世界上首个,所以先介绍下Detectron的诞生背景。 1.1 Detectron 是什么? 2018年初,Facebook AI研究院(FAIR)公开了一个 目标(视觉)检测平台 ,名叫Detectron。它是一个软件系统,由Python语言和 Caffe2深度学习框架 构建而成。 近几年深度学习技术的发展极为迅速,经典的深度学习算法越来越多,而算法只是一种思想或伪代码,让算法能够发挥作用,必须将其用软件代码实现。而使用深度学习框架独自去复现这些现代神经网络算法是一件门槛极高(需要精通深度学习框架,需要从只言片语的算法中自己领悟并填补细节)且极为费时的事情。很多时候,人们为了用深度学习技术解决某个问题,需要去测试并比对各种深度学习算法在该问题上的处理效果。 一般情况下,主流的深度学习算法网上有很多复现的版本,但每个版本适用不同类型的深度学习框架、适用不同版本的深度学习框架(深度学习框架就像深度学习技术一样,日新月异,各软件、各库、各硬件升级带来的兼容性问题催生了各种类型的新事物出现,而Detectron也算其中之一)、适用不同的编程语言、适用不同的操作系统等。不说参差不齐的代码质量和性能影响训练的时间和检测的精度

Detectron2(AdelaiDet)加载COCO格式自定义数据集

喜欢而已 提交于 2020-12-24 09:20:51
测试环境: OS: Win10 CUDA: 11.0 pytorch: 1.7.1 GPU: 3060Ti python:3.8 Detectron: 0.3(笔者可以在win环境成功编译安装detectron2 Detectron2模型数量虽然比mmdetection少,不过有些论文还是用Detectron2做的,因此有必要了解一下如何用Detectron2训练自定义数据集。 关于mmdetection下训练coco格式的自定义数据请移步笔者另一篇博文: mmdetection-v2.3安装配置及训练自定义数据集 以笔者目前的经验来看,要想对自己领域内的图像做目标检测任务,最好的方法是制作成COCO格式数据集,个人习惯用labelimg先制作成voc格式,然后用脚本转换为coco格式,转换脚本可见笔者的github库: https://github.com/ouening/OD_dataset_conversion_scripts 。制作成COCO格式的好处是目前大部分OD框架都支持该数据格式,直接调用API或者简单修改就可以用,当然VOC格式也是基本都支持的,但是COCO在指标评价上更加丰富,VOC只有传统的mAP,COCO指标有AP,AP0.5,AP0.75,APs,APm,APl,AR1,AR10,AR100等。 下面以AdelaiDet(基于Detectron2

AI大有可为:NAIE平台助力垃圾分类

扶醉桌前 提交于 2020-10-15 01:49:38
摘要: 生活垃圾的分类和处理是目前整个社会都在关注的热点,如何对生活垃圾进行简洁高效的分类与检测对垃圾的运输处理至关重要。AI技术在垃圾分类中的应用成为了关注焦点。 如今AI已经是这个时代智能的代名词了,任何领域都有AI的身影,垃圾分类及监管等场景自然也少不了“AI+”的赋能。 不过,垃圾往往属于商品的极端变形体,情况比较特殊。目前的技术在视觉可见的基础上,是可以做到垃圾分类报警提醒的,比如判断垃圾是否是经过分类整理的。至于是否能够直接进行视觉检测并分类,且达到某种效果,需要更多的数据和实验支撑才能判断这件事情的可行性。针对这些问题,我们或许可以从海华垃圾分类挑战赛中去听听参赛者都是如何用技术来改变世界的。 海华垃圾分类挑战赛数据包括单类垃圾数据集以及多类垃圾数据集。单类垃圾数据集包含80,000张单类生活垃圾图片,每张单类垃圾图片中仅有一个垃圾实例。 多类垃圾数据集包括4998张图像,其中2,998张多类垃圾图片作为训练集数据,A榜和B榜各包含1000张测试图像,每张多类垃圾图片中包含至多20类垃圾实例。我们将对两种数据集分别进行介绍。 一、多类别垃圾 图1 多类垃圾数据类别分布 如图1所示,多类别垃圾涵盖了204类垃圾,但这204类的数据非常不均衡,有一些类别数目非常少甚至没有出现。 图2 多类垃圾数据可视化 图2中两张图是训练集中的两张图像

OpenMMLab(智能媒体实验室)计划简介

会有一股神秘感。 提交于 2020-10-03 12:07:18
从2018年年中开始,香港中文大学多媒体实验室(MMLab)就启动了OpenMMLab( https://github.com/open-mmlab )计划。这项计划的初衷是为计算机视觉的一些重要方向建立统一而开放的代码库,并不断把新的算法沉淀其中。我们相信,这一项工作可以推动可复现算法生态的建立,也是对计算机视觉社区的重要贡献。 主要项目包括: 目标检测- mmdetection, OpenMMLab Detection Toolbox and Benchmark. 图像分割- mmsegmentation, OpenMMLab Semantic Segmentation Toolbox and Benchmark. 视觉基础- mmcv, OpenMMLab Computer Vision Foundation. 图像视频编辑- mmediting ,OpenMMLab Image and Video Editing Toolbox. 动作理解2- mmaction2 ,OpenMMLab's Next Generation Action Understanding Toolbox and Benchmark 3维目标检测- mmdetection3d, OpenMMLab's next-generation platform for general 3D object

Face++的AutoAssign(附源码)

我们两清 提交于 2020-08-18 21:04:59
​首先,从idea上讲,AutoAssign将label assignment完全做成端到端地(或者实际上是dynamic soft的),并且仅使用了最小先验(仅正样本的candidate location在gt框内部),的确算的上是一篇重量级并很general的作品。其次,这也是一篇可以预见的paper,具体可以参见Jianfeng Wang(也就是本文二作)在知乎上的回答如何评价zhangshifeng最新的讨论anchor based/ free的论文? http://www. zhihu.com 在该回答中,Jianfeng犀利地指出ATSS虽然利用统计量“动态”分配了正负样本,但这实际上是一种伪动态,因为样本的分配方式在数据集和网络配置完成之后其实是固定的,并不会随着训练过程而产生更好地调整和变化。正如Jianfeng所说,“有很多个项目,模型本身是一模一样的,但因为数据resolution不同,ground-truth的size不同,每个项目拿过来都要重新调anchor或者调分层参数,不仅是研究员和工程师的精力成本,也是自动化的障碍,在学术上还是更好解scale问题的阻碍;这个事,能不能训练的时候自己就学了?”,于是就有了这篇AutoAssign。接下来我们深入地理解一下AutoAssign是怎么操作的。从理念上来讲,AutoAssign跳出了此前object

mmdetection2.3.0版本安装过程,以及训练、测试、可视化等(亲测好用,很顺利)

早过忘川 提交于 2020-08-15 15:25:18
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 mmdetection2.3.0版本安装过程,以及训练、测试、可视化等(亲测好用,很顺利) 文章目录: 1 运行mmdetection2.3.0版本报错 1.1 错误解决历程 1.2 最终的解决方法 2 mmdetection2.3.0 安装过程 2.1 创建虚拟环境 2.2 安装torch和torchvison 2.3 安装mmcv 2.4 下载mmdetection 2.5 安装编译mmdet 2.6 测试环境是否可用 2.7 单GPU训练 2.8 多GPU训练 2.9 再测试集上进行测试 2.10 可视化训练的loss结果 2.11 计算训练的时间 2.12 更改训练模型保存的周期 和 从预训练模型恢复训练 mmdetection 下载20200805最新的代码: 此时的最新代码版本为: mmdetection2.3.0 我尝试在我之前的环境中运行最新的 mmdetection2.3.0版本 ,然后就报错呀,报错呀! 我之前 mmdetection2.0.0版本——》在这里 mmdetection2.3.0版本 比 mmdetection2.0.0版本 又多了一些模型,具体自己查看 1 运行mmdetection2.3.0版本报错 python tools/train.py -h 1.1

AI大有可为:NAIE平台助力垃圾分类

旧城冷巷雨未停 提交于 2020-08-09 13:33:24
摘要: 生活垃圾的分类和处理是目前整个社会都在关注的热点,如何对生活垃圾进行简洁高效的分类与检测对垃圾的运输处理至关重要。AI技术在垃圾分类中的应用成为了关注焦点。 如今AI已经是这个时代智能的代名词了,任何领域都有AI的身影,垃圾分类及监管等场景自然也少不了“AI+”的赋能。 不过,垃圾往往属于商品的极端变形体,情况比较特殊。目前的技术在视觉可见的基础上,是可以做到垃圾分类报警提醒的,比如判断垃圾是否是经过分类整理的。至于是否能够直接进行视觉检测并分类,且达到某种效果,需要更多的数据和实验支撑才能判断这件事情的可行性。针对这些问题,我们或许可以从海华垃圾分类挑战赛中去听听参赛者都是如何用技术来改变世界的。 海华垃圾分类挑战赛数据包括单类垃圾数据集以及多类垃圾数据集。单类垃圾数据集包含80,000张单类生活垃圾图片,每张单类垃圾图片中仅有一个垃圾实例。多类垃圾数据集包括4998张图像,其中2,998张多类垃圾图片作为训练集数据,A榜和B榜各包含1000张测试图像,每张多类垃圾图片中包含至多20类垃圾实例。我们将对两种数据集分别进行介绍。 一、多类别垃圾 图1 多类垃圾数据类别分布 如图1所示,多类别垃圾涵盖了204类垃圾,但这204类的数据非常不均衡,有一些类别数目非常少甚至没有出现。 图2 多类垃圾数据可视化 图2中两张图是训练集中的两张图像

【Linux】git

时间秒杀一切 提交于 2020-07-24 07:54:08
github 相关操作 下载不同版本 git clone [-b v0.5.7] 地址 [名字] eg: 下载mmdetection 版本是0.5.7, 取名为mmdetection057 git clone -b v0.5.7 https://github.com/open-mmlab/mmdetection.git mmdetection057 来源: oschina 链接: https://my.oschina.net/u/4274145/blog/4389768

protobuf深坑-版本冲突-彻底解决

ⅰ亾dé卋堺 提交于 2020-05-09 20:22:36
由于安装了anaconda ,caffe,后面又安装了pytorch,mmdetection,tensorboardX,导致环境中protoc和protobuf相当混乱 后面在编译caffe的时候,已经编辑不过去了。所以折腾了一段时间,终于知道如何彻底解决这个问题了,麻麻在也不用担心我的protobuf的冲突了。 1:一般protobuf安装有3种方式 apt-get install libprotobuf-dev protobuf-compiler[安装在系统] pip install protobuf==3.0.0[安装在python] conda install libprotobuf=3.0.0[安装在anaconda] 2:针对3种分别卸载 sudo apt-get remove libprotobuf-dev sudo apt-get remove protobuf-compiler sudo apt-get remove python-protobuf sudo rm -rf /usr/local/bin/protoc sudo rm -rf /usr/bin/protoc sudo rm -rf /usr/local/include/google sudo rm -rf /usr/local/include/protobuf* sudo rm -rf /usr

【CV中的Attention机制】融合Non-Local和SENet的GCNet

烈酒焚心 提交于 2020-05-08 10:21:33
前言: 之前已经介绍过SENet和Non Local Neural Network(NLNet),两者都是有效的注意力模块。作者发现NLNet中attention maps在不同位置的响应几乎一致,并结合SENet后,提出了Global Context block,用于全局上下文建模,在主流的benchmarks中的结果优于SENet和NLNet。 GCNet论文名称为:《 GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond 》,是由清华大学提出的一个注意力模型,与SE block、Non Local block类似,提出了GC block。为了克服NL block计算量过大的缺点,提出了一个Simplified NL block,由于其与SE block结构的相似性,于是在其基础上结合SE改进得到GC block。 SENet中提出的SE block是使用全局上下文对不同通道进行 权值重标定 ,对通道依赖进行调整。但是采用这种方法,并没有充分利用全局上下文信息。 捕获长距离依赖关系 的目标是对视觉场景进行全局理解,对很多计算机视觉任务都有效,比如图片分类、视频分类、目标检测、语义分割等。而NLNet就是通过 自注意力机制 来对长距离依赖关系进行建模。 作者对NLNet进行试验