视觉 [40]
道路目标流量统计算法
实现流量统计算法有两个前提: 能够实现目标检测,最基本的前提,必须能够识别到视频帧中的车辆和行人。 能够进行目标跟踪,在检测的基础上,为目标分配一个唯一的ID。流量计数依赖于目标的唯一ID。 目标检测算法以YOLO系列为例。 跟踪算法以 ByteTrack 跟踪结果为例。将检测结果的 objects
面向自动驾驶的端到端感知技术及发展趋势
摘要:近年来,随着深度学习技术的发展和硬件算力的持续增强,自动驾驶技术被越来越多地应用到不同场景中。视觉感知、激光雷达感知和多传感器融合感知技术也在这些年得到了迅速发展。本文首先回顾近年来自动驾驶感知技术的相关工作,然后介绍这些工作所使用的方法与技术,随后整理并介绍自动驾驶感知常用的数据集和评价指标
PCIe-GL26设备将GMSL相机图像发送至HOST端
PCIe-GL26 先看看 PCIe-GL26 是个什么设备。 本质上,它是一个自带 Jetson Xavier 系统,且带有 6 路 GMSL2 接口的图像采集卡。 GMSL2 是 Gigabit Multimedia Serial Link 2,注意这个和 GIGABYTE 技嘉科技 没啥关系。
单目相机像素坐标系到世界坐标系的转换
世界坐标系 -> 像素坐标系 转换过程可参见这篇文章:FunnyWii's Zone 机器视觉 - 单目相机入门,其中描述了世界坐标系 -> 像素坐标系的转换过程。可以归结为下述公式: Z_c \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = K \begin{
OpenCV 的 remap() 函数中的 map1 和 map2
今天在 StackOverflow 上看到这么个问题:想把原图像中的一个点 \textstyle g,通过内参和畸变参数映射到去畸变图像中的点 \textstyle p,并获取这个点的坐标。 你以为我接下来会说,xxx 和我想的一样,但是我想错了,其实并不是这样。 现在,我想说的只有其实并不是这样,
单目相机的深度图,以及绝对深度和相对深度
深度图 深度图(Depth Image, Depth Map)会将图像中的每个像素编码为相机到场景中某个点的距离,从而提供图像中物体的空间信息。 需要注意的是,不同场景下深度的定义可能略有差异。有些传感器中,深度表示的是相机坐标系下沿光轴方向的 Z 值;有些场景中,深度也可能表示空间点到相机中心的欧
使用Python控制海康球头相机运动的方法
控制海康球头的 3 种方法 做了一些调查,目前控制海康球头相机的方法主要有三种: 海康官方 SDK。海康开放平台提供了多个平台的 SDK,包括 Windows、x86 Linux 和 ARM Linux(Jetson)等。Jetson 平台通常应选择 ARM 64 位 Linux 版本 ONVIF。
Jetson Orin部署Mediapipe Holistic检测
安装 JDK JetPack 一般不带 JDK,可以先安装 OpenJDK 11: sudo apt install openjdk-11-jdk
安装 Bazel 针对 MediaPipe 这个项目,需要使用的 Bazel 版本通常取决于当前 MediaPipe 版本指定的 Bazel 版本。更
车道线的多项式曲线拟合
离散点平滑 基于优化的离散点平滑 模型检测到的车道线,最终输出的是车道线的点坐标 \textstyle (x,y),这些点能够大致描述车道线在画面中的位置。但如果想要拟合出车道线的高阶方程,可能还是不够平滑,一些离散点会影响拟合的效果。 优化变量:车道线点坐标 \textstyle (x_i,y_i
车道线检测功能综述【深度学习方法】
深度学习方法 车道线检测常用数据集见 FunnyWii's Zone 车道线检测功能综述【传统方法】 基于分割的方法 基于分割的方法利用语义分割或实例分割来区分图像中的车道线、其他物体和背景。这类方法将车道线检测问题转化为像素级分类问题,会对场景图片中的像素进行分类,判断该像素是否属于车道线。 由于
车道线检测功能综述【传统方法】
车道线检测技术 车道线检测技术是计算机视觉和自动驾驶领域中的关键技术之一,它能够帮助车辆在道路上识别和跟踪车道线,从而实现车道保持、辅助驾驶和自动驾驶等功能。 车道线检测方法总体上可以分为传统方法和基于深度学习的方法。 车道线数据集 数据集 数量 尺寸 场景 特点 TuSimple 72k 1280
为ARM架构下的OpenCV添加FFMPEG支持
之前自己从未考虑过这个问题。每次手动编译 OpenCV 的时候,cmake 后面的 -D xxx对我来说只是添加某个支持,但我并不知道 OpenCV 编译本身也是依靠 CMake 配置完成的,而 CMake 找到这些依赖,很多时候又依靠 pkg-config 工具。 文章最下方是我在编译 OpenC
mmyolo目标检测之边用边学(笨鸟快飞边学边更版)
写在前面 为什么不直接输出一堆内容,主要是因为自己太菜了。上学时的那些深度学习知识,已经差不多都还给老师了,而且工程应用又是另一码事。所以我就一边用 MMYOLO 框架训模型,一边从头学起。 快成炼丹师了,不过对如何调整 hyperparameters 还是一点头绪都没。以下提到的功能使用方式,都可
YOLOv8的训练和C++部署
相比之前的模型,YOLOv8 引入了新的 backbone、新的 Anchor-Free 检测头和新的损失函数,可以在从 CPU 到 GPU 的多种硬件平台上运行。 模型的训练 - Ultralytics 最开始我是使用 Ultralytics 框架训练,因为这个框架非常简单。不过它导出的 bind
Jetson - ARM架构下的 torch 和 torchvision 的安装 (支持CUDA)
This post is outdated and may no longer reflect current best practices. 写在前面 ARM 架构下的 torch 安装比较烦人,不是麻烦,而是烦人。 网络上很多教程虽然写着 Jetson 的 torch 安装,但基本都是用 PyP
单目视觉的3D目标方向 - Orientation of 3D Object in Monocular
方向的概念 单目相机的 3D 目标检测,是从 2D 图像中估计目标的 3D BBox,包括位置、尺寸和方向。其中,目标方向估计是很重要的一环。 在单目相机 3D 视觉检测中,需要先理解一组重要概念:Egocentric 自我中心和Allocentric 客体中心。 这两个概念来自空间认知领域。Ego
单目相机的3D目标检测 - 3D Object Detection using Monocular
写在前面 即便 CNN 检测出的 2D bbox 能为目标深度提供一些线索,后续的预测、规划和运动控制仍然需要更完整的 3D 信息,包括目标的位置、尺寸、方向和速度等。更何况,如果能够恢复目标的 3D 信息,对测距精度的提升也会有很大帮助。 激光雷达和深度相机固然精度很高,但是贵。而且在 Lidar
单目相机的测距 - The Distance Estimation of Monocular Camera
正文 在 ADAS 中,测距这项需求一般源于自适应巡航控制(ACC)。ACC 是纵向距离控制,需要能够发现目标,测量相对速度和相对距离,并预测目标的运动轨迹。 对于测距而言,最直接的方法是采用毫米波雷达、激光雷达和双目相机。那为什么还要用单目呢?核心原因还是成本。单目相机便宜、部署简单,但也带来两个
机器视觉 - 单目相机入门
单目相机成像原理 几个概念 光轴:垂直穿过理想透镜中心的光线 焦点:与光轴平行的光线射入凸透镜时,所有光线会聚在透镜后方一点,该点称为焦点 焦距:镜片中心到焦点在光轴上的距离。入射平行光线(或其延长线)与出射会聚光线(或其延长线,下图中红色虚线)相交,可确定折射主面;该想象平面与光轴的交点即主点 光
关于机器视觉(Machine Vision ACS61012)这门课
随便说说 授课老师是 Professor Lyudmila Mihaylova,我们叫她mila。看名字应该是一个斯拉夫人,在大毛和二毛刚刚开打的时候,我们一致猜测她是大毛的,理由:NULL。 mila的声音轻轻的,而且本人看起来也十分的文静,可能从小到大是一个乖乖女吧。总之我十分敬佩这些从大毛二毛