
人工智能
文章平均质量分 93
分享AI技术文章
一颗小树x
计算机专业,某车企的算法工程师;曾获华为云-云享专家,华为云-云创 首席贡献官,阿里云-专家博主等荣誉。
展开
-
ChatGPT发展与技术基础
ChatGPT是对话场景的大语言模型,可以回答问题、承认错误、挑战不正确的前提、拒绝不适当的请求,同时拥有惊艳的思维链推理能力和零样本下处理问题能力。。更贴近人的方式与使用者互动;在理解人类意图、精准回答问题、流畅生成结果方面远超人类预期。ChatGPT基于Transformer进行特征提取,采用Decoder-Only方式,由两阶段到一阶段:单向语言模型预训练+zero shot/ few shot prompt/ Instruct。原创 2023-07-01 20:27:42 · 3513 阅读 · 0 评论 -
【论文阅读】BiSeNet V2用于实时语义分割的双边网络
BiSeNet V2延续了v1版本的双边结构,分别处理空间细节信息高层语义信息。同时设计更简洁高效的结构,进行特征提取,实现高精度和高速度。在训练模型时,使用了增强训练策略,添加多个辅助训练分支来促进不同浅层网络的特征提取能力。还设计了一个高效的特征融合模块,对空间细节信息、高级语义信息进行融合。这个模型代码开源,亲自测试过(PyTorch版本),精度和速度都挺不错的;也适合部署到开发板,进行落地应用。原创 2023-03-19 18:37:50 · 1329 阅读 · 1 评论 -
ChatGPT写程序如何?
ChatGPT最近挺火的,据说还能写程序,感到有些惊讶。于是在使用ChatGPT有一周左右后,分享一下用它写程序的效果如何。原创 2023-02-21 23:02:18 · 13684 阅读 · 0 评论 -
“生成音乐“ 【循环神经网络】
本文介绍循环神经网络的进阶案例,通过搭建和训练一个模型,来对钢琴的音符进行预测,通过重复调用模型来进而生成一段音乐;使用到Maestro的钢琴MIDI文件 ,每个文件由不同音符组成,音符用三个量来表示:音符名、音高、持续时间。通过搭建和训练循环神经网络模型,输入一系列音符能预测下一个音符。原创 2023-02-19 22:20:38 · 791 阅读 · 0 评论 -
SE 注意力模块 原理分析与代码实现
本文介绍SE注意力模块,它是在SENet中提出的,SENet是ImageNet 2017的冠军模型;SE模块常常被用于CV模型中,能较有效提取模型精度,所以给大家介绍一下它的原理,设计思路,代码实现,如何应用在模型中。后面还会介绍其它注意力模型:SK-Nets、CBAM、DANet、ECA-Net、CA等注意力模块。原创 2022-09-24 11:46:14 · 17953 阅读 · 3 评论 -
视觉 注意力机制——通道注意力、空间注意力、自注意力
本文介绍注意力机制的概念和基本原理,并站在计算机视觉CV角度,进一步介绍通道注意力、空间注意力、混合注意力、自注意力等。原创 2022-09-18 10:15:32 · 113455 阅读 · 1 评论 -
TensorRT 模型加速 1-输入、输出、部署流程
前言本文首先简要介绍 Tensor RT 的输入、输出以及部署流程,了解 Tensor RT 在部署模型中起到的作用。然后介绍 Tensor RT 模型导入流程,针对不同的深度学习框架,使用不同的方法导入模型。一、TensorRT 简介训练主要是获得层与层之间的权重参数,目的是为了获得一个性能优异的模型,关注点集中在模型的准确度、精度等指标。推理(inference)则不一样,其没有了训练中的反向迭代过程,只是针对新的数据进行预测。相较于训练,推理的更关注的是部署简单、处理速度快、原创 2022-04-07 18:02:49 · 6200 阅读 · 0 评论 -
卡尔曼滤波 KF | 扩展卡尔曼滤波 EKF (思路流程和计算公式)
前言本文分析卡尔曼滤波和扩展卡尔曼滤波,包括:思路流程、计算公式、简单案例等。滤波算法,在很多场景都有应用,感觉理解其思路和计算过程比较重要。目录一、卡尔曼滤波1.1 KF计算公式1.2 KF迭代过程1.3 KF使用说明二、卡尔曼滤波案例——多目标跟踪2.1卡尔曼滤波器——预测阶段2.2卡尔曼滤波器——更新阶段三、扩展卡尔曼滤波 EKF3.1EKF计算公式3.2 EKF迭代过程1.3 EKF使用说明一、卡尔曼滤波卡尔曼滤波思想由 ka...原创 2022-03-31 19:52:29 · 23380 阅读 · 0 评论 -
【论文解读】SMOKE 单目相机 3D目标检测(CVPR2020)
前言SMOKE是一种用于自动驾驶的实时单目 3D 物体检测器。为什么会注意这边文章呢?是因为这两天发布的百度Apollo 7.0的摄像头障碍物感知,也是基于这个模型改进的;于是令我产生了一些兴趣。论文名称:SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation论文地址:https://arxiv.org/pdf/2002.10111.pdf开源地址:https://github.com/lzccc..原创 2022-01-15 14:11:14 · 2499 阅读 · 0 评论 -
NVIDIA Jetson AGX Xavier DeepSort tensorRT部署和加速 C++版
前言在实现NVIDIA Jetson AGX Xavier 部署Deepsort + Python版本的深度学习环境,然后能正常推理、检测和跟踪后;发现模型速度不够快,于是使用tensorRT部署,加速模型,本文介绍C++版本的。版本介绍:tensorrtx;Jetpack 4.5 [L4T 32.5.0]、CUDA: 10.2.89。Deepsort 的原理参考我这篇文章:【论文解读】Sort、Deep-Sort多目标跟踪算法_黎国溥-优快云博客_sort 多目标跟踪一、快速实现版本原创 2022-01-13 20:51:48 · 235 阅读 · 0 评论 -
NVIDIA Jetson AGX Xavier YOLOv5 tensorRT部署和加速 C++版
前言在实现NVIDIA Jetson AGX Xavier 部署YOLOv5的深度学习环境,然后能正常推理跑模型后;发现模型速度不够快,于是使用tensorRT部署,加速模型,本文介绍C++版本的。版本介绍:yolov5 v6.0、tensorrtx;Jetpack 4.5 [L4T 32.5.0]、CUDA: 10.2.89。前提参考:NVIDIA Jetson AGX Xavier YOLOv5应用与部署_黎国溥-优快云博客我测试了 kitti 数据集的100张图片:加速后每一张图像,原创 2022-01-09 21:07:13 · 490 阅读 · 0 评论 -
NVIDIA Jetson AGX Xavier YOLOv5应用与部署
前言在NVIDIA Jetson AGX Xavier 部署YOLOv5的深度学习环境,然后能正常推理跑模型。目录一、安装虚拟环境二、创建环境三、安装torch、torchvision3.1安装torch3.2安装torchvision3.3 测试torch、torchvision四、安装YOLOv5依赖库五、测试模型六、NVIDIA Jetson 开发常用命令一、安装虚拟环境Xavier 是arm架构的,无法正常无法安装Anaconda或Mini..原创 2022-01-08 21:40:34 · 721 阅读 · 0 评论 -
CVPR2020 SMOKE 单目相机 3D目标检测【环境搭建篇】
前言SMOKE是一种用于自动驾驶的实时单目 3D 物体检测器。为什么会注意这边文章呢?是因为这两天发布的百度Apollo 7.0的摄像头障碍物感知,也是基于这个模型改进的;于是令我产生了一下兴趣。论文名称:SMOKE: Single-Stage Monocular 3D Object Detection via Keypoint Estimation论文地址:https://arxiv.org/pdf/2002.10111.pdf开源地址:https://github.com/lzcccc.原创 2021-12-30 19:18:52 · 5457 阅读 · 10 评论 -
YOLOv5 网络组件与激活函数 代码理解笔记
前言最近在看YOLOv5 第6个版本的代码,记录了一下笔记,分享一下。首先看了网络结构、网络组件,对应代码models\common.py。然后看了激活函数,对应代码utils\activations.py。目录【1】python 把if 写在一行的两种方式【2】Python isinstance() 函数【3】python - 理解python嵌套一行for循环【4】python 单斜杠/和双斜杆//的区别【5】in的详解【6】group convolution (分组原创 2021-12-19 21:08:31 · 5686 阅读 · 0 评论 -
立体匹配算法(局部立体匹配 、全局立体匹配 、深度学习立体匹配 )
前言双目立体匹配的原理类似于人类的视觉原理:分别单独使用左眼和单独使用右眼去观察一个物体,该物体在两个视角中的相对位置会存在一定的偏移,人类视觉系统可以根据该偏移去判断该物体的距离远近。同样的,在双目立体匹配中,只要能在两张图像中正确地找到匹配点,结合相机的内部参数和外部参数,就能精准地计算出空间点距离拍摄相机的距离。一、立体匹配简介双目立体视觉一般是指使用两个摄像机从不同的角度获取同一个场景的左右视图,然后使用双目立体匹配算法来寻找左右视图中的匹配像素点对,最后利用三角测量原理来还原创 2021-11-19 23:15:08 · 8723 阅读 · 0 评论 -
双目测距 BM算法 Python版
前言首先进行双目定标,获取双目摄像头内部的参数后,进行测距。本次的双目视觉测距,基于BM算法。注意:双目定标的效果会影响测距的精准度,建议大家在做双目定标时,做好一些(尽量让误差小)如果不太了解双目视觉原理,建议先看看这篇文章:一篇文章认识《双目立体视觉》一、双目测距 效果基于BM算法,生成视差图的效果用鼠标点击视差图,程序会自动计算该点的世界坐标、距离,输出信息如下:像素坐标 x = 523, y = 366世界坐标xyz 是: 0.37038836...原创 2021-09-17 17:33:13 · 12619 阅读 · 33 评论 -
双目测距 SGBM算法 Python版
前言首先进行双目定标,获取双目摄像头内部的参数后,进行测距。本次的双目视觉测距,基于SGBM算法。注意:双目定标的效果会影响测距的精准度,建议大家在做双目定标时,做好一些(尽量让误差小)如果不太了解双目视觉原理,建议先看看这篇文章:一篇文章认识《双目立体视觉》一、双目测距 效果基于SGBM算法,生成视差图的效果用鼠标点击视差图,程序会自动计算该点的世界坐标、距离,输出信息如下:像素坐标 x = 523, y = 366世界坐标xyz 是: 0.37038836669.原创 2021-09-17 01:12:29 · 9600 阅读 · 19 评论 -
PointNet、PointNet++ 基于深度学习的3D点云分类和分割
前言PointNet是直接对点云进行处理的,它对输入点云中的每一个点,学习其对应的空间编码,之后再利用所有点的特征得到一个全局的点云特征。Pointnet提取的全局特征能够很好地完成分类任务,但局部特征提取能力较差,这使得它很难对复杂场景进行分析。PointNet++核心是提出了多层次特征提取结构,有效提取局部特征提取,和全局特征。一、PointNetPointNet是直接对点云进行处理的,它对输入点云中的每一个点,学习其对应的空间编码,之后再利用所有点的特征得到一个全局的点云特征。原创 2021-09-10 17:41:06 · 1704 阅读 · 0 评论 -
YOLOv5 目标检测
前言YOLOv5官方发布的代码中,检测网络共有四个版本,依次为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 。其中YOLOv5s是“深度”和“特征图宽度”均最小的网络,另外三种可以认为是在其基础上,进行了加深、加宽。看一下YOLOv5各个版本,在 COCO 数据集中的性能对比:Model size (pixels) mAPval 0.5:0.95 mAPtest 0.5:0.95 mAPval 0.5 Speed原创 2021-09-01 18:01:02 · 6382 阅读 · 0 评论 -
【论文解读】Sort、Deep-Sort多目标跟踪算法
前言基于视觉的目标跟踪在智能监控、动作与行为分析、自动驾驶等领域都有重要的应用。例如,在自动驾驶系统中,目标跟踪算法要对运动的车、行人、其他物体的运动进行跟踪,对它们的未来的位置、速度等信息作出预测。多目标跟踪,Multiple Object Tracking,并不是简单的多个单目标跟踪,因为它不仅涉及到各个目标的持续跟踪,还涉及到不同目标之间的身份识别、自遮挡和互遮挡的处理,以及跟踪和检测结果的数据关联等。Sort算法Sort算法,是一种简单的在线实时多目标跟踪算法。它以“每个检测”与原创 2021-08-27 18:39:11 · 3883 阅读 · 6 评论 -
【论文解读】SCNN 用于交通场景理解的空间CNN
前言Spatial CNN,这里的Spatial不是指Spatial Convolution,而是通过特殊设计的CNN架构传递空间信息,更有效的学习空间关系,简称SCNN;它提出了一种新的神经网络结构用于提取特征。传统的网络结构是卷积层接收来自前一层的输入,应用卷积运算和激活函数,并将结果发送到下一层;该过程按顺序完成,一层一层传递下去。但SCNN是先对这部分输入特征进切片,再按照下、上、右、左四种顺序进行卷积。比如:一个三维的特征,相当于一个立方体,先进行横切片,分别进下、上顺序进行卷积。再原创 2021-08-25 23:46:22 · 3087 阅读 · 4 评论 -
【经典论文解读】YOLOv4 目标检测
前言YOLO是一种目标检测方法,它的输入是整张图片,输出是n个物体的检测信息,可以识别出图中的物体的类别和位置。YOLOv4是在YOLOv3算法的基础上增加了很多实用的技巧,使得它的速度与精度都得到了极大的提升。YOLOv4版本设计思路如下:输入端:在模型训练阶段,使用了Mosaic数据增强、cmBN跨小批量标准化、SAT自对抗训练;BackBone层:也称主干网络,使用CSPDarknet53网络提取特征;同时使用Mish激活函数、Dropblock正则化;CSP 跨阶段部分连接。N.原创 2021-08-14 17:49:37 · 7567 阅读 · 10 评论 -
【经典论文解读】YOLOv3 目标检测
前言YOLO是一种目标检测方法,它的输入是整张图片,输出是n个物体的检测信息,可以识别出图中的物体的类别和位置。YOLOv3相对v2版本,准确度和速度差不多,但对小目标检测更好。v3版本主要的改进是使用Darknet-53主干网络提取特征、多尺度特征检测(FPN结构)、对象分类采用Logistic取代softmax。它延续了v2版本部分特点:采用先验框Anchor Boxes、聚类提取先验框尺度、约束预测边框的位置、批归一化BN、去除全连接层。v1版本没有采用先验框,每个网格只预测两个边界框原创 2021-08-08 19:00:01 · 1290 阅读 · 0 评论 -
【经典论文解读】YOLOv2 目标检测
前言YOLO是一种目标检测方法,它的输入是整张图片,输出是n个物体的检测信息,可以识别出图中的物体的类别和位置。YOLOv2相对v1版本,更准确,速度更快,识别对象更多。v2版本主要的改进是采用先验框Anchor Boxes、聚类提取先验框尺度、约束预测边框的位置;这点和v1版本差异较大,v1版本没有采用先验框,每个网格只预测两个边界框。v1版本这两个边界框“没有预先设计”框的大小和形状,而是模型生成,然后回归调整的;也没有对每个边界框输出一个对象预测,而是一个网格只预测一个对象类别。还有一原创 2021-08-04 19:50:11 · 608 阅读 · 1 评论 -
【经典论文解读】YOLO 目标检测
前言YOLO是一种目标检测方法,它的输入是整张图片,当检测到目标物体时用边界框圈起来,同时给该目标物体一个类别;边界框由中心位置、宽、高等来表示的;它的输出是n个物体的检测信息,每个物体的信息包括:中心位置(x,y)、高(h)、宽(w)、类别。YOLO的全称是you only look once,指只需要浏览一次就可以识别出图中的物体的类别和位置;它是通过归回的方式计算和优化边界框和类别。论文地址:You Only Look Once: Unified, Real-Time Object D原创 2021-08-03 23:05:06 · 3810 阅读 · 9 评论 -
【论文解读】Faster R-CNN 实时目标检测
前言Faster R-CNN在找到“待检测框”,使用了RPN;RPN全称是Region Proposal Network,也可理解为区域生成网络,或区域候选网络;它是用来提取候选框的。RPN特点是耗时少。Faster R-CNN是“RCNN系列算法”的杰出产物,也是two-stage中经典的物体检测算法。two-stage的过程是:第一阶段先找出图片中待检测物体的anchor矩形框。(对背景、待检测物体进行二分类) 第二阶段对anchor框内待检测物体进行分类。简单来说:先产生一些待检测框,原创 2021-07-28 21:19:49 · 619 阅读 · 0 评论 -
【论文解读】LaneNet 基于实体分割的端到端车道线检测
前言这是一种端到端的车道线检测方法,包含LanNet+H-Net两个网络模型。LanNet是一种多任务模型,它将 实例分割 任务拆解成“语义分割”和“对像素进行向量表示”,然后将两个分支的结果进行聚类,得到实例分割的结果。H-Net是个小网络,负责预测变换矩阵H,使用转换矩阵H对同属一条车道线的所有像素点进行重新建模。即:学习给定输入图像的透视变换参数,该透视变换能够对坡度道路上的车道线进行良好地拟合。整体的网络结构如下:论文地址:Towards End-to-E......原创 2021-07-27 22:10:06 · 6556 阅读 · 10 评论 -
【点云处理】基于深度学习模型的不同处理方式
点云数据由无序的数据点构成的一个集合;点与点之间是具有空间关系的;点云数据所代表的目标对某些空间转换应该具有不变性,如旋转和平移。点云数据处理方式,通常有:将点云数据投影到二维平面(多视图法)、将点云数据划分到有空间依赖关系的voxel(体素法)、直接在点云数据上应用深度学习模型(点云法)。原创 2021-07-26 22:03:59 · 2246 阅读 · 4 评论 -
【论文解读】FPN 用于目标检测的特征金字塔网络
FPN,全名是Feature Pyramid Networks,中文称为特征金字塔网络;它是目前用于目标检测、语义分割、行为识别等方面比较重要的一个部分,对于提高模型性能具有较好的表现。FPN的预测是在不同特征层独立进行的,即:同时利用低层特征高分辨率和高层特征的高语义信息,通过融合这些不同层的特征达到预测的效果。作者认为足够低层高分辨的特征对于检测小物体是很有帮助的。原创 2021-07-26 17:55:04 · 1612 阅读 · 2 评论 -
RPN(Region Proposal Network)提取候选框
RPN全称是Region Proposal Network,也可理解为区域生成网络,或区域候选网络;它是用来提取候选框的。在RCNN和Fast RCNN等物体检测架构中,提取候选框的方法通常是传统的Selective Search,比较耗时。在Faster RCNN中,RPN专门用来提取候选框,这也是RPN第一次被使用;RPN耗时少。原创 2021-07-24 17:33:37 · 5389 阅读 · 4 评论 -
【论文解读】F-PointNet 使用RGB图像和Depth点云深度 数据的3D目标检测
F-PointNet融合了视觉图像和激光雷达点云信息;它出现提出了直接处理点云数据的方案。在进行点云处理之前,先使用图像信息得到一些先验搜索范围,这样既能提高效率,又能增加准确率。论文地址:Frustum PointNets for 3D Object Detection from RGB-D Data开源代原创 2021-07-22 23:02:41 · 2968 阅读 · 4 评论 -
【论文解读】AVOD-Net 用于自动驾驶的聚合视图3D对象检测网络
前言AVOD-Net和MV3D-Net比较像,AVOD-Net算是MV3D-Net的加强版。该论文通过聚合不同视角的数据,实现了自动驾驶场景下3D物体的实时检测。论文地址:Joint 3D Proposal Generation and Object Detection from View Aggregation开源代码:https://github.com/kujason/avod一、框架了解先看下总体网络结构:(可以点击图片放大查看)输入的数据:有二种,分别是点云俯.原创 2021-07-22 20:24:58 · 896 阅读 · 1 评论 -
【论文解读】MV3D-Net 用于自动驾驶的多视图3D目标检测网络
前言MV3D-Net融合了视觉图像和激光雷达点云信息;它只用了点云的俯视图和前视图,这样既能减少计算量,又保留了主要的特征信息。随后生成3D候选区域,把特征和候选区域融合后输出最终的目标检测框。论文地址:Multi-View 3D Object Detection Network for Autonomous Driving开源代码:https://github.com/bostondiditeam/MV3D一、框架了解先看下总体网络结构:(可以点击图片放大查看)输入的数原创 2021-07-22 18:21:36 · 4343 阅读 · 10 评论 -
深度学习框架指南
前言本文介绍深度学习的框架指南,基本是免费和开源的。包括:Keras、PyTorch、TensorFlow、Theano、MXNet、Caffe2、CNTK、Chainer等。文章结构分为“目录版”和“简介版”。原创 2021-07-04 23:03:52 · 2035 阅读 · 14 评论 -
制作标定板——matlab编程实现
前言传感器其标定时,需要用到标定板;可能是单传感器标定,例如:摄像头标定,获取内参。可能是多传感器之间标定,最近在做感知融合,需要激光雷达和摄像头标定,发现标定板原创 2021-06-05 22:27:13 · 1927 阅读 · 3 评论 -
【Tensorflow2.5—入门实践】综合篇——物体识别、花朵分类、猫狗识别、风格迁移、文本分类
前言本文综合整理神经网络的入门实践,原创 2021-05-24 22:17:57 · 1712 阅读 · 2 评论 -
迁移学习之快速实现【文本分类】
前言本文介绍神经网络的入门案例,通过搭建和训练一个模型,来对对电影评论进行文本分类;将影评分为积极(positive)或消极(nagetive)两类。这是一个二分类(binary)问题。使用到网络电影数据库(Internet Movie Database)的 IMDB 数据集(IMDB dataset),包含 50,000 条影评文本,这是二元情绪分类的数据集。TF封装的IMDB数据集本篇文章主要的意义是带大家熟悉神经网络的开发流程,包括数据集处理、搭建模型、训练模型、使用模型等;更重要原创 2021-05-21 00:56:52 · 1321 阅读 · 6 评论 -
神经网络之风格迁移【TF-Hub开源项目】
前言风格迁移,基于A图像内容,参考B图像的风格(名画,像毕加索或梵高一样绘画),创造出一幅新图像。本文基于TF-Hub开源项目进行开发,60多行代码快速实现神经网络的风格迁移,为方便大家使用,已经整理相关代码和模型到Github中,直接下载即可使用。一、模型效果二、原理风格迁移是基于生成对抗网络实现的,是一种优化技术,用于将两个图像,A图像内容和B图像风格,混合再一起,是输出的图像看起来像A图像,但是也参考了B图像的风格。通过优化输出图像,以匹配A图像的内容统计数和B..原创 2021-05-19 22:54:19 · 1750 阅读 · 9 评论 -
迁移学习之快速搭建【卷积神经网络】
本篇文章带大家熟悉“迁移学习”的开发流程,介绍如何使用预先训练好的神经网络,结合实际的功能需求,来实现一些图像任务;比如:实现对猫和狗的图像进行分类。预先训练好的神经网络,通常称为“预训练模型”,它在大型数据集上进行训练,取得业界认可的效果,开源给广大开发者使用的模型。本文主要介绍在keras中的关于图像任务的开源模型。比如:在ImageNet数据集上预训练过的用于图像分类的模型 VGG16、VGG19、ResNetV2、InceptionV3、MobileNetV2、DenseNet、NA原创 2021-05-13 01:41:06 · 3571 阅读 · 12 评论 -
“花朵分类“ 手把手搭建【卷积神经网络】
前言本文介绍卷积神经网络的入门案例,通过搭建和训练一个模型,来对几种常见的花朵进行识别分类;使用到TF的花朵数据集,它包含5类,即:“雏菊”,“蒲公英”,“玫瑰”,“向日葵”,“郁金香”;共 3670张彩色图片;通过搭建和训练卷积神经网络模型,对图像进行分类,能识别出图像是“蒲公英”,或“玫瑰”,还是其它。本篇文章主要的意义是带大家熟悉卷积神经网络的开发流程,包括数据集处理、搭建模型、训练模型、使用模型等;更重要的是解在训练模型时遇到“过拟合”,如何解决这个问题,从而得到“泛化”更好的模型。..原创 2021-05-09 21:31:48 · 5920 阅读 · 17 评论