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