为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
OpenCV后续的踩坑实录和解决办法
GLIBCXX_3.4.x not found 解决方案 这个问题通常和 libstdc++ 版本有关。我的情况最开始出现在 Python 版 OpenCV 上,因此可以先尝试重新安装 Python 版 OpenCV: pip install opencv-python
需要注意,pip inst
单目视觉的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 是纵向距离控制,需要能够发现目标,测量相对速度和相对距离,并预测目标的运动轨迹。 对于测距而言,最直接的方法是采用毫米波雷达、激光雷达和双目相机。那为什么还要用单目呢?核心原因还是成本。单目相机便宜、部署简单,但也带来两个
CMakeList.txt 学习笔记
编写 CMakeLists.txt 最常用的功能,就是调用其他 .h 头文件和 .so / .a 库文件,将 .cpp、.c、.cc 文件编译成可执行文件,或者编译成新的库文件。 CMakeLists.txt 内容 set # CMake 最低版本要求
cmake_minimum_required(
ROS入门 - 如何订阅数组型消息
为什么要订阅数组型消息 比如在这个场景下:YOLO 在场景中检测到多个目标,并通过其他算法得到了目标的 ID、class、位置、速度等信息。这些信息会作为避障或局部路径规划的依据。一台自动驾驶汽车或机器人上的其他算法模块也可能需要这些信息,这种时候会用 ROS 来进行通讯。 假设这是需要发布的 ms