语义分割有很多实际应用场景,本篇文章结合水位分割做一个总结。
数据预处理
在实际应用场景中,遇到最大的问题是数据的质量问题,一般室外画面光照影响严重,特别是像水面这种受光照影响严重的物质(如果是做图像回归需要特别注意这个问题)。同时摄像头布置也要避免强光影响。而在夜晚这种场景,如果无法使用红外摄像头,肯定是需要灯光照明的,但如果画面中出现强灯光,同时不同站点其光照条件肯定是不同的,这时肯定会影响黑夜的分割效果(光照想太阳光一样,都是影响分割效果的强干扰因素),为了减少灯光因素的影响,需要把这部分切掉再训练。
除了结合工程项目进行特定的数据预处理,一般为了做数据增广,增强模型鲁棒性,语义分割还有很多通用的数据预处理方法,一般随便找个baseline里面都包含了。
标记自己的数据集
分割模型
尝试了分水岭算法分割,k-means聚类分割和基于深度网络的分割模型如PSPNet,SPNet,FCN,DeepLabV3等。前两者分割效果不行,后者泛化性不够。
从如下图片示例也可以进行一些分析,水面受光照影响比较严重,即使是同一片水域,也会形成局部亮斑,而前两者的主要原理就是根据颜色进行阈值划分,很难准确得将整片水域正确分割出来。