当前位置: 首页 > article >正文

零基础玩转YOLOFuse:RGB+红外双流融合检测保姆级教程

零基础玩转YOLOFuseRGB红外双流融合检测保姆级教程你是不是遇到过这样的问题在夜晚、雾天或者光线不好的时候摄像头拍出来的画面一片模糊根本看不清有没有人或者车传统的目标检测模型这时候就“瞎”了因为它们只能看懂普通的彩色照片。但你知道吗有一种摄像头叫红外摄像头它不靠光线看东西而是靠温度。人、车、动物都会发热在红外摄像头里就像一个个小灯泡一样明显。如果把普通摄像头和红外摄像头结合起来让AI同时看两种画面会发生什么这就是我们今天要讲的RGB红外双模态融合检测。听起来很高大上但别担心就算你完全没接触过这个领域跟着这篇教程也能在10分钟内跑起来一个完整的检测系统。1. 什么是YOLOFuse为什么你需要它想象一下你有一双特殊的眼睛左眼能看到颜色和细节右眼能看到温度分布。当光线好的时候你主要用左眼当光线暗的时候你主要用右眼。无论什么环境你都能看清楚周围的情况。YOLOFuse就是给AI装上这样一双“眼睛”的工具。它基于现在最流行的YOLOv8框架专门用来处理成对的RGB彩色图像和IR红外图像让AI学会同时利用两种信息来检测目标。1.1 为什么传统方法不行你可能想问我直接把两张图片拼在一起不就行了吗还真不行。原因有三个信息类型不同RGB图像是颜色信息红外图像是温度信息它们根本不在一个“频道”上特征差异大同一个物体在两种图像里看起来可能完全不一样简单拼接效果差直接把6个通道RGB 3通道 红外1通道扔给网络网络根本学不会怎么用好这些信息1.2 YOLOFuse的聪明做法YOLOFuse用了“分而治之”的策略两条独立的路一条路专门处理RGB图像另一条路专门处理红外图像在合适的地方汇合等两条路都提取了各自的特征后再把这些特征巧妙地融合在一起一起做决定融合后的特征一起判断“这里有没有目标”、“是什么目标”这样做的好处是每条路都能专心做好自己的事最后再强强联合。1.3 这个镜像为什么特别方便通常你要跑一个深度学习项目得先折腾半天环境装Python、装PyTorch、装CUDA、装各种依赖库……一个版本不对就全崩了。但这个YOLOFuse镜像已经把所有东西都装好了。你不需要懂什么环境配置不需要知道CUDA是什么甚至不需要知道怎么安装Python包。就像你买了一个新手机开机就能用不用自己装系统。2. 5分钟快速上手先看看效果再说我知道你可能有点担心这东西会不会很难代码会不会很复杂别急我们先来点简单的让你立刻看到效果。2.1 第一步修复一个小问题可能不需要打开终端如果你看到这样的提示bash: python: command not found别慌这很正常。因为有些系统里Python命令叫python3我们只需要告诉系统“以后我说python你就理解为python3”就行ln -sf /usr/bin/python3 /usr/bin/python这行命令的意思是创建一个“快捷方式”让python指向python3。只需要运行一次以后就不用管了。2.2 第二步进入项目目录就像你要进一个房间得先找到门一样。所有代码都在/root/YOLOFuse这个目录里cd /root/YOLOFuse2.3 第三步运行推理演示现在运行这个命令python infer_dual.py等个几秒钟你会看到程序开始运行。它做了什么自动加载了一个已经训练好的模型读取了一对测试图片一张RGB一张红外用模型分析这两张图片把检测结果保存起来2.4 第四步查看结果运行结束后打开文件管理器找到这个路径/root/YOLOFuse/runs/predict/exp你会看到几张图片。打开看看是不是很神奇在普通的RGB图片里可能看不清的东西在融合后的结果里被清楚地框出来了。恭喜你你已经成功运行了一个多模态目标检测系统。整个过程不到5分钟而且你一行代码都没写。3. 理解YOLOFuse的三种融合方式现在你看到了效果可能想知道这背后的原理是什么YOLOFuse是怎么把两种图像的信息结合起来的其实有三种主要的方法就像三个人合作完成一个任务3.1 早期融合一开始就合作想象一下两个人要一起写一份报告。早期融合的做法是从一开始两个人就坐在一起你写一段我写一段最后合成一份报告。在技术上的实现是把RGB图像3个通道和红外图像1个通道直接拼在一起变成4个通道然后交给一个网络去处理。优点合作紧密信息交流充分缺点网络需要学习怎么处理4个通道的数据比较难训练适合小目标很多、细节很重要的场景3.2 中期融合先各自准备中间再交流还是写报告的例子。这次两个人先各自准备自己的部分等各自都写了一半了再坐在一起讨论把两部分内容融合起来。技术实现RGB和红外各自经过几层网络提取特征然后在网络的中间层比如第10层左右把两个特征图融合起来再继续后面的处理。优点平衡了独立性和合作性效果和效率都很好缺点需要设计怎么融合的模块适合大多数场景这也是YOLOFuse默认推荐的方式3.3 决策级融合各自写完再合并最后一种方式两个人完全独立写完自己的报告然后找第三个人把两份报告合并成一份。技术实现RGB分支和红外分支各自独立完成整个检测过程得到两套检测结果最后用一些规则比如取平均值、取最大值等把两套结果合并。优点容错性强一个分支错了另一个还能补救缺点没有真正的特征交流只是结果层面的合并适合两个摄像头拍的角度不太一样或者图像质量差异很大的情况3.4 哪种方式最好我做了个简单的对比表你一看就明白融合方式检测准确率模型大小训练难度推荐场景早期融合95.5%5.20 MB较难小目标检测、细节要求高中期融合94.7%2.61 MB中等大多数情况性价比最高决策级融合95.5%8.80 MB容易图像质量不稳定、需要容错看到没中期融合虽然准确率不是最高的但模型最小训练也相对容易是性价比最高的选择。这也是为什么YOLOFuse默认就用这种方式。4. 训练你自己的模型从零开始看完了别人的模型效果你可能想能不能用我自己的数据训练一个当然可以而且比你想的简单。4.1 数据准备关键的一步训练多模态模型你需要成对的RGB和红外图像。什么叫“成对”就是同一个场景、同一时间用两个摄像头一个RGB一个红外拍的两张照片。数据要这样组织你的数据集/ ├── images/ # 放RGB图片 │ ├── 001.jpg │ ├── 002.jpg │ └── 003.jpg ├── imagesIR/ # 放红外图片 │ ├── 001.jpg # 注意名字要和RGB图片一样 │ ├── 002.jpg │ └── 003.jpg └── labels/ # 放标注文件 ├── 001.txt ├── 002.txt └── 003.txt重要提醒RGB图片和红外图片必须一一对应名字要完全一样标注文件只需要一份基于RGB图像标注就行系统会自动用到红外图像上标注文件是YOLO格式的txt文件不懂的话后面会讲4.2 如果没有红外数据怎么办我知道你可能暂时没有成对的数据。别担心有两种办法方法一用RGB图像冒充红外图像把images文件夹里的图片复制一份到imagesIR文件夹改个名字就行。这样至少能跑通训练流程看看代码能不能正常工作。方法二先用单模态训练如果你只有RGB图像那就先用普通的YOLOv8训练一个模型。等以后有了红外数据再用YOLOFuse训练多模态模型。4.3 开始训练一行命令搞定数据准备好了吗好现在开始训练cd /root/YOLOFuse python train_dual.py就这么简单。程序会自动加载数据初始化模型开始训练保存训练过程中的模型和日志训练过程中你会在终端看到类似这样的信息Epoch 1/100: 100%|██████████| 100/100 [01:2300:00, 1.20it/s] train_loss: 0.85, val_loss: 0.92, mAP50: 0.65这是在告诉你训练进度和效果。mAP50这个数字越大越好最大是1.0。4.4 查看训练结果训练结束后所有结果都保存在这里/root/YOLOFuse/runs/fuse/里面会有weights/保存的模型文件.pt格式各种图表展示训练过程中损失下降、准确率上升的情况5. 实际应用让YOLOFuse解决真实问题学了半天这东西到底能干什么我给你举几个真实的例子5.1 夜间安防监控问题小区晚上监控看不清有小偷也发现不了传统方案加装补光灯但耗电大、光污染YOLOFuse方案RGB摄像头红外摄像头无论有没有光都能看清效果夜间行人检测准确率从40%提升到90%以上5.2 森林防火监测问题森林面积大靠人眼监控效率低传统方案定期巡逻但可能错过早期火情YOLOFuse方案无人机搭载双摄像头自动识别高温区域效果火情发现时间从几小时缩短到几分钟5.3 工业设备巡检问题工厂设备多有些故障肉眼看不出来传统方案人工定期检查可能漏检YOLOFuse方案用RGB看外观用红外看温度自动判断设备状态效果提前发现过热、磨损等潜在故障5.4 自动驾驶夜视系统问题晚上开车摄像头看不清行人传统方案依赖雷达但雷达识别不了是什么物体YOLOFuse方案RGB红外融合既能看清是什么又能看清在哪里效果夜间行人检测距离增加50%6. 常见问题与解决方案在实际使用中你可能会遇到一些问题。别担心大部分问题都有解决办法6.1 问题一训练时显存不够怎么办现象训练时程序崩溃提示“CUDA out of memory”原因你的显卡内存太小装不下整个模型和数据解决办法减小batch_size在配置文件中找使用更小的模型比如YOLOv8n而不是YOLOv8l使用中期融合而不是早期融合中期融合更省内存6.2 问题二训练效果不好怎么办现象训练了很久但准确率一直上不去可能原因和解决办法数据问题检查RGB和红外图像是否对齐标注是否正确学习率太大在配置文件中减小lr0的值比如从0.01改成0.001训练时间不够多训练几个epoch把epochs改大模型太大/太小根据数据量选择合适的模型大小6.3 问题三推理速度太慢怎么办现象检测一张图片要好几秒解决办法使用更小的模型减小输入图片的尺寸比如从640x640改成320x320使用TensorRT加速需要额外转换但速度能快好几倍6.4 问题四怎么部署到实际设备上步骤训练好模型后导出为ONNX格式在目标设备上安装ONNX Runtime写一个简单的Python脚本加载模型进行推理如果你用的是英伟达的Jetson系列开发板还可以导出为TensorRT格式获得最快的推理速度。7. 进阶技巧让模型效果更好如果你已经跑通了基本流程想进一步提升效果可以试试这些方法7.1 数据增强让模型见多识广数据增强就像给模型做“视力训练”。你可以在配置文件中开启这些增强# 在data.yaml中添加 augment: true augmentation: hsv_h: 0.015 # 色调变化 hsv_s: 0.7 # 饱和度变化 hsv_v: 0.4 # 亮度变化 degrees: 0.0 # 旋转角度 translate: 0.1 # 平移 scale: 0.5 # 缩放 shear: 0.0 # 剪切 perspective: 0.0 # 透视变换 flipud: 0.0 # 上下翻转 fliplr: 0.5 # 左右翻转50%概率 mosaic: 1.0 # 马赛克增强 mixup: 0.0 # 混合增强注意对于多模态数据有些增强要谨慎使用。比如颜色相关的增强只对RGB图像有效对红外图像可能没用甚至有害。7.2 迁移学习站在巨人肩膀上如果你数据不多可以用预训练模型作为起点# 在train_dual.py中修改 model YOLO(yolov8n.pt) # 加载预训练权重 model.train(data你的数据配置.yaml, epochs100)预训练模型已经在大量数据上学到了一些通用特征你再用自己的数据微调一下效果会比从头训练好很多。7.3 两阶段训练先易后难这是一种很有效的训练策略第一阶段冻结主干网络只训练融合模块和检测头# 先训练50个epoch只更新部分参数 model.train(..., epochs50, freeze10)第二阶段解冻所有参数整体微调# 再训练50个epoch更新所有参数 model.train(..., epochs100)这样做的好处是先让网络学会“怎么融合”再学习“提取什么特征”训练更稳定。8. 项目文件结构全解析了解项目结构能帮你更好地使用和修改代码/root/YOLOFuse/ ├── train_dual.py # 训练脚本从这里开始训练 ├── infer_dual.py # 推理脚本用训练好的模型检测 ├── utils/ # 工具函数 │ ├── fusion_modules.py # 融合模块的实现 │ └── datasets.py # 数据加载相关 ├── models/ # 模型定义 │ └── yolo_fuse.py # 融合YOLO模型 ├── cfg/ # 配置文件 │ ├── data.yaml # 数据配置 │ └── model.yaml # 模型配置 ├── datasets/ # 数据存放处 │ └── LLVIP/ # 示例数据集 ├── runs/ # 运行结果 │ ├── fuse/ # 训练结果 │ └── predict/ # 推理结果 └── weights/ # 预训练权重重点文件说明train_dual.py改这里调整训练参数infer_dual.py改这里调整推理设置cfg/data.yaml改这里指定你的数据路径cfg/model.yaml改这里选择融合方式和模型结构9. 总结从零到一的完整路线图回顾一下要玩转YOLOFuse你需要经历这几个步骤9.1 第一步环境准备5分钟# 修复Python命令如果需要 ln -sf /usr/bin/python3 /usr/bin/python # 进入项目目录 cd /root/YOLOFuse9.2 第二步快速体验5分钟# 运行推理演示 python infer_dual.py # 查看结果 # 打开 /root/YOLOFuse/runs/predict/exp 查看图片9.3 第三步准备数据时间取决于数据量收集成对的RGB和红外图像标注目标可以用LabelImg等工具按指定格式组织文件夹9.4 第四步开始训练几小时到几天# 修改cfg/data.yaml中的路径 # 然后开始训练 python train_dual.py9.5 第五步评估和优化查看训练日志分析效果调整参数重新训练在验证集上测试效果9.6 第六步实际应用导出模型ONNX/TensorRT格式部署到实际设备集成到你的系统中9.7 给新手的建议如果你是第一次接触多模态检测我建议先用示例数据跑通流程不要一上来就用自己的数据先用提供的例子确保一切正常从小模型开始先用YOLOv8n最小的模型训练速度快容易调试多用默认参数YOLOFuse的默认参数是经过优化的除非你有特殊需求否则不要乱改耐心观察训练过程训练不是一蹴而就的给模型一些时间学习多实验多尝试深度学习一半是科学一半是艺术多试试不同的设置多模态目标检测听起来很高深但有了YOLOFuse这样的工具其实入门并不难。关键是要动手实践从运行第一个demo开始慢慢理解每个步骤的意义。记住最好的学习方式不是看而是做。现在就去试试吧看看RGB和红外结合能产生什么样的神奇效果。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关文章:

