自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xinxiang7

主要记录在人工智能方面的成长,同时分享自己的所学所感。

  • 博客(91)
  • 资源 (2)
  • 收藏
  • 关注

原创 3D目标检测综述

主要从技术变更历史、发展路线、数据集、数据融合的方式、当前知名的实验室以及大牛,其中的侧重点等方面介绍。当作是文献阅读的一种记录。有不足之处还请指出。

2021-02-04 18:18:26 5143

原创 【无标题】

【代码】【无标题】

2023-10-20 11:37:29 100

原创 pytorch和tensorlfow的交叉熵对比

pytorch交叉熵import torch# CrossEntropyLoss由LogSoftmax和Nllloss组成。# 输入和输出input_x = torch.tensor([[0.05, 0.95, 0], [0.1, 0.8, 0.1]])target_y = torch.tensor([1, 2])logsoftmax = torch.nn.LogSoftmax(dim = 1)logsoftmax_output = logsoftmax(input_x)nllloss

2021-10-15 19:43:21 379

原创 mmdetection3d的安装和使用

MMdetection3D安装步骤创建环境,并激活conda create -n open-mmlab python=3.7 -y# 激活conda activate open-mmlab安装pytorchconda install pytorch torchvision cudatoolkit=10.1 -c pytorchpip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f https://dow

2021-07-23 10:30:28 4547 6

原创 服务器硬件配置

深度学习训练/GPU服务器硬件配置现有配置:cpu# cpu个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 每个物理cpu的核数cat /proc/cpuinfo| grep "cpu cores"| uniq# 逻辑cpu的个数cat /proc/cpuinfo| grep "processor"| wc -l# 内存条# 查看内存条状况sudo dmidecode --type memory下述是摘取的

2021-07-23 10:16:30 530

原创 Failed to initialize NVML: Driver/library version mismatch

Failed to initialize NVML: Driver/library version mismatch问题:the driver was not installed correctly. This can happen if the previous driver was installed using the runfile installer and the new driver was installed using package manager, or vice versa.

2021-07-13 17:36:56 285

原创 Ubuntu服务器安装nvidia-430.64、cuda-10.1,cudnn-7.6.0和anaconda

配置环境创建新用户$ sudo useradd jiangcm -d /home/jiangcm/ -m# 为新用户添加密码$ sudo passwd jiangcm# 为新用户增加sudoer权限$ su root$ sudo vim /etc/sudoers在文本中添加命令# 添加jiangcm ALL=(ALL) ALLjiangcm ALL=(ALL:ALL) ALLNouveau禁用查看是否安装nouveau:ubuntu@ubuntu:~$ lsmod

2021-06-23 18:13:22 462 1

转载 Linux输出重定向 >> 文件 2>&1

输出即把相关对象通过输出设备(显示器等)显示出来,输出又分正确输出和错误输出一般情况下标准输出设备为显示器,标准输入设备为键盘。linux中用0代表标准输入,1代表标准正确输出,2代表标准错误输出。输出重定向:正常输出是把内容输出到显示器上,而输出重定向是把内容输出到文件中例如:ifconfig > test.log 即把ifconfig执行显示的内容写入test.log.当前页面不再显示执行结果。注意:错误输出重定向>/>>后边没有空格重定向操作的顺序非常重要。以

2021-04-30 14:29:39 311

原创 pointpillars部署时出现的精度问题

在部署时,输出anchors_bv为np.float32型。命令如下:np.savetxt("/home/jiangcm/project/nutonomy_pointpillars/dataset_example/pytorch/pytorch_input/anchors_bv.txt", anchors_bv, fmt='%f', delimiter=' ')可以看到精度上,np.float32为32位,有7位或者8位有效数字。取出两个有代表性的数据:line 85471: 8.580000 -8

2021-04-09 14:34:49 324

原创 cuda的tip: nvcc的-arch,-code选项

