Algorithm[60]
我还在学CUDA编程(四)——内存的层次结构
CUDA 内存模型 存储器的类型有两种: 可编程:显式控制哪些数据存放。 不可编程:不能决定数据存储位置。 在 CPU 层次结构中,一级缓存(L1 Cache)和二级缓存(L2 Cache)都是不可编程的。 可编程的存储器类型包括: 寄存器 共享内存 本地内存 常量内存 纹理内存 全局内存 下图为上
继续学CUDA编程(三) —— CUDA执行模型(下)
并行归约问题 先解释一下什么是 归约(Reduction),归约是将某个计算问题变换为另一个问题的过程。在 CUDA 运算中,在向量中执行满足交换律和结合律的运算,被称为归约问题。每次迭代计算方式都是相同的(归),从一组多个数据最后得到一个数(约)^{[1]}。比如当给定 N 个数值,求其 SUM/
单目相机的深度图,以及绝对深度和相对深度
深度图 深度图(Depth Image, Depth Map)会将图像中的每个像素编码为相机到场景中某个点的距离,从而提供图像中物体的空间信息。 需要注意的是,不同场景下深度的定义可能略有差异。有些传感器中,深度表示的是相机坐标系下沿光轴方向的 Z 值;有些场景中,深度也可能表示空间点到相机中心的欧
继续学CUDA编程(三)——CUDA执行模型(上)
这一部分是 CUDA 的核心部分,涉及到了硬件和程序的执行模型。 CUDA 的执行层级是 Grid → Block → Warp → Thread,而真正被硬件调度的基本单位其实是 Warp,而不是 Thread。 然后必须先记住 CUDA 的约定: threadIdx.x → 列(col) thr
“我还要学CUDA编程!”(二)——CUDA编程模型
CUDA 编程结构 在 GPU 上执行的函数称为 CUDA 核函数(Kernel Function),核函数会被 GPU 上多个线程执行。典型的 CUDA 程序遵循如下模式: 把数据从 CPU 内存(Host)拷贝至 GPU 内存(Device) 调用该 Kernel 函数,对 Device 中的数
”我要学CUDA编程!“ —— 来自一个废物的自白
写在前面(废话,请跳过) 本来自己的脑子里是不存在 CUDA 编程这个东西的,没错,就是压根儿没听说过。 之所以了解到这个东西,是因为最近开始做 AVM(Around View Monitor),或者说 SVS(Surrounding View System),利用 4 个广角相机,实现车辆周围的
车道线的多项式曲线拟合
离散点平滑 基于优化的离散点平滑 模型检测到的车道线,最终输出的是车道线的点坐标 \textstyle (x,y),这些点能够大致描述车道线在画面中的位置。但如果想要拟合出车道线的高阶方程,可能还是不够平滑,一些离散点会影响拟合的效果。 优化变量:车道线点坐标 \textstyle (x_i,y_i
车道线检测功能综述【深度学习方法】
深度学习方法 车道线检测常用数据集见 FunnyWii's Zone 车道线检测功能综述【传统方法】 基于分割的方法 基于分割的方法利用语义分割或实例分割来区分图像中的车道线、其他物体和背景。这类方法将车道线检测问题转化为像素级分类问题,会对场景图片中的像素进行分类,判断该像素是否属于车道线。 由于
车道线检测功能综述【传统方法】
车道线检测技术 车道线检测技术是计算机视觉和自动驾驶领域中的关键技术之一,它能够帮助车辆在道路上识别和跟踪车道线,从而实现车道保持、辅助驾驶和自动驾驶等功能。 车道线检测方法总体上可以分为传统方法和基于深度学习的方法。 车道线数据集 数据集 数量 尺寸 场景 特点 TuSimple 72k 1280
mmyolo目标检测之边用边学(笨鸟快飞边学边更版)
写在前面 为什么不直接输出一堆内容,主要是因为自己太菜了。上学时的那些深度学习知识,已经差不多都还给老师了,而且工程应用又是另一码事。所以我就一边用 MMYOLO 框架训模型,一边从头学起。 快成炼丹师了,不过对如何调整 hyperparameters 还是一点头绪都没。以下提到的功能使用方式,都可