自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (5)
  • 收藏
  • 关注

原创 3D 点云综述(深度学习篇)

写在前面的话: 本文主要来自于文章《Deep Learning for 3D Point Clouds: A Survey》以及自己的感悟和看法文章可以从这里下载:https://arxiv.org/pdf/1912.12033.pdf持续更新中一、3D点云来源:3D点云(如下图所示),其主要来源于3D传感器,包括各种3D扫描仪,LiDARs,以及RGB-D相机。三维扫描仪(3D scanner)是一种科学仪器,用来侦测并分析现实世界中物体或环境的形状(几何构造)与外观数据(如颜色、表面反照

2021-03-08 16:48:21 10284 6

原创 Ubuntu 18.04 机器学习环境设置

写在前面的话:环境为ubuntu18.04 + cuda 10.0 +anaconda +cudnn + pytorch + python 3.8+pycharm版本不同的话也可以按照这个去安装ubuntu设置1.进入bios中关闭secure boot,这一步很关键 不然cuda起不来,如果你用扩展屏的话也起不来,所以要关掉他安装CUDASTEP1:CUDA官网选择适合自己系统的版本下载。我的系统是Ubuntu18.04、64位,选择CUDA10版本如下:推荐你用VPN去下..

2020-10-09 17:28:31 639 2

原创 CUDA编程--邻近点查询

写在前面的话:建议先看完本专栏的前三篇文章再看这篇本文将介绍如何了查找点云中每个点的邻近点并统计个数取点云文件我给了个demo文件,在input文件夹下面,其每行为一个点,每行分别有4个数:index, x, y, z0 0.190818 2.151146 1.5161781 0.182662 2.208185 1.5061512 0.212130 2.120995 1.5196543 0.195404 2.216945 1.5547454 0.177847 2.420602 1.

2021-10-03 20:06:15 537

原创 CUDA编程--内核嵌套

写在前面的话:很多算法中都需要内核嵌套,刚学CUDA可能会比较乱,所以这里我进行一个记录。(内核嵌套无法兼容Cmakelist,目前也没有特别好的办法,只能用命令行进行编译)本内容想阐述清楚以下内容:如何进行内核嵌套,代码结构是啥样子 内核嵌套时线程号如何计算话不多说,我们直接用代码来进行说明,先阐述两种内核嵌套的形式:内核内调用另外一个内核, 内核内调用自己。内核内调用另外一个内核:创建KernelNesting.cu文件,并编写以下代码:#include <stdio.h

2021-09-24 23:57:40 1232 1

原创 CUDA编程--Square函数

编程思路:host: cpudevice: gpu1.分配host内存, 并进行数据初始化;2.分配device内存, 并从host将数据拷贝到device上;3.调用CUDA的核函数在device上完成指定的运算;4.将device 上的运算结果拷贝到host上 (性能)5.释放device和host上分配的内存...

2021-09-23 16:24:41 1080

原创 点云工具:CloudCompare 安装

写在前面的话: 官方的安装指导坑较多,踩坑记录我的环境:ubuntu18.04官方的安装指导:https://github.com/CloudCompare/CloudCompare/blob/master/BUILD.md要求的lib环境:(1) cmake >3.0 可通过以及命令进行安装,查看版本sudo apt-get install cmake #安装cmake --version #查看cmake版本(2)QT&

2021-07-19 15:28:16 4056

原创 如何从ScannetV2数据集中获取点云信息

写在前面的话:本文将讲解如何从ScannetV2数据集中提取出xyz(坐标),rgb(颜色),sematic label(语义标签),instance label(实例标签),bounding box(边界框), normal line(法线)。并附上提取代码。付费专栏,请勿转载!获取ScannetV2数据集首先我们要获取数据集才能够提取点云信息,ScannetV2数据集一共1.2T,对于纯3D点云来说,只需要20G,下载这20G的方法我在另一篇文章中已经叙述(请点击我查看)。我们只需要四类文件

2021-07-03 01:17:11 2361 22

原创 实战:Hello World——CUDA

写在前面的话:本人刚入坑CUDA编程,大家一起相互交流学习众所周知,学习编程的第一个demo是啥,那就是"Hello World"。没错本文是我第一个CUDA程序,仅以此文开始入门。哈哈哈 希望不要从入门到放弃。运行前请先检查环境, 运行以下命令查看CUDA编译器驱动版本nvcc -V输出如下:OK,下面我们直接上“Hello World”代码,并保存为hello_gpu.cu文件, 如下:#include <stdio.h>__global__ void h

