
卑微菜鸡在这里恳求各位图像视觉的大佬指点一下我,如何解决下面的 bug(有偿也可!欢迎留下联系方式)
问题描述:毕设要做的是用 fcn 做显著性目标识别,大概过程就是用 fcn 做多分类的语义分割,然而结果输出却成了雪花状的图,虽然能看出大概的轮廓。训练过程中 loss 一直在抖动,范围在 0.4 到几之间,不收敛。
自我感觉是在数据处理方面出了问题。 实验室的学姐也没有解决的思路,网上也查不到。迫不得已来 v2 恳求各位大佬。(有偿也可啊!)
我的微信:sy971216200
1 apostle OP 原图 rgb https://imgchr.com/i/YnBEM8 |
2 apostle OP |
3 apostle OP ground true https://imgchr.com/i/YnBHeg |
4 apostle OP |
5 bug403 2020-05-08 10:58:17 +08:00 放弃吧,你不写今日头条号太浪费了,写头条号震惊体新闻,你早迎娶白富美了。 |
6 epleone 2020-05-08 10:59:23 +08:00 "自我感觉是在数据处理方面出了问题" 你把数据处理结果可视化出来不就好了 |
7 andantin0 2020-05-08 11:06:30 +08:00 同学,你训练的时候用的数据集样本量有多少?我看了一下那个 repo,网络挺深的,应该需要很大的数据量才能 train 吧,我其实也不太确定,但是是根据我个人经历感觉的,我之前 train 过一个倒置的 VGG16,就是做显著性检测的,然后样本只有 1k 左右,结果就和你那个图像差不多,都是雪花,我参考的原作他的样本数远远大于我的,我使用他的预训练模型就能顺利地输出正确结果,所以可以看看是不是样本量的问题 |
11 apostle OP @andantin0 大佬!我的确为了图方便只用 400 多张图迭代 10 次,然而我一直在怀疑我的数据处理或者模型的问题,没有想到这个!非常感谢!我这就去试一下 |
12 w1573007 2020-05-08 13:03:31 +08:00 via Android 不收敛大概率是模型没有学习到东西,猜测是数据的问题。同时,也可能是数据量小,但模型比较庞大,这也会导致这个问题。一定要检查模型输入的张量是不是和开源程序一样 |
13 sadfQED2 2020-05-08 13:44:43 +08:00 via Android 400 张图迭代 10 次也太少了吧? |
14 GDouble 2020-05-08 14:05:53 +08:00 via iPhone 本科还是研究生啊? |
15 ccromantic1412 2020-05-08 14:51:53 +08:00 不太懂你 load 完数据以后 tensor2image 是啥操作…… 在 train loader 里面没有 transform,结果 test loader 里面又用了 transform,训练和测试阶段数据处理没统一 |
16 ourgoder 2020-05-08 14:52:32 +08:00 哈哈哈,楼主头条看多了吧 |
17 wangzhangup 2020-05-08 18:31:00 +08:00 你这也太简单了吧。 |
18 8G 2020-05-10 03:15:22 +08:00 via iPhone 同,我刚刚还在查重,哭了 |
19 8G 2020-05-10 03:18:36 +08:00 via iPhone https://github.com/nephashi/GaitRecognitionCNN/blob/master/layers/Conv2D121.py 想知道这个和普通的 Conv2D 有啥区别 我对比了一下,感觉差别不大,多了一些 def 不是很懂,有大佬帮忙看看吗 |
20 YOUMA 2020-05-20 16:53:28 +08:00 我也想知道这个和普通的 Conv2D 有啥区别 |
21 8G 2020-05-20 21:39:40 +08:00 via iPhone @YOUMA 我知道了,你应该 @我的。我是刚好回来看这个帖子。 它是做了简化的操作,只接受 2D 的输入。会轻便很多。 其中,自定义的一对一连接的自定义层,是基于 keras 源代码中卷积的部分编写的,采用的设计理念是参照了“Alotaibi2017A”论文中的描述,实现了一对一连接的自定义层。 在自定义层的设计部分,将原来 keras 自带的卷积代码中删除了冗余的部分,只支持 2D 数据,然后对 input_dim (数据维度)输入进行切片并进行卷积。 一对一连接,即每个 feature map 与上一层中的 feature map 之间的连接方式都是一对一,这种做法的优势在于通过减少参数的数量,达到大大的降低了计算成本,加快训练的速度的目的。同时,相比于数百万个参数的其他深层模型,我们所拥有的数据集体量相对较小,无法训练所有参数,否则可能会出现 over-fitting (即过度装配)的问题。 在后续的实验中,我们可以清晰地看出模型能够快速且有效的收敛,恰恰是因为由于使用了一对一连接的方式,需要训练的参数数量较小(当然,这个一对一连接不包括全连接层)。 |