- 博客(94)
- 收藏
- 关注
原创 使用Ollama(自定义安装位置)与RagFlow构建本地知识库
检索(Retrieval)的详细过程:准备外部知识库:外部知识库可能来自本地的文件、搜索引擎结果、API等等。通过 Embedding (嵌入)模型,对知识库文件进行解析:Embedding 的主要作用是将自然语言转化为机器可以理解的高维向量,并且通过这一过程捕获到文本背后的语义信息(比如不同文本之间的相似度关系);用户的输入同样会经过嵌入(Embedding)处理,生成一个高维向量。拿用户的提问去匹配本地知识库:使用这个用户输入生成的这个高纬向量,去查询知识库中相关的文档片段。
2025-03-23 13:52:51
1165
原创 【Unconditional Latent Diffusion Models Memorize Patient Imaging Data】论文解读(扩散模型用来生成医学图像的效果)
AI 模型在医学领域有广泛的应用。然而,要实现最佳性能,需要访问大量医疗保健数据,而这些数据通常并不容易获得。此外,保护患者隐私的必要性限制了患者数据与第三方甚至机构内部的共享。最近,生成式 AI 模型通过提出合成数据作为真实患者数据的替代品,在促进开放数据共享方面获得了越来越多的关注。尽管前景光明,但这些模型容易受到患者数据记忆的影响,即模型生成患者数据副本而不是新的合成样本。这破坏了保护患者数据隐私的整个目的,甚至可能导致患者重新识别。
2024-11-08 12:18:52
831
原创 【从VAE到LDM】Variational Auto Encoder原理以及关于Latent Diffusion的思考
目前的扩散模型范式基本上都变成做Latent Diffusion,包括像DIT(diffusion Transformer),实际上也是基于Latent Diffusion的思想,它只是把里面的UNet换成了Transformer。传统的扩散模型一般是输入一张图像xxx,然后对它进行增噪,再通过去噪采样得到一个新的图像x\hat xx。但这个过程的计算都是在Pixel Space上面进行的,采样空间太大,学习的噪声维度和图像的维度是相同的。
2024-11-07 14:40:17
1212
3
原创 【Classifier Guidance/Classifier-free Guidance】理论推导与代码实现
Classifier Guidance论文链接:Diffusion Models Beat GANs on Image SynthesisClassifier-free Guidance论文链接:Classifier-Free Diffusion Guidance原理讲解:一个视频看懂什么是classifier guidance/classifier-free guidance扩散模型在提出之后是有两大优势的,第一是它生成效果比较好,保真度比较高;其次一点是它生成的这个图片的多样性要明显好于其他一些模型
2024-11-05 20:05:00
1319
原创 【DDIM】Denoising Diffusion Implicit Models 从原理到实战
上一篇博文我们详细讲解了扩散模型的基石DDPM ,并且给出了代码讲解,有不了解的小伙伴可以跳转到前面先学习一下(今天我们再来介绍下DDPM的改进版本。DDPM虽然对生成任务带来了新得启发,但是他有一个致命的缺点,就是推理速度比较慢,这就导致实际工业应用中很难落地。
2024-10-30 13:44:58
1310
原创 图像超分辨率重建的评价指标(PSNR、SSIM、LPIPS、CLIP-IQA、MUSIQ、ICC)
是一种用于衡量图像质量的指标,通常用于评价图像压缩、超分辨率、图像复原等算法的效果。它通过衡量重建图像与参考图像之间的差异,来评估图像的质量。PSNR 的单位是 dB(分贝),数值越大表示图像质量越高,重建图像越接近参考图像。在通常的RGB图像中,PSNR的最大值(MSE最小,为0时)为20*lg(255)≈48左右。(1)高于40dB:说明图像质量极好(即非常接近原始图像)(2)30—40dB:通常表示图像质量是好的(即失真可以察觉但可以接受)(3)20—30dB:说明图像质量差。
2024-10-24 23:16:45
3898
原创 【DDPM】一文看懂去噪扩散概率模型,公式讲解、代码实现与最全详解(一)
首先,假如我们有一个骰子,不断的重复仍这个骰子,并将得到的点数记录再直方图上,每仍一次骰子的过程称为一次采样,直方图记录各点数出现的概率。随着采样次数的增多,直方图顶点的连线成一条直线,所以这是一种等可能的概率接着我们增加一颗骰子,重复这个实验,用直方图记录每次采样得到的所有骰子点数之和,采样了几万次之后,直方图顶点的连线变成了一条折线,其中7点出现的次数最多,然后向两边递减接下来用3颗骰子重复这个实验,再采样了数万次后最终得到的是这样一条折线段。
2024-10-20 23:42:18
3913
5
原创 YOLOv8-obb训练自己的数据集
YOLO OBB 格式通过四个角点指定边界框,其坐标在 0 和 1 之间归一化:YOLO 在内部处理损失和产出。xywhr 格式,表示边界框的中心点(xy)、宽度、高度和旋转角度。一个例子 *.txt 标签文件,其中包含一个类 0 OBB 格式,可以是这样的。
2024-09-08 21:58:22
1897
5
原创 旋转标注工具roLabelImg使用教程
运行python roLabelImg.py,即打开了roLabelImg运行页面可开始标注了。进入下载好的roLabelImg-master文件夹内(resources.py所在目录),CMD中输入pyrcc5 -o resources.py resources.qrc。注意:angle是旋转角度的弧度值,水平方向angle=0,顺时针方向旋转,得到的角度值是正值,旋转一周为pi,没有负值。标注完之后,的xml示例如下,cx,cy代表标注框中心点的坐标,w,h代表宽和高,angle代表标注矩形框的角度。
2024-09-08 21:06:05
1229
1
原创 搭建PLC模拟仿真环境——Python使用python-snap7实现西门子PLC通讯
snap7是一个由国外程序员开发的基于以太网与西门子S7系列PLC的通讯的开源库,类似于C#的S7.Net,但是它不单只支持Python,还支持Java、C/C++、C#等语言。官网包含了使用文档、源码、历史版本等说明,可以根据需要自行查阅。python-snap7官方文档GitHub。
2024-09-01 23:40:36
3504
5
原创 LabelImg(目标检测标注工具)的安装与使用教程
创建一个文本文件,例如 labels.txt,在其中写入所有标签名,每行一个。在 LabelImg 主界面,点击 Load Predefined Classes 按钮,选择 labels.txt 文件。之后在标注过程中,可以直接选择预定义的标签。
2024-08-28 16:58:18
2612
原创 VS Code远程连接矩池云GPU主机进行神经网络训练
Visual Studio Code(以下简称 VS Code)是一个由微软开发的代码编辑器。VS Code 支持代码补全、代码片段、代码重构、Git 版本控制等功能。VS Code 现已支持连接远程服务器功能。您可在 VS Code 中,连接矩池云的机器。
2024-08-27 23:17:15
927
原创 项目六:ROS2 + Cartographer 2D 激光雷达建图
在建图的过程当中,传感器的信息非常重要。在ROS2当中,我们需要使用的传感器信息的方式非常的简单,即订阅传感器topic发布的信息,在接收信息之后,cartographer包会利用其内部的算法对其进行解析构建,进而建图。cartographer整体算法主要依赖的是激光雷达的数据。因此我们在使用cartographer建图之前,我们需要先看懂这个算法是怎么拿到激光雷达的数据。本文主要讲述在ros2 humble系统上cartographer的安装方法,以及如何配置参数实现自己的ros2 bag包的离线建图。
2024-07-16 22:27:08
1328
1
原创 项目一:基于yolov5的目标检测
通过ros2的键盘节点控制小车移动,PC通过ssh连接到树莓派,然后在树莓派上发布摄像头节点的数据,PC通过ros2的通信机制接收到这个图像信息,并通过opencv和yolov5对图像数据进行处理并检测,最终将拍摄到的画面和检测到的目标显示出来,实现小车移动目标检测功能。
2024-07-12 00:06:42
790
原创 树莓派5安装ros2并完成通信
在ROS1中由主节点(master)负责其它从节点的通信,在同一局域网内通过设置主节点地址也可以实现多机通讯,但是这种多机通讯网络存在一个严重的问题,那就是所有从节点强依赖于主节点,一旦运行主节点的设备离线,整个网络就完全瘫痪了,在ROS2中取消了主节点,通讯系统是基于DDS(Data Distribution Service)实现的,具有实时性、嵌入式、分布式、支持多操作系统等特性,下文我们将简单介绍ROS2多机通讯的配置方式。
2024-07-10 16:57:31
3936
1
原创 Tmux 使用教程,常用命令及快捷方式
命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称 “窗口”),在里面输入命令。用户与计算机的这种临时的交互,称为一次 “会话”(session)。会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。
2024-07-10 14:51:23
496
原创 如何在 Ubuntu 上启用 SSH(适用于 20.04、22.04、24.04)? 笔记本与树莓派5 ssh远程连接
SSH(Secure Shell)是一种网络协议,用于在不安全的网络中安全地进行远程访问和文件传输。它通过加密技术,确保通信的安全性,使得用户可以在不同的计算机之间安全地传输数据和执行命令。SSH 在 Linux 系统中被广泛使用,特别是在 Ubuntu 这样的开源操作系统中。SSH 通过使用加密技术来保护通信的安全性。当用户连接到远程服务器时,SSH 会建立一个加密的隧道,所有的数据传输都会在这个隧道中进行加密和解密。这种加密方式可以防止黑客监听或篡改通信内容,确保数据的机密性和完整性。
2024-07-10 14:10:44
3411
原创 移动机器人控制系统搭建
对于一个移动机器人底盘来说,所要提供的核心功能有两个-感知和执行能力,我们分别进行介绍。所谓感知即通过给类传感器获取环境信息的能力。在移动机器人中,我们常用的传感器有除了上面几类之外,你也可以根据需求挂载其他你需要的传感器,比如温湿度测量传感器等。对于我们的移动机器人来说,搭载的传感器有雷达、相机、编码器和IMU四种。我们采用的激光雷达是单线旋转式三角测距激光雷达LD14。LD14主要由激光测距核心,无线传电单元,无线通讯单元,角度测量单元、电机驱动单元和机械外壳组成。 LD14测距核心采用三角测量法
2024-07-10 00:20:54
931
原创 接入ROS2-MicroROS
ESP32 系列命名规则所谓双核指的是ESP32单片机有两个内核,所有的外设都通过一个总线连接到两个内核上,也就是说,程序无论在哪个核上运行都可以操作硬件。官方开发平台ESP-IDF的核心其实是基于开源的FreeRTOS优化而来的,而ESP32-Arduino则是对ESP-IDF的进一步封装,所以毋庸置疑,ESP32-Ardunio也是支持FreeRTOS的。
2024-07-08 23:10:29
2048
1
原创 ROS2进阶 -- 硬件篇第五章第四节 -- Arduino环境下ESP32+80×160点的0.96“IPS TFT LCD(ST7735S)三种库的配置及示例程序效果
TFT液晶屏如下图所示:TFT LCD很小,只有0.96英寸,但显示分辨率为80×160点。IPS照明使我们能够从多个角度观看。此外,这款 LCD 可以根据 RGB565 的色彩特性显示 16 位颜色,可以显示 216 或 65,536 种颜色。TFT LCD的工作电压为2.5VDC-4.8VDC。由ST7735S驱动芯片和LCD屏幕组成。ESP32通过驱动ST7735S,从而实现对彩色LCD的驱动。ESP32IOTFT说明VINVINVINVINGNDGNDGNDGNDD22。
2024-06-05 23:03:41
1812
原创 ROS2进阶 -- 硬件篇第五章第三节 -- PlateFormIO使用开源库驱动IMU——MPU6050
首先我们了解下MPU6050模块,从外观看,长这个样子MPU6050 为全球首例集成六轴传感器的运动处理组件,内置了运动融合引擎,用于手持和桌面的应用程序、游戏控制器、体感遥控以及其他消费电子设备。它内置一个三轴 MEMS 陀螺仪、一个三轴 MEMS 加速度计、一个数字运动处理引擎(DMP)以及用于第三方的数字传感器接口的辅助 I2C 端口(常用于扩展磁力计)。当辅助 I2C 端口连接到一个三轴磁力计,MPU6050 能提供一个完整的九轴融合输出到其主 I2C 端口。在板子上是这样的。
2024-06-05 16:06:31
1010
原创 ROS2进阶 -- 硬件篇第五章第二节 -- 在PlateFormIO学会使用第三方库 -- 并使用GitHub Proxy 加速
本节我们学习了三种安装三方库的方式,下一节我们开始尝试使用三方库来驱动MPU6050和OLED。
2024-06-05 13:48:25
857
原创 ROS2进阶 -- 硬件篇第五章第一节 -- 做个遥控车,让小车动起来 -- 订阅ROS2 Twist
新建工程example1_ros2_car修改配置。
2024-06-02 19:16:05
232
原创 ROS2进阶 -- 硬件篇第五章第一节 -- PlateFormIO开发环境介绍与安装 -- 新建PlateFormIO工程
单片机运行不仅仅需要硬件,类似于电脑需要配套的操作系统一样,单片机还需要与之配套的软件,本节我们学习下常见的开发平台。我们的MicroROS板采用的单片机是ESP32 DEVKIT_V1芯片,该芯片支持蓝牙和WIFI并且是双核的国产芯片,用途很广,所以小鱼就介绍下该芯片的常用的几个开发平台。上面介绍了三种常见的平台,用表格对比下三种平台的优缺点。平台名称优点缺点ESP_IDF官方出品、测试完成度高、安全稳定、有官方支持、适合产品化、支持microROS三方教程少、工程复杂、新手不友好。
2024-06-02 18:57:05
1169
原创 ROS2进阶 -- 硬件篇第五章 -- Ubuntu安装VSCode platformio Python3.10(PlatformIO离线安装方法,安装失败问题、新建项目卡等问题)
itemName=platformio.platformio-ide Vscode扩展市场下载 platformIO IDE 的vsix安装包。此时发现vscode左侧并没有显示platform插件,只需去vscode插件商城安装platform ,即可在vscode里使用platform。众所周知,PlatformIO的资源服务器在国外,其资源包和更新包经常出现下载不了而导致PlatformIO Home界面无法启动的情况。如果你安装成功了,点击左侧的狐狸头,再点击open,即可出现下面的页面。
2024-06-02 17:57:57
1578
5
原创 ROS2进阶 -- 硬件篇第三章第五节 -- 组装小车底层所有配件——使用DC-DC SY8205 5A直流降压模块 7V-24V转5V舵机驱动电源板解决小车供电问题
序:这里先放一张将之前所有节提到过的配件组装及整理线路后的小车图片(我这里使用了铁的板子,存在风险,建议使用亚克力板)从下图中我们可以看到电源出来的线有两根,一根已经使用杜邦线给A4950供电,另一根还剩余,这节我们将说明怎么使用这根线给其他设备供电。
2024-06-02 14:49:28
491
1
原创 树莓派Raspberry Pi 5系列 -- 硬件篇第四章 -- 树莓派5 安装烧录ubuntu24.04操作系统
后续会继续更新树莓派的学习笔记(树莓派Raspberry Pi 5系列文章)一、安装ubuntu24.04操作系统树莓派文档。
2024-05-25 17:21:21
5787
11
原创 ROS2进阶 -- 硬件篇第三章第四节 -- ESP32 DEVKIT_V1通过PID实现霍尔编码电机的速度控制,使用A4950驱动板
第四节我们的任务是使用ESP32 DEVKIT_V1通过PID实现霍尔编码电机的速度控制,使用A4950驱动板使用本章内容时请提前将代码下载好。
2024-05-23 16:38:32
667
原创 ROS2进阶 -- 硬件篇第三章第三节 -- ESP32 DEVKIT_V1通过串口获取ATGM336H GPS定位数据
第三节我们的任务是通过ESP32 DEVKIT_V1通过串口获取ATGM336H GPS定位数据使用本章内容时请提前将代码下载好。
2024-05-23 16:16:23
568
原创 ROS2进阶 -- 硬件篇第三章第二节 -- ESP32 DEVKIT_V1读取MPU6050姿态数据
第二节我们的任务是使用ESP32 DEVKIT_V1读取MPU6050姿态数据使用本章内容时请提前将代码下载好。
2024-05-23 15:48:05
445
原创 ROS2进阶 -- 硬件篇第三章第一节 -- ESP32 DEVKIT_V1捕获MG310霍尔编码电机的脉冲
从第三章开始,我们将分几节,陆续完成ESP32的和各种配件的连接与调试。参考资料:使用本章内容时请提前将代码下载好。
2024-05-23 15:22:47
673
原创 ROS2进阶 -- 硬件篇问题(一) ESP32连接电脑后端口不显示,arduino ide端口灰色
链接:https://pan.baidu.com/s/1XW3pS0Ek9QAwBn0-o2oGmQ?pwd=2nr9 提取码:2nr9。自己的esp32用数据线连接电脑后,在Arduino ide中端口为灰色,而且在设备管理器中也找不到对应的端口设置。情况一:检查esp32连接电脑的数据线,如果是单纯的供电线是不可以的,需要更换为能传输数据的数据线。情况二:缺少esp32的驱动程序cp210x,下载驱动并安装。这是因为新的ESP32需要安装驱动。–来自百度网盘超级会员V6的分享。
2024-05-23 14:30:45
1292
原创 ROS2进阶 -- 硬件篇第二章 -- 使用 ESP32 DEVKIT_V1 开发板基于 Arduino IDE 的环境搭建教程 windows / ubuntu 双系统安装
目前我在windows上安装了Arduino IDE 2.3.2,在ubuntu上安装了Arduino IDE 1.8.19,windows上的Arduino IDE 2.3.2相对容易装一点,而且最新版本的更好用,就在windows来做代码的测试,而后续与ros2通信的话在ubuntu系统里更方便,因此装了两个版本。ESP32 DEVKIT_V1 开发板等硬件资料请查看。
2024-05-23 14:12:18
1791
原创 ROS2进阶 -- 硬件篇第一章 -- 使用ESP32,树莓派5,ROS2 从零组装一台差速控制的机器人
这是我绘制的一个大概的零件接线图,后续可能会有部分零件变更。前面是两个万向轮(可以将这两个轮子也添加电机来增强动力),后轮有两个电机驱动,通过两个电机的速度设置来控制小车转向,两个电机连接A4950驱动板,A4950连接电源线供电,ESP32连接A4950来发布指令控制电机,MPU6050连接ESP32来发布线速度和角速度,ATGM336H GPS&&BDS连接ESP32来定位,ESP32和树莓派可以通过wifi和有线进行通信,相机和雷达分别接到树莓派上。树莓派 4B 8G(5)下图为树莓派5。
2024-05-23 11:07:32
1348
原创 ROS2进阶第三章 -- 机器人语音交互之ros集成科大讯飞中文语音库,实现语音控制机器人小车
概述:,我们使用gazebo仿真环境创建一个世界,并将上一节制作的机器人加载到仿真环境中,在通过键盘控制节点来控制小车移动,并通过rviz实时察看 camera,kinect和lidar三种传感器的仿真效果。本文我们将在ros上集成科大讯飞的中文语音库,实现语音控制机器人小车前进后退,左转右转等。至于语音识别和语音合成的原理,本文并不深究,读者可以自行搜索相关的文章介绍。这里提醒,本文的测试环境是ubuntu22.04 + ros2 humble。
2024-05-12 13:32:09
2736
1
原创 linux系统(ubuntu)调用科大讯飞SDK实现语音识别
我写了一个调用的代码,可以不在键入0 1 ,而直接开始识别吗,并将识别结果保存在result.txt文件中。进入sample目录的iat_online_record_sample目录下,运行下面的命令。此时将得到一个压缩包,选择的功能不同,文件名也不同,将这个压缩包放在ubuntu中。在测试之前,先检查自己的麦克风,以及虚拟机Linux的联网状态。点击左侧的语音听写,右边下滑选择Linux,点击下载。选择Linux平台,普通版本,语音听写,SDK下载。如果出现这个错误的话需要将下面这个路径的。
2024-05-11 17:10:40
2695
原创 ROS2进阶第二章 -- 使用Gazebo构建机器人仿真平台 -- 控制差速轮式机器人移动
概述:上一篇博客:ROS2进阶第一章 – 从头开始构建一个可视化的差速轮式机器人模型 – 学习URDF机器人建模与xacro优化,我们使用urdf和xacro搞了一个差速轮式机器人的外形建模,并使用 rviz 可视化查看。本文是此系列的第二章,我们将使用gazebo仿真环境创建一个世界,并将上一节制作的机器人加载到仿真环境中,在通过键盘控制节点来控制小车移动,并通过rviz实时察看 camera,kinect和lidar三种传感器的仿真效果。参考资料ROS2入门21讲——学习笔记(二)常用工具部分
2024-05-09 11:39:17
2518
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人