- 博客(22)
- 收藏
- 关注
原创 【凌智视觉模块】rv1106 部署 pp-humseg 模型
人像分割技术实现摘要 人像分割是利用计算机视觉技术将图像/视频中的人物与背景分离的像素级处理技术。凌智视觉模块基于RV1106芯片开发,支持高效视觉模型部署。当前主流方法包括PP-HumanSeg、BiSeNet等深度学习模型,其中PP-HumanSegV2以96.63% mIoU精度和63FPS手机端速度成为SOTA方案。 实现流程包含: 初始化RKNN模型后端 图像预处理(尺寸调整、颜色空间转换) 执行模型推理 后处理(概率解码、动态阈值分割、形态学优化) 代码实现要点: 使用RKNPU2Backend
2025-05-29 14:09:57
567
原创 [onnx 学习记录] 包包含的主要内容
类别关键组件用途数据结构构建模型结构工具函数创建、验证、转换模型模型处理加载、保存、推理形状、版本迁移扩展支持大模型支持、压缩、模型分发。
2025-05-26 23:44:19
750
原创 【凌智视觉模块】RV1106上部署YOLOv5目标检测及量化原理简介
目标检测是计算机视觉中的关键技术,旨在识别图像中的对象并确定其位置。YOLOv5作为YOLO系列的一个版本,因其高效性和易用性在实时应用中广泛使用。YOLOv5通过优化网络结构、预处理和增强技术、多尺度预测和Anchor机制,实现了速度与精度的平衡。此外,模型量化是边缘设备部署中的重要技术,通过将浮点参数转换为定点数,降低内存占用并加速推理,尽管会带来一定的精度损失。量化算法如Normal、KL-Divergence和MMSE,通过不同的方法确定量化范围,以最小化量化误差。YOLOv5的代码实现包括模型初始
2025-05-23 10:39:17
619
原创 rv1106 tesorflow 转换测试,转换能够成功,但结果是错误的,
本文介绍了如何使用 TensorFlow 训练 MobileNetV2 模型,并将其转换为 .pb 和 .tflite 格式,最终转换为 RKNN 格式进行推理。尽管模型转换成功,但推理结果错误,目前原因尚未查明。建议使用 Docker 容器进行训练和转换,以避免环境问题。训练过程包括数据预处理、模型构建、训练和导出模型。推理部分展示了如何加载模型并进行预测,同时提供了模型转换为 .pb 文件的代码。
2025-05-17 18:26:47
828
原创 视觉模型部署实践:低算力平台RV1106上高效部署paddlepaddle 的PicoDet目标检测模型的技术实践
本文探讨了在资源受限的嵌入式设备(如Rockchip RV1106平台)上实现高精度、低延迟目标检测的挑战与解决方案。通过结合百度开源的轻量级检测模型PicoDet,文章详细介绍了模型优化与硬件加速策略,包括模型量化、权重剪枝、输入图像分辨率优化以及利用NPU加速推理。文章还提供了API接口说明、示例代码解析、交叉编译与部署流程,并总结了未来可能的优化方向。最终,该模型在RV1106平台上实现了约25 fps的实时目标检测性能,适用于安防监控、智能家居等场景。
2025-05-15 16:04:44
1066
原创 yolov5 onnx推理记录
YOLOv5是一种单阶段目标检测算法,具有快速推理和高精度的特点。它支持多种框架的导出,包括ONNX格式。ONNX(Open Neural Network Exchange)是一种开放的模型交换格式,可以方便地在不同深度学习框架之间迁移模型。
2025-04-13 23:54:36
454
原创 c++学习记录:变量作用域与命名规范
声明(Declaration):告诉编译器某个变量的名字和类型,但不分配内存。// 声明了一个名为a的int类型的变量,但未定义它定义(Definition):不仅声明变量,还为其分配实际的存储空间,并可能初始化该变量。int b = 10;// 定义并初始化了一个名为b的int类型的变量当在一个作用域内定义了一个与外部作用域同名的变量时,内部作用域的变量会“遮蔽”外部作用域的变量。i!= 10;i++) { // 局部变量i遮蔽了全局变量isum += i;// 输出:100 45。
2025-03-30 16:22:19
710
原创 处理多通道音频:从录制到混合再到保存
在音频处理领域,多通道音频的录制、混合以及保存是一项基础但重要的技能。无论是为了解决立体声录音的需求,还是为了将多个麦克风的数据合并成一个单一的信号,掌握这些技术都是非常有用的。本文将详细介绍如何使用 Python 实现一个多通道音频录制工具,并展示如何将其转换为单通道音频进行进一步处理或存储。
2025-03-29 15:24:26
372
原创 ### C++ I/O 介绍(记录)
std::cin:用于读取用户输入。std::cout:用于向屏幕输出信息。std::cerr:用于输出错误信息。std::clog:用于记录日志信息。这些对象都定义在<iostream>头文件中,且位于std命名空间内。
2025-03-28 00:11:41
256
原创 # 语音降噪与VAD处理技术详解:从基础到实践
语音活动检测(VAD)是一种用于区分语音段和非语音段的技术。它可以帮助我们跳过静音或背景噪声片段,专注于实际含有有用信息的部分。这对于提高后续处理效率(如语音识别、音频压缩等)非常有帮助。是一个功能强大的Python库,专门用于音频降噪。它基于频谱减法的原理,通过分析噪声谱和语音谱来去除背景噪声,同时尽量保留语音信号的质量。通过合理地组合VAD和,我们能够有效地提高音频质量,从而为后续的语音处理任务(如语音识别)打下坚实的基础。
2025-03-27 10:58:32
831
原创 C++ 继承与构造函数初始化:确保对象正确初始化
在面向对象编程(OOP)中,继承是一个非常重要的概念。通过继承,一个类(派生类)可以从另一个类(基类)继承属性和方法,从而实现代码复用和扩展功能。然而,在使用继承时,正确初始化对象的所有部分(包括基类和派生类的部分)是非常关键的。本文将详细介绍如何在C++中正确地初始化派生类对象,并讨论一些常见的注意事项,包括 `const` 成员变量的初始化和构造函数初始化列表的使用。
2025-03-20 00:08:06
478
原创 RK3588和windows共用一套键鼠设备
rk3588开发板下载链接:https://github.com/deskflow/deskflow/releases/download/v1.20.0/deskflow-1.20.0-linux-aarch64.flatpak。windows 下载链接:https://github.com/deskflow/deskflow/releases/download/v1.20.0/deskflow-1.20.0-win-x64.msi。安装完成后,linux 也会出现一个Deskflow的软件图标。
2025-03-05 14:49:59
260
原创 x-anylabeling转换成Labelme格式,实现数据自动标注
个人使用流程:采集数据标注训练得到一个小模型,转化成onnx格式,用于自定义模型。这个小的脚本转换工具,可以配合前面几篇博客一起使用。配合自动标注工具x-anylabeling使用。x-anylabeling自定义模型需要两个文件。文件,yaml文件示例。
2025-01-10 21:43:03
433
2
原创 Labelme 图片批量缩放脚本
读取JSON格式的标签文件(假设为矩形边界框),根据图像缩放的比例调整边界框的位置,并更新标签文件中的图像路径、宽度和高度信息,最后将修改后的标签保存到新的JSON文件中。:这是主函数,遍历指定输入目录中的所有图像文件,调用上述两个函数来调整图像大小和对应的边界框,然后将结果保存到指定的输出目录中。要运行这段代码,请确保你已经安装了所需的库(例如OpenCV)并且设置了正确的输入和输出路径。Labelme标注文件,批量resize图片和对应标签,可以得到更多的训练数据。
2024-12-20 20:53:10
424
原创 Retina-face windows/ubuntu复现过程(包含环境配置、docker配置)已成功复现,
retainface windows /ubuntu复现流程、docker环境搭建、ubuntu/环境搭建
2024-12-04 00:02:32
1087
原创 ncnn Windows/Ubuntu 环境配置,无需编译ncnn包,免去编译环境不过的痛苦
ncnn Windows ubuntu opencv环境配置,免去编译等步骤,直接使用ncnn的预编译包
2024-12-02 23:20:49
1373
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人