参考:GPU汇编[Cuda tips: nvcc的-code、-arch、-gencode选项](https://zhengqm.github.io/blog/2018/12/07/cuda-nvcc-

2021-03-17 19:20:00 1695

原创 输出字母沙漏

#include<stdio.h>int main () { int n; char alpha[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; scanf("%d", &n); for (int i=0;i<n;i++) { for (int m=0;m < i;m++) { printf(" "); } for (int j=i;j<n+1

2021-03-15 20:30:54 224

原创 字母三角形

#include<stdio.h>int main () { int row; int num; int i, j, id; char alpha[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; scanf("%d", &row); num = (row + 1) * row / 2; /// 定义id相当于指针不断跟随着输出而增加 for (i = 0, id = 0;i < row

2021-03-11 15:38:33 157

原创 SECOND

SECOND: Sparsely Embedded Convolutional Detection文章:SECOND该文章是已经离职百度的李博所创的公司(主线科技)发表的。Abstract问题:推理速度较慢方向评估表现不好方法:改善后的稀疏卷积方法,显著提升训练和推理速度提出一个角度损失回归方法,改善方向评估表现一种新的数据增强方法,提升收敛速度和表现结果:在当时的KITTI上表现最好推理速度相对较快,对于较大的模型20FPS,较小的模型40FPS。Introduct

2021-02-24 16:36:50 318

原创 windows10下安装tensorflow时,出现UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa1 in position 44

问题:Exception:Traceback (most recent call last): File "C:\Users\Anaconda3\envs\detection\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_str return s.decode(sys.__stdout__.encoding)UnicodeDecodeError: 'utf-8' codec can't decode by

2021-02-23 16:30:23 346

原创 CIA-SSD

CIA-SSD: Confifident IoU-Aware Single-Stage Object Detector From Point Cloud文章:CIA-SSD代码:CIA-SSD文章发表于AAAI2021,来自于港中文的博士生,Wu Zheng。通讯作者是港中文的博导Chi-Wing FuAbstract当前问题:用于在点云中定位目标的现有单级探测器常常将目标定位和分类作为分开的任务,所以定位准确度和分类置信度不能很好的对齐。解决方法:为了解决这个问题,我们提出了一个名叫Co

2021-02-23 15:12:07 3606 2

原创 VoxelNet

VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection文章:VoxelNet这是来自于苹果的一篇文章,一作是目前就职于Waymo的Yin Zhou。通讯作者是苹果的AI research group的首席研究员,Oncel Tuzel。AbstractVoxelNet将点云均等的切分为3D体素,并且通过一种新引入的体素特征编码层(VFE)将每个体素中的一组点转化为统一的特征展示。通过这种方法,将点云编码为一个可展

2021-02-22 17:19:49 305

原创 SASSD

Structure Aware Single-stage 3D Object Detection from Point Cloud文章:SA-SSD代码:SA-SSD这是来自香港理工大学和达摩院的一篇文章,一作是为在读的博士生,何晨航。通讯作者是张磊,香港理工大学的博导,目前在达摩院。华先胜达摩院的的人,也是为大牛。Abstract提出问题:目前的单级探测器通过完全卷积方式逐步缩小三维点云是有效的。但是缩小特征不可避免的损失空间信息和无法充分利用3D点云的结构信息,降低了位置精度。文章工作:

2021-02-20 17:19:36 1665

原创 3DSSD

3DSSD: Point-based 3D Single Stage Object Detector来自港中文贾佳亚大神组的一篇文章。该篇文章在CVPR2020上拿到了oral。好文章,一定要好好拜读一下。文章:3DSSD代码:3DSSDAbstract当前已经有各种各样的基于体素的单阶段的3D目标检测,但是基于点的单阶段目标检测还有待探索。在这篇文章中,我们第一次展示了轻量级的和有效的基于点的单阶段的3D目标检测,称为3DSSD。在这个范式中,在所有现存的基于点的方法中不可避免的所有的上采样和优

2021-02-20 10:48:33 826

原创 3DVID

3DVID论文: LiDAR-based Online 3D Video Object Detection with Graph-based Message Passing and Spatiotemporal Transformer AttentionAbstract模型提出了两个组件:空间特征编码组件(Spatial feature encoding component)时空特征聚合组件(spatialtemporal feature aggregation component)在空间特

2021-02-08 15:52:28 568

原创 3D-CVF

3D-CVF论文: 3D-CVF: Generating Joint Camera and LiDAR Features Using Cross-View Spatial Feature Fusion for 3D Object DetectionAbstract融合的难点之一是传感器的空间角度。融合时可能会出现空间信息损失,因为这种转换是一到多的转换。为了解决这个问题,文中采用的是利用交叉视角的空间融合策略结合相机和激光雷达的信息。该方法利用自动校准的投影,将2D相机特征转换成平滑的空间特

2021-02-08 15:27:21 1122

原创 CloCs

CloCs论文: <<CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection>>Abstract文章提出了一种新颖的Camera-LiDAR 目标候选框融合的网络。CLOCs融合提供了一种低复杂度、多模态融合框架,该框架能够显著提升单模态的检测器的表现。CLOCs在任何2D和3D检测器的NMS之前对联合的输出候选框进行操作,而且它们的几何和感知一致性产生更为精确的3D和2D检测结果。Intro

2021-02-08 15:17:21 2794 2

原创 EPNet

EPnetEPNet: Enhancing Point Features with Image Semantics for 3D Object DetectionAbstract:文章主要研究以下两个问题:多源融合(激光雷达和相机图像)位置和分类置信度之间不一致多源融合:在没有任何图像标注的逐点行为中,增强语义图像特征的点特征位置和分类置信度之间的不一致:损失函数Introduction使用多源融合的两种方式:在不同阶段使用不同传感器构成级联;多个传感器输入的联合推理,融合

2021-02-08 15:08:16 4073 3

原创 F-PointNets

F-PointNets论文:《Frustum PointNets for 3D Object Detection from RGB-D Data》Abstract利用RGB-D进行目标检测。尽管之前的方法集中在图像或者3D体素上,常常掩盖自然3D模式和3D数据的不变体,但是我们通过RGB-D扫面直接操作原始点云。但是,这个方法的关键在于如何在大范围扫描(区域候选框)的点云中高效的局部化物体。相比于单独依赖于3D候选区域,我们的方法利用预训练好的2D目标检测器和先进的3D深度学习来进行目标局部化,达到即

2021-02-08 14:40:47 873

原创 Voxel-RCNN

Voxel R-CNN: Towards High Performance Voxel-based 3D Object DetectionAbstract3D对象检测的最新进展在很大程度上取决于如何表示3D数据,即基于体素或基于点的表示。 许多现有的高性能三维探测器都是基于点的,因为这种结构可以更好地保留精确的点位置。 尽管如此,由于无序存储,点级特性会导致较高的计算开销。 相反,基于体素的结构更适合于特征提取,但由于输入数据被划分为网格,往往产生较低的精度。 在本文中,我们采取了一个稍微不同的观点-我

2021-02-08 11:23:10 4397

原创 PV-RCNN

PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object DetectionAbstractPointVoxel-RCNN是一个新颖的,高表现的3D目标检测框架,从点云中检测3D目标. 我们的方法整合了voxel 3D CNN和基于PointNet的集抽象来学习更多的有鉴别行的点云特征.它充分利用了高效的学习,3D体素的CNN的高质量的proposals以及基于PointNet网络的灵活的感受野.该框架通过一个新的体素集抽象模块将三维场景与三维

2021-02-08 11:14:46 700 2

原创 PointRCNN

PointRCNNAbstract而不是像以前的方法一样,从RGB图像或投影点云到俯瞰图的视图或体素生成proposals. stage-1子网络从点云中以bottom-up的方式将整个场景的点云划分为前景点和背景,进而直接生成一些高质量的3D proposals。stage-2子网络将每个proposal的池化后的点转化到标准坐标系中来学习更好的局部空间特征,这和stage-1中学习到的每个点的全局语义特征相结合进而获得准确的框优化和置信度预测。Introduction我们提出了一种新的基于自下

2021-02-08 11:05:56 230

原创 采用tar的方式安装并验证tensorrt环境

参考:nVidia-tensorrt-install-guide查看环境,下载对应版本的tensorrt需要查看的环境如下:# 查看cuda版本nvcc -V# 查看cudnn版本cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2# 查看对应的tensorflow版本pip list|grep tensorflow# python版本设置为3.6我的版本如下:nvcc -VCopyright (c) 2005-20

2021-02-04 16:59:51 1483 1

原创 keras与h5py版本不兼容

问题Initializing data generator: / |# | 0 Elaps

2020-12-14 14:56:36 9537 11

原创 keras版本(.h5文件)转化为caffe版本(caffemodel和prototxt文件)的总结和思考

版本转化核心keras训练的模型转化为caffe模型的核心思想是拆分keras的每层,之后赋值给caffe版本对应层,这其中保证以下:每层的名称的唯一性;每层输入名称和输出名称上下连贯性;每层数据的格式符合caffe模型;keras版本加载import kerasfile = '../xxx.h5'keras_model = keras.models.load_model(file, custom_objects=backbone.custom_objects)keras模型每层的

2020-12-08 21:28:14 1310 8

原创 cuda与pytorch版本不匹配的问题及解决

问题cuda与pytorch版本不匹配的问题:### 输入torch.ones((2,3)).cuda()时,报错。RuntimeError: The NVIDIA driver on your system is too old (found version 10010).### 运行代码时,报错。 RuntimeError: CUDA error: CUDA driver version is insufficient for CUDA runtime versionException r

2020-11-20 16:22:58 16681 9

原创 Win10+cuda10.1+cudnn5.76安装教程

cuda+cudnn安装cuda10.1+cudnn确认cuda版本下载cuda10.1和其对应的cudnn-v7.6.5安装cuda10.1验证安装cudnn-v7.6.5将cuda加入系统环境cuda10.1+cudnn首先根据Nvidia驱动版本确认cuda版本,之后再分别安装和验证cuda和cudnn确认cuda版本在控制面板中搜索NVIDIA,双击进入nvidia控制面板。点击帮助->系统信息在组件中查看驱动版本,我的为426.00.查看相关信息得到,cuda的版本为10

2020-09-11 21:21:25 415 2

原创 leetcode-430. 扁平化多级双向链表

扁平化多级双向链表思路:利用flatten_dfs(curr, curr.child)不断将child转化为prev和next,利用flatten_dfs(tail, tmpNext)将子链与父链连接起来。代码:"""# Definition for a Node.class Node: def __init__(self, val, prev, next, child): self.val = val self.prev = prev s

2020-07-24 17:35:43 95

原创 leetcode-394. 字符串解码

思路:利用栈辅助代码:class Solution: def decodeString(self, s: str) -> str: res = '' stack = [] mul = 0 for c in s: if c == '[': stack.append([mul, res]) mul = 0 r

2020-07-22 16:01:31 64

原创 leetcode-39-组合总和

题目:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。思路:利用递归的方式代码:class Solution: def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]: candidates.sort()

2020-07-15 10:16:54 186

原创 tensorflow模型文件

tensorflow输出的模型文件有3个:.data-00000-of-00001.index.meta.meta保存的网络的结构框架,所以保存不同阶段模型时,不同的.meta可以相互替换。.index和.data-00000-of-00001保存了网络结构中所有权重和偏置的数值。import tensorflow as tfNewCheck = tf.train.NewCheckpointReader('checkpoints/20200702-1506/model.ckpt-1000

2020-07-08 21:37:32 349

转载 tensorflow的多线程处理方式:tf.train.coordinator()和tf.train.start_queue_runners()

原网页:https://blog.csdn.net/dcrmg/article/details/79780331tensorflow在一个会话(session)中,利用协调器和队列管理器(start_queue_runners)来控制多线程的运行。Coordinator类用来管理在Session中的多个线程,可以用来同时停止多个工作线程并且向那个在等待所有工作线程终止的程序报告异常,该线程捕获到这个异常之后就会终止所有线程。使用 tf.train.Coordinator()来创建一个线程管理器(协调器)

2020-07-08 20:16:20 675

原创 GAN网络的模型坍塌和不稳定的分析

众所周知,GAN异常强大,同时也非常难以训练。主要有以下亮点原因:模型坍塌(mode collapse)难以收敛和训练不稳定(convergence and instability)GAN网络的一般表达式可以表示为:利用minmax获得公式给定G,求D的最优化针对D进行求导:获取最优解:最优解结果:KL和JS散度表达式:GAN表达式:增加一项,表示生成网络G的损失函数:简化:结合公式(6)和公式(8)可以得出:公式(12)中的KL散度使得两个分布尽可能的小

2020-07-07 16:45:36 7001

原创 leetcode-78-子集

题目给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]思路:利用递归的方法,保证每种情况都考虑到了。代码:class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: output

2020-07-06 09:16:12 62

原创 不同的卷积形式以及作用

convolutionDeconvolutions(Fractional-strided Convolutions, Transposed convolutions)1Dilated ConvolutionDepthwise Separable ConvolutionSup-pixel Convolution2http://deeplearning.net/software/theano_versions/dev/tutorial/conv_arithmetic.html#transpose

2020-07-03 14:06:03 1925

原创 leetcode-75-颜色分类

问题给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。`示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]`解题思路分别找出0,1,2有多少个,之后再赋值到所需要到列表中。代码class Solution: def sortColors(self, nums:

2020-07-02 16:20:15 88

Temporal Relational Reasoning in Videos.pdf

Temporal Relational Reasoning in Video文献。该文献主要描述了TRN的实现过程。

2019-07-23

算法吧图解

讲解了基本算法,如排序问题,广度优先算法,贪婪算法,动态规划,K最邻近算法等,通俗易懂。非常适合入门的码农。

2018-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除