FunnyWii's Zone 时日曷丧,与汝偕亡

归档

2024 年 09 月

摘要: 近年来,随着深度学习技术的发展和硬件算力的不断增强,自动驾驶技术越来越多的应用在各种场景。包括视觉感知、激光雷达感知和多传感器融合感知技术在这些年都得到了迅速发展。本文首先回顾了近年来自动驾驶感知技术的相关工作,然后介绍了相关工作所用到的方法和技术。随后整理并介绍了自动驾驶感知所需的数据集和
多目标跟踪(MOT,Multiple Object Tracking)。 评价指标 MOTA MOTA全称Multiple Object Tracking Accuracy,计算公式为: MOTA=1-\cfrac{\sum_{t}(FN_t+FP_t+IDSW_t)}{\sum_{t}GT_t}

2024 年 08 月

多目标跟踪算法 自动驾驶领域中的目标跟踪算法都是多目标跟踪算法,即MOT(Multiple Object Tracking),因为在这种场景中要跟踪的目标往往是多个,也有些文献会把MOT称为MTT(Multiple Target Tracking)。 MOT问题中并不是所有目标都会在第一帧出现,也并
软连接 一般Ubuntu系统中默认有两个Python,一个Python2.7,一个Python3.8。 这个可以在 /usr/bin 目录中找到: (base) jetson@ubuntu:~$ cd /usr/bin/ (base) jetson@ubuntu:/usr/bin$ ls pytho
内存管理 内存分配和释放 CUDA编程模型存在HOST和DEVICE两个异构系统,每个异构系统都有独立的内存空间。 在HOST上,可以使用下面语句分配全局内存: cudaError_t cudaMalloc(void ** devPtr,size_t count) 要注意的是第一个参数,是指针的指针
VideoWriter 类 最近几个项目都需要保存相机图像数据,也就是存成视频。有的要求保存源视频,有的要求保存处理后的视频。 由于图像数据的读取是使用 OpenCV,目标检测框架也是建立在OpenCV的基础上,所以保存图像顺理成章也使用OpenCV。使用 OpenCV 的 VideoWriter
PCIe-GL26 先看看 PCIe-GL26 是个什么设备 本质上是个自带 Jetson Xavier 系统,且带有6路GMSL2接口的图像采集卡。 GMSL2:Gigabit Multimedia Serial Link 2,注意这个和 GIGABYTE 技嘉科技 没啥关系……GMSL翻译一下就

2024 年 07 月

安装显卡驱动 首先更新设备信息,不然可能会识别不出来 sudo update-pciids 更新后,将会显示你的显卡型号。信息的末尾的 rev a1,表示独显运行。 lspci | grep -i nvidia funnywii@4060Ti:~$ lspci | grep -i nvidia
记录自己常用的软件和环境在新Ubuntu系统下的配置。 系统环境:Ubuntu 20.04 LTS 系统架构:x86_64 软件安装 Clash 迷信上网必备。 首先下载软件 (作者已跑路) https://github.com/Dreamacro/clash/releases ,我下载的是 cla
世界坐标系->像素坐标系 转换过程可参见这篇文章:FunnyWii's Zone 机器视觉 - 单目相机入门 ,其中描述了世界坐标系->像素坐标系的转换过程。可以归结为下述公式: 世界坐标系->像素坐标系的过程描述的是单目相机的成像原理。我们在使用单目相机的过程中,更关心的往往是像素坐标系->世界坐
CUDA 内存模型 存储器的类型有两种: 可编程:显式控制哪些数据存放 不可编程:不能决定数据存储位置 在CPU层次结构中,一级缓存(L1 Cache)和二级缓存(L2 Cache)都是不可编程的。可编程的存储器类型包括: 寄存器 共享内存 本地内存 常量内存 纹理内存 全局内存 下图为上面提到的存
今天在 StackOverflow 上看到这么个问题:想把原图像中的一个点 g,通过内参和畸变参数映射到去畸变图像中的点 p,并获取这个点的坐标。 你以为我接下来会说:“xxx和我想的一样,但是我想错了,其实并不是这样....” 现在,我想说的只有“其实并不是这样”,因为我连map1和map2是啥我

2024 年 06 月

并行归约问题 先解释一下什么是归约(Reduction),归约是将某个计算问题变换为另一个问题的过程。在CUDA运算中,在向量中执行满足交换律和结合律的运算,被称为归约问题。每次迭代计算方式都是相同的(归),从一组多个数据最后得到一个数(约)^[1]^。比如当给定N个数值,求其SUM/MAX/MIN
深度图 深度图 (Depth Image, Depth Map),将图像中的每个像素都编码为相机到场景中某个点的距离,可以提供图像中物体的空间信息。深度图通过坐标转换可以转换为点云数据,organized点云也可以转换为深度图数据。 绝对深度和相对深度 绝对深度:空间中物体和相机间的距离,有量纲。

2024 年 05 月

主要是依靠 copyTo()方法实现图像的传递。 copyTo 内存分配:当源图像和目标图像 size和 type一致时,不会分配新内存;否则先申请新内存空间再拷贝 目标图像:可以将数据复制到指定的目标图像中,目标图像可以是已经存在的图像或者新图像。 MASK:通过MASK可以指定ROI clone
控制海康球头的3种方法 做了一些调查,目前控制海康相机的方法主要有三种 海康SDK,目前海康提供了多个平台的SDK,包括Windows,X86Linux和ARM Linux(Jetson),见HiKSDK onvif,不过这个库是基于Python2做的,用起来会有些麻烦。 HTTP方式。 树莓派py

2024 年 04 月

安装JDK Jetpack一般不带JDK,sudo apt install openjdk-11-jdk 装一个。 安装Bazel 针对Mediapipe这个项目,你需要使用的Bazel版本,取决于你下载的Mediapipe版本所使用的Bazel版本(有点绕,高可以,低不行)。 要问CMake能不能
这一部分是CUDA的核心部分,涉及到了硬件和程序的执行模型。 SM 流式多处理器(Stream Multi-processor,SM)是构建整个GPU的核心模块。GPU的硬件并行,是通过复制了多个SM来实现的。一个Block只能在一个SM上被调度。 下图包含了SM的关键组件 CUDA核心 (Core
CUDA编程结构 在GPU上执行的函数称为CUDA核函数(Kernel Function),核函数会被GPU上多个线程执行。典型的CUDA程序遵循如下模式: 把数据从CPU内存(HOST)拷贝至GPU内存(DEVICE) 调用该Kernel函数,对DEVICE中的数据进行操作 将数据从DEVICE传
写在前面(废话,请跳过) 本来自己的脑子里是不存在CUDA编程这个东西的,没错,就是压根儿没听说过。 之所以了解到这个东西,是因为最近开始做AVM (Around View Monitor),或者说SVS (Surrounding View System),利用4个广角相机,实现车辆周围的360°环