自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 资源 (2)
  • 收藏
  • 关注

原创 OpenPCDet 训练自己的数据集详细教程!

这些天一直在尝试通过OpenPCDet平台训练自己的数据集(非kitti格式),好在最后终于跑通了,特此记录一下训练过程。树和猫,对于自定义数据集的训练我们交流了很多,之前他是通过我写的yolov5系列文章关注的我,现在我通过OpenPCDet 训练自己的数据集系列关注了他,着实让我感觉到了技术分享是一个圈。如果阅读本文对你有用,欢迎一键三连呀!!!2022年10月24日11:12:53。

2022-10-24 11:14:58 15139 121

原创 yolov5模型部署:Triton服务器+TensorRT模型加速(基于Jetson平台)

系列文章目录yolov5 win10 CPU与GPU环境搭建,亲测有效!yolov5训练自己的数据集,详细教程!yolov5转tensorrt模型Jetson调用triton inference server详细笔记Jetson下Triton部署yolov5的trt目标检测系统文章目录系列文章目录前言一、建立triton模型库1.1config文件编写1.2文件配置二、启动triton服务三、启动客户端测试图片测试视频总结前言在完成yolov5环境搭建,训练自己的模型,以及将yolov

2021-08-24 15:55:28 6508 45

原创 Jetson调用triton inference server详细笔记

文章目录一、jetson安装triton-inference-server1.1 jtop命名行查看jetpack版本与其他信息1.2下载对应版本的安装包1.3解压刚刚下载的安装包,并进入到对应的bin目录下1.4尝试运行一下tritonserver二、运行triton-inference-server2.1下载相关文件包2.2 生成模型文件2.3启动tritonserver三、测试triton client demo3.1安装客户端依赖项3.2安装python 客户端库3.3运行onnx分类模型demo总

2021-08-12 20:30:09 3434 10

原创 yolov4训练自己的数据集,详细教程!

系列文章目录文章目录系列文章目录创建yolo-obj.cfg 配置文件一、pandas是什么?二、使用步骤1.引入库2.读入数据总结创建yolo-obj.cfg 配置文件将 yolov4-custom.cfg 中的内容复制到 yolo-obj.cfg里面,并做以下修改:一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas a

2021-03-29 11:52:30 7481 2

原创 yolov4 win10 环境搭建,亲测有效!

之前文章中写过关于在windows环境下搭建yolov5的文章,也写过如何利用yolov5训练自己的数据集,总的来说yolov5还是很便捷的,但是在实际的工程问题上,yolov5存在落地打包上的困难,因此本文记录下yolov4在windows环境下搭建。文章目录安装依赖编译使用步骤总结安装依赖括号里是我当前版本vs(vs2019)cuda(cuda10.2)cudnn(cudnn7.6.5)opencv(opencv4.5.0)cmake(cmake3.19)编译打开cmake,按自己

2021-03-08 10:30:34 1968 12

原创 win10下对编译完成后opencv_cuda进行移植

系列文章目录win10下Opencv源码编译支持CUDA加速的Python环境,超级详细教程!win10下对编译完成后opencv_cuda进行移植文章目录系列文章目录一、opencv-python环境配置二、 opencv-python cuda加速测试接着上一章win10下Opencv源码编译支持CUDA加速的Python环境,超级详细教程!,本章对编译完成后opencv_cuda进行移植设置适配环境为:Win10Visual Studio 2015 x64Opencv 4.5.0C

2021-03-06 10:50:07 439 2

原创 win10下Opencv源码编译支持CUDA加速的Python环境,超级详细教程!

环境准备1 vs20152 anaconda+Python3.7.4+numpy3 cuda和cudnn环境(cuda10.0+cudnn7.6.5)4 cmake5 OpenCV4.5.0以及OpenCV-contrib4.5.0压缩包OpenCV4.5.0下载地址https://www.bzblog.online/opencv/opencv-4.5.0/OpenCV-contrib4.5.0下载地址:https://www.bzblog.online/opencv/opencv_co

2021-02-23 12:00:19 2110 1

原创 yolov5训练自己的数据集,详细教程!

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-01-16 14:54:50 5509 11

原创 yolov5 win10 CPU与GPU环境搭建,亲测有效!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2020-12-28 21:33:53 23303 43

原创 MaskRCNN可视化界面开发(PyQt5)

