C++实现 基于VGG19神经网络进行 可见光与红外 图像的融合
20210513
1.基于可见光与红外光的图像融合 说明
图像融合有很多方法
1.像素融合:
优点:
(1) 所需的计算步骤最少,只需要计算出两者权重 两个图像进行矩阵的相加即可。
(2)速度快
(3) 保留图片信息完整。
缺点:
(1) 保留信息过多。
(2)两种特征不明显
2.特征融合:
优点:
(1)在GPU下 320X240的两种图像信息 融合 FPS 286 完全满足实时需求。
(2)保留两种图像主要特征,易于观察。
缺点:
(1) 硬件上需要加装GPU 成本增加。
(2)目前只能 c++ 上进行开发,其他需要转换。
3.opencv 权重、 ps等等 :
(1) 等同于像素级融合,只是两者权重占比 发生变化。
2.算法说明
一. 输入图像要求(可根据需求在源码基础上进行修改)
(1) 可见光图像(单通道或者三通道都行)
(2) 红外图像 (目前只能是gray 灰度图)
(3)两者size必须相同。
图像融合步骤:
(1) Mat 判断是否灰度图 否的话转成Ycrcb
(2)Mat转tensor 除以255
(3) 输入 libtorch 转换得到的pt 得出特征 计算权重
(4) 图像tensor乘以权重 然后相加得出灰度融合特征 如果三通但 替换Y通道到即可。
注:
可以看到医学上的融合效果不是很好,目前正在优化代码,完善融合效果。
4.优化了网络深度 提取不同层的特征
可以看到融合的效果更好! FPS 45 完全可以满足实时性
mx