SamAI-CV-ImageFusion主要是为了解决多源图像聚焦问题,通过构建一个可以区分清晰和模糊图像块的CNN分类模型,再通过融合规则可 实现将不同景深的图像进行融合成信息完整的图像,从而在聚焦方面完成类似HDR方式来实现图像的整体细节信息提升。
如果只是为了查看结果, 在MATLAB中运行 Evaluation/CNN_Fusion/Script.m
即可。
Video Link
- 运行前需要先搭建
caffe
框架, 我使用的电脑是mac, 没有CUDA, 因此运行模式设为CPU, 这样是很低效的, 建议改成GPU训练速度至少差上百倍以上。修改代码中的路径为自己的路径即可。 - 新建
sourseImages
、train
、val
三个空文件夹 - 在
train
文件夹里再新建0
和1
两个文件夹 - 需要先下载
ImageNet
的ILSVRC2012
的5万张验证集自然采集图像保存到sourseImages
文件夹里 - 运行
imageInitialize.m
生成训练集到train
文件夹里的0
和1
文件夹里 - 运行
create_val.m
生成验证集图像到val
文件夹里 - 运行
imag2txt.sh
生成train.txt
和val.txt
两个文件 - 运行
create_lmdb.sh
生成train_lmdb
和val_lmdb
两个文件夹,里面存放对应的lmdb
数据格式文件 - 运行
time.sh
查看网络各个layer
所占用的时间,运行draw_net.sh
来绘制神经网络 - 运行
train_net.sh
来训练网络,网络日志保存到log
文件夹里,model
保存到models
文件夹里 - 生成
loss
图和accuracy
图在log
文件夹里进行操作,具体看log
文件夹中的README.md
- 对于训练最后生成的
caffemodel
要转换为mat
格式才可以在matlab
中进行验证导入 - 在models文件夹中的
load_caffemodel.py
文件生成caffemodel.mat
- 复制
caffemodel.mat
到CNN_Fusion
文件夹中的model
文件夹即可
将四种图像融合的结果放入PSNR和SSIM这两个文件中,分别与原始图像进行对比即可产生最终评价
CNN_Fusion
: 是本次项目的验证部分,在matlab中完成实验,运行Script.m即可,其中CNN_Fusion.m是处理模拟网络和图像融合文件DCT
: 离散余弦变换的图像融合算法sourceImages
: 存放图像融合所用的多聚焦图GFF
: 基于导向滤波器的图像融合DWT
: 图像融合在matlab中通过wavemanu来生成结果PSNR
: PSNR文件夹是运行峰值信噪比评价所用SSIM
: SSIM文件夹是运行图像结构相似性评价所用