MaskRCNN可视化界面开发(PyQt5)笔者因毕设要求,需要对maskRCNN进行封装,制作一个可视化界面。先来展示下效果图:文章目录MaskRCNN可视化界面开发(PyQt5)前言一、PyQt5及Designer、Pyuic插件安装二、设计UI界面1.使用Qt Designer来设计界面2.按钮事件3.ui文件转py代码三、编写逻辑代码前言本文默认已经实现了MaskRCNN的训练和测试,现在测试的基础上加一个UI界面。本文使用PyQt5进行界面开发。提示:以下是本篇文章正文

2020-12-08 15:35:56 3452 28

原创 Linux操作系统

Linux 操作系统文章目录Linux 操作系统1. Linux操作系统认知1.1 操作系统(Operation System简称OS)1.2 Linux系统介绍1.3 文件系统1.4 Ubuntu使用2. Linux常用命令2.1 终端与命令行2.2 Linux常用命令2.2.1 帮助命令2.2.2 基础操作命令2.2.3 文件操作2.2.4 压缩解压2.2.5 权限管理2.2.6 显示展示命令2.2.7 其他命令3. Linux服务器环境3.1 vi编译器3.1.1 什么是vi3.1.2 学习目的3

2020-06-30 22:47:36 8223 1

原创 海思3559 yolov5 wk模型部署笔记

本文记录海思3559 yolov5 wk模型部署的具体过程,成功生成了可执行文件,后面就可以在板端进行运行测试!!

2024-02-22 17:33:17 737

原创 海思3559 yolov5模型转wk详细笔记

目前项目需要在海思3559上开发,但查了相关文档,感觉还是比较复杂的。相比于3403、3519的使用atc工具直接从onnx->om,3559需要从onnx->caffer->wk则显得复杂许多,特此记录一下。海思3559是早些年的芯片,因此在模型转换的方式上相比于3403、3519的使用atc工具直接从onnx->om,3559需要从onnx->caffer->wk则显得稍显复杂。本文记录了yolov5模型由pt->onnx->caffe->wk的过程,希望对读者有所帮助。

2024-01-18 17:08:36 1376 1

原创 剑指Offer 队列&栈题目集合

时间复杂度:在最坏情况下,pop 操作的时间复杂度是 O(n),但在平均情况下,当栈2中有元素时,pop 操作的时间复杂度是 O(1)。这是因为在平均情况下,元素不会每次都从栈1移动到栈2。总体而言,这个实现的 push 操作是 O(1),而 pop 操作的最坏情况下是 O(n),平均情况下是 O(1)。如果为空,则将栈 1 中的所有元素移到栈 2。使用两个栈来实现队列的功能。栈 1 用于存储入队的元素,而栈 2 用于存储出队的元素。空间复杂度: O(n),辅助栈的空间,最差的情况下两个栈共存储N个元素。

2023-12-22 10:38:45 523

原创 剑指Offer 链表题目集合

采用双指针迭代,在遍历链表时,将当前节点的next 指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。我的第一想法是可以遍历链表,将每个节点的值存入数组中,然后将数组进行反转。空间复杂度:O(n)。额外使用一个数组存储链表中的每个节点。时间复杂度:O(n)。时间复杂度:O(n),正向遍历一遍链表。空间复杂度:O(1),常数空间复杂度。

2023-12-06 17:56:51 540

原创 目标检测中的损失函数:IOU_Loss、GIOU_Loss、DIOU_Loss和CIOU_Loss

之前在项目中存在目标检测框内嵌的情况(目标检测框存在内嵌情况分析与解决),正好趁这个机会记录下目标检测中常用的几种IOU_loss函数。IOU_Loss作为传统的衡量标准,为我们提供了一个基础,而GIOU_Loss、DIOU_Loss和CIOU_Loss则在其基础上引入了更多的信息,如目标框的形状和相对位置等,从而使得模型更加准确地学习目标的位置和形状。!!2023年12月4日20:03:02。

2023-12-04 20:04:16 1634

原创 昇腾Atlas 200I DK A2实现安全帽识别

本篇文章可以算是昇腾系列的一个入门样例,跑通了应该就能知道大概的操作流程,接下来应该又是一段难忘的开发心路历程,希望自己挺住!!!!!2023年11月24日14:55:12。

2023-11-24 14:56:59 985

