1. U-Net
我们使用网页提供的预训练模型unet_carvana
进行对carvana
和散斑结构光图像(包括仿真和真实图像)进行二类分割(前景-背景分割)。结果是:
- 对
carvana
图像分割效果较好,这是因为模型是利用carvana
数据集进行训练的。 - 对散斑结构光的分割效果极差,特别是对于仿真图像,完全无法进行分割。
我们的分割结果如下所示:
carvana 图像
结构光图像
对于仿真图像,对于三种不同的结构光投射的同一图像进行测试。对于真实图像,针对一般、室内、室外三种环境下的结构光图像进行测试。
- real-general
- real-indoor1
- real-indoor2
- real-indoor3
- real-outdoor
- synthetic-intel
- synthetic-ideal
- synthetic-polka
2. FCN
github分割网络仓库连接,这个仓库包含FCN, PSPNet, Deeplabv3, Deeplabv3+, DANet, DenseASPP, BiSeNet, EncNet, DUNet, ICNet, ENet, OCNet, CCNet, PSANet, CGNet, ESPNet, LEDNet, DFANet
这些网络的代码。
我们参考readme的使用说明,首先下载pascal_voc
数据集,然后用来训练全卷积分割网络fcn32_vgg16_pascal_voc
。
源码中下载pascal_voc 2007
和pascal_voc 2012
数据集,其中下载pascal_voc 2007
很快,但是下载pascal_voc 2012
很慢,因此我修改了源码,只下载pascal_voc 2007
数据集,并且计划使用pascal_voc 2007
数据集进行训练。由于windows路径和linux路径搞混,调试多次未果,因此放弃了在windows系统上训练的计划。待后续使用服务器再进行训练。
训练完毕后,我们可以使用训练好的模型fcn32_vgg16_pascal_voc
对自己的图像进行测试。由于这个仓库没有给出训练好的模型,因此我们只能按步骤先下载数据集,然后训练模型,最后测试模型了。
3. DenseASPP
这个代码给出了预训练模型,本以为可以顺利进行测试,但是发现这个代码是用torch 0.3.1写的,该版本的module名字使用了'.'
,比如conv.1
,而在以后的版本不允许模块名称有'.'
,所以就放弃了这个代码的测试。
现在把希望寄托给最后一个选择了,看下面。
4.
这是OpenMMLab做的一个代码仓库,该仓库支持拼接不同的backbone,并支持采用不同的数据集进行训练,在此基础上,实现了许多分割方法,我们可以基于这个代码仓库对分割网络进行学习。