butcher
butcher
# Weekly-review --- - 开始写论文,这周写了一下引言跟相关工作的部分,主要是一些介绍性的东西,相比较自己做的那部分反而更加难写。 - 测试网络不同结构的效果的时候,终于有一组的效果超过了Dlinknet,虽然只高了那么百分之零点零几,但是可以证明我用的网络不仅仅在连接性和发现细小道路的能力上有提升,在评价指标上也不逊色。 # Next - 继续跟进论文的编写工作。
# Weekly-review --- - 写完网络的形状分支,发现需要输出一个一维原尺寸的边缘结果与label的边缘计算loss,同时分割网络的输出是高维的小尺寸结果,无法通过需要相同尺寸的Dblock,所以看到的论文这里都是选用支持任意输出的ASPP模块用来接收这两个输出。 我尝试在边缘网络的后面添加了Resnet的第一层编码层,然后把输出接入到分割网络的最后一层解码层上,但是这样带来的问题是网络参数变大了许多,batchsize只能给到1,然后我重新调整了图片尺寸,想要找到一个合适的图片尺寸,同时也觉得这个结构也不尽人意,还是需要调整,不行就用ASPP作为中间层。 - 网络的结构的调整浪费了不少时间,应该把尺寸事先写好在纸上方便调整,不用最后写完了发现用不了,回头开始一个一个重新调重新看。 # Next - 调好网络,跑出一个基准结果
# Weekly-review --- - 阅读了Decoders Matter for Semantic Segmentation 这篇文献,提出了一种基于数据的上采样方法,可以在数据中学得一个转换矩阵用于上采样,文章没有开源但是有人尝试复现代码,我细看了一下代码,觉得在计算数据的上采样矩阵这块可能有个绕不过的坑,跳过这个。 - 参考了Gated-SCNN: Gated Shape CNNs for Semantic Segmentation这篇文章,提出了在传统语义分割之外,添加一个边缘分割的任务,设置了相应的边缘loss函数,通过边缘信息的加入,来提高网络的分割精度。打算从这个网络入手,修改结构适应与我的道路分割任务。 # Next --- - 调试Gated-SCNN,完成在道路数据集上的训练过程。
# Weekly-review --- - 调试EMAattention模块加入到Linknet上得到效果没有提升,考虑到本身linknet就有不错的分割结果,而孔洞卷积会忽略小的细节,所以更重要的是怎么把这些分割的细节添加上去的问题。 - 对比Dlinknet和deeplabv3+的网络结构,他们都在编码层后面使用孔断卷积块,但是最后得到的MIOU结果却有着6%的差距,看的出解码层的设计对于道路的连续性是有相当重要的影响,应该在后面的解码层尽量采用类似与linknet的结构。 # Next --- - 针对Dlinknet的细节丢失问题进行优化,看看能不能可视化高维特征,来进行针对性的特征信息传导。 - 看了不少文献的分析都指出,很多的有效信息都通过类似残差模块的跳跃连接结构传导的,如何设计出有效的特征传导模块,去补充空洞卷积得到的特征,从而到达弥补细节的目的。
# Weekly-review --- - 在ICCV2019里找了两篇给出了实验代码的文章,分别是Expectation-Maximization Attention Networks for Semantic Segmentation和 Criss-Cross Attention for Semantic Segmentation,想学习一下自注意力机制,看能不能加入到道路的分割中,代码分别在 https://github.com/XiaLiPKU/EMANet 和 https://github.com/speedinghzl/CCNet。 参照NOnLocal-linkNet的网络结构,分别添加这两个模块到Linknet上进行实验,得到的结果比NonLocal的还差。这种自注意力机制的感受野还是拼不过孔洞卷积。 # Next --- - 在Dlinknet的基础上添加改进的Resnext块和一些其他的trick,然后看看能不能通过这些attention结构把通过孔洞卷积得到的特征再进一步处理,得到更为连续的线条。
# Weekly-review --- - 在UNET的结构下分别加入了attention层和no-local层进行实验,得到的结果果然和Dlinknet有差距。实验的结构如下: 基础UNET:7层encoder,7层decoder,inchannels大小从8到1024。 Attention:参照原文章添加了attention gate,encoder得到的特征通过attention gate再和相应的decoder层进行concat。分别进行了两组实验,一组添加了4组attention块,尺寸从64到512,一组添加了6组attention块,从16到512。 NO-local:参照原文章添加了nolocal块,分别在encoder的第五层和第六层后面设置了nolocal块,进行了实验。nolocal的设置本身有4种结构,这里选用了最复杂的embedded_gaussian的形式。 实验结果:Dlinknet在massroad数据集上miou为78.26%,Unet为77.37%,Attention-4-unet为76.96%,Attention-6-unet为76.90%,Nolocal-unet为76.99%。 # Next --- - 看了几组实验结果的道路输出,即使是最好的DLinknet,在一些有树木遮挡的道路上也做到的只是接近,而不是把道路线条和道路网络连接起来了,这是一个可以考虑的点。 - 参照多分辨率的网络模型,看能否向目前的模型中添加一些不同分辨率的信息,能否在现有的模型上获得提升。
# Weekly-review --- - 使用Dinknet网络在马塞诸塞州的道路数据集上做了预测,跟建筑物数据集合在一起的效果还可以。  - 想通过加大路口权重的方式提高分割效果,翻看了3篇attention相关的文献,有加attention模块实现注意力机制的,有从网络结构入手,通过双注意力结构来提高效果的,综合来看使用attention gate的方法操作性比较好,打算从这个上手实验。 # Next --- - 对着现有的道路输出,看看能否提取出新颖一点的道路特征作为先验知识。 - 动手改写下Unet的输出,就目前的输出来看,unet的潜力比dinknet的潜力大,他的细节更多,分割更完整,而dlinknet的输出更干净,更连贯,可操作的空间更小。
# Weekly-review --- - 部署了之前的Deepunet结构和Dinknet结构到mxnet框架下。 - Dinknet的实验出了点问题,输出的结果很快变成空白,还在调试当中。 - Glouncv下有新定义的deeplabv3b+网络模型,接上了道路数据集跑了组实验,可能参数设置的还是有问题,效果还没有之前的结果好。 四个图分别是 标签 低分辨率mxnet-deeplabv3b+ 高分辨率pytorch-deeplabv3+ 低分辨率pytorch-deeplabv3+  # Next --- - 调试Dinknet的实验,输出一个正常的结果
# Weekly-review --- - 完成了车辆的全景分割数据集,训练集里有图像增强旋转裁剪的部分,增强后的图片的label像素值较原始数据集有改动,转换成全景分割数据集时出现了问题,因此去掉了数据增强部分。 - 完成了屋顶的全景分割数据集,屋顶数据集原图较大,考虑是否进一步处理,方便直接使用,或者在数据加载的时候再写对应的加载脚本。 - 部署mxnet的gluoncv框架,之前用的mxnet定义的DeepUNet网络,依旧使用的是命令式编程,接近pytorch的网络定义,没有使用符号式编程,为保证框架的一致性,需要重写对应的DeepUNet网络。 # Next --- - 学习MXnet的网络定义特性,重写DeepUnet网络并实验。 - 在MXnet下部署D-linknet,用mass-road数据集跑出基准结果。
# Weekly-review --- - 准备了开题的PPT和开题报告。 - 使用全景分割脚本时还是有一些莫名奇妙的噪音点出现,被当成了实例,定位了问题,下周应该可以解决。 - 整理了一下下载的道路分割文献,目前从16-19年大概有20篇左右,看完了的应该有15篇。  # Next --- - 完成P城遥感数据的全景分割数据集 - 部署调试DeepGlobe的道路提取网络代码,使用 MASS-ROAD数据集得到一个基准结果。