原创 目标检测框存在内嵌情况分析与解决

目标检测模型输出的检测框存在内嵌情况。,在推理性能足够的情况下,可以考虑使用。的信息,不用考虑影响因子,因此直接用。设置过大,没能滤除重叠检测框,原来。:在IOU和GIOU的基础上,考虑。标注框的信息,在训练时用于回归。有读者会有疑问,这里为什么不用。的基础上,添加的影响因子,包含。根据经验,第一感觉是后处理。:在DIOU的基础上,考虑。:在IOU的基础上,解决。目前分析最可能的原因是。但在测试过程中,并没有。此项目中用的是基本的。

2023-11-20 19:38:09 147

原创 光流法动目标检测

动目标检测是计算机视觉领域的一个热门研究方向。传统的方法主要基于背景建模,但这些方法对于光照变化、遮挡和噪声敏感。因此,研究人员一直在寻找更加鲁棒和有效的技术来解决这一问题。光流法是一种基于运动信息的动目标检测方法,它通过分析相邻帧之间的像素位移来捕捉物体的运动。这种方法可以在不需要显式背景建模的情况下实现动目标检测。。光流是指描述相邻图像帧中像素位移的矢量场。在光流法中,假设相邻帧之间的像素强度保持不变,即一个像素点在两帧之间的运动可以由一个矢量表示。这个矢量可以表示物体的速度和方向。

2023-10-24 09:00:00 831

原创 Cmake入门介绍

在软件开发过程中,构建和管理项目是至关重要的任务之一。CMake是一个流行的构建工具,它可以帮助开发者跨不同平台和编译器构建和管理C/C++项目。本文将介绍CMake的基本概念以及如何使用它来简化项目的构建过程。CMake是一个开源的构建工具,用于自动化构建过程。它不直接构建项目,而是生成适用于不同编译器和操作系统的构建脚本,如Makefile、Visual Studio项目文件等。这使得开发者能够轻松地在不同平台上构建他们的项目。

2023-10-06 20:17:17 229

原创 C++手写NMS

目标检测模型推理后,一般都需要进行NMS操作进行多余框去重,板端部署一般不用opencv自带的NMS,所以记录下手写NMS的代码。NMS通常用于目标检测中,以去除重叠的检测结果,只保留最具代表性的结果,以提高检测的准确性。!!2023年9月27日15:58:10。

2023-09-27 15:59:50 764 1

原创 模型推理后处理C++代码优化案例

这些条件判断可能会增加运行时间。确保这些条件判断是必要的,如果可能的话,尽量减少不必要的条件判断。这将涉及内存的重新分配和数据复制。为了避免这种开销,可以直接在循环中访问。本文是自己项目中遇到的实际问题,由于刚刚上手C++相关的项目,特此记录!可以将这些计算移动到条件判断的外部,以避免重复计算。模型推理后得到的数据后处理操作之前时间开销很大。2023年9月9日15:33:36。经过推理的后处理运行时间的优化。: 在循环中有一些条件判断,例如。C++任重而道远呀,加油呀!数组,而无需使用额外的向量。

2023-09-09 15:35:08 303

原创 生成与调用C++动态链接库(so文件)

动态链接库是代码重用和模块化的重要工具,它使得将功能封装为独立的库更加容易,同时还可以动态加载和升级这些库,提高了程序的灵活性和可维护性。当我们希望将C++源码编译成动态链接库,并在其他应用程序中调用这个动态链接库,是这篇文章的应用场景。这篇文档将介绍如何创建、编译、链接和调用C++动态链接库。PS:本文以下内容根据我实际工作项目编写,不采用demo的形式。本文介绍了如何制作C++动态链接库(so文件)以及如何从另一个C++程序中加载和调用该库。

2023-09-05 14:26:31 4125 1

原创 opencv动态目标检测

很久没更新文章了,这次因为工作场景需要检测动态目标,特此记录一下。这段代码演示了背景减除方法在移动目标检测中的应用,通过检测前景目标并在特定区域内绘制边界框,可以用于一些简单的运动分析和目标跟踪应用。

2023-08-09 17:16:51 2227 1

原创 python自动测试ping IP

python自动测试ping IP,将不通的IP保存到txt中。

2023-03-06 10:45:10 805 1

原创 Open3D实时点云显示

