自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(934)
  • 资源 (16)
  • 收藏
  • 关注

原创 使用RKNN进行yolo11-cls部署

实现方式:通常对 YOLO 系列的骨干网络(Backbone)进行微调,去除原模型中用于检测边界框的头部(Head)部分,添加适用于分类任务的全连接层或全局平均池化层等,将输出调整为对应分类类别的概率分布。例如,在 YOLOv8 中就包含了分类模型,它基于其强大的骨干网络,通过简单的结构调整,能够高效地完成图像分类任务。YOLO(You Only Look Once)是一系列高效的目标检测算法,其核心思想是将目标检测任务转化为一个回归问题,通过单个神经网络直接在图像上预测边界框和类别概率。

2025-04-01 23:25:34 37

原创 提高YOLO对小目标检测的精度

然而,由于添加了额外的特征尺度,p2 模型需要额外的成本。尽管减少了 box 和 dfl 损失权重,但使用关键点目标后,box mAP50 仍然增加了 12% 以上,从之前训练中的 44.8 增加到使用基于姿势的模型的 50.6。在这里,我们将姿势模型的权重加载到检测模型中,它们完美匹配,因为直到姿势头的所有层都是相同的,我们将新模型保存为best_detect.pt。您可以看到所有指标几乎相同,事实上,这里的指标略高一些,FLOPs 计数显示为 8.1,这与我们在原始检测模型中所得到的相同。

2025-03-25 14:39:59 59

原创 在YOLO中扩充新类别并且不影响旧类的识别精度

让我们先从简单的部分开始:用我们的新类训练自定义 YOLOv8 模型。在本教程中,我们将向模型添加车牌类。我们将使用Roboflow 中的一个数据集。这个数据集有两个车牌类。在开始训练之前,我们还必须对库进行一些更改。为了节省时间,我还将本教程中我们将进行的更改转换为补丁该补丁包含多项更改,但大多数更改都用于指南的下一部分。if RANK!= -1:是的,我们将编写一个回调。我们希望将此自定义训练模型的头部与 COCO 预训练模型中的旧头部一起使用。

2025-03-25 10:59:14 149

原创 基于DINO自监督学习对YOLO11 Backbone进行预训练

这PoolHead将获取前一层的输出并应用卷积,然后应用自适应平均池化以将特征图的空间维度减小为固定且一致的大小(1x1)。这是必需的,因为否则空间维度会根据输入的大小而变化,这将使将 DINO 头部附加到主干变得困难,因为它需要固定的输入大小。在本指南中,我们将介绍如何使用 Lightly 使用 DINO 预训练 YOLO 11主干,以及如何将其重新加载到 Ultralytics 中进行微调。您可以使用不同的大小,例如,640这与 YOLO 中的默认图像大小更一致,但它也会在训练期间消耗更多 VRAM。

2025-03-19 17:00:17 72

原创 构建rknn的docker镜像

容器 ID 或容器名称></容器 ID 或容器名称>``:可以通过 docker ps` 命令查看正在运行的容器的 ID 或名称。<要执行的命令></要执行的命令>``:通常是 /bin/bash或/bin/sh`,用于启动一个 shell 会话。中选择一个合适的镜像作为基类镜像,然后根据自己的需求,添加一些库。-t:为命令分配一个伪终端,模拟一个交互式的终端环境。PS:dockerfile要在当前路径下,否则找不到。PS:参数的含义自己去查表,不能完全照搬。-t:指定镜像的标签(名称和版本)。

2025-03-13 11:05:08 404

原创 训练yolo11模型:从数据标注到模型微调训练

将标注好的数据集分成训练和验证集,建议比例为4:1。编辑predict_det.py文件。编辑train.py文件。选择你需要标注的文件夹。训练模型,在终端键入。

2025-03-12 16:12:24 78

原创 PKU-MMD人体行为分析数据解析

我们总共选择了 51 个动作类别,分为两部分:41 个日常动作(喝水、挥手、戴上玻璃杯等)和 10 个交互动作(拥抱、握手等)。我们的视频只包含一部分动作,要么是日常动作,要么是互动动作。第一阶段包含 51 个动作类别中的 1076 个长视频序列,由 66 个受试者在三个摄像机视图中执行。我们数据集的总规模为 5,312,580 帧,3,000 分钟,包含 21,545 个时间局部动作。阶段#2包含41个动作类别的1009个短视频序列,由13个受试者在三个摄像机视角下表演。是左视图中的第一个视频。