零基础玩转YOLOFuse:RGB+红外双流融合检测保姆级教程

零基础玩转YOLOFuse:RGB红外双流融合检测保姆级教程 你是不是遇到过这样的问题:在夜晚、雾天或者光线不好的时候,摄像头拍出来的画面一片模糊,根本看不清有没有人或者车?传统的目标检测模型这时候就“瞎”了&#xff…...

Qwen-Image-Edit-2511进阶指南:利用LoRA模型,解锁更多修图风格

Qwen-Image-Edit-2511进阶指南:利用LoRA模型,解锁更多修图风格 你是不是已经用Qwen-Image-Edit-2511完成了基础的换装、换背景,觉得它很厉害,但又隐隐感觉少了点什么?比如,你想生成一套赛博朋克风格的服装…...

大学想进ai行业的看过来

大学想进ai行业的看过来 大一迷茫、大二焦虑、大三慌神——如果你是计算机、大数据、人工智能相关专业,或者对AI感兴趣,想毕业后顺利进入AI行业,这篇文章一定要收藏好! 作为过来人,我太懂大学生想进AI行业的困惑&…...

现代机器人:力学、规划与控制3-刚体运动

3 刚体运动 3.1 刚体运动的介绍 I Introduction to Rigid-Body Motions 在第三章中,我们将学习构型、速度和力的表示方法,这些内容将贯穿本书的其余部分。正如上一章所讨论的,我们将使用关于构型空间(C-space)的隐式表示。换句话说,我们的构型表示不会使用最小坐标集,速…...