一般情况我们通过open3d中的进行点云可视化,但这个函数会锁定一个进程直到可视化的窗口被关闭,才会继续渲染下一帧点云图像,无法做到点云持续的动态显示。本文介绍了一个自定义渲染循环的教程。这里整体思想是按名称读取文件然后送入队列中,使用多线程进行点云显示,当文件读完之后,重新开始读取。读者可以根据自己的数据情况修改,已完成实时点云显示。如果阅读本文对你有用,欢迎一键三连呀!!!2022年11月18日15:38:30。

2022-11-18 15:41:25 3779

原创 Triton推理服务器吞吐量测试

性能分析器是优化模型性能的重要工具,决定如何在单个 GPU 上最好地运行多个模型。除了启用模型实例,还是可以设置启用动态批处理器,这两项也可以同时启用,可以根据自己的配置进行设置比较。通过模型分析器部分介绍了一种工具,可帮助我们了解模型的GPU 内存利用率,以便决定如何在单个 GPU 上最好地运行多个模型。如果阅读本文对你有用,欢迎一键三连呀!!!2022年9月15日20:12:35。

2022-09-15 20:14:17 1499 2

原创 shell定时删除N天前的文件

新建del_img.sh脚本文件-type ffd.jpg{} \;

2022-09-02 15:09:38 1657 1

原创 yolov5标签数据增强脚本

此代码用于将标注好的图片及其标签进行数据增强,有点在于不需要重新打标签。

2022-09-01 09:25:41 1491 6

原创 labelimg voc与yolo数据标签互转脚本

【代码】数据标签xml与txt互转脚本。

2022-08-29 09:47:17 358

原创 ROS一键安装

这段时间接触到了雷达点云数据,用到了ROS系统,在安装过程中完成了手动安装,也尝试了一键安装,特此记录下一键安装方法。!!

2022-08-23 15:04:29 745

原创 Ubuntu18.04安装OpenPCDet:spconv一键安装

最近在摸索点云数据的处理,希望实现对点云数据的目标检测。但是在复现算法时遇到很多坑,特此记录一下。不建议在windows环境下测试程序,笔者自己测试下,windows总会遇到奇奇怪怪的报错。本次环境安装前前后后搞了两天,但最后还是跑出了点云的目标检测算法的demo,结果还算是好的。httpshttps如果阅读本文对你有用,欢迎一键三连呀!!!2022年7月21日163041httpshttpshttpshttpshttps。.........

2022-07-21 16:31:18 1480

原创 python配置文件的两种方式

