自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ian的博客

You're not writing code, you're solving problems.

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

原创 新华硕笔记本ubuntu18.04双系统安装之后,wifi没有显示无法链接wifi

本来我以为跟简单安装一个wifi网卡的驱动就可以解决的问题,没想到花了我一早上的时候解决… 惭愧。另外,本来是没打算写这篇博客的,但是我在搜索解决这个问题的过程中, 发现多人提出的解决方案跟我的都不一样,甚至我的解决方案都没有搜到相应的答案,还是只能靠自己啊。。言归正传,还是说说怎么正确的安装wifi驱动吧!1. wifi没有正确安装、或没有正确配置的表现我的电脑现象: 有wifi图标, wifi设置上显示unaviable,无法搜索到任何wifi;还有其他类似的表现,大家可以看看其他朋友的提

2020-11-12 14:46:59 46

原创 导航包Navigation最全完整解析(六): 为导航添加新算法插件的开发手册

add Global Planner As Plugin in ROS在原始的navigation的算法基础添加新的算法,做全局规划或者局部规划以及恢复行为;在本次教程中,我会一步一步写一个新的简单全局路径规划算法(案例参考)作为插件来导入slam_planner中,作为算法二次开发手册。第一步: 新建一个ROS包<rx_astar_planner>-包含以下文件├── CMakeLists.txt├── include│ └── rx_astar_planner│ .

2020-09-17 10:16:59 89

原创 导航包Navigation最全完整解析(五): 重要接口之BaseLocalPlanner

类似全局路径规划器描述,简化局部路径规划的讨论.与全局路径规划器想似,在调用局部路径规划时,同样也是在move_base调用nav_core::BaseLocalPlanner接口;然后用base_local_planner(如DWA)来继承nav_core::BaseLocalPlanner类,并以同样的原理将基类指针指向子类,从而调用子类的函数move_base中调用局部路径规划器的接口// move_base.cpp(节选)boost::shared_ptr<nav_core.

2020-09-16 10:48:39 87

原创 导航包Navigation最全完整解析(四): 重要接口之BaseGlobalPlanner

导航包Navigation最全完整解析(四): 重要接口之BaseGlobalPlanner本节解析move_base的全局路径规划器接口: BaseGlobalPlanner.在前面的分析可以知道, 在move_base中调用全局规划算法时会初始化全局路径规划接口;这个接口通过nav_core包来传递核心的实现函数如(carrot_planner/global_planner等);因此在本节中主要采用针对global_planner包来分析全局路径规划的接口函数调用;其主要调用的函数流程为:

2020-09-11 11:24:46 115

原创 导航包Navigation最全完整解析(三): 重要接口之Costmap_2D

承接上一节, 在了解move_base代码的执行原理之后, 开始逐步学习和解析每一个重要的程序接口,并在最后附上可用参数的参数设置。costmap_2d的参数空间static_layer ## 静态层 原始地图obstacle_layer ## 障碍层 动态障碍inflation_layer ## 膨胀层 ##@其他扩展, 还可自定义social costmap layer ## 跟踪人Range sensor layercostmap地图又叫占用栅格图, 即将整张地图分为多个小.

2020-09-09 12:07:03 118 3

原创 导航包Navigation最全完整解析(二): 对核心节点move_base进行分析

