Py学习  »  Git

工业级目标检测!GitHub 2万4千星!

GitHub好项目 • 1 月前 • 27 次点击  

大家好,我是GitHub好项目君,每天分享GitHub上的好项目

我们每天分享开源项目,根据开源协议都可以赚钱

用于目标检测和分割的 Mask R-CNN

镜像代码:

http://www.gitpp.com/dsboy/mask_rcnn

项目介绍

Mask R-CNN 是一种深度学习模型,用于对象检测和实例分割。它由两个主要部分组成:

1. R-CNN 部分:用于检测图像中的对象。它使用深度学习模型来生成对象的边界框。

2. Mask 部分:用于生成对象的分割掩模。这可以通过在对象边界框内使用一个额外的卷积层来实现。

Mask R-CNN 通常使用特征金字塔网络 (FPN) 和 ResNet 作为其主干网络。FPN 有助于检测图像中的小对象,而 ResNet 提供了一个深层特征提取的层次结构。

以下是使用 Python 3、Keras 和 TensorFlow 实现 Mask R-CNN 的步骤:

1. 导入必要的库:首先,导入 TensorFlow 和 Keras 库。

2. 定义模型:创建一个模型,该模型使用 ResNet101 作为其主干网络,并添加一个 FPN。在 FPN 的顶部,添加一个 R-CNN 头部,用于生成边界框。在 FPN 的每个层上,添加一个 Mask 头部,用于生成对象的分割掩模。

3. 训练模型:使用一个标注好的数据集来训练模型。这包括边界框和分割掩模的标注。

4. 测试模型:在测试集上评估模型的性能。

为了使用 Mask R-CNN,您需要一个预训练的 ResNet101 模型。您可以从 Keras 官网下载预训练的模型。然后,您可以使用这个预训练模型来初始化 Mask R-CNN 模型。

Mask R-CNN 是一个强大的模型,可以用于多种应用,如自动驾驶、医学图像分析和安防等。如果您有图像标注数据集和足够的计算资源,您可以使用 Python 3、Keras 和 TensorFlow 来实现 Mask R-CNN,并训练自己的模型。

这个项目基于一篇很厉害的论文  论文《Mask R-CNN》

https://arxiv.org/abs/1703.06870

《Mask R-CNN》论文解读:

《Mask R-CNN》篇论文是由 Kaiming He, George Papandreou, Iasonas Kokkinos, Kevin Murphy 和 Alan L. Yuille 在 2017 年发表的。这篇论文的主要贡献是将 Faster R-CNN 框架扩展到了实例分割领域,同时保持了目标检测的能力。以下是该论文的主要内容和贡献的解读:

1. 实例分割的挑战:实例分割是计算机视觉中的一个重要任务,它要求算法不仅要检测图像中的对象,还要区分每个对象实例,并为其生成一个精确的分割掩模。然而,传统的目标检测算法(如 Faster R-CNN)并不能直接生成掩模,因此需要额外的步骤来完成实例分割。

2. Mask R-CNN 的架构:论文提出了一个扩展的 Faster R-CNN 架构,该架构在 Faster R-CNN 的基础上增加了一个额外的分支,用于生成对象的分割掩模。这个分支是基于 Fully Convolutional Network (FCN) 的,它在每个检测到的对象实例上生成一个像素级的掩模。

3. 并行计算和优化:为了提高计算效率,论文采用了并行计算的方法,同时进行目标检测和掩模生成。此外,论文还提出了一些优化技巧,如使用空间金字塔池化 (Spatial Pyramid Pooling, SPP) 来提高掩模的质量。

4. 实验结果:论文在多个数据集上进行了实验,包括 COCO 和 Pascal VOC,结果表明 Mask R-CNN 在实例分割任务上取得了 state-of-the-art 的性能。

5. 影响和应用:Mask R-CNN 的提出极大地推动了计算机视觉领域的发展,特别是实例分割任务。许多后续的工作都是在 Mask R-CNN 的基础上进行改进和扩展的。

《Mask R-CNN》这篇论文为计算机视觉领域提供了一个强大的实例分割框架,它的贡献在于将目标检测和实例分割结合在一起,同时保持了高精度和高效的性能。

大家有兴趣的学习了解下

Mask R-CNN 由于其强大的实例分割能力,在多个领域都有广泛的应用。以下是一些主要的使用场景:

1. 自动驾驶:在自动驾驶系统中,Mask R-CNN 可以用于实时地检测车辆、行人、骑自行车的人等,并为每个实例生成精确的分割掩模,从而帮助车辆更好地理解周围环境。