2021-07-03 00:31:32 656 8

原创 3D点云数据增强

写在前面的话:做数据增强一定要注意:不要固定seed,不然每次random的数都是一样的付费文章,请勿转载!本文将介绍以下几种数据增强的方法: Jitter,Flip,Rotation,Offset,Elastic.并附上代码。 我们使用ScannetV2中的‘scene0332_01’作为例子进行处理,如下图所示:绘图代码如下所示,注意所需matplotlib版本为2.2.0# # matplotlib == 2.2.0def get_ptcloud_img(xyz, rgb...

2021-06-27 19:30:16 1809 2

原创 ScanNetV2 数据集讲解和选择性下载

写在前面的话:不可转载!!!!!!!!!!!!ScanNetV2一共1.2T,数据太大本文会简单讲解如何下载自己想要的文件,并附上修改后的下载程序ScanNetV2:http://www.scan-net.org/简介ScanNetV2的作者是斯坦福大学的博士,其团队通过收集RGB-D的视频序列,通过ipad应用加深传感器而收集的,然后视频会被上传到服务器,并被自动重建。然后,视频会被给到亚马逊 Mechanical Turk,将标注工作众包出去。ScanNetV2是RGB-D数据集,.

2021-03-22 15:26:01 14021 98

翻译 3D点云--经典模型PointNet

写在前面的话:源论文:https://arxiv.org/pdf/1612.00593.pdf源github:https://github.com/charlesq34/pointnet简介点云是一个很重要的几何数据结构,但是由于其不规则的形式,大部分的研究者将使用题素网格或者二维图像集的形式去处理它。然而这样会产生大量的数据处理工作,所以Qi在2017年提出了PointNet模型。网络结构...

2021-03-17 13:41:06 1241

原创 error: command ‘/usr/bin/nvcc‘ failed with exit status 1 报错--CUDA GCC Ubuntu版本匹配

error: command '/usr/bin/nvcc' failed with exit status 1如下图所示:原因:该错误是由于Gcc版本和CUDA版本不匹配所导致通过nvcc -V查看CUDA驱动版本通过gcc -v 查看gcc版本GCC与CUDA版本匹配关系:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html点击右上角版本号的older,选择自己CUDA驱动的版本,再选择l.

2021-03-10 19:58:15 11756 3

原创 Semi- Supervised learning (SSL)半监督学习常用的算法

写在前面的话:持续更新机器学习一般分为三种:全监督学习, 半监督学习和无监督学习。其主要区别在于训练集的数据是否有标签(label). 如果训练集的所有数据都有标签则称为全监督学习; 如果训练集的部分数据有标签,部分数据咩有标签则称之为半监督学习;如果训练集的数据全部都没有标签则称之为无监督学习。目前图像分割能发出顶会的基本都是半监督学习,所以本文主要来探讨几种半监督学习的方法。1.Pseudo label(伪标签)这个算法比较简单,请看下图。简而言之就是:1.先选用有标签的数据去训练模型

2020-11-27 21:33:28 1600 2

原创 Python 在彩虹图中绘制梯度下降轨迹

实战目标:利用python绘制通过梯度下降球极小值的过程代码实现:import matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dimport numpy as npcom_p = 0.0000001learningrate = 0.001x_1 = np.arange(-15, 15, 0.1)x_2 = np.arange(-15, 15, 0.1)X = [x_1, x_2]X = np.arr.

2020-11-12 16:35:10 2226 1

原创 Latex 入门到使用总结 Linux ubuntu

安装以及配置中文环境:https://blog.csdn.net/qq_41814939/article/details/82288145新手入门:https://blog.csdn.net/lvsehaiyang1993/article/details/80976574Latex 图片识别公式(以及手写识别):https://mathpix.com/LeTax常见符号表达:https://blog.csdn.net/zgj926503/article/details/52757631...

2020-10-22 19:06:38 230

原创 梯度下降法-概念理解

写在前面的话:部分内容来自:刘建平Pinardhttps://www.cnblogs.com/pinard/p/5970503.html 以及 百度百科在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。什么叫梯度在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x,∂f/∂...

2020-10-21 11:20:10 921

原创 Ubuntu18.04 HDMI扩展屏设置

写在前面的话:Ubuntu 18.04自带了hdmi驱动 不需要额外安装1.按F2或者F12进入bios 关闭secure boot2.输入命令xrandr然后你就可以看到你所有的显示连接情况。例如下图HDMI-0是我外接的显示屏,DP-2是我自己笔记本的显示屏我想把我的显示屏放在笔记本电脑屏幕的左方,则运行xrandr --output HDMI-0 --left-of DP-2 --auto其他也同理只要改left即可...