在运行项目程序时通常会有一个配置文件,配置文件是用于配置程序的参数和初始化设置的文件。比如现在要做一个项目,在部署程序时,需要摄像头IP地址、数据库地址、数据库名称,这些都可以作为配置项写入配置文件。当程序实地部署时,只需要修改配置文件,不需要去代码当中到处查找修改。本文以下配置内容以配置多个摄像头为例。新建一个文件,将程序运行所需的摄像头参数写入一个类中。测试代码:yaml文件作为配置文件首先需要安装相应的包yaml支持的数据结构有3种:对象:对象的一组键值,使用冒号表示(注意:编写的时候最好冒

2022-07-12 10:12:22 2472

原创 实现对python源码加密的方法

由于项目的保密性需求,对已开发完成的项目需要进行加密处理,本文给出两种方法。加密py代码,虽然编译为pyc作用不大(很容易被反编译出来源码),但还是有一定加密的效果,如果项目比较时间紧,可以用此方法应急处理。该命令会把目录下的py文件都会生成相应的pyc文件然后执行以下命令,删除掉py文件,只保留pyc文件最后执行运行pyc文件就可以了如:注意:此方法加密与使用的python版本要一致,否则会报错。即运行与的版本要保持一致。2.2新建py2so.py文件填写如下内容:2.3编译项目文件夹运

2022-07-01 09:10:37 4619

原创 Ubuntu安装cuda与cudnn,亲测可用

前段时间被派到现场去部署算法,之前同事搭好的环境不好用了,具体表现为:1.屏幕的分辨率显示很奇怪且不可调节2.输入命令,显示错误不得以在现场重装了、与,故以本文记之。这里介绍笔者感觉比较方便的一种方法在终端输入:,得到有关本机显卡其驱动的相关信息,如图所示(因为本地服务器已经安装了驱动,这里笔者通过SSH只做过程演示):可以看到为推荐版本,如果你认可推荐版本,那只需要输入 就可以自动安装了;如果你想安装,只需输入便可安装了,当然也可以通过此命令安装推荐的版本。若 安装失败可以通过尝试安装,即。

2022-06-02 18:03:35 20264 18

原创 Ubuntu中docker部署gpu版pytorch

文章目录docker简介安装docker与NVIDIA-docker安装docke安装NVIDIA-docker安装显卡驱动拉取pytorch GPU版镜像文件运行pytoch容器总结docker简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。作为一种轻量级的虚拟化方式, Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:Docker容器很快, 启动

2022-05-04 21:35:13 1663 1

原创 基于yolov5与Deep Sort的流量统计与轨迹跟踪

系列文章目录目标跟踪——SORT算法原理浅析目标跟踪——Deep Sort算法原理浅析基于yolov5与Deep Sort的流量统计与轨迹跟踪文章目录系列文章目录前言一、整体目录结构二、Deep Sort代码参数解释三、代码展示总结前言先来看下实现效果:上图展示了用yolov5作为检测器,Deep Sort为追踪器实现了对车流量的统计并绘制了每辆车的运行轨迹。一、整体目录结构下图展示了项目的整体目录结构:其中:deep_sort文件下为目标跟踪相关代码;weights文件夹

2022-04-15 10:05:20 15903 84

原创 目标跟踪——Deep Sort算法原理浅析

目标跟踪文章目录目标跟踪——SORT算法原理浅析目标跟踪——DeepSort算法原理浅析文章目录目标跟踪文章目录前言多目标跟踪主要流程DeepSort总结前言背景:DeepSort是基于Sort目标跟踪进行的改进,它引入深度学习模型,在实时目标跟踪过程中,提取目标的外观特征进行最近邻近匹配。目的:改善有遮挡情况下的目标追踪效果;同时,也减少了目标ID跳变的问题。核心思想:使用递归的卡尔曼滤波和逐帧的匈牙利数据关联。多目标跟踪主要流程给定视频原始帧。运行目标检测器如Faster

2022-04-07 11:50:35 10632

原创 目标跟踪——SORT算法原理浅析

目标跟踪文章目录目标跟踪——SORT算法原理浅析文章目录目标跟踪文章目录SORT算法卡尔曼滤波匈牙利算法SORT核心算法流程总结SORT算法Simple Online and Realtime Tracking(SORT)是一个非常简单、有效、实用的多目标跟踪算法。在SORT中,仅仅通过IOU来进行匹配虽然速度非常快,但是ID switch依然非常严重。SORT最大特点是基于Faster R-CNN的目标检测方法,并利用卡尔曼滤波算法与匈牙利算法,极大提高了多目标跟踪的速度。SORT算法核心

2022-03-30 14:51:56 11247 1

原创 python实现二叉树的创建

文章目录二叉树的基本概念二叉树的性质(特性)二叉树的节点表示以及二叉树的创建1.二叉树的节点表示2.二叉树的创建二叉树的基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树的性质(特性)性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>0)性质2: 深度为k的二叉树至多有2^k - 1个结点(k>0)性质3: 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N

2022-03-22 16:52:28 5746 2

point-cloud-annotation-tool win10解压直接运行

point-cloud-annotation-tool win10解压直接运行

2022-08-16

GStreamer应用程序开发手册(C语言版).pdf

GStreamer应用程序开发手册(C语言版)

2021-07-20

Linux.html

Linux 操作系统 1. Linux操作系统认知 1.1 操作系统(Operation System简称OS) 1.2 Linux系统介绍 1.3 文件系统 1.4 Ubuntu使用 2. Linux常用命令 2.1 终端与命令行 2.2 Linux常用命令 2.2.1 帮助命令 2.2.2 基础操作命令 2.2.3 文件操作 2.2.4 压缩解压 2.2.5 权限管理 2.2.6 显示展示命令 2.2.7 其他命令 3. Linux服务器环境 3.1 vi编译器 3.1.1 什么是vi 3.1.2 学习目的 3.1.3 操作使用 3.2 添加用户 3.2.1 基本概念 3.2.2 用户管理命令 3.3 软件安装 3.4 ssh服务 3.5 终端启动Python服务

2020-06-30

空空如也

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

TA关注的人

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