- 博客(55)
- 收藏
- 关注
原创 【点云处理】第二章 最邻近问题 Nearest Neighbor Prroblem (3)八叉树
Page1八叉树为三维数据设计八叉树不需要回到root节点才停止,可以提前停止搜索。构建一个以搜索节点为中心,搜索半径的球,球完全落在某立方体里,则搜索范围就在立方体中。外面的东西不用管。Page2Page3octant组成:子节点children有8个;center,立方体中心点位置;extent:半个边长,中心点到其中一个面的距离;立方体中的点的index;判断是不是leafPage4构建8叉树:db:database,所有的点,根据点构建8茶树如果root节点不存
2021-08-10 23:58:16
536
原创 【点云处理】第二章 最邻近问题 Nearest Neighbor Prroblem (2)KD树
KD:k-dimension1975年发明。KD树每个节点包含很多内容。末节点不是none。最末端放leaf size个点。首先找到切的维度。两种都可以leaf size = 1.问题1:如何表达节点?建树第一步,选轴,第二步:把点分成两部分在选定的维度上进行排序,从中间分开核心思想:给定一个查询点,要不要搜索某个区域?查询的代码...
2021-08-10 19:40:51
252
原创 【点云处理】第二章 最邻近问题 Nearest Neighbor Prroblem (1)二叉树
k-NN:红色是要查的点,绿色是要在周围查3个最邻近的点1,2,3。怎么样找到一个邻域,在求法向量、上采样、下采样、噪声去除等等的问题中很重要,还有聚类、深度学习、特征提取等。有现成的库可以用,flann、PCL等,但是速度慢一些,自己写得更快。为什么最邻近问题困难?不规则,不像图像上下左右走一圈就行;点云高一维,数据更多。建网格的话,分辨率上去,但是储存需要内存大,大部分区域空白,不高效。数据量大,110000个点/20Hz.所以需要kd树,八叉树处理海量数据。有些区间不需要查找,怎么跳
2021-08-10 18:16:36
407
原创 MVP 数据集使用
MVP 数据集使用MVP数据集是南洋理工大学S-Lab 实验室制作的benchmark,集合了众多种类和大量的3D模型的点云数据,并基于这个数据集进行单视图局部点云补全和多视图局部点云匹配的算法研究。最近他们公布了这个数据集,并发起了一场基于MVP数据集的ICCV竞赛。上链接:DatabaseCodebase运行setup.bash报了个错:...
2021-08-08 15:50:12
862
原创 【MVP】深度学习框架Pytorch环境搭建 Ubuntu18.04+Anaconda+CUDA+cuDNN
首先,检查一下计算机有没有可用的GPU。用ubuntu的 lspci 命令看一下PCI总线上有没有挂载能用的GPU。如果啥提示都没有–就悲剧了。还有需要注意,VMware 的虚拟机是用不了计算机中的GPU的。这也是大家都在推荐双系统的原因。我的GPU型号是 GeForce GTX 1050 Ti。但是在设置->详细信息中,并没有这块GPU,因为没有安装驱动。在软件和更新中,找到附加驱动additional drivers,选第一个然后apply,之后重启ubuntu。...
2021-07-17 08:45:00
347
1
原创 ros使用自动驾驶数据集KITTI【7】下载tracking资料并读取
下载tracking资料并读取接下来,对图片和点云数据做一些处理,增加一些好玩的内容。我们把图片中的物体识别框 bounding box 贴上去,显示出来。框的位置和大小我们先用现成的KITTI的官方数据。这是他们通过外部机构进行手工添加的。开始吧!第一步,先从KITTI网站下载tracking资料。http://www.cvlibs.net/datasets/kitti/eval_tracking.php接下来,使用jupyter notebook来调试python代码。jupyter能够分段
2021-07-14 16:32:35
406
1
原创 ros使用自动驾驶数据集KITTI【5】IMU数据可视化
将两个marker放在一个MarkerArray中,然后一同发布:publish_utils.py#draw a ego-car model and lines of sightdef publish_ego_car(ego_car_pub): """Publish left and right 45 degree FOV lines and ego car model mesh""" marker_array = MarkerArray()# draw a ego-car mod
2021-07-13 23:23:47
954
6
原创 ros使用自动驾驶数据集KITTI【4】画出自己的车以及照相机视野
画出自己的车以及照相机视野1、画出车的模型(用已有模型)2、画出相机图片的视野范围代码结构:kitti.py-data_utils.py-publish_utils.pydata_utils.pydata_utils.py负责从数据集中读取camera数据和point cloud数据。data_utils.py代码:#!/usr/bin/pythonimport cv2import numpy as npimport osdef read_camera(path): re
2021-07-13 20:48:59
554
2
原创 ros使用自动驾驶数据集KITTI【3】发布点云资料
【ROS】发布点云资料把kitti中的点云资料发布到点云空间中。在代码 kitti.py 中新建一个发布点云的publisher。然后读取资料,并发布出去。ROS中有一种格式叫 PointCloud2 专门用来发布点云。点云数据位于 velodyne文件夹中。每个bin文件里面都是一些点,每个点有4个数据。把数据通过numpy读入:point_cloud = numpy.fromfile(os.path.join(DATA_PATH,'velodyne_points/data/%010d.b
2021-07-12 23:16:52
785
1
原创 ros使用自动驾驶数据集KITTI【2】-发布照片
KITTI:自动驾驶数据集,包括深度图,2D物体检测,语义分割等任务。【1】中将raw data通过kitti2bag工具把数据转换为rosbag格式播放。现在,用自己写的程序把数据publish出来,用rviz可视化工具显示出来。因为kitti2bag的格式是固定的,不能变化。为了能够自己写代码并进行显示,需要用rviz来显示。机器人模拟中也经常用到。资料:KITTI: City:2011_09_26_drive_0005 (0.6 GB)下载其中:synced+rectified data和
2021-07-12 10:52:58
778
原创 ros使用自动驾驶数据集KITTI【1】介绍与可视化
KITTI 网站介绍:我们利用我们的自动驾驶平台 Annieway 开发新颖的具有挑战性的现实世界计算机视觉基准。我们感兴趣的任务是:立体、光流、视觉里程计、3D 对象检测和 3D 跟踪。为此,我们为一辆标准旅行车配备了两个高分辨率彩色和灰度摄像机。 Velodyne 激光扫描仪和 GPS 定位系统提供准确的地面实况。我们的数据集是通过在卡尔斯鲁厄中型城市、农村地区和高速公路上行驶而捕获的。每个图像最多可以看到 15 辆汽车和 30 名行人。除了以原始格式提供所有数据外,我们还为每个任务提取基准。对于我.
2021-07-10 15:54:08
2627
翻译 【论文笔记】——PWCLO-Net
论文翻译学习——PWCLO-Net题目:PWCLO-Net Deep LiDAR Odometry in 3D Point Clouds Using Hierarchical Embedding Mask Optimization使用分层嵌入掩码优化的 3D 点云中的深度 LiDAR 里程计作者实验室:上海交通大学系统控制与信息处理教育部重点实验室医疗机器人研究所自动化系摘要本文提出了一种用于深度 LiDAR 里程计( deep LiDAR odometry,这是干嘛的?)的新型 3D 点云学习模
2021-07-07 19:01:47
1050
2
原创 树莓派安装PHPMYADMIN
PHPMyAdmin是一个强大的数据库管理软件,phpMyAdmin是一个以PHP为基础,以Web-Base方式架构运行在网站主机上的MySQL的数据库管理工具,让管理者可以直接使用Web接口管理MySQL数据库。对新手来说,在树莓派上使用命令行操作MySQL数据库比较困难,不过,好在有PHPMyAdmin这个神器。在树莓派上安装了PHPMyAdmin后,就可以通过可视化的网页来管理数据库,非常方便。首先介绍下phpMyAdmin,它是一个用PHP编写的免费软件工具,旨在处理MySQL或MariaDB数
2021-02-07 21:03:51
1356
1
原创 树莓派搭建LNMP网络服务器
1、安装Nginxsudo apt-get install nginx2、安装PHP7及部分插件sudo apt-get install php7.0-fpmsudo apt-get install php7.0-mysqlsudo apt-get install php7.0-common3、安装MySQLsudo apt-get install mariadb-server这里安装的数据库是MariaDB。MariaDB数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护
2021-02-07 15:52:57
421
原创 树莓派4换Tsinghua源
最近换了新的树莓派4B,性能提升了不少,但是涉及到一个更换镜像源的问题,现在跟大家分享一下树莓派系统安装后默认使用国外的镜像源,因为墙的原因,所以在安装模块的时候速度非常慢,因此需要将镜像源换成国内的。1、打开配置sources.list文件sudo nano /etc/apt/sources.list2、用#注释掉原文件内容,用以下内容取代(Ctrl + O 保存再 Ctrl + X 退出): deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/r
2021-02-06 22:06:52
200
原创 ROS初始化rosdep问题的解决(sudo rosdep init)
提示sudo: rosdep: command not found:安装python3-rosdep2:出现ERROR:cannot download default sorces list from:解决方案:#打开hosts文件sudo gedit /etc/hosts#在文件末尾添加151.101.84.133 raw.githubusercontent.com#保存后退出再尝试方案完美解决!...
2020-11-26 00:19:21
575
原创 树莓派没有屏幕和键盘如何开机?很简单!
镜像从官网下载。官网链接下载完毕之后,用Etcher向SD卡烧录镜像。烧录完镜像文件之后,正式开始!开启SSH配置以及远程WIFi连接在boot分区下新建一个空文件,名为ssh,就可以开启SSH,一定要是文件全名,不能有扩展名。再在boot分区下新建wpa_supplicant.conf文件,并写入无线的相关配置。country=CNctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1 network=
2020-11-01 00:05:08
924
原创 基于Jetson nano运行yolo3(Tiny版)
Jetson nano跑yolo3yolo3是识别算法的明星,jetson nano是嵌入式平台里的小钢炮,不过它能能跑通yolo3吗?试过才知道!让GPU飞一会儿!STEP1:下载Darknet 以及Yolov3的权重文件git clone https://github.com/AlexeyAB/darknet进入darknet文件夹,下载yolo3权重文件:cd darknetwget https://pjreddie.com/media/files/yolov3.weightswget
2020-10-19 22:44:46
2287
9
原创 物联网MQTT协议
物联网MQTT协议要实现MQTT协议,需要有客户端、服务器端。通配符和主题筛选器只能在订阅中使用,不能在发布者中使用。Topic主题:所有物联网平台与设备之间的消息都是基于主题进行消息的路由、转发。Topic类:同一个产品下,不同Topic的集合用/productkey/devicename通配一个唯一的设备,一个Topic类对于一个productkey下面所有设备通用。这里¥开头的是服务器保留的Topic。Topic:是发布-订阅者模型中消息传输的中介。可以向topic发布或者订
2020-10-17 19:41:41
343
原创 物联网云平台介绍-阿里云平台
物联网平台处于软硬结合的枢纽位置。向下接入设备感知层,向上接入面向应用开发基础平台。阿里云平台端构成:接入物联网云平台之前,先了解以下概念:1.产品以共享单车为例,共享单车是一组具有相同功能的产品,而设备是产品下面的具体表现形式。设备都有智能锁,二维码,都需要云平台完成服务。2.网关3.三元组接下来登录阿里云,创建设备阿里云支付宝扫码直接登录右上角: 控制台控制台显示了阿里云的所有产品。从产品目录中找到物联网平台,第一次进入显示未开通,点击免费开通。进入物.
2020-10-17 16:47:11
2761
原创 使用Keras搭建神经网络【Tensorflow笔记-ch3】
使用Keras搭建神经网络课程链接1 tf.keras 搭建神经网络八股1.1 keras 介绍tf.keras 是 tensorflow2 引入的高封装度的框架, 可以用于快速搭建神经网络模型, keras 为支持快速实验而生,能够把想法迅速转换为结果, 是深度学习框架之中最终易上手的一个,它提供了一致而简洁的 API,能够极大地减少一般应用下的工作量,提高代码地封装程度和复用性。Keras 官方文档深度学习编程框架中的 API 众多,就算是从业很久的算法工程师也不可能记住所有的 API。由
2020-10-11 22:32:38
3911
原创 缓解过拟合【Tensorflow笔记-CH2.5】
欠拟合与过拟合欠拟合的解决方法:√ 增加输入特征项√ 增加网络参数√ 减少正则化参数过拟合的解决方法:√ 数据清洗√ 增大训练集√ 采用正则化√ 增大正则化参数正则化正则化在损失函数中引入模型复杂度指标,利用给W加权值,弱化了训练数据的噪声通过实际用一下TF的正则化函数,看看是怎么计算的,也熟悉一下TF和python的用法:import tensorflow as tfa = tf.constant([1, 2, 3], dtype=tf.float32)b = tf.con
2020-10-03 18:39:26
224
原创 损失函数【tensorflow笔记-CH2.4】
损失函数loss损失函数loss是预测值(y)和已知答案(y_)的差距其中yi是一个batch中第i个数据的真实值,而yi’是NN的预测值。使用例子:y_true = tf.constant([0.5, 0.8])y_pred = tf.constant([1.0, 1.0])print(tf.keras.losses.MSE(y_true, y_pred))运行结果:>>> tf.Tensor(0.145, shape=(), dtype=float32)等价实
2020-10-03 11:38:20
295
2
转载 Jetson Nano更换软件源
Nano的镜像默认是国外的源,速度很慢,国内的源有的上不去,有的包无法安装,经过测试清华大学的源完美可用,现放上教程首先备份原本的source.list文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #为防止误操作后无法恢复,先备份原文件sources.listsudo gedit /etc/apt/sources.list然后删除所有内容,复制deb http://mirrors.tuna.tsinghua.edu.cn/
2020-10-01 15:02:50
786
原创 Jetson Nano的TensorRT 板载摄像头实时图像识别
TensorRT 板载摄像头实时图像识别今天,调用了jetson-inference库中的例程,通过CSI摄像头采集图像并进行图像处理识别。进入到jetson-inference/ aarch64 / bin目录下:实时图像识别演示位于jetson-inference/ aarch64 / bin中并被调用imagenet-camera。它在实时摄像机流上运行,并根据用户参数,使用TensorRT加载googlenet或alexnet。$ ./imagenet-camera 每秒帧数(
2020-10-01 14:55:57
2888
6
原创 Jetson nano TensorRT环境搭建(jetson-inference)
TensorRT:使用TensorRTJetson Nano的官方文档中给我们推荐了二个例子,其中一个使用Tensor RT做物品识别的例子。具体的可以参考英伟达jetson-inference例子。跑通这个例子需要的模型就大概1G以上,所以这个例子的大部分并没有放到SD卡上(SD卡上只有运行这个模型所需要的TensorRT)。悲剧的是存放这些模型的服务器被墙了,所以只能将之前下载好的包远程传输到对应的下载目录下。首先如果您没有安装git和cmake,先安装它们sudo apt-get instal
2020-09-30 22:08:56
8559
9
原创 神经网络实现鸢尾花分类
课程讲解链接神经网络实现鸢尾花分类仅需三步:√准备数据数据集读入数据集乱序生成训练集、测试集配成对(输入特征、标签),每次读入一小撮batch√搭建网络 定义神经网络中所有可训练参数√参数优化 嵌套循环迭代,with结构中求得损失函数loss对每个可训练参数的偏导数,更新可训练参数,显示当前loss鸢尾花分类代码:准备数据# -*- coding: UTF-8 -*-# 利用鸢尾花数据集,实现前向传播、反向传播,可视化loss曲线# 导入所需模块import tensor
2020-09-29 23:57:37
8387
1
原创 Jetson nano远程登录与文件传输、安装Tensorflow Gpu(tf-2.2+nv20.8)
采用MobaXterm实现nano远程登录;采用FileZilla实现文件传输。把nano与路由器用网线连接,输入ifconfig查询nano的ip地址。nano ip地址:192.168.31.10在MobaXterm中新建SSH连接,输入nano的IP,用户名kevin,端口默认22。输入nano密码后就登陆到了nano的终端。FileZilla中,通过输入nano IP地址、用户名和登录密码,端口号默认22。访问成功后,能够实现文件互传,直接拖拽就可以!方便快捷有没有!传一
2020-09-29 21:46:08
2025
2
原创 一个AI小计划
笔记本:GTX 1050Ti 4GB+Win10笔记本开发环境:Anaconda+Pycharm+CUDA10.0+cudnn-v7.4.1.5开发板:Jetson nanoB01,Jetson Nano采用四核64位ARM CPU和128核集成NVIDIA GPU,可提供472 GFLOPS的计算性能。它还包括4GB LPDDR4存储器,采用高效,低功耗封装,具有5W / 10W功率模式和5V DC输入。还有块小屏幕~有了这些能干嘛呢?到底做什么呢?当然是想点亮一点技能树,然后……谁知道呢
2020-09-28 00:32:08
195
原创 anaconda新建环境并安装Tensorflow2.0-gpu
首先安装好anaconda,CUDA10.0+cudnn-v7.4.1.5。打开anaconda prompt,新建一个运行环境,来安装tensorflow-gpu2.0,一开始想从anaconda界面直接新建环境并安装tensorflow-gpu,但是不成功。在anaconda prompt命令行中输入:conda create -n tensorflow2 python=3.7按照提示,激活之:activate tensorflow2此时就进入了刚刚新建的tensorflow2环境下,接.
2020-09-26 19:15:26
675
原创 视觉SLAM十四讲【ch2】
视觉SLAM十四讲【ch2】2.4.2 Hllo SLAM调用g++编译器对main.cpp进行编译,g++默认把源文件编译成a.out这个名字的程序。也可以指定文件名。//编译可执行目标文件g++ main.cpp -o mySLAMmySLAM.out和tmySLAM有没有区别?编译和执行的时候是一样的吗?试验如下:因为,一般来说,linux可执行文件没有扩展名。Linux与Windows不同,不是根据扩展名来区分文件类型的。事实上,Linux下的文件不需要扩展名。一切皆文件,包含设备文
2020-09-13 18:31:40
380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人