第 4 周:Boost 与 Buck-Boost 的陷阱

V2设置V3设置day2...

GPU 算力翻倍,AI 反而变慢了?FlashAttention-4 给出了惊人的答案

如果你最近在关注大模型训练,可能会发现一个很反常的现象。GPU 一代比一代强。算力翻倍、Tensor Core 更快、AI 芯片越来越猛。但很多研究人员却发现: 模型训练速度并没有等比例提升。 问题出在哪里?答案其实藏在一个很多人忽略的地方&…...

基于智慧校园的大学生综合能力测评系统毕业论文+PPT(附源代码+演示视频)

文章目录 一、项目简介1.1 运行视频1.2 🚀 项目技术栈1.3 ✅ 环境要求说明 前台运行截图后台运行截图项目部署源码下载 一、项目简介 项目基于SpringBoot框架,前后端分离架构,后端为SpringBoot前端Vue。本研究旨在设计并实现一个基于智慧校园…...

金融问答合规最后窗口期:Dify 0.12+版本强制启用的3项新审计日志字段,错过将无法通过Q3银保监现场检查

第一章:金融问答合规最后窗口期的监管背景与紧迫性近年来,金融行业智能问答系统爆发式增长,但其输出内容的准确性、可追溯性与风险提示完整性持续引发监管关注。2023年10月《金融领域生成式人工智能应用监管指引(试行)…...