2025-03-07 11:09:58 56

原创 使用LSTM对2D pose sequence进行行为分类

数据集下载,链接。

2025-03-06 17:16:36 152

原创 UCI HAR Dataset解析

该文件包含了活动的标签,格式如下:其中,每一行的第一个数字是活动的 ID,第二列是活动的名称。该文件列出了所有的特征名称,每一行表示一个特征的名称,格式如下:...总共有 561 个特征,其中包括加速度计和陀螺仪的各种统计特征,如均值、标准差等。特征名称的前缀标识了它们的来源(例如 tBodyAcc 表示身体加速度、fBodyAcc 表示傅里叶变换后的加速度等)。X_train.txt 和 X_test.txt这两个文件分别包含了训练集和测试集的特征数据。

2025-03-05 14:47:52 42

原创 使用rknn进行yolo11-pose部署

使用 RKNN 进行 YOLOv11 Pose 部署的必要性在于,RKNN 能将 YOLOv11 Pose 模型转化为适合 Rockchip 硬件平台(如 RV1109、RV1126)执行的格式,充分利用其 AI 加速功能,显著提高推理速度和效率。此外,RKNN 提供模型优化(如量化)功能,有助于减少计算资源消耗,提升实时处理能力,特别适合在嵌入式设备上进行高效、低功耗的姿态估计任务,满足边缘计算和实时应用的需求。修改nn/modules/head.py中的Pose.forward函数。

2025-02-19 19:22:28 263

原创 微调YOLO11用于手机目标检测

YOLOv11 是在大规模数据集(如 COCO 或 ImageNet)上进行预训练的。通过微调,你可以在已有的预训练权重基础上进行针对性调整,而不必从头开始训练模型。加速训练:微调通常只需要训练相对较少的参数(特别是模型的后期层),相比从头开始训练,能够显著减少训练时间。提高准确性:因为模型已经在大规模数据集上学习到了通用的特征和模式,所以微调可以在目标数据集上更快速地适应,提升最终的检测准确率。

2025-02-17 11:26:48 249

原创 基于傅里叶变换的图片模糊度判断

傅里叶变换可以将图像从空间域转换到频率域。清晰图像在频率域中具有更多的高频成分,而模糊图像的高频成分较少。

2025-02-13 19:37:05 167

原创 在ros2中发布自定义服务(C++)

【代码】在ros2中发布自定义服务(C++)

2025-02-13 10:53:54 43

原创 在ROS2中发布服务(C++)

服务端负责响应请求,客户端发送请求并接收响应。因此,需要分别编写两个节点:一个作为服务端,另一个作为客户端。接下来,功能包的创建。用户可能已经知道如何创建功能包,但需要确认依赖项。服务端和客户端都需要rclcpp,而如果使用example_interfaces中的AddTwoInts服务,还需要依赖该包。如果是自定义服务接口,则需要添加rosidl生成相关的依赖。这里用户可能希望使用现有接口,比如example_interfaces,但为了全面性,可能需要同时说明自定义接口的情况。然后,编写服务端代码。

2025-02-12 10:37:19 42

原创 CMake中的rpath使用

在CMakeLists.txt中,RPATH(运行时路径)用于指定程序在运行时搜索共享库的路径。这在你需要程序在运行时找到特定位置的共享库时非常有用,尤其是当这些库不在系统默认的库搜索路径中时。下面详细介绍RPATH在CMakeLists.txt中的使用方法。

2025-02-11 16:14:16 263

原创 基于USB摄像头发布ROS2话题

【代码】基于USB摄像头发布ROS2话题。

2025-02-11 10:44:19 35

原创 使用rknn进行facenet部署

修改facenet网络的forward函数代码。

2025-02-10 09:24:07 486

原创 基于retinaface的人脸水平校正

水平校正可以将人脸调整到标准姿态,使得特征提取更加一致,从而提高特征匹配的准确性。人脸识别模型在训练时通常使用大量的正面、水平的人脸图像。通过对输入图像进行水平校正,可以使测试图像更接近训练数据的分布,从而提高模型的泛化能力,使其能够更好地处理各种姿态的人脸。水平校正可以显著改善人脸对齐的质量,使得关键点(如眼睛、鼻子、嘴巴等)能够更准确地定位,从而提供更可靠的对齐结果。人脸水平校正是人脸分析处理流程中的一个重要环节。水平校正可以在一定程度上标准化人脸姿态,减少因姿态变化导致的识别错误。

2025-01-24 14:28:46 83

