系统学习

大牛的《深度学习》笔记,Deep Learning速成教程

限于喜欢 提交于 2020-01-31 11:04:15
本文由Zouxy责编,全面介绍了深度学习的发展历史及其在各个领域的应用,并解释了深度学习的基本思想,深度与浅度学习的区别和深度学习与神经网络之间的关系。 深度学习 , 即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支。从快速发展到实际应用,短短几年时间里,深度学习颠覆了语音识别、图像分类、文本理解等众多领域的算法设计思路,渐渐形成了一种从训练数据出发,经过一个端到端(end-to-end)的模型,然后直接输出得到最终结果的一种新模式。那么,深度学习有多深?学了究竟有几分?本文将带你领略深度学习高端范儿背后的方法与过程。 一、概述 二、背景 三、人脑视觉机理 四、关于特征 4.1、特征表示的粒度 4.2、初级(浅层)特征表示 4.3、结构性特征表示 4.4、需要有多少个特征? 五、Deep Learning的基本思想 六、浅层学习(Shallow Learning)和深度学习(Deep Learning) 七、Deep learning与Neural Network 八、Deep learning训练过程 8.1、传统神经网络的训练方法 8.2、deep learning训练过程 九、Deep Learning的常用模型或者方法 9.1、AutoEncoder自动编码器 9.2、Sparse Coding稀疏编码 9

Linux学习

那年仲夏 提交于 2020-01-31 02:28:09
Linux处理目录的常用命令 ls: 列出目录 cd:切换目录 pwd:显示目前的目录 mkdir:创建一个新的目录 rmdir:删除一个空的目录 cp: 复制文件或目录 rm: 移除文件或目录 mv: 移动文件与目录,或修改文件与目录的名称 想详细学习各个命令 添加链接描述 Linux常见目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。 /home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 /lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 /media: linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 /mnt:

optitrack学习(4):动补系统marker点设置与刚体建立

五迷三道 提交于 2020-01-30 01:19:29
参考:https://v22.wiki.optitrack.com/index.php?title=Rigid_Body_Tracking 一、动捕系统marker点放置 如果利用动补系统建立刚体时,需要注意以下几点: 至少3个以上标记点,每个不一样,每个不对称,且有高度变化 。 数量 刚体标记点至少3个,但是推荐 4~12 个。 不对称 标记点放置应 避免对称 形状,可能发生翻转。 唯一性 跟踪多个对象时,应使用 独特 的标记点(避免几何一致性)的位置,降低解算负荷,提高跟踪的稳定度,导致标签错误。 可引入独特性的方式 独特的排列顺序 形状 。 唯一的标记到 标记距离 。 唯一 标记数 。 变化高度 。 二、刚体操作 创建刚体 :在3D视角中选中标记点,create from selected markes。 修改属性 :在properties中进行修改,可修改ID和名称。 数据显示 : Info pane 窗口可以实时显示刚体的信息数据(此处的欧拉角存在定义不一致的情况,在无人机中不能直接使用Optitrack系统的欧拉角,可以使用四元数) 来源: CSDN 作者: 后厂村路蔡徐坤 链接: https://blog.csdn.net/zeye5731/article/details/104107103

对职业生涯的思考

半城伤御伤魂 提交于 2020-01-29 20:52:00
从刚毕业到目前所在公司,差不多6年了,想想这六年里面,自己的能力和刚毕业比有了很大的提升,但是现在在什么能力上,我不知道,毕竟没有去过别的公司。最近也在思考自己未来,算是比较迷茫阶段。趁最近比较闲,顺便整理一下自己的职业路程 刚毕业阶段---工作一年半   刚毕业进入公司,公司的规模还算比较小的,那个时候觉得很开心,过的也比较充实,自己的任务就是写代码,读代码。在那个时候,自己的能力提升的非常快,毕竟在学校里面做的项目完全无法和公司的所在的项目类比。公司有一套自己的框架,在那个时候的我看来,写的非常不错。有很多比较好的编程规范:约定大于配置,强制树状依赖,多工程模型,但是也存在明显的问题,就是大量使用command 模式以及弱参数类型,导致接口上无法很直观定义入参和出参。那个时候第一次接触到正式项目流程,典型的瀑布式模型。这个阶段自己主要的精力就是学习公司的业务,阅读公司的框架的源代码,知道了很apache 开源项目,也是这个时候,能够熟练的使用一般的设计模式。那个时候公司的规模也比较小,经常也会写一下底层的工具类。架构也比较简单,没有所谓的分布式架构,基本上所有的业务逻辑在一个系统里面全部可以找到,排查问题也非常简单。 个人觉得,在这个阶段,是最适合学习的,尤其是自己的编码技能,也是在这个时候最容易提升的。刚毕业出来的时候,人还有一种拼搏的精神,这个时候相对来说各方面压力比较少