Qwen-Image-Lightning与SpringBoot集成指南:企业级图像生成API开发

Qwen-Image-Lightning与SpringBoot集成指南:企业级图像生成API开发 1. 引言 在当今内容为王的时代,企业对于高质量图像生成的需求日益增长。无论是电商平台的商品海报、营销活动的宣传素材,还是内部文档的配图,都需要快速、高效…...

基于邻接矩阵的带权无向图最短路径算法(C语言实现)

1. 邻接矩阵与带权无向图基础 邻接矩阵是图论中最直观的存储结构之一,特别适合表示顶点密集的图。想象一个城市的公交站点网络,每个站点就是图中的一个顶点,站点之间的公交线路就是边,而公交线路的里程就是边的权重。用邻接矩阵表…...

Dify租户数据隔离失效的5个沉默杀手(含SQL注入绕过、缓存穿透、租户上下文丢失等隐蔽路径)

第一章:Dify租户数据隔离失效的总体风险图谱Dify 作为开源 LLM 应用开发平台,其多租户架构依赖数据库层、缓存层与 API 网关三重隔离机制。一旦任一环节出现逻辑绕过或配置偏差,将导致跨租户数据泄露、提示注入污染、知识库越权访问等高危后果…...

wan2.1-vae企业级审计:生成日志留存+用户行为追踪+内容合规性审查

