自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 PyTorch leaf node

起因 今天被PyTroch tensor的requires_grad搞了一把。具体情况是创建一个tensor和在后续的使用过程中,对requires_grad的取值会影响到python存储的变量是否为leaf node。说起来很抽象,直接上代码。 (有关leaf node,请参考我的另外一篇博客,...

2019-11-27 10:53:26

阅读数 31

评论数 0

原创 Python 生成带有RGBA信息的 ROS PointCloud2 message

起因 最近有一个工作是需要把一组三维点以ROS PointCloud2 messge的形式进行publish。并且需要使用python环境。原始点云只有坐标数据,需要根据点距离坐标原点的距离对点云进行上色。 经过 通过参考一些开源项目的源码,并通过NumPy的structured array功能实...

2019-11-22 02:25:27

阅读数 41

评论数 0

原创 PyTorch 学习笔记 (3) PyTorch 1.0+ C++/CUDA extension

参考教程 PyTorch官方教程 本机系统 Ubuntu 18.04 LTS NVIDIA GeForce GTX 1080 with driver 430.50 CUDA V10.1.243 python 3.6.8 virtualenv torch.version == ‘1.2.0’ Vi...

2019-11-20 06:07:13

阅读数 148

评论数 0

原创 PyTorch dataloader 中的随机数

起因 最近用PyTorch训练一个新的CNN,需要在输入的训练图像上增加简单的噪声,最开始是利用NumPy提供的随机数函数去添加噪声,基于PyTorch提供的dataloader进行图像加载。在使用dataloader时,发现当worker数量大于1时,每个worker生成的随机数的序列是完全一样...

2019-10-31 01:12:28

阅读数 72

评论数 0

原创 OpenCV modules

以下列表是从opencv和opencv-contrib 的cmake 输出截取的。我禁止了python2和world。 aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec ...

2019-10-16 02:02:24

阅读数 19

评论数 0

原创 kalibr使用记录

起因 本来一直都是直接使用ROS的camera_calibration package标定stereo camera的,最近有个工作需要用kalibr标定。还从来没用过,倒腾了一阵,发现还起步比较曲折,但是最后还是挺顺利,这记录一下。 使用的平台是Ubuntu 16.04 LTS, ROS kin...

2019-06-11 04:37:25

阅读数 654

评论数 0

原创 修改OpenCV SGBM代码实现per-pixel searching range constrain

新增StereoSGBM实现 需要确认我们正在修改的头文件是处于OpenCV的源码路径,而不是OpenCV的安装路径。OpenCV在安装后, 会复制头文件到安装路径。 增加MODE标签 修改calib3d.hpp内, StereoSGBM类中枚举类型的定义。 enum { MODE_SGBM =...

2019-05-30 02:01:19

阅读数 197

评论数 0

原创 并不习惯处理大整数导致 SIGSEGV 或 SIGBUS 或 "Error: free(): invalid next size"错误

概述 最近在调试一段用于处理图像的程序, C++的代码, 需要对每个pixel逐个处理. 在小图像(大约VGA的size)上调试好了需要处理4k size的图像, 一直出现各种离奇错误, 都是和内存有关的, 例如各种SIGSEGV和SIGBUS异常, 在调用free()函数时发生"Err...

2019-05-14 07:33:22

阅读数 61

评论数 0

原创 GridMap: 一个用于强化学习 (reinforcement learning) 训练的二维连续坐标栅格地图

大家好, 我刚刚做了一个简单的2D连续坐标栅格地图, GridMap. 我们使用GridMap进行我们的强化学习 ( reinforcement learning )算法验证. 在GridMap中, 用户可以创建一个起始block和一个终止block, 另加多个障碍block. 虽然称为栅格图,...

2019-05-10 12:06:29

阅读数 159

评论数 0

原创 Ubuntu + CUDA + CMake ( + Eigen !?)

目录起因实例 起因 C++原有实现有点慢,尝试CUDA加速,突发奇想,能不能在kernel或者device函数里面使用eigen,因为eigen是header file only的。然后发现居然真的可以,不过对于kernel函数而言,视乎有点绕。 实例 在原来CUDA的实例上又搞了一个用eigen...

2019-05-02 10:09:20

阅读数 141

评论数 0

原创 简单的numba + CUDA 实测

目录简单的numba + CUDA 实测起因numba + CUDAnumba天生支持NumPy,但是CUDA部分仅提供非常有限的支持CUDA部分代码 简单的numba + CUDA 实测 起因 一时兴起,是我太闲了吧。 最近需要对一个4k图像进行单个像素级别的处理,由于用python用得人有点懒...

2019-05-02 09:23:56

阅读数 1232

评论数 5

转载 原来C++里未注明的浮点数被解释为double类型

最近读了一个SIMD优化过的代码, 里面大片使用了static_cast<>和reinterpret_cast<>. 对这两个函数的具体区别不是很理解, 于是上网研习了一下. 随便了解到一个之前一直忽略的问题, 就是C++中, 以浮点数形式出现的常量, 在结尾未注明 f 时...

2019-04-13 11:02:54

阅读数 71

评论数 0

原创 邪恶的复制粘贴

这里写自定义目录标题邪恶的复制粘贴 邪恶的复制粘贴 记得还是在2010年,或者2011年, 其实我记不太清了, 那个时候开始给课题组写一个三维动力学仿真的程序. 由于自身水平的限制, 代码结构并不是很好, 出现了很多需要将一段代码复制粘贴到另外一个地方的情况. 这真的是一个邪恶的操作, 因为当被复...

2018-12-16 12:17:16

阅读数 185

评论数 0

原创 OpenCV 2.4.11 + CUDA 9.1 + Ubuntu 16.04 配置记录

索引下载源码配置CUDA解决nppiGraphcut修正pkg-config文件 目前手上有一个工作,需要在Ubuntu 16.04 上自行编译OpenCV 2.4,并且还要用CUDA 9。尝试了一下午,终于能够编译通了,这里记录一下。 下载源码 在OpenCV 3.0.0之前的版本,与openc...

2018-11-10 22:02:01

阅读数 144

评论数 0

原创 编译OpenCV4 + Python3 笔记

主要参考 https://www.pyimagesearch.com/2018/08/15/how-to-install-opencv-4-on-ubuntu/ OpenCV4要求使用cmake 3.5.1以上版本,更新cmake使用的命令为 sudo apt-get install sof...

2018-11-07 14:58:27

阅读数 1443

评论数 0

原创 OpenCV stitching_detailed.cpp 笔记

OpenCV stitching_detailed.cpp 笔记 根据4.0.0-pre的文档。   1. 函数  template&lt;typename T&gt; Ptr&lt;T&gt; cv::makePtr() 返回 一个Ptr&l...

2018-11-06 12:04:01

阅读数 513

评论数 0

原创 创建 ROS rqt 插件 topic service

本机系统:Ubuntu 16.04, ROS Luna 更新20191023:Ubutnu 18.04 LTS ROS Melodic 所有文件可在https://github.com/huyaoyu/rqt_my_plugin获取。 关于ROS rqtcustom plugin的官...

2018-08-28 06:50:58

阅读数 1754

评论数 10

原创 Multimaster ROS 的配置与 multimaster_fkie

As always, 还是没有足够时间翻译了。原文在我的英文博客上。   Multimaster ROS configuration and multimaster_fkie   ROS version: Luna. OS: Ubuntu 16.04. multimaster_fki...

2018-08-27 13:37:15

阅读数 855

评论数 2

原创 极简光流(optical flow) - 基于深度和相机位姿的光流

实在时间紧,还是仅上英文版的,诸位见谅。原文在我的个人主页上。   Simple optical flow based on depth and pose information   Recently, I was helping to implement a simple program...

2018-08-06 11:47:42

阅读数 1265

评论数 0

原创 PyTorch的学习笔记02 - backward( )函数

0.4.0版教程。 20191126更新:添加了关于CopySlices backwar函数的讨论。 创建一个Tensor时,使用requires_grad参数指定是否记录对其的操作,以便之后利用backward()方法进行梯度求解。 一个Tensor的requires_grad成员保存...

2018-07-16 11:41:42

阅读数 12293

评论数 5

原创 Building mesh and texture in MeshLab using point cloud produced by stereo reconstruction

对不起诸位,我实在没有时间写中文的了,直接贴已经写好的英文版     Building mesh and texture in MeshLab using point cloud produced by stereo reconstruction   The point cloud fr...

2018-07-16 06:00:52

阅读数 436

评论数 2

原创 双目Stereo重建算法SGM(1) - 互信息(Mutual Information)

1 概述对于机器视觉,我目前还是刚起步,可能步还没起来。近日开始接触双目Stereo的相关算法,主要是对Heiko Hirschmüller在2008年的文献(Hirschmüller 2008)中描述的算法进行研究。该文献,也就是利用互信息(Mutual Information)作为计算matc...

2018-07-02 13:19:05

阅读数 1469

评论数 6

原创 OpenCV杂记 - Mat in C++

1 概述 Mat类是OpenCV表达二维图片的基础。 经过简单阅读有关Mat的documentation,记录其中提出的几个关键要点。   OpenCV 的API函数,对图像的输出参数都会自动管理内存,调用者可不必亲自管理。但是如果调用者已经对输出参数配置好了合适大小的内纯,API会自动福...

2018-06-25 11:15:49

阅读数 4494

评论数 3

原创 调试 LenaCV 3D Camera (Linux)

调试 LenaCV 3D Camera (Linux)&lt;yyhu_live@outlook.com&gt;2018年5月26日于Carnegie Mellon University本文的pdf文件可从这里获取。1 测试环境Ubuntu 16.04 LTS, Python 2....

2018-06-06 07:50:07

阅读数 894

评论数 4

转载 【转载】将Ubuntu16.04 中gedit在仅显示一个文件时显示文件名tab

Ubuntu16.04中gedit在仅显示一个文件时,不显示文件tab,也看不到文件名。可以修改gedit的设置,使之始终显示文件tab,方法如下。在终端中输入gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'alw...

2018-05-14 23:43:51

阅读数 269

评论数 0

原创 诡异的 Scroll view may have only one direct child placed within it 错误

最近在Android上创建一个简单的Fragment时出现了诡异的错误。我本来的意图可能也不是很正规,在Activity的Layout xml文件中,我放置好了一个fragment element,然后打算在Activity的onCreate()函数中利用Fragment Transaction来...

2018-04-01 15:19:45

阅读数 61

评论数 0

原创 Android Sync Adapter (使用Stub Content Provider) 笔记

Android系统提供Sync Adapter功能用于移动端App与服务器端进行数据同步。在Android开发者官网上有一个简要的教程。在学习过程中也参考了Google自家的sample code和这一片出自Udi Cohen的非常出色的博客。在自己尝试过程中,对Sync Adapter的实现遇到...

2018-03-17 21:54:52

阅读数 232

评论数 0

原创 Django + REST学习笔记

学习Django REST framework,文档参考http://www.django-rest-framework.org/。Serialization我们需要创建serializer来将我们自己的数据结构和一些文件格式(例如JSON)之间进行转换。创建一个serializer需要从rest...

2018-03-17 10:48:01

阅读数 220

评论数 0

原创 Android + Django + OAuth2 + Stub Authenticator

概况最近研究了一下如何在Android上添加新的account。实际上我是为了实现Sync Adapter而做的准备工作。目前的需求是这样的,在一个web server上有用户的数据(protected data/api),web server后台是自己用Django做的,安装了oauth too...

2018-03-10 19:50:59

阅读数 220

评论数 0

原创 Django oauth toolkit + Android + Retrofit 实现 OAuth2 的 access token 获取

概述最近在做一个Android App,需要从一个Django部署的服务器上读取用户的个人信息。拟使用OAuth2作为授权的方案,简单搜索之后发现Django有一个oauth toolkit的项目,于是就使用了oauth toolkit。在Android系统上,GET和POST等网络操作都交给了R...

2018-03-04 23:29:41

阅读数 777

评论数 0

原创 Android使用Retrofit_01_OAuth2 + GitHub

参考了视频教程。但是原教程中直接在Activity的onCreate()函数中发出Intent请求GitHub服务器发送回authorization code,导致这个实例容易产生自动重复调用并陷入死循环直至GitHub给出拒绝访问的错误。我简单把发送Intent做成了一个按钮的回调,这样这个实例...

2018-03-04 00:45:25

阅读数 689

评论数 0

转载 Android使用Retrofit_00_Getting Started

原教程视频在这里。原教程源码在这里。添加Android项目的dependence(注:其他dependence并未列出)dependencies { compile 'com.squareup.retrofit2:retrofit:2.3.0' compile ...

2018-03-02 20:20:44

阅读数 110

评论数 0

原创 【学习笔记】Android Fragments

参考这里。一些关键概念,如back stack和action bar,还不太明白。正如 a portion of user interface in an Activity。A fragment must always be embedded in an activity and the frag...

2018-02-25 20:51:06

阅读数 188

评论数 0

原创 【学习笔记】Android Activity

本部分内容参考这里。manifest声明activities需要在manifest文件中的&lt;application&gt; element中增加&lt;activity&gt; element。&lt;activity&gt;的属性中,仅有an...

2018-02-24 20:56:58

阅读数 59

评论数 0

原创 Android 开发学习笔记 00 - Getting Started

Resoureces.参考这里。在Java源文件中使用R对象。在xml文件中是用@引用。Activities参考这里。以上所有函数都可以重写。在Activity的onCreate()函数中,使用setContentView()函数来指定一个layout。两个关键类:import android.a...

2018-02-10 17:44:08

阅读数 105

评论数 0

原创 JAVA学习笔记12 - 包package

package给人的感觉是逻辑上和文件系统上实现的名称空间。 java文件若指定package名,需要在开始指定。 java文件若不指定package名,那么将会被放入一个特定的默认名称空间。 import时可以使用*号导入一个包中的所有类。当同一个java文件imp...

2018-02-05 00:42:26

阅读数 80

评论数 0

原创 JAVA学习笔记11 - 接口interface

简单理解interface是一种特殊类型,或者特殊的class。这个特殊类型中可包含属性和方法,但是这些方法必须(自动)为public abstract的(并且不可在interface中实现),属性只能(自动)为public static final类型的。interface中不可有静态方法。 ...

2018-02-05 00:41:52

阅读数 53

评论数 0

原创 JAVA学习笔记10 - 继承

与C++不同,只能单一父类。 继承与多态 extends关键字。implements关键字(与接口有关,类似多个父类的行为)。 构造函数中用super()调用父类构造函数(若需要使用父类的无参构造函数,则可不显式调用super(),但是显式调用比较好)。使用super来引用父...

2018-02-04 01:20:08

阅读数 98

评论数 0

原创 JAVA学习笔记9 - 异常

Java本身定义了多种费检查性和检查性异常。 throws/throw 如果一个方法没有捕获一个检查性异常,那么该方法必须使用throws关键字来声明。多个不捕获异常用逗号隔开。使用throw语句抛出异常。 try/catch try/catch块,结构与C++非常类似,但...

2018-02-04 01:19:55

阅读数 103

评论数 0

原创 JAVA学习笔记8 - Stream 和 File I/O

从控制台读取字符 使用java.io.*。以下代码出处为这里。 读入字符和字符串均需要输入回车才能开始read。 读入字符 所有已输入字符会逐个被处理。回车也会被计入在列。 import java.io.*; public class StreamConsoleChar {...

2018-02-04 01:19:44

阅读数 365

评论数 0

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