自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NodYoung

专注于计算机视觉,深度学习,机器人

  • 博客(435)
  • 资源 (23)
  • 收藏
  • 关注

原创 ROS学习之CMakelists.txt和package.xml

package.xml当你的package里已经包含配置文件(package.xml),ROS能够找到它。执行:rospack find [包名称]。应该注意到我们刚才所创建的package.xml依赖于 roscpp 和 std_msgs.而catkin恰恰是利用这些依赖项来配置所创建的package。基本结构使用<package>标签作为根标记文件。<package></ package>所需标

2017-07-17 07:13:29 4302

原创 ROS常用命令行总结

Filesystem Management Toolsrospack获取程序包的有关信息。 rospack find [package] 返回程序包的路径。 rospack list 获取所有的程序包。roscd切换(cd)工作目录到某个程序包(或其子目录)。 roscd [package[/subdir]] rosls直接按程序包的名称执行ls命令。 rosls [package[/su

2017-07-17 00:34:56 15282 1

原创 ROS官网中级教程学习总结(1-6)

教程网址:http://wiki.ros.org/cn/ROS/Tutorials。 本博客为1-6小节。手动创建ROS package添加xml文件。当你的package里已经包含配置文件(package.xml),ROS能够找到它。执行:rospack find [包名称]。应该注意到我们刚才所创建的package.xml依赖于 roscpp 和 std_msgs.而catkin恰恰是利用

2017-07-15 07:42:16 2016

原创 ROS官网初级教程学习总结(17-20)

教程网址:http://wiki.ros.org/cn/ROS/Tutorials。 本博客为10-16小节。录制与回放数据录制数据(通过创建一个bag文件)如何记录ROS系统运行时的话题数据,记录的话题数据将会累积保存到bag文件中。录制所有发布的话题rostopic list -v:检查看当前系统中发布的所有话题。 开始录制:mkdir ~/bagfilescd ~/bagfilesr

2017-07-15 07:04:20 1377

原创 ROS官网初级教程学习总结(10-16)

教程网址:http://wiki.ros.org/cn/ROS/Tutorials。 本博客为10-16小节。创建ROS消息和ROS服务消息(msg)和服务(srv)介绍消息(msg): msg文件就是一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。msg文件存放在package的msg目录下。服务(srv): 一个srv文件描述一项服务。它包含两个部分:请求和响

2017-07-15 06:46:08 1464

原创 ROS官网初级教程学习总结(5-9)

教程网址:http://wiki.ros.org/cn/ROS/Tutorials。 本博客为5-7小节。理解 ROS节点图概念概述Nodes:节点,一个节点即为一个可执行文件。节点可以发布或接收一个话题,也可以提供或使用某种服务。Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。Master

2017-07-15 02:01:56 1154

原创 ROS官网初级教程学习总结(1-4)

教程网址:http://wiki.ros.org/cn/ROS/Tutorials。 本博客为1-4小节。安装并配置ROS环境安装ROS安装时记得换个好点的软件源,要不然会因为网络连接问题一直失败。管理环境export | grep ROS 主要是查看环境变量是否设置。 ROSLISP_PACKAGE_DIRECTORIES=”” //这个是关于lisp语言的 ROS_DISTRO=”

2017-07-15 01:31:31 2307

原创 vim实用操作

多行注释与删除注释参考:vim常用命令之多行注释和多行删除多行删除命令输入:32,65d,删除32-65行 ndd,删除光标所在的向下n行。 :set nu 显示行号

2017-06-14 18:05:54 1215

原创 最小二乘法的多元线性回归

方法介绍“最小二乘法”一句话解释:一种数学优化方法,通过最小化误差的平方和来寻找合适的数据拟合函数。 线性模型的最小二乘可以有很多方法来实现,比如直接使用矩阵运算求解析解,sklearn包(参考:用scikit-learn和pandas学习线性回归、用scikit-learn求解多元线性回归问题),或scipy里的leastsq function(参考:How to use leastsq fun

2017-05-14 14:46:48 17697

原创 深度学习相关论文阅读

目标检测OverFeat文章:《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》rcnn代码:https://github.com/rbgirshick/rcnn,prototxt文件在\rcnn-master\finetuning\voc_2012_prototxtf

2017-05-07 10:40:48 1937

原创 《视觉SLAM十四讲》书籍图片资源

chapter22-12-22-32-42-52-62-82-92-102-112-122-132-14chapter33-13-23-33-4chapter44-1chapter55-15-25-55-65-75-9chapter66-16-26-3chapter77-27-37-47-57-67-77-87-97-107-117-127-13chapter88-18-28-38-48-58-68

2017-04-29 12:23:28 5995 2

原创 c++知识

虚函数多态性是面向对象语言的基本特征,多态性可以简单地概括为“一个接口,多种方法”。多态性分为静态多态性(编译过程中绑定)和动态多态性。 函数重载(和运算符重载)属于静态多态性,一个函数名(调用接口)对应着几个不同的函数原型(方法)。 虚函数属于动态多态性,对比如下: 通过对象名访问虚函数时,调用哪个类的函数取决于定义对象名的类型(对象类型是基类时,就调用基类的函数;对象类型是子类时,就调用子

2017-04-26 16:30:30 927

原创 Python实用操作

函数参数默认参数定义时:必选参数在前,默认参数在后。 调用时:多个默认参数间没有顺序# 定义def enroll(name, gender, age=6, city='Beijing'): ...# 调用enroll('Adam', 'M', city='Tianjin')可变参数可变参数用于应对函数参数个数不确定的情况,当然这种情况也可以不嫌麻烦地把参数作为list或tuple传进来

2017-04-25 15:01:48 1399

原创 经典卷积神经网络介绍

AlexNet 2012年,Hinton的学生Alex Krizhevsky提出了深度卷积神经网络模型AlexNet,获得当年ILSVRC(Image Large Scale Visual Recognition Challenge)比赛分类项目的冠军。AlexNet主要使用到的新技术如下:a) 成功使用ReLU作为CNN的激活函数,并验证了其在较深网络中的有效性,解决了Sigmod在网络较深时的

2017-04-22 19:08:43 7465

原创 为什么会出现Batch Normalization层

训练模型时的收敛速度问题众所周知,模型训练需要使用高性能的GPU,还要花费大量的训练时间。除了数据量大及模型复杂等硬性因素外,数据分布的不断变化使得我们必须使用较小的学习率、较好的权重初值和不容易饱和的激活函数(如sigmoid,正负两边都会饱和)来训练模型。这样速度自然就慢了下来。下面先简单示例一下数据分布的不断变化为什么会带来这些问题,如图: 我们使用Wx+b=0对小黄和小绿进行分类。由于

2017-04-21 16:36:12 9453 1

原创 tensorflow实现迁移学习

此例程出自《TensorFlow实战Google深度学习框架》6.5.2小节 卷积神经网络迁移学习。 数据集来自http://download.tensorflow.org/example_images/flower_photos.tgz ,及谷歌提供的Inception-v3模型https://storage.googleapis.com/download.tensorflow.org/mode

2017-04-19 19:24:57 27212 45

原创 tensorflow实现LeNet-5模型

此例程出自《TensorFlow实战Google深度学习框架》6.4.1小节 经典卷积网络模型之LeNet-5模型,具体可搜索“LeNet-5, convolutional neural networks”。 例程中的网络模型与原始LeNet-5模型不太一样,网络结构如下:INPUT: [28x28x1] weights: 0CONV5-32: [28x28x32]

2017-04-17 21:23:42 19755 6

原创 TensorFlow最佳实践样例程序

此例程出自《TensorFlow实战Google深度学习框架》第5章 MNIST数字识别问题,很好的一个例子。工程目录:-mnist_best -dataset //存放数据集的文件夹,可以http://yann.lecun.com/exdb/mnist/下载 -model //存放模型的文件夹 -mnist_eval.py //定义了测试过程 -mnist_

2017-04-16 23:23:03 10480 7

原创 为什么使用卷积层替代CNN末尾的全连接层

原本CNN网络的经典结构是: 卷积层——>池化层——>……——>全连接层FCN的出现为什么要把CNN网络最后的全连接层特换为卷积层?或者换句话说这样会带来什么好处呢? 1. 首先,说一下卷积层和全连接层的区别:卷积层为局部连接;而全连接层则使用图像的全局信息。可以想象一下,最大的局部是不是就等于全局了?这首先说明全连接层使用卷积层来替代的可行性。 2. 然后,究竟使用卷积层代替全连接层会带来什

2017-04-16 11:32:50 22730

原创 tensorflow常用函数及概念

命令式编程与声明式编程命令式编程(imperative programming):每个语句都按原来的意思执行,可以精确控制行为。通常可以无缝的和主语言交互,方便的利用主语言的各类算法,工具包,bug和性能调试器。缺点是实现统一的辅助函数困和提供整体优化都很困难。比如numpy和Torch。 声明式语言(declarative programing):用户只需要声明要做什么,而具体执行则由系统完成。

2017-04-15 00:25:34 12560 4

原创 为什么“Pretrained+Fine-tuning”

Deep Learning或者说CNN在图像识别这一领域取得了巨大的进步,那么自然我们就想将CNN应用到我们自己的数据集上,但这时通常就会面临一个问题:通常我们的dataset都不会特别大,一般不会超过1万张,甚至更少。这种情况下,直接使用train from scratch的方式在小数据集上容易过拟合,尤其是在数据分布差异化很大的场景下。然后就有了迁移学习了,Transfer Learning关心

2017-04-13 11:43:11 5384 1

原创 为什么“卷积”神经网络

一直在接触卷积神经网络,今天就说一下为什么会有卷积,卷积会带来什么好处和CNN中如何使用卷积。为什么会有卷积(这里主要解释下卷积具有什么意义,为什么人们会想到卷积。有些人一提到卷积可能首先想起来的是局部连接、参数共享呀等等,这些只是它带来的好处。如果一个方法对于我们的问题本身没有什么意义,即使它会带来一大堆的好处人们应该也是不会去使用的。)19世纪60年代,科学家通过对猫的视觉皮层细胞研究发现,每一

2017-04-12 22:40:52 10630 1

原创 位运算

基础知识位运算是把数字用二进制表示之后,对每一位上0或1的运算。位运算总共只有5种运算:与、或、异或、左移和右移。对于异或操作,需要注意一下0^0=0; 1^1=0; 1^0=1。应用:二进制中1的个数题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2。 分析对于负数1000 0000右移一位的时候,得到110

2017-04-09 00:15:52 820

原创 计算机视觉相关数据集和比赛

一. ImageNet Large Scale Visual Recognition Competition (ILSVRC)Imagenet数据集是目前深度学习图像领域应用得非常多的一个数据集,关于图像分类、定位、检测等研究工作大多基于此数据集展开。Imagenet数据集有1400多万幅图片,涵盖2万多个类别;其中有超过百万的图片有明确的类别标注和图像中物体位置的标注。Imagenet数据集文档详

2017-03-30 11:41:47 14535

原创 基于深度学习的目标检测学习总结

在计算机视觉领域,“目标检测”主要解决两个问题:图像上多个目标物在哪里(位置),是什么(类别)。 围绕这个问题,人们一般把其发展历程分为3个阶段: 1. 传统的目标检测方法 2. 以R-CNN为代表的结合region proposal和CNN分类的目标检测框架(R-CNN, SPP-NET, Fast R-CNN, Faster R-CNN, R-FCN) 3. 以YOLO为代表的将目标检测

2017-03-30 09:23:11 49362 3

原创 视觉工程师笔试知识汇总

总结以下前些天做的笔试题。一. 笔试题笔试题罗列如下,大多都是去年师兄屡次杯具的见证,深表感谢,哈哈。试题以视觉工程师为主,部分是机器人或机器学习岗位。 Autel Robotics软件类笔试题 BaiDu视觉算法工程师笔试题 DJI视觉工程师 DJ机器学习工程师 DeepGlint计算机视觉公司机试题 SenseTime工程类笔试题 PowerVision机器人笔试题 DaHeng

2017-03-28 20:32:06 23733 2

原创 SXF科技笔试题

一.数学、算法题 1.施密特正交化的作用:将空间上一组一般的基(如{1 0 0;1 1 0;1 1 1})转换为一组规范正交基(如{1 0 0;0 1 0;0 0 1})。 (1). β1=α1∥α1∥β2=α2−⟨α2,β1⟩β1∥α2−⟨α2,β1⟩β1∥β3=α3−⟨α3,β1⟩β1−⟨α3,β2⟩β2∥α3−⟨α3,β1⟩β1−⟨α3,β2⟩β2∥\beta _1 = \frac{\

2017-03-23 21:52:11 4369

原创 显微操作中操作器末端的姿态评估

实验室的一部分个人工作,之前发过一篇这方面的博客关于探针末端跟踪的前期尝试 。哇塞,发现整整过去一年啦。。。。生如逆旅单行道,哪有岁月可回头。对不起,我没能活成你想要的样子。哈哈,下面正式切入主题。问题背景介绍上次也介绍了,但好像没介绍清楚。再来一遍,看图。 显微镜下就是这么一个操作的过程:通过微操作器末端(探

2017-03-22 17:00:54 918

原创 DH图像工程师

1.指针做函数返回值时,必须返回一个处于生命周期中的变量的地址。 本题中,函数结束时str[]就被释放了,返回的地址也就没有什么意义了,并且还有可能会导致其他错误。 2.不能。 因为这里使用的是值传递,形参变量和实参已经没有什么关系了。应该使用指针或引用传递实参。 4.请说出static和const关键字尽可能多的作用。 这是牛客网上的一道题:请说出static和const关键字尽可能

2017-03-21 09:55:01 4267

原创 字符串

基础知识字符串是由零个或多个字符组成的有限串行。 子串的定义:串中任意个连续字符组成的子序列,并规定空串是任意串的子串,任意串是其自身的子串。 C++中通常通过char*/const char* 类型的指针来操纵C语言中的风格字符串。C/C++中常用的字符串处理函数: 函数 用法说明 strlen(s) 返回s的长度,不包括字符串结束符null strcmp(s1, s2)

2017-03-20 22:56:25 976

原创 PV机器人笔试题

一.基础题 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 二.应用题 1. 2. 3. 4. 三.开放题 1. 2. 3.

2017-03-20 09:02:13 4930

原创 ST工程类笔试题

1. 2. 3.

2017-03-17 16:32:27 2565

原创 DG计算机视觉公司机试题

1.小A小B比数游戏题目: 分析: 方法一: 给定区间1~n,判断小B取值在中位数的哪侧,也就是说,如果小B取值在中位数右侧,那小A只要取值为小B取值数-1,反之,如果小B取值在中位数左侧,那小A只要取值为小B取值数+1。更具体地说: 情况一:如果小B取值在中位数右侧,随机数的取值为1~n,所以如果小A只要取值为B-1,那么随机数分布在小B左侧的情况下,小A赢。(因为左侧明显多嘛

2017-03-17 15:58:40 7582

原创 数组

基础知识数组是一种数据格式,能存储多个同类型的值。 二维数组的动态声明int **a=new int* [m];for(int i=0; i<m; i++) a[i]=new int [n];应用:顺时针打印矩阵题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每个数字。 代码实现int PrintMatrixClock(int** input, int rows, int co

2017-03-16 22:26:34 739

原创 刷题规律养成

这里总结一些刷题过程中适合自己的一些代码风格和习惯,以提升刷题速度和熟练度。 1.函数的输出结果一般以形参形式呈现;返回值用于处理函数错误:0表示调用成功,非0表示调用过程中出错。错误处理也可以

2017-03-16 08:51:17 988 1

原创 排序

基础知识常见排序:插入排序、冒泡排序、快速排序、堆排序、归并排序、基数排序。 算法种类 平均时间复杂度 最坏情况 空间复杂度 稳定性 选择排序 O(n2)O(n^2) O(n2)O(n^2) O(1)O(1) 不稳定 插入排序 O(n2)O(n^2) O(n2)O(n^2) O(1)O(1) 稳定 冒泡排序 O(n2)O(n^2)

2017-03-13 21:56:06 746

原创 查找

基础知识1.查找,常见的方法有顺序查找、二分(折半)查找、哈希表查找、二叉排序树查找。 2.二分查找代码应能信手拈来,仅适用于事先已经排好序的顺序表;哈希表和二叉排序树查找的重点在于考查对应的数据结构而不是算法,哈希表的最主要优点是我们利用它能够在O(1) 时间查找某一元素,是效率最高的查找方式,缺点是需要额外的空间实现哈希表;与二叉排序树对应的数据结构是二叉搜索树。 3.信手拈来的二分查找代码

2017-03-12 12:01:03 690

原创 队列

基础知识关于队列的实现方式,详见: 栈与队列-顺序队列与链队列类模板的实现(数据结构基础 第3周)应用:两个栈实现队列题目:用两个栈实现一个队列。请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和在队列头部删除结点的功能。#include<iostream>#include<stack>using namespace std;template<typen

2017-03-10 23:56:49 575

原创

1.基础知识关于栈的实现方式,详见: 栈与队列-顺序栈与链栈类模板的实现(数据结构基础 第3周)2.应用:栈的压入、弹出序列题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1、2、3、4、5 是某栈的压栈序列,序列4、5、3、2、1是该压栈序列对应的一个弹出序列, 但 4、5、3、1、2 就不可能是该压栈序列的弹出序列。

2017-03-10 00:32:43 786

原创 贪心

1.基础知识贪心算法是针对要解决的问题,先做出选择,再解决剩下的子问题。将子问题的最优解和我们所作的贪心选择联合起来,就可以得出原问题的最优解,即全局最优解可以通过局部最优(贪心)选择来达到。贪心与动规的区别: 在动态规划中,每一步做出的选择都依赖于子问题的解,因此解动态规划一般是自底向上的。 而贪心算法中,我们所做的当前选择可能依赖于已经做出的所有选择,但不依赖于子问题的解,因此通常是自顶向下

2017-03-09 00:21:14 583

手写数字识别

python写的手写数字识别,分别使用sklearn的SVM方法和非库函数版的Knn

2017-01-06

Python爬虫示例代码

上七月算法 Python爬虫班 第一课示例代码

2016-12-19

ABC of igraph

igraph基本使用方法示例

2016-12-17

ABC of matplotlib

matplotlib基本使用方法示例

2016-12-17

ABC of data_collection

使用python进行data_collection基本示例

2016-12-16

ABC of Pandas

Pandas基本使用方法示例

2016-12-16

ABC of Numpy

numpy基本使用方法示例

2016-12-16

pandas基本使用方法示例

pandas基本使用方法示例

2016-12-16

numpy基本使用方法示例

numpy基本使用方法示例

2016-12-16

Machine_Learning_Yearning_V0.5_01.pdf

Andrew Ng的新书《Machine Learning Yearning》01部分

2016-12-10

Machine_Learning_Yearning_V0.5_03

Machine_Learning_Yearning_V0.5_03

2016-12-08

Machine_Learning_Yearning_V0.5_02

Machine_Learning_Yearning_V0.5_02

2016-12-08

Machine_Learning_Yearning_V0.5_01

2016-12-08

模式识别与机器学习 翻译 马春鹏(带目录)

书很不错,网上下下来没有目录,强迫症,自己画两小时添了个目录。如果你也需要,直接下载吧,节省两小时

2016-12-06

CS231n课程知识点汇总(lecture1-5).docx

CS231n课程知识点汇总(lecture1-5),详见博客http://blog.csdn.net/NNNNNNNNNNNNY/article/details/53224685

2016-11-18

ros_by_example_vol2_indigo.pdf

为了方便查看,自己补了书的目录

2016-08-04

OpenCV3编程入门_毛星云编著

浅墨_毛星云的博客大家都应该看过吧,个人非常喜欢。这是他出的那本《OpenCV3编程入门》的PDF版,首先表示非常喜欢也感谢浅墨的的这个学习资料,是我们的学习能够紧跟时代。书的光盘资料在他的博客http://blog.csdn.net/poem_qianmo/article/details/44416709 中有公开,大家可以自行下载。最后,再次感谢浅墨。

2015-12-05

基于Activex控件的C++、C#混合编程

这里我首先新建一个基于MFC的Activex控件的工程,把自己要用C++实现的算法融合进来。然后在C#项目(我用的是Winform编程)中直接添加此控件,再通过调用控件的属性、消息或方法(我使用的主要是方法)等接口从而调用了C++所实现的算法。

2015-11-07

VS2010下孙鑫MFC第15章网络聊天室程序的实现

前几天仿照孙鑫《VC++深入详解》书中第15章网络聊天室程序的实现重写了这个程序,VS2010下的程序与书中所写有所差别。

2015-06-21

扫雷程序源码

欢迎浏览我的技术博客:http://blog.csdn.net/nnnnnnnnnnnny 此文件是关于文章《VS2010 基于MFC的扫雷demo》中的程序。其中有三个程序,release文件是网上下的.exe应用程序,example文件是网上别人的例程,mine是自己模仿别人写的demo

2015-06-12

VS2010 VC++创建.rc资源文件(二)

欢迎浏览我的技术博客:http://blog.csdn.net/nnnnnnnnnnnny 此文件是关于文章《VS2010 VC++创建.rc资源文件》中的一个程序

2015-06-07

VS2010 VC++创建.rc资源文件(一)

欢迎浏览我的技术博客:http://blog.csdn.net/nnnnnnnnnnnny 此文件是关于文章《VS2010 VC++创建.rc资源文件》中的一个程序

2015-06-07

VS2010基于对话框的MFC串口通信简明例程(源码)

VS2010基于对话框的MFC串口通信简明例程的源码,内涵一个虚拟串口软件。

2015-04-28

空空如也

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

TA关注的人

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