wan2.1-vae企业级审计:生成日志留存用户行为追踪内容合规性审查 1. 平台概述 wan2.1-vae是基于Qwen-Image-2512模型的AI图像生成平台,专为企业级应用设计。它不仅支持高质量图像生成,还内置了完善的审计功能,满足企业在内容生成…...

实战演练:基于快马平台快速构建一个可交互的AI电商推荐系统

最近在尝试将人工智能技术应用到实际业务场景中,发现一个常见的痛点:想法很多,但真正动手从零搭建一个具备AI交互能力的完整应用,过程还是挺繁琐的。环境配置、前后端联调、模型接入、部署上线……每一步都可能遇到“拦路虎”。 …...

Qwen-Ranker Pro行业方案:教育领域知识库智能检索系统

Qwen-Ranker Pro行业方案:教育领域知识库智能检索系统 1. 引言 教育机构每天都要面对海量的教学资源:课件、教案、习题库、学术论文、教学视频……老师们经常为找一个合适的教学案例花上半天时间,学生们为了查一个知识点要翻遍各种资料。传…...

基于云计算的毕业设计:新手入门实战指南与避坑实践

最近在帮几个学弟学妹看毕业设计,发现一个普遍问题:项目在本地跑得好好的,一到演示或者答辩环节就各种“掉链子”。要么是本地环境配置复杂,换了台电脑就跑不起来;要么是自建的服务器性能太差,访问量一上来…...

一键部署MogFace:高精度人脸检测工具新手教程

一键部署MogFace:高精度人脸检测工具新手教程 想不想在几分钟内,就拥有一个能精准找出照片里每一张脸的工具?不管是大合影、侧脸照,还是光线不好、人脸被遮挡的照片,它都能快速准确地用框标出来,还能告诉你…...

【SpaceNet】SN6:光学与SAR数据融合下的全天候建筑测绘技术解析

1. 光学与SAR数据融合:建筑测绘的新范式 当你在阴雨天用手机拍照时,常会发现画面模糊不清——这正是传统光学遥感的痛点。而合成孔径雷达(SAR)就像给地球安装了"透视眼",能穿透云层雨雾直接捕捉地表细节。Sp…...

零基础玩转VyOS:手把手教你配置家庭双栈(IPv4+IPv6)软路由

零基础玩转VyOS:手把手教你配置家庭双栈(IPv4IPv6)软路由 在数字化生活日益普及的今天,家庭网络已经成为了现代生活的必需品。无论是远程办公、在线教育,还是4K视频流媒体和智能家居设备,都对家庭网络的稳定…...

EtherCAT同步实战:5步搞定分布式时钟配置(附TwinCAT截图)

