哪种类型的CNN适合水下图像处理?

时间:2019-03-08 05:34:52

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

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

See the image attached for reference

1 个答案:

答案 0 :(得分:1)

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

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

关于CNN架构,这取决于您对处理能力和准确性的约束。如果这不是约束,可以使用MaskRCNN之类的东西,请检查该回购是否是一个好的起点,一些结果如下所示: enter image description here 请注意,这有点复杂,因此推理时间可能会太长(但取决于您的GPU,它可以实时进行)。

其他简单架构是FCN(完全卷积网络),基本上是您的CNN,而不是完全连接的层: enter image description here

用“完全卷积层”替换: enter image description here

from HERE拍摄的图像。

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

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

  • TensorFlow
  • Pytorch
  • MXNet

但是,如果您是初学者,请尝试从基于GUI的GUI开始,Nvidia Digits是一个很好的起点,并且确实易于配置,它基于Caffe,因此部署时速度相当快,并且可以轻松地与之集成TensorRT等加速器。

相关问题