2020-10-09 14:46:12 7625 2

原创 实战 二分分类器(python + pytorch)

什么是二分分类二分类问题就是简单的“是否”、“有无”等只有两种结果的问题,如分类器只能输出0和1。二分分类问题:假如有一副下图中含有两只小猫的图片,人和机器分别怎么判断图片中是否有猫存在?在二分分类中的问题中,我们的目标是训练出一个分类器(classifier)它以特征向量x作为输入预测出结果y是0还是1,也就是预测出图片中是否含有猫。在我们自然人看来,一眼便能看出图片中存在两只猫,因为我们人类本身就是一个高级的智能系统。可是对于计算机来说,他可能没有那么智能,计算机能处理的只是数...

2020-10-08 18:42:35 4963 1

原创 图像分割-专有名词讲解

写在前面的话:本人是刚入门图像分割技术的小硕,在拜读各顶会论文时有一些不懂的词汇或者算法,写在这里进行记录,其中很多都来源于贴吧大佬的讲解,已注明出处 (不定期更新)CNN卷积神经网络(ConvolutionalNeural Networks,简称CNN)提出于20世纪60年代,由Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现。来看一个典型的CNN实例,对于分辨率为28*28的图片处理过程: 其中Conv为卷积层(采用5*5的卷积核,Ste...

2020-10-06 10:57:12 752

转载 浅谈机器学习

写在前面的话:本文摘自:博客园-计算机的潜意识前言在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核。当然,本文也面对一般读者,不会对阅读有相关的前提要求。在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图

2020-08-12 17:44:23 936

转载 神经网络浅讲:从神经元到深度学习

写在前面的话:本文摘自:博客园-计算机的潜意识神经网络浅讲:从神经元到深度学习神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向--深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。  本文以一种简单的,循序的方式讲解神经网络。适合对神经网络了解不多的同学。本文对阅读没有一定的前提要求,但是懂一些机器学习基础会更好地帮助理解本文。  神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。人脑中的神经网络是

2020-08-11 20:51:56 497

原创 深度学习中的专有名词汇总

写在前面的话:今天开始正式学习深度学习,先从吴恩达老师的视频学起:https://www.bilibili.com/video/BV164411m79z?p=1专有名词汇总(不断更新)CNN(s) :Convolutional Neural Networks 卷积神经网络RNN: Recurrent Neural Network 循环神经网LSTM models: Long Short-Term Memory models 长短记忆网络NLP: Natural Language pr..

2020-07-25 21:23:07 528

原创 DJI SDK 如何将四元数转换成无人机姿态角?

DJI telemetry只提供了四元数话题(TOPIC_QUATERNION),并没有提供姿态角的获取方式。而四元数可以借助欧拉公式转换成姿态角,转换程序如下:Telemetry::Vector3ftoEulerAngle(void* quaternionData){ Telemetry::Vector3f ans; Telemetry::Quaternion* quaternion = (Telemetry::Quaternion*)quaternionData; double q2sq

2020-07-24 15:32:38 704

原创 大疆 DJI PSDK1.5.1 实现时间同步以及精准定位功能

1.时间同步对于M210 RTK来说:PPS信号是1HZ 的脉冲信号(一秒一次)同时一个PPS信号包含一个UTC数据UTC数据包里包含含以下信息:typedef struct { int32_t year; /*!< Specifies year. */ int32_t month; /*!< Specifies month. */ int32_t day; /*!< Specifies da...

2020-07-07 18:13:00 2449

原创 大疆M210 V2 Mark文件说明

当把M210 V2连接到PC端时会弹出可移动磁盘,里面有三个文件夹,Mark文件在cam_mark_file文件夹中。M210 V2每次开关机都会生成一个Mark文件,最多生成100个Mark文件。Mark文件中记录着PSDK请求的时间点的无人机的相关信息,截图如下Mark文件时ASII格式的明码曝光时间戳记录文件,当前版本格式为:第一列:任务序号第二列:相机序号第三列:照片序号第四列:每张照片曝光时刻的UTC时间,以GPS时间格式表示时的周内秒部分第五列:每张照片曝光时刻的UT

2020-07-07 17:56:59 1904

原创 树莓派3B+ 运行大疆 DJI PSDK2.1.0

开发前准备:1.申请PSDK ID与KEY申请链接:https://developer.dji.com/payload-sdk/apply/2.申请通过后可以在用户中心中下载PSDK2.1.0的开发包二、对PSDK2.1.0进行适配1.下载安装包,并解压unzip Payload_SDK_V2.1.0.zip大家可以看下文件架构doc/psdk_other_docs/psdk_code_style: Template files described code style

2020-07-01 22:29:54 2361 9

原创 树莓派3B+ 镜像烧录以及环境设置

写在前面的话:没啥好说的相关软件下载:(SD卡格式化工具、win32diskimager、Raspbian系统镜像、Xshell(ssh工具))链接:https://pan.baidu.com/s/1tSh_ZyWGp0Fj1ROG2k27gA提取码:1x5n需要工具:树莓派3B+ 、windows 10电脑、读卡器、8GB内存卡安装镜像1.先格式化内存卡 这个可以用网盘里的工具也可以用windows自带的方法格式化2.运行win32diskimager-1.0.0-instal.

2020-07-01 21:59:19 1132 3

原创 DJI Flighthub 本地化部署

该文章参考资料为DJI Flighthub网站1.环境搭建建立后台服务器测试版:操作系统:Ubuntu 16.04 64位(服务器版),依赖环境:OpenSSL 下载路径:http://old-releases.ubuntu.com/releases/xenial/ubuntu-16.04.5-server-amd64.iso商用正式:操作系统:Ubuntu 16.04 64位(服务器版),依赖环境:OpenSSL 下载路径:http://old-releases.ubuntu.com/r.

2020-06-28 20:29:40 522

转载 理解动态库与静态库的区别

区别:静态库和动态库最本质的区别就是:该库是否被编译进目标(程序)内部。静态(函数)库一般扩展名为(.a或.lib),这类的函数库通常扩展名为libxxx.a或xxx.lib 。这类库在编译的时候会直接整合到目标程序中,所以利用静态函数库编译成的文件会比较大,这类函数库最大的优点就是编译成功的可执行文件可以独立运行,而不再需要向外部要求读取函数库的内容;但是从升级难易度来看明显没有优势,如果函数库更新,需要重新编译。动态函数库动态函数库的扩展名一般为(.so或.dll),这类函数库通常名为l.

2020-06-12 20:09:30 142

原创 OpenCV 3.X 基础讲解

一、什么是OpenCV?OpenCV是一个开源的计算机视觉库,它由C++语言进行编写并进行了深度优化。OpenCV起源于英特尔想要增强CPU集群性能的研究,以下是OpenCV要完成的一些目标:为高级的视觉研究提供开源并且优化过的基础代码,不在需要重复造轮子 以提供开发者可以在此基础上进行开发的通用接口为手段传播视觉相关知识,这样代码有更强的可读性以及移植性。 以创造可移植的、优化过的免费开源代码来推动基于高级视觉的商业应用,这些代码可以自由使用,不要求商业应用程序开源或者免费从OpenCV3.

2020-06-12 00:55:29 301

原创 DJI Tello SDK 环境搭建(windows)

安装Python2.7下载地址:https://www.python.org/安装时选择默认设置 勾选所有复选框 记住安装路径配置环境的时候需要用到安装Pycharm (IDE)下载地址:https://www.jetbrains.com/pycharm/download/#section=windows选择免费的community版本即可,安装时勾选所有复选框 其余默认设置配置IDE初次进入界面时会选择是否安装 MD和VIM 建议都安装安装windows .

2020-06-03 11:08:57 3331 2

原创 DJI PSDK2.1 .0 海思3516ev200 开发实例

开发前准备:1.申请PSDK ID与KEY申请链接:https://developer.dji.com/payload-sdk/apply/2.申请通过后可以在用户中心中下载PSDK2.1.0的开发包正式开始开发先简单叙述下开发思路:在X86的电脑上进行交叉编译,下载编译链并进行安装,更改PSDK2.1.0的Cmakelist文件,更改PSDK2.1的环境适配:一、下载himix100的编译链,并进行安装(我安装在了X86的电脑上)himix100的编译链下载:安装himix

2020-06-02 17:10:49 2003 3

原创 ROS 入门到实战

ROS 入门到实战(Kinetic)一、安裝ROS-kinetic二、ROS 基本内容讲解(一)三、ROS 基本内容讲解(二)四、安装ROS IDE --Clion五、ROS实战 通信机制--“Hello World”六、ROS实战 大疆Matrice M210 V2 OSDK ROS 4.0...

2020-05-28 19:57:39 321

原创 ROS实战 大疆Matrice M210 V2 OSDK ROS 4.0

一、先获取大疆SDK的开发包以及开发帐号开发包下载:https://github.com/dji-sdk/Onboard-SDK-ROS帐号申请:点击这里注册帐号注册好帐号后点击右上角进入用户中心,点击app 点击creat app创建OSDK APP二、开始正式开发新建工作空间并下载OSDK ROS开发包mkdir -p ~/Desktop/catkin_ws/...

2020-05-25 22:43:21 2105 11

原创 如何安装STM32CubeMax

一.登录官网,并提交邮箱信息二.然后你将会在邮箱收到一封下载信,点击下载即可三.解压点击SetupSTM32CubeMX-5.6.0.exe然后问题就来了,他提醒你没有装java runtime (This application requires a java Runtime Environment 1.8.0_45)四.安装Java runtime1.点击...

2020-04-01 11:33:17 1335

原创 如何安装并使用STM32 cube IDE (windows)

1.官网下载:下载链接点击获取软件,填写基本信息,邮箱要填正确的,然后STM会把下载链接通过邮件发送给你2.解压下载的exe安装包,点击解压后的文件进行安装安装完成后打开该IDE,并选择型号 这里以STM32F407VG为例大功告成!!!!!!!!!!!!!!!!!!!!!!!!!!...

2019-12-19 14:31:52 1982

原创 ROS实战 通信机制--“Hello World”

1.建好工作空间配置好环境mkdir -p ~/Desktop/catkin_ws/srccd ~/Desktop/catkin_ws/src/catkin_init_workspacecd ..catkin_makesource devel/setup.bash2.创建功能包communication 依赖包分别为std_msgs rospy roscppcd src...

2019-12-04 14:56:42 397 2

原创 ROS 基本内容讲解(二)

敲重点 开始讲ros 节点通讯机制:话题通讯机制 服务通讯机制话题通讯机制消息以一种发布/订阅店方式传递。一个节点可以针对一个给定的话题(topic)发布消息,也可以关注某个话题并订阅特定类型数据的消息。发布者和订阅者都不拉来哦接彼此的存在,系统中可能有多个节点订阅或发布同一个话题。Talker注册 and Listener注册--->ROS Master进行信息匹配---&...

2019-12-03 19:22:13 363

原创 安装ROS IDE --Clion

一、安装JDK(可选)背景:由于xxxxxx是aarch64架构,而Linux版本的CLion自带的JRE是amd64架构的,因此在执行{CLion_installation}/bin/clion.sh时会报错,表示找不到环境变量$JAVA_HOME,所以我们需要自己安装并配置aarch64架构下的JDK。1.命令行安装JDK:apt-cache search openjdk // ...

2019-12-03 16:27:42 657 2

原创 ROS 基本内容讲解(一)

ROS架构设计ROS从架构上来看可以分为三个层面:OS层 中间层 应用层OS层:ROS并不是一个传统意义上的操作系统,无法像linux windows一样直接搭载在硬件上。ROS需要一个操作系统作为平台:linux中间层:ROS店通信系统是基于TCP/UDP网络的,在此之上进行了进一步封装,也就是TCPROS/UDPROS(后面会进一步讲解)。应用层:功能包调用实现。ROS社区内共...

2019-12-02 20:14:03 1186

arm-himix100-linux 编译链

arm-himix100-linux 编译链 支持海思3516ev200等,由于文件比较大所以无法直接上传,我上传了百度网盘的链接,链接长期有效,若失效可以到我的博客留言:https://blog.csdn.net/qq_35781447

2020-06-01

3516CV500编译链——himix200

himx200 编译链由于文件接近4个G无法上传 所以上传了百度云盘链接,链接长期有效 本人已在x86_64的linux平台安装成功

2020-04-27

arm-linux-gnueabihf.tar.gz arm-linux-gnueabihf编译链

arm-linux-gnueabihf编译链 实测可用,例如德克萨斯的OK系列,如果有问题欢迎在下面留言

2020-03-26

基于MSP430f149的pca9685驱动

基于MSP430的PCA9685程序,测试成功,可控制16路PWM,其相位,频率,占空比可调,有不懂的可以共同探讨。(程序初始设置频率为50hz)

2017-09-04

MSP430f149 AD转换 LCD1602显示

MSP430f149或169 AD转换用LCD1602显示 测试程序

2016-08-03

空空如也

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

TA关注的人

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