深度学习中的特征到底是什么?
深度学习中的特征到底是什么?
特征要有对比才能更好地认识和区别。
常见的图像特征,如sobel边缘算子,提取出来的是图像的边缘特征信息,表示的是图像中像素有突
变的地方,然后用一个3*3的滤波器模板去提取出来。又比如LBP算子,对人脸区域比较敏感,能用
来检测人脸。这些特征都是通过某种方式(可以是滤波器算子等等)来提取某种类型的信息,换个说
法就是,输入图像通过一个数学变换+方式,将信息域从图像转换到另另一个信息域(边缘等),就
类似于,时序信号通过傅里叶变换+转成频域信号。
✨总的来说,特征提取+就是转换信息域,用另一种形式去表示图像的其某种特性
以红外与可见光图像融合为例,通常我们认为,浅层图像特征更更接近源图像,高频信号比较多,代
表边缘纹理比较多。随着下采样+等过程,深层特征更抽象,低频信号号比较多,代表语义因为比较
多。
CNN类型与GAN类型的区别,大家都有一个用于生成融合图像的网络但是损失的比较内容和形式
不一样。CNN的强度损失是直接用源图像与融合图像进行比较。CNN的边缘损失是用sobel算子+分
别计算源图像与融合图像的边缘,再用边缘图像进行比较。GAN是将源图像和融合图像分别通过鉴
别器网络,得到各自的概率分布+来进行比较。
以上,有图像、边缘、概率分布等信息域,因为损失是没办法完全为0的,只能尽可能的趋近于,因
此,需要从你认为重要的几个信息域去趋于一致。
现在已经有所有的损失都是在不同信息域进行比较的思想,接下来是拓展思维,如何设计深度学习
网络和损失函数*。
深度学习网络是一个万能函数拟合器+,它可以将输入拟合成任何你想要的样子,只要你用损失去
约束生成的东西和损失比较的东西趋于一致。这时候,网络模型型是有瓶颈的,越好的网络模型拟合
能力越强。
✨损失函数决定上限,网络模型决定离上限有多远。
如何想让网络模型生成的图像具有更多的边缘纹理信息,除了损失函数数用sobel作边缘损失以外,最
好还可以在网络里加入sobel算子作为预定义参数的卷积模块,女QSeAFusion。相同的思路,可以把
这种sobel分支当成随插随用的模块,嵌入到自己想要拿来用的模块。
如何设计损失函数,直接作L1L2损失,加个鉴别器(网络)是概率分布相关的损失,加个深度检测
网络是检测目标显著性的损失,加个语义分割+网络是检测语义信息的损失。GAN只是在CNN的基
础上加一些对抗机制。所以才有说,CNN类型是通过精心设计的网络模型和损失函数来生成高质量
的融合图像。VGG19的感知损失+是将图像在VGG19的不同层次的特征上趋于一致。
那么,你想让网络生成的结果更像什么呢?