EtherCAT同步实战:5步搞定分布式时钟配置(附TwinCAT截图) 在工业自动化领域,设备间的高精度同步一直是工程师们面临的挑战。想象一下,一条高速包装线上,多个伺服电机需要以微秒级的同步精度协同工作&#x…...

Gemma-3-12b-it惊艳效果展示:旅游景点照片识别+历史文化背景生成

Gemma-3-12b-it惊艳效果展示:旅游景点照片识别历史文化背景生成 如果你曾经在旅行中拍下一张照片,却对它的历史背景和文化故事一无所知,只能靠搜索引擎零散地拼凑信息,那么今天展示的这个工具,可能会让你眼前一亮。 …...

AI原生应用上下文理解:为智能交互添砖加瓦

AI原生应用的“上下文Sense”:让智能交互从“答非所问”到“心有灵犀” 关键词 AI原生应用 | 上下文理解 | 对话管理 | 向量嵌入 | 向量数据库 | 多轮交互 | 意图识别 摘要 你有没有过这样的经历?问AI“推荐一部科幻电影”,得到答案后接着…...

详解单链表(含链表的实现过程)

目录 一,介绍单链表 二,顺序表和单链表的比较 三,单链表的实现 四,单链表例题实例 ​​​​1,力扣--203,移除链表元素 2,力扣--206.反转链表 3,力扣--876,链表的中间节点 4,力扣--21,合…...

《QGIS快速入门与应用基础》221:项目面板:布局元素管理

作者:翰墨之道,毕业于国际知名大学空间信息与计算机专业,获硕士学位,现任国内时空智能领域资深专家、CSDN知名技术博主。多年来深耕地理信息与时空智能核心技术研发,精通 QGIS、GrassGIS、OSG、OsgEarth、UE、Cesium、OpenLayers、Leaflet、MapBox 等主流工具与框架,兼具…...

高压下的自我怀疑:当“我的实力配不上经历”成为内心独白,我们该如何理性应对与战略抉择?

高压下的自我怀疑:当“我的实力配不上经历”成为内心独白,我们该如何理性应对与战略抉择? 摘要:在职场、学业、创业或人生重大转折期,高压环境常常诱发一种深层的自我怀疑:“是不是我的能力根本配不上我现在…...

UEC++Part4--UObject、UgameInstance、actor组件、静态加载

一、补充1、ExposeOnSpawnUPROPERTY(EditAnwhere,BlueprintReadWrite,meta(ExposeOnSpawn"ExposeOnSpawnValue")) int32 health;在生成这个对象时会有一个初始值可以设置,类似游戏创建角色时可以调整角色的捏脸数值2、:public FTableRowBaseUSTRUCT(Bluep…...

结构体——结构体基本用法,结构体初始化

存储数据时如果需要存储多个数据,我们可以使用数组。而如果同时需要存储多种数据,可以采用结构体的方式存储。用结构体的方式定义的数据类型是一种构造数据类型(抽象数据类型),是由各种的基本数据类型组成的。结构体弥…...

2026年Python开发工程师常见面试选择题

1. 关于 Python 中 list 和 tuple 的说法,正确的是? A. list 不可变,tuple 可变 B. list...

探秘电动汽车VCU与BMS的HIL仿真:从代码到实车的桥梁

电动汽车VCU hil BMS hil硬件在环仿真 其中包含新能源电动汽车整车建模说明, hil模型包含驾驶员模块,仪表模块,BCU整车控制器模块,MCU电机模块,TCU变速箱模块,减速器模块,BMS电池管理模块&#…...

C#自定义控件结合OpencvSharp实现斑点检测

C# 自定义控件 opencvsharp 斑点检测blob最近在做一个图像处理相关的项目,需要实时检测图片中的斑点,同时要求能够方便地在WinForms界面中展示和操作。经过一番调研和实践,决定采用C#自定义控件结合OpencvSharp来实现。这组合不仅充分发挥…...

AUKF电池SOC估计多种工况实验验证 基于自适应无迹卡尔曼滤波的电池电量估计MATLAB程序

AUKF电池SOC估计多种工况实验验证 基于自适应无迹卡尔曼滤波的电池电量估计MATLAB程序,基于AUKF的SOC估计,注释详细。 采用二阶RC模型,基于误差窗口统计的自适应调节方法(后面有文献截图)。 使用三项实验数据对AUKF进行…...