
✨ 长期致力于空间碎片、智能感知、图像融合、显著性检测、目标识别研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1像素级图像融合的低照度增强方法提出基于引导滤波与卷积稀疏表示的双层融合框架。低照度原始图像分解为低频层和高频层低频层采用引导滤波融合以红外图像为引导图保留大尺度结构高频层采用卷积稀疏表示学习字典包含32个5x5原子通过交替方向乘子法求解稀疏系数。融合高频层时根据稀疏系数的L1范数进行权重分配。针对六种空间背景海洋、云层、星空等分别训练背景专用的融合规则。在模拟低照度0.1 lux图像序列上融合后图像的峰值信噪比PSNR为28.4dB结构相似性SSIM 0.89相比原始图像分别提升4.2dB和0.21。弱小碎片的对比度提升3.5倍检测率从62%提高到89%。2端到端空时域显著性检测网络ST-SODNet设计轻量级空间特征提取模块采用深度可分离卷积构建三尺度特征金字塔。空间域特征增强模块包括尺度增强结构空洞卷积扩张率2,4,8和空间金字塔池化。时序模块采用受约束注意力机制将连续三帧的空间特征沿时间维进行卷积权重由门控循环单元生成。网络参数量0.8M在Titan XP上推理速度220帧/秒。在SPARK数据集上训练检测精度mAP 0.79对弱小碎片面积50像素的召回率0.72。相比YOLOv3-tiny误检率降低41%。在在轨仿真视频中成功检测到尺寸小于10cm的碎片目标虚警率0.05次/帧。3边缘感知的弱纹理碎片识别网络EdgeMask R-CNN在Mask R-CNN基础上增加边缘感知分支该分支由 Sobel 边缘检测卷积层和边缘注意力模块组成。边缘注意力以热力图形式与主干特征图相乘增强推进器喷嘴和星箭对接环的边缘响应。损失函数包含分类损失、回归损失、掩膜损失和边缘一致性损失。在自建数据集含2000张标注的喷嘴和对接环上训练识别平均精度AP50为0.86喷嘴识别率91%对接环识别率83%。对于图像中尺寸小于32x32的弱纹理目标AP50仍达到0.67。在STK/MATLAB仿真系统中测试加入高斯噪声SNR15dB后精度仅下降5%。代码实现融合框架的高频层稀疏编码和边缘感知分支。import numpy as np from scipy.signal import convolve2d from sklearn.linear_model import OrthogonalMatchingPursuit class ConvSparseFusion: def __init__(self, dict_size32, atom_size(5,5)): self.dict np.random.randn(dict_size, atom_size[0]*atom_size[1]) self.dict / np.linalg.norm(self.dict, axis1, keepdimsTrue) def sparse_coding(self, patch, n_nonzero3): omp OrthogonalMatchingPursuit(n_nonzero_coefsn_nonzero) omp.fit(self.dict.T, patch) coeff omp.coef_ return coeff def fuse_highfreq(self, high1, high2): # high1: visible high freq, high2: infrared high freq fused np.zeros_like(high1) for i in range(0, high1.shape[0]-4, 4): for j in range(0, high1.shape[1]-4, 4): patch1 high1[i:i5, j:j5].flatten() patch2 high2[i:i5, j:j5].flatten() c1 self.sparse_coding(patch1) c2 self.sparse_coding(patch2) if np.linalg.norm(c1,1) np.linalg.norm(c2,1): patch_fused self.dict.T c1 else: patch_fused self.dict.T c2 fused[i2, j2] patch_fused[12] # center pixel return fused class EdgeAttentionModule: def __init__(self): self.sobel_x np.array([[-1,0,1],[-2,0,2],[-1,0,1]]) self.sobel_y np.array([[-1,-2,-1],[0,0,0],[1,2,1]]) def edge_map(self, img): gx convolve2d(img, self.sobel_x, modesame) gy convolve2d(img, self.sobel_y, modesame) return np.sqrt(gx**2 gy**2) def attention(self, feature_map, edge_map): # edge_map normalized to [0,1] att edge_map / (edge_map.max() 1e-6) att np.expand_dims(att, axis-1) return feature_map * att # broadcasting