原创 搭建一个人脸识别pipeline

恭喜!您已成功使用 Python 和机器学习技术创建了一个基本的人脸识别系统。此基础可以扩展到更复杂、更强大的应用程序,例如实时人脸识别或使用深度学习模型提高准确性。

2025-01-20 18:58:48 66

原创 基于deepface的脸部表情识别

这个项目使用 deepface 库和 OpenCV 实现了实时的面部情感检测。它检测面部,并预测与每张面孔相关的情感。情感标签会实时显示在每一帧上。这可能是实现情感监控的最简洁代码。检测结果不理想,模型需要微调。

2025-01-17 17:21:55 68

原创 用于边缘端的机器人操作系统

ROS 2 是 ROS(Robot Operating System)的进化版本,专为支持分布式系统、实时性、边缘计算和大规模应用设计。ROS 2 改进了原 ROS 的实时性、可靠性和安全性,适用于复杂的机器人应用。在边缘端(Edge)部署的机器人系统通常需要考虑到低延迟、高实时性和资源受限等特点,因此,边缘端机器人操作系统(Edge Robot Operating Systems)也要具备适应这些需求的功能。Micro-ROS 是 ROS 2 的一个衍生版本,旨在支持资源受限的嵌入式设备和边缘端平台。

2025-01-17 10:19:06 69

原创 使用rknn进行retinaface部署(C++)

RetinaFace采用了单阶段检测器的结构,避免了传统两阶段检测器(如Faster R-CNN)中的区域提议网络(RPN),从而提高了检测速度。:为了处理不同尺度的人脸,RetinaFace使用了特征金字塔网络(FPN),在不同尺度上提取特征,从而增强对各种大小人脸的检测能力。:为了提升模型的泛化能力,RetinaFace使用了大量的人脸数据进行训练,包括各种姿态、光照条件和遮挡情况的人脸图像。:RetinaFace在设计锚点时,针对不同尺度的人脸采用了不同的锚点策略,以提高小尺度人脸的检测效果。

2025-01-14 17:14:40 311

原创 使用rknn进行yoloV8部署(C++)

RKNN 是一个为 Rockchip 处理器(尤其是集成 NPU 的处理器)量身打造的神经网络推理框架,旨在为开发者提供高效的 AI 推理能力。RKNN(Rockchip Neural Network)是由 Rockchip(瑞芯微电子)公司开发的深度学习框架,旨在提供高效、优化的神经网络推理(inference)能力,支持各种类型的神经网络模型的加速运行,特别是针对 Rockchip 的 ARM 处理器和 NPU(神经网络处理单元)进行优化。操作硬件:香橙派开发板。操作硬件:x86主机。

2024-12-30 16:43:44 822

原创 使用惯性测量单元(IMU)进行点云运动畸变校准

有运动就有畸变。

2024-12-11 17:52:39 805

原创 在lio_sam中融入GPS

在LIO(激光惯性里程计)系统中,将GPS信息融合到里程计中,借助GTSAM(Georgia Tech Smoothing and Mapping)库进行因子图优化,可以有效提升全局定位精度。当进入到GPS信号不好或缺失的环境中,需要借助融合后的里程计反算经纬度,来获取高精度的定位信息。利用GeographicLib第三方库将经纬度投影到局部笛卡尔坐标系中。

2024-12-05 17:59:34 321

原创 利用自监督学习解决二级类中出现的长尾问题

自监督学习是一种机器学习技术,它利用无标签的数据进行训练,从而学习到有用的特征和模式,而不需要外部的或有标签的数据集来验证或测试模型。知识蒸馏是深度学习中一种常用的技术,它主要用于将一个已经训练好的教师模型(通常是较复杂的模型)的知识传递给一个较简单的模型(通常是学习新任务的新模型)。尽管自监督学习能够自我学习特征,但存在随机性,学习不够聚焦,因此还存在改进的空间,因此我们引入了一级类教师网络用来限制自监督学习的区域,例如在我们的数据集中,即让自监督主要学习苹果及周边的特征。

2024-12-05 15:18:22 282

原创 C++ STL中常见的容器

C++ 标准库(STL,Standard Template Library)提供了多种容器,每种容器都有其特定的用途和特点。以下是一些常用的 STL 容器及其简要说明。

2024-11-19 15:31:53 437

原创 基于lio_sam的move_base自主导航重制版

将lio-sam作为里程计,在move_base中实现2D导航。

2024-11-18 10:59:07 234

原创 PCD可视化(C++)