2. 医学图像分析:在医学图像分析中,Mask R-CNN 可以用于检测和分割肿瘤、器官等,帮助医生更好地诊断和治疗疾病。

3. 视频监控:在视频监控领域,Mask R-CNN 可以用于检测和分割视频中的异常行为或特定目标,从而提高安全性和监控效率。

4. 卫星图像分析:在卫星图像分析中,Mask R-CNN 可以用于检测和分割不同类型的地表特征,如城市、森林、农田等,从而帮助更好地理解地球表面。

5. 机器人导航:在机器人导航中,Mask R-CNN 可以用于检测和分割环境中的障碍物,帮助机器人更好地规划和执行其路径。

6. 虚拟现实和增强现实:在虚拟现实和增强现实应用中,Mask R-CNN 可以用于检测和分割用户交互的对象,从而实现更加自然和直观的用户界面。

7. 工业自动化:在工业自动化领域,Mask R-CNN 可以用于检测和分割生产线上的不同零件,从而实现自动化的质量检查和分类。

8. 图像编辑和增强:在图像编辑和增强应用中,Mask R-CNN 可以用于检测和分割图像中的特定对象,以便进行特定的编辑和增强。

Mask R-CNN 由于其强大的实例分割能力,在许多需要高精度对象检测和分割的领域都有广泛的应用。

以下摘自GitHub

这是Mask R-CNN在 Python 3、Keras 和 TensorFlow 上的实现。该模型为图像中对象的每个实例生成边界框和分割掩模。它基于特征金字塔网络 (FPN) 和 ResNet101 主干网。

该存储库包括:

  • 基于 FPN 和 ResNet101 构建的 Mask R-CNN 源代码。

  • MS COCO 的训练代码

  • MS COCO 的预训练权重

  • Jupyter 笔记本可可视化每一步的检测管道

  • 用于多 GPU 训练的 ParallelModel 类

  • MS COCO 指标评估 (AP)

  • 在您自己的数据集上进行训练的示例

该代码已记录并设计为易于扩展。如果您在研究中使用它,请考虑引用此存储库(下面的 bibtex)。如果您从事 3D 视觉工作,您可能会发现我们最近发布的Matterport3D数据集也很有用。该数据集是根据我们的客户捕获的 3D 重建空间创建的,他们同意将其公开供学术使用。您可以在此处查看更多示例。

1.锚点排序和过滤

可视化第一阶段区域提议网络的每一步,并显示正锚点和负锚点以及锚框细化。 

2. 边界框细化

这是最终检测框(虚线)和第二阶段对其应用的细化(实线)的示例。 

3. 掩模生成

生成的掩码示例。然后将它们缩放并放置在图像上的正确位置。

4.层激活

通常,检查不同层的激活以查找问题迹象(全零或随机噪声)很有用。

5. 权重直方图

另一个有用的调试工具是检查权重直方图。这些包含在inspect_weights.ipynb笔记本中。

6. 记录到 TensorBoard

TensorBoard 是另一个出色的调试和可视化工具。该模型配置为在每个时期结束时记录损失并保存权重。

6. 将不同的部分组合成最终结果

如果您将此模型扩展到其他数据集或构建使用它的项目,我们很乐意听取您的意见。

图像到 OSM:通过添加棒球场、足球场、网球场、橄榄球场和篮球场来改进 OpenStreetMap。

显微镜图像中的细胞核分割。专为2018 年数据科学碗打造

代码在samples/nucleus目录中。

利用航空 LiDAR 重建 3D 建筑物

Esri 与 Nvidia 和迈阿密戴德县合作的概念验证项目。还有 Dmitry Kudinov、Daniel Hedges 和 Omar Maher 的精彩撰写和代码。 

Usiigaci:相差显微镜中的无标记细胞追踪

来自日本的一个项目,旨在在微流体平台中自动跟踪细胞。论文正在等待中,但源代码已发布。

 

极高空间分辨率航空图像中北极冰楔多边形的表征

研究项目旨在了解北极退化与气候变化之间的复杂过程。作者:张卫星、Chandi Witharana、Anna Liljedahl 和 Mikhail Kanevskiy。 

Mask-RCNN 闪亮

胡世宇的一个计算机视觉课程项目,将色彩流行效果应用到人物身上,效果很漂亮。 

绘图挑战:将卫星图像转换为地图以供人道主义组织使用。

GRASS GIS Addon用于从地理空间图像生成矢量蒙版。基于Ondřej Pešek 的硕士论文。


github地址:

https://github.com/matterport/Mask_RCNN

镜像代码:

http://www.gitpp.com/dsboy/mask_rcnn

我们收集了10000+ 开源项目 点击 阅读原文查看更多开源项目

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/168270
 
27 次点击