开始直接进行代码分析阶段, 首先对核心节点move_base进行分析一、 MoveBase( &tf) 节点重要接口函数功能解析:1. 初始化全局规划和局部规划器句柄;2. 初始化恢复行为句柄;3. 初始化代价地图函数句柄;4. 其他参数、变量等初始化;初始化1个服务: MoveBaseActionServer(, , boost::bind(&MoveBase::executeCb, this, _1), );初始化另开1个线程: boost::thread(bo.

2020-09-07 11:19:32 157

原创 导航包Navigation最全完整解析(一): 软件包关系梳理

导航包Navigation最全完整解析: 软件包关系梳理navigation包目前常用的主要有kinetic-devel和melodic-devel两种分支; 在本次讨论中主要针对kinetic-devel版本进行解读.对navigation的两种分支做一个简单的对比:1. melodic在kinetic的基础上淘汰了tf的使用,替换成了tf2;2. melodic在某些Velocity参数设置做了一些相应的修改,参数名等方面;3. costmap2D上增加了某些细节;4. 在核心算法上好像

2020-08-20 14:16:31 242

原创 DRL学习第二课: 方法学习和探索

探索与利用序列决策的一个基本问题:探索Exploration:尝试更多的决策,不一定是最优收益,可能发现更好的策略利用Exploitation:执行能够获得已知最优收益的策略“策略探索的原则”1. 朴素方法2. 积极初始化3. 基于不确定的度量4. 概率匹配“案例: 多臂老虎机”"详细阐述和分析"1. 朴素方法Naive Exploration 添加噪声策略2. 积极初始化Optimistic Initialization a. 给价值函数一个较高的初始化值 b.

2020-08-04 14:27:05 101 2

原创 DRL学习第一课: 结构梳理和理清概念

近期在忙一个比较重要的项目, 做到机器人快速避障,正在努力学习和更新中.深度强化学习(Deep Reinforcement Learning)强化学习是机器学习的一个分支, 相较于机器学习经典的有监督学习, 无监督学习问题, 强化学习的最大的特点是在交互中学习(Learning from Interaction).Agent在与环境的交互中根据获得奖励或惩罚不断的学习知识, 更加适应环境.RL学习的范式非常类似于我们人类学习知识的过程, 也正因此, RL被视为实现通用AI重要途径.强化学.

2020-07-20 10:39:02 122

原创 TF2.0学习NOTE5: 探索解析 过拟合/欠拟合

对模型的训练的准确性, 会先达到峰值, 然后下降.模型训练的目的: 使模型能够适用于大部分泛化测试数据, 并保持较高的准确率."名词解析""模型数据较少时, 使用正则化等技术, 限制了模型可以存储的信息的数据量和类型,如果网络只能记住少量模式, 那么优化过程将迫使它专注于最突出的模式,这些模式有更好的泛化性"1. 过拟合: 模型训练时间过长, 训练数据较少;2. 欠拟合: 模型设置不够强大, 过度正则化以及无足够长时间训练模型;3. 正则化: 向原始模型引入额外信息,以便防止过拟合和提高.

2020-06-10 10:30:12 86

原创 TF2.0项目实战一:汽车质量检测

TF2.0项目实战三:汽车质量检测1. 获取数据集car-evaluation下载链接: https://archive.ics.uci.edu/ml/datasets/Car+Evaluation在下载页面有对数据的详细描述, 参照数据描述, 对数据进行处理.2. 对数据进行处理将数据分为7大类要素, 其中包括分类结果Result.column_names=['Buying', 'Maint', 'Doors', 'Persons', 'Lug_boot', 'Safety', 'Result

2020-06-08 21:57:49 176

原创 ubuntu技巧学习5: shell脚本程序自启动编写

1. 查找某一进程的ID号, 然后终止该进程的运行 dir=<<your packages dir>> export SUDO_ASKPASS=$dir/PASSWD ID=`ps -ef | grep "sdk_lcm_server_high" | grep -v "$0" | grep -v "grep" | awk '{print $2}'` sudo -A kill $ID2. 不同终端下自动开启另一个终端运行程序, 并保持终端不关闭gnome-ter

2020-05-26 11:25:07 148

原创 FastAI-1-0-6学习第一节:框架特性与前言准备

1. 为什么学习FastAI ?1. 它可以快速, 可靠地把最先进的深度学习应用于实际问题;2. 它的准确性和速度上有着明显的提高, 同时所需的代码大大减少;3. 它能用模块化-高级API实现最先进的技术和创新; 2. FastAI检测GPU的运行状态"本机查看GPU的详细信息: " python -c 'import fastai.utils; fastai.utils.show_install(1)'3. Fastai的运行性能加速Mixed Precision Trai

2020-05-18 21:38:10 129

原创 史上最全源码安装ROS-BUG解决集合:在树莓派4B上安装Raspbian Bluster + ROS-kinetic + 配置navigation
原力计划

Raspberry Pi 源码安装ROS-Kinetic这里的测试中rosdep 无法使用, 通过其他方式下载了kinetic-desktop-wet.rosinstall文件,并注销opencv的编译+安装。1. 前言背景sudo rosdep init && rosdep update 无法成功,凡是涉及到rosdep的都无法成功;提醒: 如果你可以设置系统全局VP...

2020-04-30 20:45:32 653 1

原创 动手学深度学习TF2.0第十二课: 从数据导入、预处理、模型创建、编译、保存、预测模型的整个流程(图像分类)

对项目一: 图像分类的逐步解析#!/bin/bash# -*-coding:utf-8-*-###### 第一个简单项目测试: 图像分类模型测试. 数据集为: Fashion MNIST. Tensorflow2.0############################# 将新版本的特性引进当前版本中。from __future__ import absolute_impo...

2020-04-15 10:52:42 242

原创 动手学深度学习TF2.0第十一课: 解析几种不同深度神经网络的设计思路

1. 各网络层对比VGG: 可以通过重复使用简单的基础块来构建深度模型;NiNLeNet、AlexNet和VGG在设计上的共同之处: 先以由卷积层构成的模块充分抽取空间特征,再以由全连接层构成的模块来输出分类结果。其中,AlexNet和VGG对LeNet的改进主要在于如何对这两个模块加宽(增加通道数)和加深;而NiN提出了另外一个思路,即串联多个由卷积层和“全连接”层构成的小网络来构...

2020-04-08 20:01:42 125

原创 动手学深度学习TF2.0第十课: 卷积层中的超参数调整

卷积层的输出形状由输入形状和卷积窗口形状来决定。如假设输入的形状为n(h) * n(w), 卷积核窗口形状是k(h) * k(w), 那么输出形状将会是 (n(h) - k(h) +1) * (n(w) - k(w) +1).1. 超参数调整由上讨论,可引出两个超参数: 填充和步幅.填充''' 填充(padding): 是指在输入的高和宽两侧填充元素(通常为0). 填充的小技巧:...

2020-04-05 21:03:24 238

原创 DAVIS第八课: EMVS- 基于事件相机的多立体视野3D环境重建

1. 摘要事件相机与传统视觉相机的数据输出不一致, 因此需要转换处理模式.EMVS优雅地利用事件相机的两个固有属性:天然提供几何边缘信息;提供连续的数据测量信息;本文的算法利用上述两个特性,在已经事件相机的运动轨迹下,能够给出精确地的, 中稠密深度地图, 且不要求任何的数据关联和强度估计.我们的算法是非常有效的,能够在CPU上实时处理.2.Event-based Multi-Vi...

2020-04-05 17:32:06 253

原创 DAVIS第七课:Feature Detection and Tracking with the Dynamic and Active-pixel Vision

第八课:Feature Detection and Tracking with the Dynamic and Active-pixel Vision1.摘要因为标准的相机以一种连续的时间间隔采样场景,所以他们并不提供后续帧之间盲区时间。然而, 对于大多数高速运动的机器人和视觉应用中,在盲区时间内提供一种高速率测量更新是至关重要的。DAVIS联合了标准相机和异步事件传感器, 能够解决上述难...

2020-04-05 17:21:21 207

原创 TF2.0学习NOTE3: AI在工业视觉上的主要应用场景

1.测量;2.识别,如读取各种条码;3.定位、引导,识别位置;4.检测,如缺陷检测

2020-04-02 20:51:45 66

原创 动手学深度学习TF2.0第九课: 二维卷积神经网络

卷积神经网络: 含卷积层,有宽和高两个维度,常用来处理图像数据。1.二维卷积(互相关运算)'''二维互相关运算: 1. 卷积窗口(又被称卷积核或过滤器(filter))从输入数组的最左上方开始,按从左往右、从上往下的顺序, 依次在输入数组上滑动;2. 当卷积窗口滑动到某一位置时,窗口中的输入子数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素;实现二维互相关运算函数如下:...

2020-04-02 20:44:26 113

原创 动手学深度学习TF2.0第八课: 模型构造-模型参数保存+加载-GPU计算

本章节涉及到模型的构造、参数访问、初始化以及自定义网络层等细节问题,在这里省略讨论,等后面在具体项目中具体分析。本章重点记录模型和数据保存、读取; 以及GPU的调用;1. 读取和存储import tensorflow as tfimport numpy as npprint(tf.__version__)## 加载和保存数据x = tf.ones(3)np.save('x...

2020-04-01 17:10:18 219

原创 动手学深度学习TF2.0第七课: 模型训练和参数调节技巧

模型结构的改变和超参数调节技巧训练误差和泛化误差通俗解释: 训练误差就是由训练集上表现出的误差, 而泛化误差为测试集上表现出的误差.由于训练误差是在训练集上通过最小化训练误差不断迭代得到的, 所以训练误差的期望<=泛化误差的期望.所以训练集上的模型表现一般会优于测试集上的表现. 因此, 一味地降低训练误差并不意味着泛化误差一定会降低.机器学习模型应关注降低泛化误差!1....

2020-03-30 10:18:35 376

原创 福利一波: linux下编写shell脚本自动聚焦窗口、保存、定时删除等

前段时间终于历经千辛万苦,终于开始复工了。一来公司赶紧花时间解决了这段时间由于产品更新留下的问题,恢复了正常的发货;其次跟上节奏开始了新项目的开发和迭代。现在这些比较急的事情都已经告一段落,现在要开始自我学习和奋斗咯。只有不断进步才能提升自我价值, 继续加油。1. linux下自动文件夹下过时的文件#!/bin/bashdir=/home/ian/tmp/Pictures#保...

2020-03-28 18:12:44 103

原创 随笔记录1:ubuntu18.04下ROS的安装

#! /bin/bashsudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:8...

2020-02-29 10:38:15 118

原创 VSLAM(6): Real-time Segmentation, Tracking and Fusion of Multiple Objects

学习论文: 时而学习之, 温故而知新.该算法以模型为基础单位, 一组3D点的集合(关键帧), 来实现帧的跟踪/分割/融合活跃模型: 在当前帧中看到的模型非活跃模型: 曾经出现过, 不知其几何形状, 也不在当前视野内.1. 摘要本文介绍了一种基于RGB-D相机实时的稠密SLAM系统(定位+3D环境重建)。该算法可以根据运动和语义标注将场景分割成不同的目标物。我们使用多种模型拟合方法...

2020-01-21 11:54:32 163

原创 动手学深度学习TF2.0第六课: 多层感知机

前面介绍的线性回归和softmax回归都是单层神经网络. 然而在深度学习中, 大多数是多层模型. 以下以多层感知机为例, 介绍多层神经网络.1. 隐藏层多层感知机在单层神经网络的基础上引入了1~N个隐藏层(hidden layer).隐藏层位于输入层和输出层之间.上图中含有一个隐藏层,该层中有5个隐藏单元;输入层不参与计算,所以上图中的多层感知机的层数为2;上图中的多层感知机隐藏层...

2020-01-16 11:01:42 241

原创 TF2.0学习NOTE2: fastai框架简介

学习链接Fastai官网学习链接如何评价Fastai框架?Fastai简要学习链接1.使用问题Fastai安装Fastai在用conda安装的时候, 会出现下载很慢, 有两个依赖包一直下不下来.这个时候可以使用conda首先安装这两个依赖包, 但是不要以fastai这个channel去下载. 等待这两个包下载安装完成之后, 再去安装fastai即可;Fastai中的图像显...

2020-01-15 20:32:49 156

原创 动手学深度学习TF2.0第五课:不依赖tensorflow函数来实现线性回归模型的训练

1.初始化数据, 导入tensorflow模块和画图模块.import tensorflow as tfprint(tf.__version__)from matplotlib import pyplot as pltimport random2.0.0// 样本个数= 1000, 特征数=2(房屋的面积和年龄), 线性回归的真是模型的权重为(2, -3.4), 以及偏差(或者说截...

2020-01-10 21:06:31 83

原创 动手学深度学习TF2.0第四课: softmax回归详细分析

动手学深度学习TF2.0第四课: softmax回归详细分析离散值预测问题, 介绍神经网络中的分类模型分类的基本问题一般连续值到离散值的转化通常会影响到分类质量。因此,我们一般使用更适合离散值输出的模型来解决分类问题。一、softmax回归模型与线性回归的主要不同在于:softmax回归的输出值个数等于标签里的类别数。在这里类似于线性回归中的房屋预测问题,给出猫狗分类问题进行...

2020-01-10 20:52:40 222

原创 TF2.0学习NOTE1: Jupyter-notebook快捷键命令

启动jupyter-noterbook时,先启动系统中安装的conda虚拟环境。启动jupyter-noterbook source activate base jupyter-noterbook这样就可以在网页上看到notebook的网页界面。Jupyter-notebook的快捷键使用主要有两种编辑模式: 命令模式, 编辑模式。使用Esc进入命令模式: A...

2020-01-09 10:28:21 94

原创 ubuntu学习技巧4: qt多版本更换以及更新更高版本的qt

在Ubuntu-16.04下可以直接安装qt版本有qt4和qt5(5.5.1);1. qt4与qt5的版本切换首先可以参看qt版本: qmake -v // 输出 QMake version 3.0 Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu可以看到默认使用的qt版本, 并且给出了路径。所以,如果我们想要更改qt...

2020-01-08 18:24:13 1880

原创 动手学深度学习TF2.0第三课: 线性回归配合深度学习基本要素详细分析

一. 核心点简要归纳线性回归输出是一个连续值(如预测房屋价格、销售额等),因此它本身属于一个回归问题。分类问题的输出是一个离散值(如图像分类、垃圾邮件识别等),因此可以简单的认为输出为离散值的问题属于分类问题。输出值为连续值的问题为回归问题。softmax回归则适用于分类问题 --- 单层神经网络二.深度学习模型的基本要素和表示方法(以线性回归为例)1.模型定义一个...

2020-01-07 14:16:49 152

原创 动手学深度学习TF2.0第二课: anaconda环境配置(不污染原系统的python)

anaconda下载地址1.安装注意事项安装时不要将conda添加进系统环境(在安装的时候,后续有选择性的添加); export PATH=/home/ian/anaconda3/bin:$PATH export LD_LIBRARY_PATH=/home/ian/anaconda3/lib:$LD_LIBRARY_PATH export PYTHONPATH="/home/ian/...

2020-01-06 17:05:54 282

原创 ROS回顾学习(11): TF之static_transform_publisher

主要用于静态坐标转换。两种发布形式1.俯仰角+位置坐标// static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms <launch> <node pkg="tf" type="static_transform_publisher" name="lin...

2020-01-04 09:41:49 822

原创 动手学深度学习TF2.0第一课: 目录框架梳理+预备知识

2020年伊始, 开始正式进军机器学习–深度学习(但依然保持原有的SLAM基础)。第一部分1.介绍深度学习的背景和深度学习的预备知识。2.介绍深度学习最基础的概念和计数。第二部分1.描述深度学习计算的各个重要组成部分;2.解析深度学习在计算机视觉领域成功应用的卷积神经网络;3.近年来常用于处理序列数据的循环神经网路;第三部分1.评价各种用来训练深度学习模型的优化算法;2....

2020-01-02 21:53:52 176

原创 C++11学习之字符串转换、字母数字等判断库函数

一. C/C++语言判断数字或字符的函数头文件: #include <ctype.h>1. 如isalnum() isupper()2. isalnum()–判断是否为字母、数字。3.库函数判断是否为字母、数字#include <ctype.h>isalpha(a);//是否为字母aisdigit(1);//是否为数字1isupper(A);//是否为大写字...

2019-12-30 09:27:49 168

原创 vSLAM重读(5): vSLAM中对双目相机的数据处理及与单目相对比

SLAM中对双目相机的获取深度图的方法1. 双目相机概述双目立体视觉模型双目模型求取深度双目立体相机分别校准可参考 ROS_单目相机_分别校准双目立体匹配算法案例https://www.cnblogs.com/riddick/p/8486223.htmlhttps://www.cnblogs.com/zyly/p/9373991.html双目相机的特性1.双目相机...

2019-12-24 10:08:42 139

转载 卷帘快门(Rolling Shutter)与全局快门(Global Shutter)的区别

转载的原始连接: https://blog.csdn.net/abcwoabcwo/article/details/93099982快门是照相机用来控制感光片有效曝光时间的机构。是照相机的一个重要组成部分,它的结构、形式及功能是衡量照相机档次的一个重要因素。什么是Global Shutter(Total Shutter)?通过整幅场景在同一时间曝光实现的。Sensor所有像素点同时收集光线,...

2019-12-17 14:21:29 345

原创 VLP-16第三课: LOAM: 基于雷达的里程计和实时建图

1. (前言)velodyne 驱动包的一些数据信息以下参数不是理论参数,而是代码编程测试的实际参数扫描距离:0.4 - 100;转速: 600r/m ---> 10r/s(每秒钟转10圈);数据包发送频率: 754(for Last/Strongest) 1508 (for dual)每一圈发送的数据包: 754/10 = 75个。雷达扫描的精度: 0.007因此,激...

2019-12-14 20:51:19 289

MouseClick.sh

shell脚本程序, 可自动聚焦某个图像窗口,然后保存数据到某个指定文件夹,最后每隔一段时间会自动删除过去的缓存图像,只保存最新的几张截图。专门开发用于RVIZ导航地图图像保存!

2020-03-28

stixel_world.tar.gz

利用realsense d435研究算法stixel_world, mul_stixel_world以及semantic_stixel_world,以上提供相应修改后稳定的代码实现供大家参考

2019-07-18

空空如也

空空如也

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

TA关注的人 TA的粉丝

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