一种改进的CFAR算法用于目标检测(解决多目标掩蔽)
摘要
恒虚警率(CFAR)技术在雷达自动检测过程中起着关键作用。单元平均(CA)CFAR算法在几乎所有的多目标情况下都会受到掩蔽效应的影响。最小单元平均(SOCA)CFAR算法仅当干扰目标位于参考窗口的前后方时才具有较好的性能。有序统计(OS)CFAR算法在多目标情况下具有较好的鲁棒性,但计算复杂度较高。然而,当一个大目标连续占据多个单元时,无论是SOCA-CFAR还是OS-CFAR都无法避免掩蔽效应。为此,针对这些问题,提出了一种基于SOCA-CFAR的改进CFAR算法。仿真结果表明,改进的CFAR算法能够以较低的计算复杂度减轻掩蔽效应。所提出的CFAR算法的二维(2D)扩展也适用于距离多普勒矩阵(RDM),仿真结果证明了其性能优势。
引言
雷达信号检测的目的是确定杂波或噪声背景中是否存在目标。先前的目标检测研究始于1943年至11世纪,经典的固定阈值检测基于具有定义统计特性和截面的噪声背景,其中有五种Swerling统计模型。最大的挑战是固定阈值无法适应由于温度变化或其他物理效应而变化的背景,导致较高的虚警率。杂波噪声包括接收机热噪声、地面物体、电子对抗等,被认为是高斯或非高斯的。在高斯模型中,高斯、瑞利和指数分布是最常见的概率密度函数(PDF)模型。在非高斯情况下,流行的PDF选择是对数正态分布和威布尔分布。因此,存在不同的检测器,例如线性、平方律或贝塞尔检测器,它们具有不同的检测性能和计算成本,其中,线性律和平方律检测器对于高斯噪声提供几乎相同的性能。为了在雷达自动检测系统中计算检测阈值,同时最小化杂波和噪声对虚警概率的影响,人们开发了恒虚警率(CFAR)算法。现有的CFAR检测程序通常使用滑动窗口来执行,通过滑动窗口估计假设模型的参数,并利用参考窗口中可用的数据来计算判决阈值。CFAR算法主要有两种:均值水平CFAR(ML-CFAR)和有序统计CFAR(OS-CFAR)。ML-CFAR基于两个邻域区域的算术平均值来估计背景噪声的功率,而OS-CFAR首先对数据序列按幅度排序,然后从有序序列中选择某个值作为估计值。
ML-CFAR 可能是 CFAR 程序中最受欢迎的选择,它可以细分为单元平均 (CA) CFAR、最大单元平均 (GOCA) CFAR 和最小单元平均 (SOCA) CFAR。但是发现当参考窗口内存在一个或多个目标时,它的性能不佳。SOCA-CFAR 用于改善多目标情况下的性能。上述 CFAR 程序的局部噪声功率估计(用 Z 表示)可以分别描述为 Z = mean(x,y)、Z = min(mean(x), mean(y)) 和 Z= max(mean(x), mean(y)),其中 x 和 y 指的是两个邻域参考单元中的数据向量。 Rohling提出了一种基于顺序统计量的CFAR技术,在多个近距离目标的情况下,该技术优于SOCA-CFAR 。从参考窗口采集的样本首先进行排序,得到的序列称为有序统计量。可以通过以下公式实现:
其中下标表示排序序号,即索引K表示序列的第k个最小值,因此,x(1)和x(R)分别表示最小值和最大值,R是参考窗口的长度。与ML-CFAR方法不同,OS-CFAR选择一个确定的值x(K)作为局部噪声功率Z,因此,Z = x(k),从而可以计算虚警概率Pfa,其表达式为:
其中 T 是缩放因子。OS-CFAR 程序在噪声边缘模型和双目标模型中表现出优于传统的 CA、GOCA 和 SOCA-CFAR 程序的性能。
遗憾的是,几乎所有 ML-CFAR 程序在多目标和大目标情况下都会在一定程度上受到掩蔽效应的影响。尽管 OS-CFAR 在这两种情况下都表现良好,但它需要相当大量的序列排序和缩放因子计算。当目标足够大到跨越多个谱单元时,两者都会受到掩蔽效应的影响,导致决策不准确。为此,我们首先提出了一种改进的CFAR算法,该算法可以减轻多目标和大目标情况下的掩蔽效应。此外,我们还开发了一种基于二维滑动窗口技术的二维扩展CFAR算法,并将其应用于序列发射信号的连续波雷达系统的距离-多普勒矩阵(RDM)内的数据。本文的其余部分安排如下:第一节描述了信号模型、掩蔽效应和改进的CFAR算法。第二节给出了用于RDM的二维CFAR算法。第四节介绍了仿真结果,第五节得出结论。
改进的CFAR算法
本节简要讨论了距离CFAR方案的数学信号模型,解释了掩蔽效应现象,并提出了一种改进的CFAR算法。
A. 距离CFAR方案的信号建模型
CFAR算法通常应用于雷达探测系统。如图1所示,雷达系统发射啁啾信号,随后接收回波信号。回波信号经混频和下变频后,获得差拍信号,对其进行采样,然后通过快速傅里叶变换(FF'T)运算将其分解到不同的距离门中。图2以框图形式展示了信号处理和目标检测方案。首先对FFT运算后的样本进行幅度平方,然后根据不同的原理估计局部噪声功率,最终判断是否存在目标。在平方律检测器中,差拍信号的幅度平方记为Sm,其中m是目标距离下标,通常被认为是随机的。如图3所示,测试单元中的平方幅度序列记为D,其在测试单元两侧参考窗口内的对应序列分别记为xi和yi,其中i= 1,2,...,n。参考窗口的长度为R=2n。通过将局部噪声功率Z乘以缩放因子T,我们得到检测阈值S,其中S=T*Z,决策准则为:
其中,H0 为噪声环境下的假设,H1 为存在目标环境下的假设。假设背景噪声服从高斯白噪声,且服从独立同分布, 其包络服从瑞利分布。这样,序列 D 服从指数分布,其概率密度函数(PDF)为:
其中,λ'是在假设H0下的平均噪声功率u,而在假设H1下 λ'=(1 + λ)其中是目标信号与噪声的平均功率比。
B 掩蔽效应
在传统的ML CFAR算法中,目标被认为是独立的,并且它们之间的距离至少是参考窗口的一半,因此目标功率对局部平均噪声功率没有影响。但在实际应用中,这一假设很可能被违背。例如,当参考窗口内有两个或多个目标时,干扰目标的存在会增加估计的噪声功率以及阈值,从而产生掩蔽效应。图4(a)提供了一个示例,其中第二个目标被SOCA-CFAR算法掩蔽。
与掩蔽效应类似,目标自掩蔽效应是指噪声功率估计值被目标自身的功率抬高的情况。当目标足够大,即其频谱跨越多个单元时,当其中一个谱单元被检测到时,其中一些目标会滑入参考窗口。如图 4(b) 所示,SOCA-CFAR 和 OS-CFAR 检测算法均会将大目标全部或部分掩盖。
C 改进的SOCA-CFAR算法
CFAR检测的掩蔽效应实际上是由于参考窗口中存在目标引起的,这会增加局部噪声功率估计Z,从而增加虚警的可能性。
为了减轻掩蔽效应,理想的检测算法应该在多目标和大目标情况下都具有鲁棒性。由于SOCA-CFAR检测算法采用的参考窗口从左向右滑动,因此可以提出一种改进方案来减轻参考窗口右半部分产生的目标掩蔽效应。如图5所示,关键在于进行加性反馈运算,当存在目标时,用噪声功率估计Z代替目标单元的值。
同时,在估计噪声功率时忽略与待测单元直接相邻的保卫单元。这样,参考窗口中的目标对噪声功率估计几乎没有影响。假设现在目标 A 位于第 k 个距离门,其局部噪声功率估计为 Zk,将目标功率 Dk 替换为 Zk,则测试单元的噪声功率估计 Dm(其中 m > k)可表示为:
由于在同质噪声背景下,参考窗口中的样本是独立同分布的,因此改进的 SOCA-CFAR 具有与对话估计相同的估计 Z,如下所示:
因此,所提算法具有与SOCA-CFAR 相同的误报概率Pfa,Z和Pfa的PDF分别为:
其中,fx(z)和fy(z)分别是X和Y的概率密度函数(PDF),Fx(z)和Fy(z)分别是相应的累积分布函数(CDF),μ是噪声功率。虚警概率Pfa与μ无关,因此改进的SOCA-CFAR算法具有恒定虚警率的特征。表1总结了该算法的具体步骤。
一种改进的二维CFAR算法
上述CFAR方法适用于从一个chirp信号采样的一维数据。对于连续波雷达系统,它会发射一系列chirp信号,如图6所示。接收回波信号并将其与发射信号混合,然后进行下变频以获得周期性的差拍信号。每个差拍信号并行采样,并在此基础上进行FFT运算。得到的频谱按列存储在一个二维矩阵中,其差拍频率为fB=-2RB/T,其中B和T分别为chirp信号的带宽和持续时间,c表示光速,R表示目标与雷达系统之间的距离。在第二阶段,对上述矩阵的每一行进行FFT运算,测量当fD=-2v/λ时的多普勒频率,其中v表示径向速度,λ表示chirp信号的波长。这样,2DFFT 运算将差拍信号分解到不同的距离和多普勒门中,从而构建距离-多普勒矩阵 (RDM),如图 6 所示。
为了提高处理效率,本文进一步提出了一种 2D CFAR 算法。对于 RDM,参考窗口可以是矩形或十字形,本文选择十字形窗口进行演示,如图 7 所示。参数 M 和 N 分别为参考窗口在距离和多普勒方向上的长度。保护单元也相应地设置。对于本文提出的 2D CA-CFAR 算法,局部噪声功率 Z 是根据十字形参考窗口内观测值的算术平均值来估计的,其公式如下:
其中, xi和yi分别是沿距离和多普勒方向样本幅值的平方。文献指出,CA-CFAR算法对掩蔽效应敏感,这一缺陷会传递到二维参考窗方法中。与二维CA-CFAR算法相比,二维SOCA-CFAR算法通过估计局部噪声功率Z:
式中,Z1和Z2是基于SOCA原理的距离和多普勒参考窗噪声估计,实现了一定的性能提升。同理,二维OS-CFAR检测算法可以通过执行局部噪声功率估计来实现,式中:
其中 x(k1) 和 y(k2) 分别是两个参考窗口内的噪声功率估计。根据上一节的分析,本文方法与SOCA-CFAR方法的区别在于增加了一个加法反馈操作,用局部噪声功率估计代替目标功率。同样,改进的二维SOCA-CFAR算法如图7所示。为了进一步减少计算负担,检测谱峰并将其存储在向量Dp = [Dp1,Dp2,..,DpL,]中,其中L是谱峰的数量。然后对每个谱峰进行CFAR检测。表2总结了二维改进SOCACFAR算法的所有步骤。
仿真
为了说明基于平方律检测器及其二维扩展的SOCA-CFAR算法的性能优势,在Matlab编程环境中对雷达检测系统进行了仿真。在多目标情况下,考虑三个目标,它们与雷达系统的距离分别为40、45和50 m。所有目标均受高斯分布背景噪声污染,信噪比分别为15.56、12.04和15.56 dB。在大型目标情况下,其径向范围为4l至6l m,信噪比为10 dB。在两种情况下,虚警概率Pfa均设置为1e-6。
图8示出了三种CFAR算法在多目标情况下的检测性能。改进的SOCA-CFAR算法消除了掩蔽效应,正确检测出了三个目标,而传统的SOCA-CFAR和OS-CFAR算法对掩蔽效应比较敏感,虽然可以通过增加窗口长度R来改善这一不足。例如,在图8(a)中,第二个目标在R=16时被掩蔽,而在R=32时OS-CFAR可以检测到,而SOCA-CFAR仍然将其掩蔽。通过比较图8(a)和图8(b),我们观察到当K=R/2时OSCFAR的检测精度高于K=3R/4时。
图9展示了当考虑跨越多个谱单元的大型目标时,所有考虑的CFAR算法的仿真结果。所提出的改进SOCA-CFAR算法也能正确检测出大目标,而另外两个算法在一定程度上受到了掩蔽效应的影响。
为了验证增强型CFAR算法的鲁棒性,进一步考察了三种CFAR算法在不同信噪比(SNR)下的检测概率Pd。初始虚警概率Pfa和参考窗口长度R分别设为Pfa=1e-6和R= 32,仿真结果通过对500次独立试验取平均值获得。在多目标情况下,三个目标距离雷达系统分别为40、45、50 m;在大型目标情况下,其径向范围为42.24至48.06 m。如图10和图11所示,可以看出改进的SOCA-CFAR算法优于传统的SOCA-CFAR算法和OS-CFAR算法。同时需要注意的是,OS-CFAR算法的性能略逊于提出的算法,且计算复杂度更高。
此外,还对四种CFAR算法的二维扩展在不同信噪比下的性能进行了仿真研究。距离和多普勒方向上的参考窗口长度分别设置为M=32和N=16,在二维OS-CFAR算法中,参数K1和K2分别为3M/4和3N/4。采用两个观测值作为守卫单元,虚警概率Pfa为1e-6。目标随机生成,距离为50至60米,速度为-5至15米/秒,其中负号表示朝向雷达系统。
图12给出了2D CFAR算法在不同情况下的检测概率Pa,其中目标数量分别为1、3、5、7、9和11。当只有一个目标时,所有2D CFAR算法都具有可接受的性能。当目标数量增加时,2DCA-CFAR的性能严重下降,在所有考虑的信噪比情况下,当目标数量为1l个时,它几乎丧失了检测能力。此外,2D OS-CFAR算法的性能与2D SOCA-CFAR算法相当。同样显而易见的是,改进的2D CFAR在四种2D CFAR算法中具有最佳性能。
结论
针对雷达检测系统,提出了一种改进的SOCA-CFAR算法。该算法的关键在于通过降低目标功率对平均噪声估计功率的敏感性,来缓解多目标和大目标对检测算法造成的掩蔽效应。提出的CFAR算法具有恒定的虚警概率。蒙特卡洛仿真表明,与传统的CA-CFAR、SOCA-CFAR和OS-CFAR算法相比,改进的SOCACFAR算法获得了更高的检测概率,并且这一优良特性在二维检测系统中同样有效。
相关文章:
一种改进的CFAR算法用于目标检测(解决多目标掩蔽)
摘要 恒虚警率(CFAR)技术在雷达自动检测过程中起着关键作用。单元平均(CA)CFAR算法在几乎所有的多目标情况下都会受到掩蔽效应的影响。最小单元平均(SOCA)CFAR算法仅当干扰目标位于参考窗口的前后方时才具有…...
什么是人工智能芯片?
行业专家指出,许多智能设备和物联网设备都是由某种形式的人工智能(AI)驱动的——无论是语音助理、面部识别摄像头,还是电脑。这些设备需要采用某种技术为它们进行的数据处理提供支持。有些设备需要在云平台的大型数据中心处理数据,而也有一些…...
0.深入探秘 Rust Web 框架 Axum
在当今的 Web 开发领域,Rust 凭借其出色的性能、内存安全性和并发处理能力,正逐渐崭露头角。而 Axum 作为 Rust 生态系统中一款备受瞩目的 Web 框架,更是为开发者提供了高效、灵活且强大的工具,用于构建现代化的 Web 应用程序。本…...
深度监听 ref 和 reactive 的区别详解
深度监听 ref 和 reactive 的区别详解 一、ref 的深度监听(示例代码)关键点:1. ref 的存储方式:2. 监听 ref 的特性 二、reactive 的深度监听(示例代码)关键点:1. reactive 的深度响应性2. 监听…...
面向对象—有理数类的设计
目录 1.代码呈现 1.1编写toString、equals方法 1.2测试代码 1.3有理数类的代码 2.论述题 3.有理类设计 1.代码呈现 1.1编写toString、equals方法 (1)toString方法 Overridepublic String toString(){if(this.v20){return "Undefined";}return this.v1 "/…...
OpenHarmony Camera开发指导(四):相机会话管理(ArkTS)
概述 相机在使用预览、拍照、录像、获取元数据等功能前,都需要先创建相机会话。 相机会话Session的功能如下: 配置相机的输入流和输出流。 配置输入流即添加设备输入,通俗来讲即选择某一个摄像头进行拍照录像;配置输出流&#x…...
Linux电源管理(三),CPUIdle 和 ARM的PSCI
更多linux系统电源管理相关的内容请看:Linux电源管理、功耗管理 和 发热管理 (CPUFreq、CPUIdle、RPM、thermal、睡眠 和 唤醒)-CSDN博客 1 简介 Linux下的空闲进程cpuidle在内核中是一个子系统。cpuidle子系统所需要做的事情就是在CPU进入idle状态后,…...
【测试工具】JMeter使用小记
JMeter 使用小记 下载与安装 jdk 下载地址:https://www.oracle.com/java/technologies/downloads/#jdk18-windowsJMeter 下载地址:https://jmeter.apache.org/download_jmeter.cgi 教程参考:JMeter下载及安装详细教程-CSDN博客 设置中文界…...
Obsidian的简单使用
一、安装并配置仓耳今楷字体 优化阅读体验,个人实测觉得正文用 仓耳今楷04-W03最合适(前面的数字代表字体,数字越大,越偏向于楷体,而01就很像黑体。后面的数字代表粗细,正常粗细是W03,最粗是W0…...
docker的基础知识
Docker https://www.yuque.com/leifengyang/sutong 下载镜像 检索: docker search下载: docker pull列表: docker images删除 docker rmi启动容器 运行: docker run查看: docker ps停止: docker stop启动: …...
PcVue助力立讯:精密制造的智能化管控实践!
PcVue助力立讯: 精密制造的智能化管控实践! 客户介绍 立讯精密(Luxshare ICT,股票代码:002475)成立于2004年5月24日,专注于为消费电子产品、汽车领域产品以及企业通讯产品提供从核心零部件、…...
深度学习-157-Dify工具之创建知识库
文章目录 1 硅基流动1.1 模型广场1.1.1 对话模型(免费)1.1.2 嵌入模型(免费)1.1.3 重排序模型(免费)1.2 模型调用1.2.1 文本对话1.2.2 文本嵌入2 构建知识库2.1 准备文档2.2 点击创建知识库2.3 设置嵌入参数2.4 召回测试3 创建聊天助手3.1 仅使用大模型3.2 结合知识库的大模型3…...
Oracle--安装Oracle Database23ai Free
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 官方文档: Get Started with Oracle Database 23ai | Oracle 一、安装的环境要求 本文同步使用Oracle Linux9的虚拟机进行操作 1、Orac…...
【JavaEE初阶】多线程重点知识以及常考的面试题-多线程进阶(三)
本篇博客给大家带来的是集合类在多线程下的使用和死锁的知识点还包括常见的面试题. 🐎文章专栏: JavaEE初阶 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅&…...
【verilog】多个 if 控制同一个变量(后面会覆盖前面)非阻塞赋值真的并行吗?
非阻塞赋值 (<) 是“并行”的,但是代码顺序会影响结果?”这正是 Verilog 的硬件描述本质 vs 行为语义之间的微妙之处。 💡1. 非阻塞赋值真的并行吗? 是的!非阻塞赋值 < 从行为上是并行的,也就是说&a…...
C++事件驱动编程从入门到实战:深入理解与高效应用
C事件驱动编程从入门到实战:深入理解与高效应用 在现代软件开发中,事件驱动编程(Event-Driven Programming)作为一种流行的编程范式,被广泛应用于图形用户界面(GUI)、网络通信、游戏开发等众多…...
问题 | MATLAB比Python更有优势的特定领域
以下是关于MATLAB在特定领域相较于Python的优势的详细分析,结合其核心功能、行业应用及技术特性展开论述: 一、科学研究与工程计算 1. 数值计算的高效性 MATLAB的核心设计围绕矩阵运算展开,其底层对线性代数和数值计算进行了深度优化。例如…...
黑马商城项目(三)微服务
一、单体架构 测试高并发软件 二、微服务 三、SpringCloud 四、微服务拆分 黑马商城模块: 服务拆分原则: 拆分服务: 独立project: maven聚合: 拆分案例: 远程调用: package com.hmall.cart.…...
Qt界面卡住变慢的解决方法
本质原因: 当Qt界面出现卡顿或无响应时,通常是因为主线程(GUI线程)被耗时操作阻塞。 完全忘了。。。 Qt Creater解决方法 1. 定位耗时操作 目标:找到阻塞主线程的代码段。 方法: 使用QElapsedTimer测量代码执行时间…...
Flutter的原理及美团的实践(下)
Flutter的原理及性能实践 Flutter和原生性能对比 虽然使用原生实现(左)和Flutter实现(右)的全品类页面在实际使用过程中几乎分辨不出来: 但是我们还需要在性能方面有一个比较明确的数据对比。 我们最关心的两个页面…...
时序预测 | Matlab实现基于VMD-WOA-ELM和VMD-ELM变分模态分解结合鲸鱼算法优化极限学习机时间序列预测
时序预测 | Matlab实现基于VMD-WOA-ELM和VMD-ELM变分模态分解结合鲸鱼算法优化极限学习机时间序列预测 目录 时序预测 | Matlab实现基于VMD-WOA-ELM和VMD-ELM变分模态分解结合鲸鱼算法优化极限学习机时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab…...
【云安全】云原生- K8S IngressNightmare CVE-2025-1974(漏洞复现完整教程)
漏洞原理 CVE-2025-1974: The IngressNightmare in Kubernetes | Wiz Blog 分两方面: a、配置注入过程 构造一个恶意的Ingress资源,其中注入ssl_engine指令指向恶意共享库向准入控制器验证端点(AdmissionWebhook)发送Admissio…...
Tomcat与Servlet(2)
上篇文章: Tomcat与Servlethttps://blog.csdn.net/sniper_fandc/article/details/147278469?fromshareblogdetail&sharetypeblogdetail&sharerId147278469&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 上篇文章介绍了To…...
在高数据速度下确保信号完整性的 10 个关键策略
随着越来越多的传感器连接到系统,需要快速、可靠和安全地传输更多数据,对带宽和设计复杂性的需求也在增加。优先考虑的是确保从 A 发送到 B 的信号不会失真。 确保信号完整性 对于设计依赖于持续准确数据流的数据密集型应用程序的工程师来说,…...
2025华中杯数学建模B题完整分析论文(共42页)(含模型、数据、可运行代码)
2025华中杯大学生数学建模B题完整分析论文 目录 一、问题重述 二、问题分析 三、模型假设 四、 模型建立与求解 4.1问题1 4.1.1问题1解析 4.1.2问题1模型建立 4.1.3问题1样例代码(仅供参考) 4.1.4问题1求解结果(仅供参考&am…...
UE5 自带的视频播放器
文章目录 文件夹准备添加一个文件媒体源方法1方法2 添加一个视频播放器播放视频直接播放使用网格体播放使用UI播放 播放视频的音乐媒体播放器常用的节点设置循环是用绝对路径播放视频,视频无需导入注册播放完成事件 文件夹准备 视频必须被放在Content/Moveis文件下…...
是德科技E5080B网络分析仪深度评测:5G/车载雷达测试实战指南
是德科技E5080B网络分析仪(ENA系列)是一款高性能射频测试仪器,广泛应用于通信、航空航天、半导体等领域,以下是其核心功能详解: 一、核心测试功能 多参数网络分析 S参数测量:支持全双端口S参数测试…...
javaSE————网络编程套接字
网络编程套接字~~~~~ 好久没更新啦,蓝桥杯爆掉了,从今天开始爆更嗷; 1,网络编程基础 为啥要有网络编程呢,我们进行网络通信就是为了获取丰富的网络资源,说实话真的很神奇,想想我们躺在床上&a…...
力扣349 == 两个数组交集的两种解法
目录 解法一:利用 Set 特性高效去重 解法二:双重遍历与 Set 去重 方法对比与总结 关键点总结 题目描述 给定两个整数数组 nums1 和 nums2,要求返回它们的交集。输出结果中的每个元素必须是唯一的,且顺序不限。 示例 输入&…...
笔试专题(十)
文章目录 对称之美(双指针)题解代码 连续子数组最大和(线性dp)题解代码 最长回文子序列(区间dp)题解代码 对称之美(双指针) 题目链接 题解 1. 双指针 2. 用left标记左边的字符串…...
YOLOv12即插即用---RFAConv
1.模块介绍 接受域注意卷积(RFAConv):更聪明地感知空间特征 在传统卷积神经网络中,卷积核参数的共享机制虽有效提升了模型的泛化能力与计算效率,但却忽略了不同空间位置特征在感知范围(即接受域)内的重要性差异。为此,我们提出了一种更具感知能力的模块 —— 接受域注…...
使用datax通过HbaseShell封装writer和reader同步hbase数据到hbase_踩坑_细节总结---大数据之DataX工作笔记008
最近在做大数据相关功能,有个需求,使用datax同步hbase到hbase中,其中还是有很多细节值得记录: 首先来看一下datax的源码中,如果你使用phoenix创建的表,那么 你就需要使用对应的hbase带有sql字样的,reader和writer. 然后如果你使用datax-web来进行测试的,那么,他默认使用的是h…...
Python解决“小D的abc字符变换”问题
小D的“abc”变换问题 问题描述测试样例解题思路代码 问题描述 小D拿到了一个仅由 “abc” 三种字母组成的字符串。她每次操作会对所有字符同时进行以下变换: 将 ‘a’ 变成 ‘bc’ 将 ‘b’ 变成 ‘ca’ 将 ‘c’ 变成 ‘ab’ 小D将重复该操作 k 次。你的任务是输…...
C++学习:六个月从基础到就业——面向对象编程:重载运算符(下)
C学习:六个月从基础到就业——面向对象编程:重载运算符(下) 本文是我C学习之旅系列的第十三篇技术文章,是面向对象编程中运算符重载主题的下篇。本篇文章将继续深入探讨高级运算符重载技术、特殊运算符、常见应用场景和…...
电压模式控制学习
电压模式控制 在开关电源中,大的可分为三大控制模式,分别是电压模式控制,电流模式控制,迟滞模式控制。今天简要介绍下电压模式控制的优缺点。 原理 架构图如下 如图所示,电压模式控制可以分为三部分:误…...
vue3 Ts axios 封装
vue3 Ts axios 封装 axios的封装 import axios, { AxiosError, AxiosInstance, InternalAxiosRequestConfig, AxiosResponse, AxiosRequestConfig, AxiosHeaders } from axios import qs from qs import { config } from ./config import { ElMessage } from element-plus// …...
GPT,Bert类模型对比
以下是对 BERT-base、RoBERTa-base、DeBERTa-base 和 DistilBERT-base 四个模型在参数量、训练数据、GPU 内存占用、性能表现以及优缺点方面的对比: 模型参数量与训练数据 模型参数量训练数据量BERT-base110MBookCorpus(8亿词) 英文维基百科…...
3.Rust + Axum 提取器模式深度剖析
摘要 深入解读 Rust Axum 提取器模式,涵盖内置提取器及自定义实现。 一、引言 在 Rust 的 Web 开发领域,Axum 作为一款轻量级且高效的 Web 框架,为开发者提供了强大的功能。其中,提取器(Extractor)模式…...
Dify vs n8n vs RAGFlow:2025年AI应用与自动化工作流平台的终极对决
我将为大家整理一份关于 Dify、n8n 和 Ragflow 的最新研究分析,涵盖以下六个方面:功能对比、应用场景、架构设计、集成能力、和使用门槛。我会尽可能引用其官方文档、GitHub 仓库以及社区讨论等权威信息来源。 我整理好后会第一时间通知你查看。 1.Dify、n8n 和 RAGFlow 最新…...
ffmpeg无损转格式的命令行
将ffmpeg.exe拖入命令行窗口 c:\users\zhangsan>D:\ffmpeg-2025-03-11\bin\ffmpeg.exe -i happy.mp4 -c:v copy -c:a copy 格式转换后.mkv -c:v copy 仅做拷贝视频,不重新编码 -c:a copy 仅做拷贝音频 ,不重新编码...
Flutter 常用命令
1、创建项目 flutter create <项目名称> 示例: flutter create my_app 1.1 参数说明 --org:设置包名(默认 com.example) flutter create --org com.yourcompany my_app -a/-i:指定语言(Kotlin…...
【零基础】基于DeepSeek-R1与Qwen2.5Max的行业洞察自动化平台
自动生成行业报告,通过调用两个不同的大模型(DeepSeek 和 Qwen),完成从行业趋势分析到结构化报告生成的全过程。 完整代码:https://mp.weixin.qq.com/s/6pHi_aIDBcJKw1U61n1uUg 🧠 1. 整体目的与功能 该脚本实现了一个名为 ReportGenerator 的类,用于: 调用 DeepSe…...
UE5 关卡序列
文章目录 介绍创建一个关卡序列编辑动画添加一个物体编辑动画时间轴显示秒而不是帧时间轴跳转到一个确定的时间时间轴的显示范围更改关键帧的动画插值方式操作多个关键帧 播放动画 介绍 类似于Unity的Animation动画,可以用来录制场景中物体的动画 创建一个关卡序列…...
1.凸包、极点、极边基础概念
目录 1.凸包 2.调色问题 3.极性(Extrem) 4.凸组合(Convex Combination) 5.问题转化(Strategy)编辑 6.In-Triangle test 7.To-Left-test 8.极边(Extream Edges) 1.凸包 凸包就是上面蓝色皮筋围出来的范围 这些钉子可以转换到坐标轴中࿰…...
MahApps.Metro:专为 WPF 应用程序设计的 UI 框架
推荐一个WPF 应用程序设计的 UI 框架,方便我们快速构建美观、流畅的应用程序。 01 项目简介 MahApps.Metro 是一个开源的 UI 框架,它可以让开发者快速构建现代化、美观的 WPF 应用程序。 提供了一套完整的 UI 组件和主题,支持流畅的动画效…...
【LangChain4j快速入门】5分钟用Java玩转GPT-4o-mini,Spring Boot整合实战!| 附源码
【LangChain4j快速入门】5分钟用Java玩转GPT-4o-mini,Spring Boot整合实战! 前言:当Java遇上大模型 在AI浪潮席卷全球的今天,Java开发者如何快速拥抱大语言模型?LangChain4j作为专为Java打造的AI开发框架,…...
乐言科技:云原生加速电商行业赋能,云消息队列助力降本 37%
深耕 AI SaaS,助力数万电商客户数智化转型 上海乐言科技股份有限公司(以下简称“乐言科技”,官网:https://www.leyantech.com/)自 2016 年成立以来,专注于利用自然语言处理和深度学习等核心 AI 技术&#…...
vscode构建简单编译和调试环境
一、设置环境变量 将bin目录路径(如D:\DevTools\mingw64\bin)加入系统环境变量PATH34 二、VS Code插件配置 核心插件安装 C/C(微软官方扩展,提供语法高亮、智能提示)Code Runner࿰…...
STM32控制DRV8825驱动42BYGH34步进电机
最近想玩一下人工智能,然后买了个步进电机想玩一下,刚到了一脸懵逼,发现驱动器20多块,有点超预算,然后整了个驱动板,方便自己画线路板,经过各种搜索,终于转起来了,记录一…...
系统清理专家,一键释放磁盘空间!
打工人们你们好!这里是摸鱼 特供版~ 今天给大家带来一款超实用的系统清理工具——Glary Disk Cleaner,帮助你快速清理系统中的垃圾文件,释放磁盘空间,提升系统运行速度! 推荐指数:★★★★★ 软件简介 G…...