deeplabv3实现街景图象二分类
学习记录
第一次用博客记录自己的学习进度,可能会写的很乱吧。不知道写了再说
目标
语义分割实现街景图象的二分类
获取数据
路网数据:
使用osm下载目标区域数据,ArcGIS进行数据简化导出和处理,获得采样点。
获取采样点后进行数据获取—请教了技术人员。
(自己有尝试使用百度街景的个人开发认证那个然后申请key使用获取数据,但是获取下来的效果不好。)
数据预处理:
原数据太大了,cityscapes数据格式为20481024-----所以进行下采。从40962048---->20481024
为符合人本视角,用py将图像裁剪成2048704
- 后期可能需要数据亮度和对比度调节为了更符合cityscapes数据的形式。 -------------------------------------大概率不需要了
训练数据准备
下载cityscapes数据集,并使用cityscapesscript进行处理获取labeltrainId.png文件
(注意分类为2分类,255、0)
准备自己数据集并使用labelme进行标注。
(雷:先标注了后才发现cityscapesscript里面要求2048*1024的imgw的要求,导致增加了更改json文件内容的工作量,包括label的名称和因为label版本不一样所导致的json文件里面的部分官方格式不一样。)
将自己数据集也准备成和cityscapes一样的格式。
标注完获取label.png、获取灰度图、获取labeltrainId.png
要注意更改文件名这个步骤还挺麻烦的(我记得有记录,在lxy的电脑–voc和cityscapes的都有)
- *后期可能需要增强数据集 -------------------------------------------先解决天空和树木问题,大概率我觉得也不需要了
(注意考虑json文件,所以不可以进行旋转平移等工作,要从色彩增强色彩抖动噪声方向)*
-
想法: --------------------------------------------可能需要,看看天空和道路要素加上了之后效果怎么样再说
能否修改已经修改过的json文件的labelme标注??
如果可以适当增加什么要素合适?(阅读文献确定分析方向从而确定增加什么要素)
代码准备和调试
注意:
1、环境配置–gpu、pytorch、下载包
2、正确存放数据集
3、主要的是main.py、predict.py和detasets文件夹下cityscapes.py文件~~(0和2个1)~~ 的修改
目前进度:
label 0-255 -----0:cityscapes 255和0 -2 255和0 -1 预测结果均不理想且loss和val为0和1
1:cityscapes 0和2个1 30000 预测为黑 有loss和val
2:cityscapes 0和1 3000 预测为黑
思考:255和0,val和loss都有问题,因为计算时候255为忽略。
0和1,val和loss没有问题,类别写的2 ---------预测全为0的颜色是因为仅计算了前面两个0吗?
255和0预测全为0的颜色是因为什么 ------------看看255的像素是怎么计算类别的显示为(0,0,0)吗?
-
待测 ----------已测
3:citiscapes 255和18个0和一个1 类别为19 出现内存错误
4:citiscapes 255和18个0和一个1 类别为2
私信回答的:修改方向可以考虑使用预训练模型仅更改类别。考虑因素为类别设置和labeltrainId.png
-------------------已测试,他说得不对
5:citiscapesbeijing 255和18个0和一个1 类别为19 使用预训练模型
待测:
label 0-1 --------1:cityscapes 0和1
label 0和2个1-----1:cityscapes 0和2个1*
训练进度 (目前状态,ing)
1:使用预训练模型修改cityscapes.py
2:加以beijing数据集进行训练 -----------无loss和val
loss和val问题
前面:训练cityscapes时候两类有出现过loss和val
目前效果:
目前问题:
down是否有影响? ---------------不要down
1:哪种图片格式的测试效果比较好 大部分是冬天的 多看一下冬天的效果 ---------------还没准备数据预测比较
down:2048*704 --------------64-767
两张 20481408 -----------0-2047128-1535 2048-4095128-1535
40961408 -------------128-1535
4096*1408 与 204814082比较 (beijing有标签的数据)
(1)不加天空和道路
2:如何修改加训参数找到更好的效果?
应该从哪里去考虑???
3:存在天空中的一些误差和路面上的误差,咋办?
(预测上:考虑把道路类和天空类可以不除去;
或者
计算像素阶段:规定固定不是要素的范围不允许提取成绿色要素)
总结:
针对loss和val:cityscapes上加以北京数据集训练-----对于冬天的树木识别效果变得更好
没有loss和val的值 ----- 19类 原因:beijing数据集的json文件不具备19个标签类 or 数据量太小
同样的参数使用cityscapes数据集(labeltrainID只有vegetation)有loss和val
2类
--------------------------------------------------------以下是下一步计划---------------------------------------------------------------------------------
像素占比计算
计算前
预测效果可以从数据方向改进效果吗?
比如说将predict的预测效果叠加去除错误部分
之前有一个去除天空的那个语义分割的看看能否借鉴?在群里车博士分享的。
提取计算
- 提取要素的py文件并且增加计算公式计算像素占比
(外星人-----C:\1WHY\project\D…\XSJiSuan.py)
1:计算预测出来的 √ XSJiSuan
2:计算标签的 XSJiSuan2 已解决
3: 统一到XSJiSuan.py √
4:创建txt并写入绿视率 √
5:计算平均值并输出 、输出最大值最小值 感觉不必要
6:将结果全部存入xlsx √
7:输出最大差值最小差值 √
将像素计算结果添加到ArcGIS字段中(√)
如何添加到ArcGIS字段里面并进行点要素和线要素渐变效果(√)
应用分析
多源数据
1:结合POI? 和城市功能区?
2:结合遥感影像?
(数据获取和处理)
3:
分析
绿视分析:地图方式展示参照林小鹭硕士论文
阅读文献:
0(之前看到):道路版式;绿化配置;
误差
拍摄的时间不高度一致:年份、冬天、
车载拍摄和人的视角区别
图像中的分割错误比如其他类似的绿色要素
下一步
“均值”
格网化
道路网
街道空间分析
epoch不同的状况下绿色像素
叠加图片
效果展示:
多种效果对比体现变化
背景意义
框架;
模型精度验证:(2023/5/15)
数据准备:标签数据( F:\BiaoQian1\4096-2048W
原图数据(F:\BiaoQian1\4096-2048W
预测数据(
Python脚本:
模型训练前后的所有数据预测结果