值得学习的C语言开源项目

纵饮孤独 提交于 2020-01-29 12:26:18
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接: http://home.tiscali.cz/~cz210552/webbench.html - 2. Tinyhttpd tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。 下载链接: http://sourceforge.net/projects/tinyhttpd/ - 3. cJSON cJSON是C语言中的一个JSON编解码器,非常轻量级,C文件只有500多行,速度也非常理想。 cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。 项目主页: http://sourceforge.net/projects/cjson/ - 4. CMockery

人工智能、机器学习及深度学习的起源和发展

风格不统一 提交于 2020-01-29 00:02:45
人工智能、机器学习及深度学习的起源和发展 发展时间线 第一阶段:人工智能起步期 1956—1980s 1956达特茅斯会议标志AI诞生 1957神经网络Perceptron被罗森布拉特发明 1970受限于计算能力,进入第一个寒冬 第二阶段:专家系统推广 1980s—1990s 1980 XCON专家系统出现,每年节约4000万美元 1986 BP ,Geoffrey Hinton提出了前馈算法,一个通过对输入数据按照重要进行排序的精准神经网络。 1989 卷积,Yann LeCun写了另外一篇旷世之作,描述了卷积神经网络。这些发现突破了计算机难以解决的问题,譬如从一张照片中找到一只猫。 1990——1991 人工智能计算机DARPA没能实现,政府投入缩减,进入第二次低谷 1997 IBM的DeepBlue战胜国际象棋冠军 1997 Schmidhuber发明了长短期记忆网络(LSTM) 第三阶段:深度学习 2000s—至今 2006 Hinton提出“深度学习”的神经网络 2011 苹果的Siri问世,技术上不断创新 2012 Google无人驾驶汽车上路(2009年宣布) 2012年,计算机视觉界顶级比赛ILSVRC中,多伦多大学Hinton团队所提出的深度卷积神经网络结构AlexNet一鸣惊人,同时也拉开了深度卷积神经网络在计算机视觉领域广泛应用的序幕。成功原因 大量数据,

2020年该如何学习linux系统教程,学霸总结了6点干货!

独自空忆成欢 提交于 2020-01-28 21:22:04
Linux操作系统相比于十年前的普及程度已经有了大大提高,但是由于其桌面操作系统上的可视化窗口操作模式并不像Windows操作系统那样直观、完美,对于一些刚接触Linux的人或者初学者来说入手还是有一定的难度,所以其发展并不是那么迅速。 更多内容学习 点击我 但是近年来Linux已经越来越受到重用,它不再仅仅是一些开源发烧友们之间炫耀资本,而且已经在多方面价值得到了体现,尤其在服务器操作系统方面,已经成为资深运维工程师的首选的操作工具。 随着计算机行业的迅速发展,相信Linux操作系统将不仅仅只停留在平台应用上,他将会在更广的空间展现他那独有的优势与魅力。 现在对于大多数中国的电脑用户,很少有人自己用Linux操作系统的,而且还有相当一部分人甚至是第一次听说Linux。但这并不奇怪,即使在很多大学生眼里也大都如此。在你们眼里只有Windows,只有微软,比尔盖茨是你们大多数人的偶像。 那是微软先入为主的观念造成的,就如我们学习英语一样,如过我们生下来就用英语讲话,周围的人说的也都是英语,那么英语也就自然而然的学会了。而且像汉语一样受我们喜欢。 有资深Linux用户就吐槽:连Linux都学不会,智商真低! 有程序员哥哥说:公开场合不要去扯智商,有歧视之嫌。但都是搞技术,你智商咋样,瞒不过别人的眼睛。看看你的代码就知道,和语言无关。 有Linux用户说

