- 博客(55)
- 收藏
- 关注
原创 CPU也能跑模型:OpenVINO模型部署入门教程
OpenVINO)是英特尔推出的一个用于深度学习推理的开源工具套件,旨在帮助开发人员优化和部署深度学习模型,以在各种硬件平台上实现高性能的推理。OpenVINO跨平台支持OpenVINO支持多种硬件平台,包括英特尔的CPU、集成显卡、FPGA以及神经计算棒(),这使得开发人员能够在各种设备上进行高效的深度学习推理。模型优化OpenVINO提供了一系列工具和技术,可用于优化和转换深度学习模型,以便在目标硬件上实现更高的性能和效率,这包括模型压缩、量化、剪枝等技术。推理加速OpenVINO。
2024-11-05 13:57:15 635
原创 Transformer目标检测 | DETR论文解读
DETR是首个将应用到2D目标检测任务中的算法,由Facebook于2020年在论文《》中提出。与传统目标检测算法不同的是,DETR将目标检测任务视为一个直接的集合预测问题,采用基于集合的全局损失通过二分匹配实现一对一的预测输出,不需要非极大值抑制(NMS)和手工设计Anchor这些操作,基于的编码器-解码器架构实现了端到端的目标检测,整个实现流程非常简单明了。如果对Transformer模型结构解析与Python代码实现。
2024-08-15 09:12:11 1032
原创 自动驾驶3D占用预测(Occupancy Prediction)算法调研
在自动驾驶感知任务中,传统的3D场景理解方法大多数都集中在3D目标检测上,难以描述任意形状和无限类别的真实世界物体。3D占用网络()是特斯拉在2022年提出的一种新型感知网络,这种感知网络借鉴了机器人领域中的占用网格建图的思想,将感知环境以一种简单的形式进行在线3D重建。简单来说,就是将机器人周围的空间划分为一系列网格单元,然后定义哪个单元被占用,哪个单元是空闲的,通过预测3D空间中的占用概率来获得一种简单的3D空间表示,这样就可以更全面地实现3D场景感知。近期对最近几年自动驾驶领域中的3D。
2024-08-08 08:34:50 1518
原创 BEV感知算法 | FastBEV论文解读
FastBEV在M2BEV的基础上对视图变换方法做了一些优化,加入BEVDet4D中的时序融合方法,是一个高性能、推理速度快、部署友好的BEV感知算法。在读FastBEVBEV感知算法 | LSS论文与代码详解BEV感知算法 | BEVDet系列算法论文解读BEV感知算法 | M2BEV论文解读。
2024-07-18 08:54:07 1331
原创 BEV感知算法 | M2BEV论文解读
3D目标检测和BEV分割。传统的3D目标检测主要依赖于激光雷达输出的点云,但是使用激光雷达的成本比较高,另一个选择是使用多个相机的图像作为输入去实现车身周围360°的目标检测任务。BEV分割的目标是在BEV框架中对周围环境进行语义分割,比如可行驶区域和车道边界的分割。在一个统一的框架中去感知周围物体和环境的能力是自动驾驶车辆的核心要求,但是现有的基于相机的方法并不适合做360°多任务感知,M2BEV提出一种高效地将多个视角的2D。
2024-07-17 08:37:33 1255
原创 BEV感知算法 | BEVDet系列论文解读
本文首发于公众号【DeepDriving】,欢迎关注。BEVDet系列算法是鉴智机器人开源的BEV感知算法,基于LSS提出的方法实现从图像空间到BEV空间的视图变换。本文将对该系列算法的论文加以解读,如果对LSS。
2024-07-04 08:41:08 2427
原创 BEV感知算法 | LSS论文与代码详解
最近几年,BEV感知是自动驾驶领域中一个非常热门研究方向,其核心思想是把多路传感器的数据转换到统一的BEV空间中去提取特征,实现目标检测、地图构建等任务。如何把多路相机的数据从二维的图像视角转换到三维的BEV视角?LSS提出一种显示估计深度信息的方法,实现图像特征到BEV特征的转换,从而实现语义分割任务。LSS是英伟达在ECCV2020上发表的文章《》中提出的一个BEV感知算法,后续很多BEV感知算法如CaDDNBEVDet都是在LSS的基础上实现的。本文将结合论文和代码详细解读LSS的原理。
2024-06-28 17:43:24 1536
原创 Transformer模型结构解析与Python代码实现
2017年,谷歌研究人员在《》这篇论文中提出了模型,该模型最初是被用于机器翻译任务中。由于其良好的可并行性和强大的特征提取能力,模型在随后的几年中被用到自然语言处理、语音识别、计算机视觉等各个领域中,并表现出优异的性能。本文基于论文的内容解读模型的各个组成部分,然后用Python实现一个完整的模型。本文主要从《》这篇论文的内容来解读模型的结构,初学者看到可能还是不太能理解里面的细节。网上关于模型解读的资料非常多,本文参考资料里列举的几篇博客个人认为写得非常好,推荐大家都读一读。本文代码来源于参考资料[
2024-06-21 08:56:00 1221
原创 YOLOv10来啦!ONNX模型部署和性能对比了解一下
YOLOv10是清华大学最近开源的一个实时端到端的目标检测算法,解决了以往版本YOLO系列目标检测算法在后处理和模型架构方面的不足。通过消除非极大值抑制(NMS)操作和优化模型架构,YOLOv10在显著降低计算开销的同时还实现了最先进的性能。YOLOv10主干网络:使用增强版的CSPNet来提取图像特征,它能改善梯度流并减少计算量。颈部:采用PAN结构汇聚不同尺度的特征,有效地实现多尺度特征融合。一对多预测头:在训练过程中为每个对象生成多个预测,用来提供丰富的监督信号从而提高学习的准确性;
2024-05-29 15:53:13 3185 3
原创 AI模型部署实战:利用OpenCV的CUDA模块加速视觉模型部署流程
我在之前的文章《AI模型部署实战:利用CV-CUDA加速视觉模型部署流程》中介绍了如何使用CV-CUDA库来加速视觉模型部署的流程,但是CV-CUDA对系统版本和CUDA版本的要求比较高,在一些低版本的系统中可能无法使用。对于像我这种不会写CUDA代码又想用CUDA来加速模型部署流程的人来说要怎么办呢,其实还有一种方式,那就是使用OpenCV的CUDA接口。本文将介绍模块的基本使用方法(C++),以及如何使用这些接口来加速视觉模型部署。本文介绍了模块中图像处理接口的基本使用方法,用这些CUDA。
2024-05-14 08:48:26 1033 1
原创 基于YOLOv8分割模型实现垃圾识别
TACO是一个包含在不同环境下(室内、树林、道路和海滩)拍摄的垃圾图像数据集,这些图像中的垃圾对象被精细地用方框和多边形进行了标注,标注信息采用与COCO数据集一样的格式,总共有60个类别,不过有的类别标注得很少甚至没有。下图是TACO数据集中的一些标注示例:如果需要下载数据集,先执行下面的命令拉取官方的GitHub然后用Python如果下载过程中被中断了,只需重新执行download脚本即可继续下载。
2023-09-01 17:40:29 913 5
原创 AI模型部署-TensorRT模型INT8量化的Python实现
目前深度学习模型的参数在训练阶段基本上都是采用32位浮点(FP32)来表示,以便能有更大的动态范围用于在训练过程中更新参数。然而在推理阶段,采用FP32的精度会消耗较多的计算资源和内存空间,为此,在部署模型的时候往往会采用降低模型精度的方法,用16位浮点(FP16)或者8位有符号整型(INT8)来表示。从FP32转换为FP16一般不会有什么精度损失,但是FP32转换为INT8则可能会造成较大的精度损失,尤其是当模型的权重分布在较大的动态范围内时。虽然有一定的精度损失,但是转换为INT8。
2023-07-21 13:46:42 2188 31
原创 AI模型部署实战:利用CV-CUDA加速视觉模型部署流程
随着深度学习技术在计算机视觉领域的发展,越来越多的AI算法模型被用于目标检测、图像分割、图像生成等任务中,如何高效地在云端或者边缘设备上部署这些模型是工程师迫切需要解决的问题。一个完整的AI模型部署流程一般分为三个阶段:预处理、模型推理、后处理,一般情况下会把模型推理放在GPU或者专用的硬件上进行处理,预处理和后处理则是放在CPU上。对于一个计算机视觉任务来说,预处理和后处理操作往往会消耗较多的CPU资源且非常耗时,这点在嵌入式平台上尤其明显,如果可以将预处理和后处理的这些操作放到GPU。
2023-06-16 08:47:54 2443 4
原创 激光点云3D目标检测算法之CenterPoint
是CVPR 2021的论文《》中提出的一个激光点云3D目标检测与跟踪算法框架,与以往算法不同的是,该算法不用边界框而是提出用关键点来表示、检测和跟踪3D目标:在检测流程中,第一阶段先用一个关键点检测器去检测目标的中心点,然后再用中心点特征回归出目标的3D尺寸、朝向和速度等属性,第二阶段再基于该目标额外的点特征去对这些属性进行优化;目标跟踪则被简化为一个简单的最近点匹配过程。提出的3D目标检测与跟踪算法非常简单而高效,在nuScenes和Waymo数据集上都取得了SOTA的性能表现。论文链接代码链接本文将对。
2023-05-19 17:19:38 2892 2
原创 CUDA教程-如何用CMake编译CUDA代码
编译CUDA代码可以使用NVCC但是这种方法只适合用来编译只有几个文件的CUDA代码,大规模的工程代码一般都使用CMake工具进行管理。本文介绍2种使用CMake编译CUDA代码的方法。之前写了几篇介绍CUDA编程的文章,后续有时间再继续写。
2023-04-07 17:29:13 1964 1
原创 多目标跟踪算法之DeepSORT
上篇文章介绍了多目标跟踪算法SORT,该算法虽然速度很快,但是也存在ID切换频繁等问题。针对这些问题,作者时隔一年后又在文章《》中提出了DeepSORT算法。与SORT仅仅采用边界框的IOU作为匹配时的距离度量不同的是,DeepSORT采用一种更可靠的距离度量方法,该方法结合了物体的运动和外观信息,其中外观信息是通过一个在大规模行人重识别数据集上离线训练的CNN网络提取的。基于这些改进,DeepSORT提升了跟踪算法的鲁棒性,将ID切换率减少了45%,并同时保持容易部署、高效运行的优点。DeepSORT。
2023-03-31 09:00:00 733
原创 多目标跟踪算法之SORT
SORT是2016年发表的一篇文章《》中提出的一个经典的多目标跟踪算法,该算法结合常用的卡尔曼滤波器和匈牙利匹配算法实现了一个简单的在线多目标跟踪框架。由于其超简单的设计,SORT可以以260 Hz的更新速率实现多目标跟踪,远超当时其它的目标跟踪算法。SORT目标跟踪算法仅使用卡尔曼滤波器和匈牙利算法解决帧与帧之间的状态预测和数据关联问题,跟踪的效果高度依赖于目标检测结果的好坏,算法整体设计非常简单,在速度和精度上取得较好的平衡,主要体现一个“快”字。当然,速度提升必然导致精度损失,SORT。
2023-03-29 08:52:23 1909 4
原创 基于最小二乘法的多项式曲线拟合:从原理到c++实现
本文首先介绍两种基于最小二乘法的多项式拟合方法的原理,然后基于`OpenCV`用`c++`编写了这两种拟合方法的代码,最后通过一个完整的示例来展示如何通过一个离散点集拟合出一条多项式曲线。
2023-03-17 08:15:00 6805 10
原创 windows11远程连接Ubuntu桌面
在日常开发过程中,很多时候是这样一种情形:一台装了Ubuntu系统的计算机作为远程服务器,开发人员则使用带Windows系统的计算机去连服务器进行开发。连接服务器的方式有很多种,最简单的就是使用ssh登录,这种方式基本上是命令行模式,有的时候还是不太方便。如果想要远程连接Ubuntu桌面直接使用图像界面该怎么操作呢?本文将介绍一种简单的方法。
2023-01-19 15:34:41 13466 14
原创 如何用TensorRT部署YOLOv7
本文将介绍如何用TensorRT的C++接口部署YOLOv7目标检测模型,并在两种显卡上测试了各个模型的性能。
2022-12-07 09:32:37 2105 9
原创 如何通过球面投影(Spherical Projection)将点云转换为距离图像(Range Images)
以图文和代码的方式介绍如何通过球面投影(Spherical Projection)将点云转换为距离图像(Range Images)
2022-08-17 10:44:17 2590 16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人