【1】背景建模下的树木晃动问题分析——结合VIBE算法

2023-11-02 21:50

本文主要是介绍【1】背景建模下的树木晃动问题分析——结合VIBE算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 树木晃动的像素级现象

根据当前的数据特点,分为两种情况:

  • 近距离的灌木丛(<300m)在风吹作用下的晃动
  • 柏树等稍远一些的树冠在风吹作用下的晃动

树冠的晃动

                                                                                                 图1 风吹下的树冠晃动

                                                                                                     图2 近距离灌木丛的晃动

1.1 树木晃动的像素级特点

  • 快速运动,帧与帧之间差异大,每帧的晃动方向随机(上下左右);幅度随机(晃动像素个数)。每帧上下左右晃动的像素个数是随机的。
  • 晃动之后,目标的形态也发生了变化。
  • 晃动只会在一个局部的领域里发生。
  • 晃动的发生频率和周期不一样,没有太多规律。

1.2 当前VIBE算法为什么只能解决一部分的晃动问题

第一排的晃动相对小,第二排的晃动量相对大。

邻域更新的重要性

模型的数值分布,可以看出来至少有两个模式

  • 只有157第当前像素更新的某个模型;而170和160都是领域更新来的。
  • 但是领域更新只在3*3的范围内,所以能够应对的晃动模式是有限的。
  • 如果是在残留问题中(鬼影),领域更新可以在5帧内完成模型的吸收。前景中第二帧就不可见是由于前景计数导致的,前景一直在累计计数,直至被模型吸收。所以这就是邻域更新的快产生的结果。
  • 模型需要保持敏感性和精确性,更新快就精确,更新慢就敏感。

2. 下一步的技术方向

  • (1)vibe的技术上,在前景中利用晃动特征进行剔除。但是这个特征难以表征和实现
  • (2)借鉴PAWCS算法的特点进行改进

2.1 PAWCS算法的原理

首先,它是在SubSense算法的基础上进行的改进。但是基本的模型在SubSense中有详细介绍的。主要特点在以下几个方面:

  • (1)特征:LBSP+Color 首先LBSP的相似性阈值是自适应的Tr*ix,实际为ix/9,即[0,255]共28个台阶
  • (2)判断当前像素是否属于某个模型:R(x)是要维护的,从R(x)+isUnstable得到Color和LBSP的阈值,其次还有一个综合阈值。
  • (3)挨个模型进行判断,然后进行前景和背景的分割,进行分割时要更新T(x),MeanMinDist, MeanRawSegm

图1 总的图

图2 左侧为Tr*ix的自适应阈值,LBSP判断是否相似的,是否为0/1                    右侧为当前像素是否属于某个模型

                                         图3 部分模型变量的说明 

2.1.1 前景背景分割的部分 + 反馈参数控制部分

前景背景分割部分:如果ModelResetCoolDown需要重新更新,则以最快的速度更新某个模型。

2.1.2 闪烁像素的确定

2.1.3 SubSense算法原理

由于PAWCS算法是在SubSense算法上的改进,所以基础的机制在SubSense中有介绍,而在PAWCS算法中没有介绍。

  • (1)初始化:参数设置和模型赋予初值,保存第一帧的LBSP+Color的值记录在LastColor和LastLBSP中
  • (2)RefreshModel:在3×3的领域里随机采样,填充模型,Color和LBSP的50个值都是3*3的领域里随机采样的。风险就是邻域过度填充初始样本。50个模型能够容纳更多的多样性。

  • (3)前景/背景分割:match<#min,前景;match>=#min,背景。
  • (4)模型维护:
    • a.前景时,需要模型重置时——当ModelResetCooldown && 1/2频率更新满足,就更新一个背景模型区域。
    • b.背景时,模型更新:随机更新一个背景模型,同时随机更新一个邻域的某一个模型。有些许讲究。
      • 若是动态区域,则5*5选一个更新,同时更新率为T(x)/2,更新加快。否则为3*3和T(x)
    • 同时计算新的:Dmin_LT/ST,计算新的RawSegmRes_ST/LT。

  • (5)动态更新内部参数:

 

下一步计划

对图像进行逐帧分析,借鉴其机制。急!

 

 

 

 

 

 

 

 

 

 

这篇关于【1】背景建模下的树木晃动问题分析——结合VIBE算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/333541

相关文章

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

resultMap如何处理复杂映射问题

《resultMap如何处理复杂映射问题》:本文主要介绍resultMap如何处理复杂映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录resultMap复杂映射问题Ⅰ 多对一查询:学生——老师Ⅱ 一对多查询:老师——学生总结resultMap复杂映射问题

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序