机器人ROS系统学习随笔->8《ROS机器人系统设之ROS2.0》

倖福魔咒の 提交于 2020-01-28 21:11:58
为什么要有ROS2—ROS1是什么 ROS1的局限 ROS1的困境 ROS2的曙光 ROS2的版本进化 ROS2是什么 ROS2的目标 ROS2的架构 DDS是什么 ROS1的通信模型 ROS2的通信模型 ROS2的质量服务原则QoS ROS2的编译系统 如何安装ROS2 最新的ros2安装: https://index.ros.org/doc/ros2/Installation/#installationguide 。根据指示安装,推荐Debian安装。支持官网同步更新。 可以在ros2官网上找。 ROS2安装功能包 ROS2结构目录 我安了最新的eloquent版本 ROS2 帮助信息 添加ros2路径:source /opt/ros/eloquent/setup.bash 会出现警告:说是当前目录是ros1的。忽略就行。 命令行工具 ROS2运行talker与listener ROS2更新较快: https://index.ros.org/doc/ros2/ 有详细教程 ROS2与ROS1的集成 课程总结与展望 来源: https://www.cnblogs.com/vcan123/p/12238781.html

机器人ROS系统学习随笔->5《ROS机器人系统设之机器人slam导航》

半城伤御伤魂 提交于 2020-01-27 00:38:54
软件源:一个是Ubuntu系统的软件元,在软件更新系统界面服务器的选择。 ROS包安装源:第一步配置的就是ros包安装源。功能包安装不畅可以改软件源,可以加国内的,EXbox的安装源。 在4中如果有找不到库的错误的话,需要我们讲拷贝科大讯飞编译生成的库文件开呗到libs中再试试。因为ros在找库文件时实在几个默认库之中搜索的。 准备工作---硬件要求 机器人必备条件---深度信息 横向切面,每个面可以看作是激光雷达数据。激光雷达精度更高。 机器人必备条件---激光雷达 jiqi人必备条件---仿真环境 ROS SLAM功能包的使用方法---gmapping 深度和里程计信息是最重要的。网站中有很多开源的算法。 gmapping安装(黑盒,只知道输入输出) gmaping原理(栅格地图) 配置给mapping节点 5秒更新一次,如果很小对电脑要求就很高了。 功能包的应用搜索 在百度货谷歌搜索关键词ros gmapping查看wiki上功能包的使用方法。用谷歌浏览器可以翻译成中文。还包括源码在哪儿都会有说明。 功能包启动(下载编译后) 给mapping地图的保存 turtlebot机器人可以用kinect摄像头mapping建图(没有激光雷达准确) 真实机器人gmapping建图 ROS SLAM功能包---hector_slam 激光雷达进度得高。 hector_slam功能包的安装

机器人ROS系统学习随笔->4《ROS机器人系统设之计机器人感知》

坚强是说给别人听的谎言 提交于 2020-01-26 02:05:10
一、机器视觉 安装usb_cam来显示摄像头图像数据 sudo apt-get install ros-melodic-usb-cam 安装usb_cam其他控制插件加上通配符即可 使用以下命令打开你插入的摄像头: roslaunch usb_cam usb_cam-test.launch 图像显示 树莓派涮熟数据给pc端每秒要几百兆 压缩格式时统一的,符合国际标准。 分布式传输图像时要采用压缩格式,会省很多。 用knict摄像头只能每秒传5帧左右 。 二维摄像头标定 标定后保存的文件位置在computer/tmp/中有个calibrationdata.tar.gz压缩文件,把文件解压缩,会看到采样的有特征点的图片 要用的是ost.yaml文件。 Kinect摄像头标定 标定文件的使用 图像处理ROS+OpenCV 安装opencv,可以按tab查看相关包。 sudo apt-get install ros-melodic-vision-opencv libopencv-dev python-opencv 人脸识别 物体跟踪 二维摄像头二维码识别 用kinect识别二维码 物体识别与机器学习拓展 二、机器语音 语言设别功能包 科大讯飞SDK 科大讯飞语音包下载流程 1、登录官网注册账号 2、注册号后点击资料库SDK下载 3、按规则创建一个工程(刚开始没有这个工程