- 博客(14)
- 收藏
- 关注
原创 【RK3588使用线程池运行yolov5(四)】
在前面我们已经知道可以使用线程池来实现推理,大家可以在github上找到相关的代码,在本节我们从模型的优化的角度以及模型的底层来探讨下训练好的模型best.ot到best.onnx,.onnx到.rknn过程中内部发生的变化。
2025-05-29 11:09:57
326
原创 版本管理工具之Git
git config --global user.name “xzw” //配置用户名git config --global user.email xzw_0617@163.com //配置邮箱git config --global credential.helper store //记住用户名和邮箱。
2025-05-20 19:00:00
615
原创 Linux下V4L2子系统框架
V4L2子系统是Linux内核中关于video设备的API接口,向上为虚拟文件系统提供了统一的接口,应用程序可以通过虚拟文件系统访问video设备;向下给video设备提供接口,同时管理所有的video设备,video设备又分为主设备和从设备,对于Camera来说,Camera Host控制器为主设备,负责图像数据的接收和传输,从设备为Camera Sensor,一般为I2C接口,可以通过从设备控制Camera采集图像的行为,如图像的大小,图像的FPS等。
2025-05-19 20:36:42
812
原创 OpenCV的常用用法(C++版)
-返回值:无--参数:--InputArray image:传入的图片名称--OutputArray edges:传出的图片名称如果有具体的数字在括号里输入--double fx = 0, double fy = 0:如果没有具体的数字,后面两位是按照比例进行缩放。
2025-04-01 15:29:18
870
原创 RK3588使用OpenCL编程(二)
在本节中我们将分别使用rk3588中的CPU和GPU来进行图像边缘检测算法,通过计时来评估是用GPU进行图像处理时的性能提升。
2025-02-06 21:46:26
589
原创 【yolov5】onnx转rknn
进入解压后的文件夹examples/onnx/yolov5文件夹中,此时可以看到的目录结构,其中test.py为转换文件,dataset.txt为则是图片的名字,bus.jpg为测试图片,还会有一个官方提供的yolov5的onnx模型。我在最初进行转换后不能用官方的demo,一旦运行,香橙派直接死机,我是按照这个大佬重新下载了1.5.2的包。而后输出检测结果,并且在该文件中输出一张在rk3588上模拟运行的图片,在这里可以完成,通常说明已经完成了模型的转换。进去后直接下载即可,在虚拟机中解压。
2025-01-20 20:54:06
1920
原创 RK3588使用OpenCL编程(一)
OpenCL(Open Computing Language开放计算语言)是一种开放的、免版税的标准,用于超级计算机、云服务器、个人计算机、移动设备和嵌入式平台中各种加速器的跨平台并行编程。
2024-12-05 11:42:44
1580
原创 【RK3588使用线程池运行yolov5(三)】
格子399有类别0的概率,格子0有类别1的概率,格子1有类别1的概率,格子2有类别1的概率…1、首先进过推理,已经将每个框中的置信度存储在上面数组中的c中了,然后我们此时来检查遍历每个框的置信度,如果置信度大于我们设定的阈值(如0.5),就把这个框进行相关的处理,并且把框的坐标存储在某个数据结构中,这个置信度只是说明yolo认为有80类里面的东西,我们需要再去找到最大的类别和该类别对应的概率,分别存储进去。在这里不过多的讲了。--------------yolov5的后处理阶段。
2024-11-22 17:10:54
1722
1
原创 【RK3588使用线程池运行yolov5(二)】
首先大家要知道,对于任何一个模型而言,它对于输入输出的大小以及特点都会有一定的要求,就好比模型是一个门,门上有把锁,打开门的方法就是插入钥匙,yolov5要求的图片是一个640×640的,你给它一张1280×720的图片,这个时候当然就会有问题,所以对于一个模型,我们就需要知道他的输入的要求和输出的要求。4、到这里,我们就将输入图片的参数都设置成yolov5所需要的参数,然后我们需要把这些参数封装成一个结构体数组,并且相当于告诉这个模型,“我已经封装好了,我把参数告诉你”,这步就是设置模型输入。
2024-11-01 22:38:36
724
原创 【RK3588使用线程池运行yolov5(一)】
对于读取到的视频,,我们需要将其中的视频帧进行存储,对于一个时长为8秒,帧率为30的视频而言,其读取的视频帧总数为240帧,然后对每帧视频进行处理,然后再将其经过固定的编码输出为一个视频,所以我们先定义一个存储视频帧的结构体,结构体有两个部分组成,分别是该帧图片的下标和图像。然后考虑使用三个线程分别进行将视频帧的存储到这个队列中、对视频帧处理后存储到另一个队列中(需要再定义一个队列来存储处理后的视频帧)、将处理后的视频帧按照不同的编码规则输出为不同的视频。下面定义第二个结构体变量,用来存储处理后的视频帧。
2024-10-26 17:34:29
580
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人