【代码】PCD可视化(C++)

2024-11-04 14:51:15 315

原创 使用传感器融合进行3D激光雷达点云运动补偿

自我车辆运动会导致从附加激光雷达传感器收集的点云数据失真。失真程度取决于自车速度和激光雷达传感器的扫描速率。机械激光雷达传感器通过旋转反射激光脉冲的镜子来扫描环境,并生成周围环境的点云数据。该镜子的旋转速度决定了传感器的扫描速率。激光雷达传感器生成点云数据,假设每次测量都是从同一视点捕获的,但自我车辆运动会改变镜子的旋转,从而改变传感器捕获数据的视点。假设视点和实际视点之间的差异会导致生成的点云失真。该图显示了当自我车辆移动时如何发生失真以及如何通过使用点云中每个点的自我车辆姿态来补偿失真的顶视图。

2024-10-30 11:14:33 401

原创 camera和lidar外参标定

雷达和相机的外参标定(外部参数标定)指的是确定两者之间的旋转和平移关系,使得它们的坐标系可以对齐。

2024-10-29 14:51:56 1030

原创 相机内参标定

Camera Calibration是ROS提供的一个用于单目或者双目相机标定的包,可以十分方便地使用。使用的标定板是棋盘格(Chessboard),而非AprilTag。官网见这里。其实在官网上写了,这个包基于OpenCV实现,原理是一样的。在官网给出了利用它标定单目和双目相机的例子,感兴趣可以参考。安装标定功能包打印棋盘格:可直接下载此文件并打印(原尺寸居中)出来:棋盘格标定板标定原理启动标定:c.按照提示移动不停移动,等”CALIBRATE”按钮变绿以后,就可以点击标定了。

2024-10-25 09:33:45 610

原创 多传感器硬同步学习

多传感器硬同步(Hardware Synchronization)的过程是指通过硬件信号使多个传感器在同一时刻进行数据采集,以确保不同传感器的数据具有相同的时间基准。以下是多传感器硬同步的简要步骤:主时钟源(同步信号源):选择一个主时钟源,通常是高精度时钟(如GPS、PPS信号或高频时钟脉冲),作为所有传感器的时间基准。该时钟源通过硬件接口(如信号线)向其他传感器发送同步信号。传感器接口设置:各个传感器需要有同步接口,通常通过硬件触发输入(trigger input)或外部时钟输入端口接受同步信号。

2024-10-23 21:04:39 193

原创 利用彩色相机给激光点云染色

在激光SLAM(Simultaneous Localization and Mapping)中,使用彩色相机为激光点云染色是一个常见的做法。这种技术结合了激光雷达的高精度距离测量和相机的丰富色彩信息,使得生成的点云不仅包含空间位置信息,还包含颜色信息,从而更直观和细节丰富。传感器校准: 目的是确定激光雷达和相机之间的外部参数(旋转和平移矩阵),以及相机的内部参数(焦距、主点、畸变系数等)。

2024-10-23 13:40:38 1142

原创 在ros中sensor_msgs/CompressedImage在线转sensor_msgs/Image

在ROS中使用image_transport可以有效地管理图像传输,并支持多种传输插件格式,包括压缩图像格式。为了使用image_transport将 sensor_msgs/CompressedImage 转换为 sensor_msgs/Image,我们需要稍作修改。image_transport 提供了更为灵活和高效的方式来订阅和发布图像消息。这样,你就可以在 image_transport 框架下完成从压缩图像到非压缩图像的转换和发布流程了。在launch文件中,加入以下命令。

2024-10-22 17:52:46 268

原创 slam技术支持下的果园作物估产论文汇总

我们介绍了FruitNeRF,一个统一的新的水果计数框架,利用最先进的视图合成方法直接在3D中计数任何水果类型。我们的框架采用一组由单眼相机捕获的无序姿态图像,并在每张图像中分割水果。为了使我们的系统独立于水果类型,我们使用了一个基础模型,为任何水果生成二进制分割掩模。利用RGB和语义这两种模式,我们训练了一个语义神经辐射场。通过对隐式果场的均匀体积采样,得到了纯果点云。通过对提取的点云进行级联聚类,实现了精确的果实计数。

2024-10-22 15:07:46 839

原创 KD-Tree-KNN Search学习笔记

