【问题标题】:What type of CNN will be suitable for underwater image processing?哪种类型的 CNN 将适用于水下图像处理?
【发布时间】:2019-07-30 03:15:51
【问题描述】:

主要目标(我分配的工作)是使用卷积神经网络对水下图像进行图像分割。由于严重的噪点和不良的光线曝光,从水下结构拍摄的相机照片的图像质量会很差。为了达到更高的分类精度,我想对图像进行自动图像增强(见附件)。所以,我想知道,哪种 CNN 架构最适合完成这两项任务。请提出任何可能的解决方案来实现目标。

【问题讨论】:

    标签: python-3.x image-processing computer-vision conv-neural-network image-segmentation


    【解决方案1】:

    您需要细分什么?我会很好,所以请查看分段的一些标签。

    您可能不需要增强图像,如果您的所有数据集都具有相同数量的噪声,则网络将正确泛化。

    关于 CNN 架构,这取决于您对处理能力和准确性的限制。如果这不是 MaskRCNN 之类的约束,请检查该 repo 作为一个好的起点,一些结果是这样的: 请注意,它的架构有点复杂,因此推理时间可能有点太长(但它在实时上可行,具体取决于您的 gpu)。

    其他简单的架构是 FCN(全卷积网络),基本上是您的 CNN,但不是全连接层:

    你用完全卷积层替换:

    图片拍摄from HERE

    这种 FCN 的优势在于它们非常易于实施和修改,因为您可以使用简单的架构(FCN-Alexnet),也可以使用更复杂和更准确的架构(FCN-VGG、FCN-Resnet)。

    另外,我认为你没有提到框架,有很多可供选择,这取决于你对语言的熟悉程度,其中大多数你可以用 python 来完成:

    • TensorFlow
    • Pytorch
    • MXNet

    但是,如果您是初学者,请尝试从基于 GUI 的程序开始,Nvidia Digits 是一个很好的起点,并且非常易于配置,它基于 Caffe,因此在部署时相当快,并且可以轻松与加速器集成,例如张量RT。

    【讨论】:

    • 感谢@bpinaya 的详细回复。我的项目是使用 CNN 自动检测船体(船体)的故障。我想分割图像中的缺陷区域,例如破碎的结构和裂缝。我们可以假设大多数图片都会有相同数量的噪点。
    • 我是神经网络的初学者。我所掌握的基本知识是神经网络和 cnn 是如何工作的。我对python有一些了解。到目前为止,我可以通过根据需要编辑已经编写的代码来构建用于分类和回归的神经网络。所以我不是编程人员,也不是来自核心工程领域的负责自动化工作的人。我可以从您的回复中得到一个基本的想法,但由于我处于初学者水平,所以无法理解全部含义。但我会以此为线索,并尝试从提示中学习。
    • 在这种情况下你需要从头开始,我建议你先学习一门关于 CNN 的课程,因为这将帮助你理解你在编码什么,最好的可能是这个coursera.org/specializations/deep-learning ,但话又说回来了,但这是值得的。如果您的截止日期很紧迫,请尝试 Nvidia Digits(我发布的链接),安装它并微调已经训练好的网络。
    • 非常感谢您的宝贵建议。时间充裕,就从你说的教程开始吧。
    猜你喜欢
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    相关资源
    最近更新 更多