
🔥人工智能
笔记和资料,涉及到深度学习、自动驾驶等领域。
🔥机器人
包括 ROS 机器人框架笔记。Beginer Friendly

✅Python 教程
从 0 到 1,在深入人工智能的全套 Python 笔记。

❤️经验经历
过往的感悟和思考。发病日记。

✨碎片技术
学习工作中遇到的很赞的技术碎片,整理好了。

✨学习积累
相对于碎片技术的,已经沉淀为自己的资本的内容。
【自动驾驶】技术笔记:概述
后续任务:需要补充,阅读参考书的 6 7 8 / 9 10 / 12 / 13 14 15 / 17 / 18 19 20
基本情况
自动驾驶技术在异常环境中的可靠性一直都没有得到很好的解决。
无人驾驶或者移动机器人包括感知、定位和决策三个技术点,也包括适用于无人驾驶的边缘计算系统和一个无人驾驶云平台提供更高级的训练、统筹规划任务。
完全自动驾驶会比计算机辅助驾驶要更加可靠。
定位卡尔曼滤波可以使用卡尔曼滤波(Kalman Filter)整合 GPS 和 IMU 的优势。通过 GPS 和 IMU 可以为车辆定位提供既准确有足够实时的位置更新。
但是因为 GPS 受到环境影响比较大,同时 IMU 存在累积误差的问题,我们采用摄像头的立体视觉定位作为补充方案。再结合 LiDAR 对环境的 “形状化描述” 与高精度地图匹配,进行多传感器融合以达到更准确的定位。
视觉里程计算法用于定位的视觉里程计算法,有两类:一类是基于拓扑与地标的算法,另一类是基于几何的视觉里程计算法。
第一类需要预先把所有的地标(像是某个路口的标志)组成一个精准的拓扑图,当无人车监测到某个地标时, ...
【深度学习】自然语言处理
自然语言处理(NLP)讲义一、NLP 概述 1. NLP 的定义 NLP(Nature Language Processing,自然语言处理)是计算机学科及人工智能领域一个重要的子学科,它主要研究计算机如何处理、理解及应用人类语言。所谓自然语言,指人说的话、人写的文章,是人类在长期进化过程中形成的一套复杂的符号系统(类似于 C/Java 等计算机语言则称为人造语言)。以下是关于自然语言处理常见的定义:
自然语言处理是计算机科学与语言中关于计算机与人类语言转换的领域。—— 中文维基百科
自然语言处理是人工智能领域中一个重要的方向。它研究实现人与计算机之间用自然语言进行有效沟通的各种理论和方法。—— 百度百科
自然语言处理研究在人与人交际中及人与计算机交际中的语言问题的一门学科。NLP 要研制表示语言能力和语言应用的模型,建立计算机框架来实现这些语言模型,提出相应的方法来不断完善这种模型,并根据语言模型设计各种实用系统,以及对这些系统的评测技术。——Bill Manaris,《从人机交互的角度看自然语言处理》
自然语言处理还有其它一些名称,例如:自然语言理解(Natural Language ...
【深度学习】人脸检测与人脸识别
一、概述 1. 基本概念人脸是个人重要的生物特征,业界很早就对人脸图像处理技术进行了研究。人脸图像处理包括人脸检测、人脸识别、人脸检索等。人脸检测是在输入图像中检测人脸的位置、大小;人脸识别是对人脸图像身份进行确认,人脸识别通常会先对人脸进行检测定位,再进行识别;人脸检索是根据输入的人脸图像,从图像库或视频库中检索包含该人脸的其它图像或视频。
2. 人脸检测与识别的应用
实名认证
人脸考勤
刷脸支付、刷脸检票
公共安全:罪犯抓捕、失踪人员寻找
3. 传统人脸检测与人脸识别方法 1)人脸检测
基于知识的人脸检测法。它将典型的人脸形成规则库对人脸进行编码。通常,通过面部特征之间的关系进行人脸定位。
基于模板匹配的人脸检测法。存储几种标准的人脸模式,用来分别描述整个人脸和面部特征;计算输入图像和存储的模式间的相互关系并用于检测。
基于特征的人脸检测法。是在姿态、视角或光照条件改变的情况下找到存在的结构特征,然后使用这些特征确定人脸。
基于外观的人脸检测法。与模板匹配方法相反,从训练图像集中进行学习从而获得模型 (或模板) , 并将这些模型用于检测。
2)人脸识别
几何特征分析法。首先, ...
【深度学习】生成对抗网络(GAN)
一、概述生成对抗网络(Generative Adversarial Networks)是一种无监督深度学习模型,用来通过计算机生成数据,由 Ian J. Goodfellow 等人于 2014 年提出。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。生成对抗网络被认为是当前最具前景、最具活跃度的模型之一,目前主要应用于样本数据生成、图像生成、图像修复、图像转换、文本生成等方向。
GAN 这种全新的技术在生成方向上带给了人工智能领域全新的突破。在之后的几年中生 GAN 成为深度学习领域中的研究热点,近几年与 GAN 有关的论文数量也急速上升,目前数量仍然在持续增加中。
GAN 论文数量增长示意图
2018 年,对抗式神经网络的思想被《麻省理工科技评论》评选为 2018 年 “全球十大突破性技术”(10 Breakthrough Technologies)之一。 Yann LeCun(“深度学习三巨头” 之一,纽约大学教授,前 Facebook 首席人工智能科学家)称赞生成对抗网络是 “过去 20 年中深度学习领域 ...
【深度学习】图像语义分割
一、基本介绍 1. 什么是语义分割语义分割 (Semantic Segmentation) 是图像处理和机器视觉一个重要分支,其目标是精确理解图像场景与内容。语义分割是在像素级别上的分类,属于同一类的像素都要被归为一类,因此语义分割是从像素级别来理解图像的。如下如所示的照片,属于人的像素部分划分成一类,属于摩托车的像素划分成一类,背景像素划分为一类。
语义分割
图像分割级别可以分为语义级分割、实例级分割和全景分割。
语义分割(semantic segmentation):对图像中的每个像素划分到不同的类别;
实例分割(instance segmentation):对图像中每个像素划分到不同的个体(可以理解为目标检测和语义分割的结合);
全景分割(panoptic segmentation):语义分割和实例分割的结合,即要对所有目标都检测出来,又要区分出同个类别中的不同实例。
左上:原图;右上:语义级分割;左下:实例级分割;右下:全景分割
### 2. 应用
1)无人驾驶
2)医学、生物图像分割(如病灶识别)
3)无人机着陆点判断
4)自动抠图
5)遥感图像分割
3. 语义分 ...
【深度学习】光学字符识别(OCR)
一、基本理论 1. 什么是 OCR1)定义 OCR (Optical Character Recognition,光学字符识别)是指对图片中的文字进行查找、提取、识别的一种技术,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
2)一般步骤
文字检测:解决的问题是哪里有文字,文字的范围有多少
文字识别:对定位好的文字区域进行识别,主要解决的问题是每个文字是什么,将图像中的文字区域进转化为字符信息。
3)OCR 的难点文本检测,尤其是复杂自然场景下的文本检测,非常具有挑战性,主要难点有:
文本存在多种分布,文本排布形式多样;
文本大小、长度不固定;
文本存在多个方向;
多种语言混合。
4)OCR 与目标检测的区别
文本大多数以长矩形形式存在,即长宽比一般较大或较小,这与普通的目标检测中的物体不一样(这些长宽比较接近 1)
普通物体(比如猫)存在明显的闭合边缘轮廓,而文本没有
文本中包含多个文字,而文字之间是有间隔的,如果检测做得不好,我们就会把每个字都当成文本行给框出来而非整行作为文本框,这与我们的期望不一样
5)评估指标
拒识率:把应该识别的文字,当成不 ...
双十二新书整理
PaddlePaddle 深度学习实战因为是实战,所以每一个知识点都提供了代码作为参考。
最开始的几部分属于人工智能相关教科书的常见内容,在对人工智能的背景和技术体系不熟悉的人可以阅读一下。
接下来的章节对人工智能深度学习的任务进行项目展示,重数学代码和模型结构。对常见任务和其对应的深度学习模型进行了大量的完备的解释。适合在遇到相关任务时进行针对性学习。但是问题是我们在使用 paddlepaddle 的场景不多,要是想要充分使用这本书,或者掌握 paddlepaddle 就要想办法。
第一本无人驾驶书很好的一本书,对无人驾驶需要的硬件和技术进行了展示和解释。而且少见的给出了很多自动驾驶方案设计中的经验之谈。适合初学者认识行业全貌,了解重要的待解决问题。
ROS 机器人编程与 SLAM 算法解析指南技术稍微有一些旧,仅仅是展示了这个领域的一些代码和工具,可以作为一本复习书,或者其他更加专业的书籍的案例补充。
ROS 机器人编程实践给我的第一感觉是,这是一个黄金屋,一个完整的黄金屋,有你需要的一切关于 ROS 的知识。
这本书中的知识是个整体,学到这本书的全部知识,才能学习到 ROS 的精髓。也就是说,如果仅仅只是 ...
【深度学习】目标检测
一、基本概念 1. 什么是目标检测目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。
计算机视觉中关于图像识别有四大类任务:
(1)分类 - Classification:解决 “是什么?” 的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。
(2)定位 - Location:解决 “在哪里?” 的问题,即定位出这个目标的的位置。
(3)检测 - Detection:解决 “在哪里?是什么?” 的问题,即定位出这个目标的位置并且知道目标物是什么。
(4)分割 - Segmentation:分为实例的分割(Instance-level)和场景分割(Scene-level),解决 “每一个像素属于哪个目标物或场景” 的问题。
所以,目标检测是一个分类、回归问题的叠加。
2. 目标检测的核心问题(1)分类问题:即图片(或某个区域)中的图像属于哪个类别。
(2)定位问题:目标可能出现在图像的任何位置。
(3 ...
【网络安全】的介绍和思考
什么是网络安全网络安全(Cyber Security)是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
网络安全,通常指计算机网络的安全,实际上也可以指计算机通信网络的安全。计算机通信网络是将若干台具有独立功能的计算机通过通信设备及传输媒体互连起来,在通信软件的支持下,实现计算机间的信息传输与交换的系统。而计算机网络是指以共享资源为目的,利用通信手段把地域上相对分散的若干独立的计算机系统、终端设备和数据设备连接起来,并在协议的控制下进行数据交换的系统。计算机网络的根本目的在于资源共享,通信网络是实现网络资源共享的途径,因此,计算机网络是安全的,相应的计算机通信网络也必须是安全的,应该能为网络用户实现信息交换与资源共享。
为什么要学习网络安全
网络安全是一个关系国家安全和主权、社会的稳定、民族文化的继承和发扬的重要问题。其重要性,正随着全球信息化步伐的加快而变到越来越重要。“家门就是国门”,安全问题刻不容缓。
网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论 ...
【数学】卷积作为数学概念(简要)
参考:如何通俗易懂地解释卷积?
理解卷积时的关键脑内假设:我们有两个函数 A 和 B 互不相关。存在不停变化的一个自变量上限。此上限为函数的真实输入。期望结果是函数 A 和 B 的交叉相乘后的函数。
【自动驾驶】技术扫盲
@[TOC]
传感器 / 数据类型激光 slam slam (Simultaneous Localization and Mapping) 叫即时定位与建图,它主要的作用是让机器人在未知的环境中,完成定位(Localization),建图 (Mapping) 和路径规划 (Navigation)。
激光 slam 理论详解 (一)
零基础如何入门激光 SLAM
2021 高翔:视觉 SLAM 基础(哔哩哔哩:BV1nh411B7mv)注:内嵌播放器手机适配很差。
document.getElementById ("spkj").style.height=document.getElementById ("spkj").scrollWidth*0.76+"px";
里程计里程计是衡量我们从初始位姿到终点位姿的一个标准,通俗的说,我们要实现机器人的定位与导航,就需要知道机器人行进了多少距离,是往哪个方向行进的
ROS 里程计的学习 (odometry) (一)
多传感器多传感器融合传感器融合是感知模块的一部分。我们希望融合来自视觉传感器的数据,以增加冗余、确定性或利用多个传感器的优势。
超硬核 | ...
【深度学习】图像数据增强部分笔记
图像色彩操作图像色彩调整
亮度调整
直接将彩色图像灰度化,也可以得到代表图像亮度的灰度图进行图像处理,计算量比 HSV 颜色空间变化低。
但在 HSV 空间中进行处理可以得到增强后的彩色图像。
饱和度调整
对 HSV 空间的 S 分量进行处理可以实现对图像饱和度的增强。
饱和度的调整通常是在 S 原始值上乘以一个修正系数。
色调调整
对 HSV 空间的 H 分量进行处理可以实现对图像色调的增强。
色相 H 的值对应的是一个角度,并且在色相环上循环。所以色相的修正可能会造成颜色的失真。
图像灰度化
分量法,三分量的亮度作为三个灰度图像的灰度值,然后根据需要选择使用。
最大值法,将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。
平均值法,将彩色图像中的三分量亮度求平均得到一个灰度值。
加权平局法,根据重要性及其它指标,将三个分量以不同的权值进行加权平均。例如,由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对 RGB 三分量进行加权平均能得到较合理的:$f ( i , j ) = 0 . 3 0 R ( i , j ) + 0 . 5 9 G ( i , ...
【数据湖】扫盲
什么是数据湖数据湖是一种以原生格式存储各种大型原始数据集的数据库。您可以通过数据湖宏观了解自己的数据。
原始数据是指尙未针对特定目的处理过的数据。数据湖中的数据只有在查询后才会进行定义。数据科学家可在需要时用比较先进的分析工具或预测建模法访问原始数据。
数据湖的现状在一些需要为数据设置大型整体存储库的企业中,数据湖正在成为一种更通行的数据管理策略。
为什么出现了数据湖的概念数据湖可为您保留所有数据,在您存储前,任何数据都不会被删除或过滤。有些数据可能很快就会用于分析,有些则可能永远都派不上用场。有些数据也可能为了不同用途而多次使用,同时也有数据会为了特定目的不断优化,这就让我们难以用不同的方式重复使用数据。
如何理解数据湖的概念?Pentaho 的首席技术官 James Dixon 对 “数据湖” 进行了介绍。之所以将其称为湖,是因为这种数据库可以在自然状态下存储大量数据,就像一片未经过滤或包装的水体。数据从多种来源流入湖中,然后以原始格式存储。
数据湖和数据仓库的差别是什么?数据仓库可提供可报告的结构化数据模型。这是数据湖与数据仓库的最大区别。数据湖存储的是非结构化的原始数据,并未定义具 ...
暴论:人工智能可以进行可解释升维
回归问题为例,最多只需要全局 + 1 个维度,也就是 n+1 宽度的模型。
第二版第一版第一版的思路不太好(甚至有错误),我们换一种解释方式。
首先针对回归问题,我们通过 n 维的特征得到一个预测值,这里的这个预测值就可以解释为多出来的一个维度。
然后是分类问题,我们使用的是 softmax 方法进行类别的预测,于是维度多出了待分类数量个维度。
什么是模型的宽度?
一个模型宽度有几就代表着模型某一层有几个神经节点。每一个神经节点是通过对输入的高维度点进行一个基础变换得到的一个数值;一层有几个这样的数值,就代表着有多少次的基础变换行为(线性映射)。
$$k_1 * x_1 + k_2 * x_2 + … + b = y\K\times X+B=Y$$
可以实现低维特征域向高维特征域的映射。
为什么要升维?
我们在看二维平面上的物体时,我们很容易就能理解点与点之间的关系,而这层关系是在二维世界中的人很难去认识到的。升维的意义就在这里。可以将本来远在天边的两个特征点在新的维度上拉近。
那么模型的内部需要多少维度(宽度)呢?
还是先针对回归问题
回归问题本质就是一个高维向低维 ...
多个我的设定
65f8e3b87362ab224b1b50bf77ce0690c9d83997f594ef0cb36ea11f40e808a501e16f974baafee2240fa9f6a0216cee928f915465b1308eed24cb18209593f2aba28dcb9644e801d69ec25bf114a054c59938f146cbc1da203da421960c33186526d58afe62b8f2fd3c03785785975a391f2f70094ddb40b6f5fa6af4d8dd01e040876ca5e047e2205b9befcda4ddada4bf18780b94a43266cc23be459c087653f69756edc152a8e1ddd00bcbe9a7991ad617c909945aba86bf832fd190488c75e5880895bf57aa6a09bf5239188cd13b1dc17519b6352e1bcb16e349aceb76128d54fca9b4b3bb8f5aa05d2f7aa48b48c4511600c202703 ...