【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

相关文章

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类