车辆与行人检测及图像去噪算法研究
立即解锁
发布时间: 2025-08-29 11:39:28 阅读量: 15 订阅数: 33 AIGC 

# 车辆与行人检测及图像去噪算法研究
## 一、基于Sigmoid的车辆与行人检测
在车辆和行人检测领域,研究人员致力于寻找能够提升现有障碍物检测和分类性能的方法。通过利用深度学习模型中激活函数的思想,对局部区域进行编码,考虑中心特征与相邻特征之间的关系。同时,提出了一种新的方法,将RGB特征与基于Sigmoid的激活函数特征相结合,且无需使用预定义的阈值来确定每个特征对最终模型的贡献程度。
### 1.1 方法优势与不足
与YOLOv5相比,基于Sigmoid的函数在车辆和行人检测方面表现出更稳定的性能。然而,该方法也存在一定的局限性,有时会在汽车和摩托车的检测结果上产生混淆。
### 1.2 性能验证
通过对基于Sigmoid特征的性能验证发现,在异常驾驶条件下,该模型的性能优于其他对比方法。但由于需要进行局部编码,基于Sigmoid特征的处理时间仍然较高,后续计划寻找解决方案来加快处理速度。
## 二、动态自适应切换中值均值滤波器去除高密度椒盐噪声
### 2.1 研究背景
在图像传输过程中,图像常常受到各种噪声的干扰,其中椒盐噪声是一种常见的脉冲噪声。现有的滤波方法在去除椒盐噪声时,要么过于复杂冗长,要么在准确性上存在不足。因此,研究人员提出了一种新型的动态自适应切换中值均值滤波器(DASBMMF)来解决高噪声密度下的椒盐噪声去除问题。
### 2.2 现有滤波方法分析
- **加权中值滤波器(WMF)和中心加权中值滤波器(CWMF)**:通过在滤波窗口中对某些选定像素赋予更多权重,比普通中值滤波器能保护更多细节,但在处理时不考虑当前像素是否无噪声,统一应用于整个图像。
- **自适应中值滤波器(AMF)**:在低和中等噪声密度水平下表现尚可,但在高噪声密度时,替换受损像素的数量大幅增加,扩大窗口大小虽能提高去噪效果,但会导致原始像素值与替换的中值像素值相关性降低,边缘模糊。
- **自适应中心加权中值滤波器(ACWMF)**:用于去除高密度脉冲噪声,需要对盐和胡椒以及随机值脉冲噪声类型进行边缘优化。
- **渐进切换中值滤波器(PSMF)**:性能高效,但实现过程繁琐且计算难度大。
- **其他滤波技术**:如噪声自适应软切换中值滤波器(NASM)、鲁棒估计基滤波器(REBF)、修改决策非对称修剪中值滤波器(MDBUTMF)、自适应最小 - 最大值加权中值滤波器(AMMWM)、重要性驱动逆距离加权滤波器(SDIDW)、自适应加权最小 - 中 - 最大值滤波器(AWM3F)和混合决策滤波(HBDF)等,各有优缺点,但在高噪声密度下仍存在一些问题。
### 2.3 提出的滤波器算法
#### 2.3.1 算法步骤
该算法分为两个阶段:
- **噪声检测阶段**:生成一个标志掩码覆盖图像,如果滑动窗口的中间像素($X_{ij}$)为0或255(最大或脉冲值),则认为该像素有噪声,标志$F_{i,j}=0$;如果无噪声($F_{i,j}=1$),则移动到下一个像素。为了使滑动窗口能完美适配图像的每个像素,需要对图像进行填充。
- **滤波阶段**:初始窗口大小为3×3。如果窗口内周围健康像素的数量大于0,则取所有这些健康像素的中值。如果窗口内没有无噪声像素,则将窗口大小从3×3增加到5×5,重复上述步骤,直到达到7×7的阈值窗口大小。当达到阈值窗口大小且仍没有无噪声像素时,根据像素的位置采用不同的处理方式:
- 如果像素位于图像的最后一行或列,取上一个已处理的可用像素替换该噪声像素。
- 如果像素位于第一行或最后一行($i = 1$或$i = N$),用其左侧已处理的像素替换。
- 如果像素位于第一列或最后一列($j = 1$或$j = N$),用其上方已处理的像素替换。
- 如果噪声像素不在角落,则取一个3×3窗口内该像素之前已处理像素的均值进行去噪。
#### 2.3.2 伪代码实现
```plaintext
Algorithm 1 Proposed filter (Img, Out Img)
Input Img: Input Image
Output Out Img: Output Image
for each pixel Xi, j of Img do
Set flag ( fi, j) value to 1, if non - noisy else to 0.
if fi, j == 1 then
Pi, j ← Xi, j;
else
for n from Wmin to Wmax
▷ Wmin = 3, Wmax = 7
if (non - noisy pixel > 0 in wn×n) then
Pi, j ← median(non - noisy pixel);
else
n = n + 2;
end if
if n == 7 && non - noisy pixel = 0 in wn×n then
if (i == pad + 1 || i == row + pad && j > pad + 1) then
Pi, j ← Pi, j−1;
else if (j == pad + 1 || j == col + pad && i > pad + 1) then
```
0
0
复制全文
相关推荐