树的每个内部节点代表点云的一个子集,并根据选定的坐标轴分为两个子节点。因此,点云分析的第一步也是主要步骤是将点配对以进行有意义的比较。当数据点分布不均匀时,空间的某些区域可能比其他区域拥有更多的点。然后算法递归遍历包含最近点的子节点,直到找到最近点。当树中的某些节点比其他节点拥有更多的点时,就会发生这种情况。尽管网格采样是点配对的替代方法,但由于子采样过程(可能包括平均),它仍然会比点配对产生更粗糙的数据。最后,它返回最近点的坐标。另一方面,与网格采样相比,点配对排除了平均,并产生更深入、更细粒度的结果。

2024-10-22 10:25:27 84

原创 可视化rosbag包话题的时间戳

时间戳将绘制在一个图表中,其中x轴表示时间(以秒为单位),y轴表示话题名称。每个话题的时间戳将显示为图表中的一个折线。您可以使用图表中的缩放和平移工具来调整视图。通过这种可视化,您可以轻松对比不同话题的时间戳,并识别任何时间戳不一致或延迟。在rqt_bag窗口中,单击“打开”按钮并选择要可视化的ROS bag文件。选择要对比的时间戳的话题。为此,请在“主题”选项卡中选中相应的复选框。在“图表”选项卡中,选择“时间戳”作为要绘制的字段。单击“播放”按钮开始可视化时间戳。输入以下命令启动rqt_bag。

2024-10-22 09:01:23 467

原创 FAST-LIVO复现

PS:可能遇到的问题 CV_* ’was not declared in this scope,opencv4部分命名发生变换,将CV_WINDOW_AUTOSIZE改为WINDOW_AUTOSIZE;CV_TM_SQDIFF_NORMED改为TM_SQDIFF_NORMED。FAST-LIVO通过使用LiDAR点云建立环境地图,IMU提供高频率的动态信息,视觉传感器提供纹理信息,综合这些数据源来提高定位的精度和鲁棒性。这种多传感器融合的方法使其在动态和复杂环境中也能保持高精度的位姿估计。

2024-10-15 16:58:16 2964 12

原创 视觉雷达融合的多目标跟踪论文汇总

本文提出了一种结合照相机和激光雷达数据的自动驾驶汽车多模态多目标跟踪(MOT)算法。相机帧使用最先进的三维物体探测器进行处理,而经典的聚类技术被用于处理激光雷达的观测结果。所提出的MOT算法包括一个三步进关联过程、一个用于估计每个被检测到的动态障碍的运动的扩展卡尔曼滤波器和一个轨迹管理阶段。EKF运动模型需要当前测量的被观测物体的相对位置和方向,以及自我车辆的纵向和角速度作为输入。与大多数最先进的多模态MOT方法不同,所提出的算法不依赖于地图或自我全局姿态的知识。

2024-10-15 14:46:50 1244

poseTrack 2017

姿态跟踪数据集2017

2024-08-16

重庆高分二号遥感测试数据

高分二号测试数据,用于地块提取

2024-05-14

基于地理栅格的地理矢量化工具

对栅格线进行线矢量化,并自动生成地块面矢量。

2023-09-14

realsense515近景配置文件

realsense515近景配置文件,基于该配置文件启动realsen-ros,可在近距离对物体进行较好的深度成像。

2023-05-26

荷兰_哨兵二号.txt

荷兰、哨兵二号、十米分辨率

2022-05-12

荷兰_谷歌影像.txt

荷兰、谷歌影像、1.5米分辨率

2022-05-12

基于深度学习的细胞分割c++推理源码

1.c++ 2.语义分割 3.模型推理 4.动态库

2022-03-21

丹麦耕地地块数据集.txt

丹麦地块影像及标签

2022-02-19

高分二号乡村道路数据集.txt

影像:高分二号 影像大小:1000*1000pixel 标注:矢量shapefile

2022-02-11

荷兰全域影像(法国P星).txt

卫星影像

2022-01-21

荷兰耕地地块矢量.txt

荷兰耕地全域矢量

2022-01-21

基于高分二号的重庆地块数据.txt

遥感、高分二号、耕地地块、矢量标注

2022-01-20

基于谷歌地球影像的重庆地块数据.txt

矢量、RGB影像、西南山区

2022-01-14

二维网格索引

基于java的二维网格索引,资源包括可独立运行的app,源码,界面用javafx写的

2019-02-12

基于C#的解析空中三角测量

基于C#的解析空中三角测量,资源包括相关实验数据,源码

2019-02-11

基于sift算法的图像拼接

基于SIFT算法的图像拼接,资源包括SIFT简介,MATLAB源码,实验图片,GUI设计

2019-02-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除