Skip to content
forked from Ewenwan/MVision

机器人视觉 移动机器人 VS-SLAM ORB-SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶

Notifications You must be signed in to change notification settings

zhanghay/MVision

 
 

Repository files navigation

MVision Machine Vision 机器视觉

AI算法工程师手册 数学基础 统计学习 深度学习 自然语言处理 工具使用

AI 安全数据科学和算法

澳大利亚机器人视觉研究中心

NIPS Neural Information Processing Systems

icml Proceedings of Machine Learning Research PMLR

ICDM IEEE International Conference on Data Mining

Computer Vision and Pattern Recognition arxiv.org 最新提交的论文

papercept 会议论文投递

easychair 会议论文投递

DBLP 计算机核心技术文献

技术刘 增强现实、图像识别、深度学习、机器人

漫谈 SLAM 技术(上)

漫谈 SLAM 技术(下)

优秀的博客论文笔记

CSCI 1430: Introduction to Computer Vision 计算机视觉课程

计算机视觉和算法 书籍

Computer vision:models, learning and inference 书籍

TLD:tracking-learning-detection 跟踪算法

机器人选修课

Andrew Davison的课程: Robotics Lecture Course (course code 333)

Simultaneous Localization and Mapping: Part I

Simultaneous Localization and Mapping: Part II

瑞士苏黎世理工的学生练习

书籍 Robotics, Vision & Control 推荐!!!!

Robotics, Vision & Control.PDF 百度网盘

Robotics, Vision and Control csdn

优达学城 机器人人工智能课程

学习无人驾驶车,你所必须知道的

强化学习从入门到放弃的资料

台大 机器学习深度学习课程

斯坦福CS231计算机视觉2017

深度学习程序示例 cs231n等

2018 MIT 6.S094 麻省理工深度学习和自动驾驶课程 中文

MIT 深度学习和自动驾驶课程 英文

DeepTraffic

SegFuse: Dynamic Driving Scene Segmentation

DeepTesla - End-to-End Steering Model

中文slam首页

ORB-LSD-SVO比较-刘浩敏_bilibili

LSD算法代码解析

SVO算法代码解析

DSO 半闲居士 解析

路径规划A*算法及SLAM自主地图创建导航算法

冯兵的blog slam

imu和单目的数据融合开源代码(EKF)

imu和单目的数据融合开源代码(非线性优化)

双目立体匹配

计算机视觉的一些库文件

人脸检测总结

行为识别总结

Free-SpaceEstimation 无障碍物空间估计 稠密地图 栅格地图 动态规划 高度分割 路面信息提取

2D Object Detection 2d目标检测 RCNN

3D Object Detection 3D目标检测 动机

Semantic Segmentation 语义分割

Instance-level Segmentation 实例分割

Tracking 跟踪

Kalibr calibration toolbox 标定多目相机系统、相机 IMU 相 对 位 姿 和 卷 帘 快 门 相 机

霍夫森林(Hough Forest) 随机森林和霍夫投票在计算机视觉中的应用,可以用在物体检测,跟踪和动作识别

百度自动驾驶开源框架 apollo

交通标志检测识别 数据集

Halcon 使用参考

有代码的论文

图像处理基本算法代码

无人驾驶的各个方面知识

参考

1. 感知(Perception):
    主要涉及的技术点包括场景理解、交通状况分析、路面检测、空间检测、
    障碍物检测、行人检测、路沿检测、车道检测。还有一个比较新颖有趣的是通过胎压去检测道路质量。
    在无人驾驶行业,有一套通用的数据集——KITTI数据集,里面有不同的数据,包括双目视觉的数据、定位导航的数据等。
    物体检测(Object Detection):
        传统方法主要是针对固定物体的检测。一般的方法是HOG( 方向梯度直方图),然后再加一个SVM的分类器。
        而对于动态物体的检测,主要使用的是DPM模型的方法,先把手和脚识别出来,再进行组合。
        深度学习方法 RCNN YOLO
   场景分割(Segmentation)  :
        人行道是一个场景,道路是一个场景,在场景中对不同的物体进行分类,是一个很重要的问题。
        传统的方法是采用CRF( 条件随机场),基本原理在于图像都是由像素点组成的,
        若两个像素点都比较像车,那就把二者连接起来,形成对车辆的识别。

        运用深度学习的方法则使用的是另一种模型,被称为PSPnet(语义分割)。
        这是金字塔型的场景分解模型,将一个场景不断地压缩,把类似的物体聚类,然后再做判断。
   双目 光流(Optical Flow)场景流(Scene Flow):
        光流是针对2D图像来说的,如果说一个图片流到另外一个图片,都是2D的物体移动,那就用光流来做。
        如果是3D的物体流动,那我们就用场景流(Scene Flow),场景流在传统的方法就是使用的是SGBM,
        利用的是双目成像的技术,把左图和右图合起来提取出空间的点,用光流在上面做,就能把场景的流动分析出来。

        光流也可以利用深度学习的模型来做,把左右两图用同样的模型来提取特征,经过计算就能得出一个深度的信息。
        但是这个方式的计算量非常大。

   物体追踪(Object Tracking):    
        这也是无人驾驶中一个比较重要的技术。如何预测行人下一个动作、怎么去跟踪这个行人,也有一系列问题。
        里面用到的是马尔可夫链的解决方案,这个技术叫做MDP,跟踪一个人,随时跟踪其下一个动作,预测其下一个动作。
        以上其实都是一些传统的感知方法,而这些年随着深度学习的不断进步,应用也非常广泛。
        
2. 运动规划(Motion Planning):
    主要涉及的技术点包括运动规划、轨迹规划、速度规划、运动模型。
    比较有趣的一些进展包括通过赛车游戏去学习基于网格的运动规划,重量级货车的避障规划,普世的适用于无人驾驶的双轮模型等等。

3. 防碰撞(CollisionAvoidance):
    主要涉及如何通过车内的感知系统以及V2X 系统去辅助防碰撞。
    比较有趣的一些进展包括如何实时地去评估当前驾驶行为的危险性,如何通过当前道路的拓扑去增强自行车骑士的安全性等等。

4. 地图与定位(Mapping andLocalization):
    主要涉及如何通过不同的传感器,包括激光雷达、视觉、GNSS,以及 V2X 去建图与定位。
    比较有趣的一些进展包括如何在一些特殊的场景去定位,比如在长隧道里面,既没有 GNSS 信号,也没有太好的激光或者视觉特征的时候如何定位。

5. 合作系统(CooperativeSystems):
    主要涉及如何协同多个无人车去完成一些任务,比如在多个无人车同时在一个十字路口出现时如何调度,
    还有就是当有多个无人车同时在停车场试如何有序的停车。

6. 控制策略(Control Strategy):
    主要研究在不同的细分场景下的控制策略,比如在十字路口如何控制,转线如何控制,在感知数据不可靠时如何尽量安全的控制等等。

7. 车辆检测与跟踪(VehicleDetection and Tracking):
    主要关注如何通过激光雷达、视觉,以及毫米波雷达进行车辆检测与跟踪。
    比较有趣的工作包括通过深度学习与深度视觉的结合进行车辆跟踪,
    通过单目视觉深度学习去尽量估计车体大小,通过传统视觉边缘检测方法去判断是否车体等等。

8. 静态物体检测(Static ObjectDetection):
    主要涉及通过视觉以及激光雷达去检测一些静态的物体,
    包括交通灯、交通指示牌、路沿、路面等等,每个物体品类的检测都是一个细分方向。

9. 动态物体检测(Moving ObjectDetection):
    主要涉及通过视觉、激光雷达、毫米波雷达,以及传感器融合的方法去检测一些动态的物体,
    包括行人、车辆、自行车骑士等等,并根据这些动态物体的动作去预测行为。

10. 道路与路口检测(Road andIntersection Detection):
    道路与路口检测由于其特殊性以及对安全的影响,被单独列出作为一个细分的小方向。
    研究的前沿一般涉及一些细分场景,比如建筑工地的检测、停车位的检测等等。

11. 决策系统(Planning andDecision):
    主要涉及每个无人车的动作的决策,比如加速、刹车、换线、超车、调头等等。
    研究的前沿一般涉及在高速行驶中如何安全的换线,在通过视觉理解了场景后如何决策,在感知信息缺失的时候(比如在隧道里面)如何决策等等。

12. 主动与被动安全(Active andPassive Safety):
    主要涉及如何通过不同传感器的感知去确保无人驾驶以及行人安全,
    比较有趣的一些研究包括通过对 CAN 总线的异常检测去评估车辆的安全性,通过对停车场的视频监控去训练自动泊车模型等等。

13. 无人车与交通的交互(AutonomousVehicles: Interaction with Traffic):
    主要研究无人车如何与现有的交通生态共存,特别是传统车与无人车的共存。
    比较有趣的一些研究包括 V2X 虚拟交通标志,通过视觉去评估旁边车道司机的驾驶行为等等。

14. 视觉定位(SLAM and VisualOdometry):
    主要研究如何用视觉与激光雷达进行实时定位与建图。
    比较有趣的一些研究包括视觉的线上校准,使用车道线进行实时定位与导航等等。

15. 环境学习与建图(Mapping andLearning the Environment):
    主要研究如何建立精准的环境信息图。比较有趣的一些研究包括使用低空无人机去创建给无人驾驶使用的地图,
    以及通过停车场监控摄像头建立辅助自动泊车的地图等等。

无人驾驶面试知识点

参考博客

1. 深度学习相关
    机器学习和深度学习的区别,各自适用于什么问题
    CNN基本原理,CNN的那些部分是神经元
    CNN去掉激活函数会怎么样
    介绍YOLO/SSD/RCNN/Faster-RCNN/Mask-RCNN算法
    YOLO v1/v2/v3 区别细节,SSD如何改进有思考过嘛,知道DSSD和FSSD嘛
    是否了解RPN,RoI pooling,和RoIAlign
    YOLO/SSD里面有全连接层嘛
    YOLO/SSD算法思想如何用到三维点云目标检测
    目标检测算法one-stage和two-stage区别点在哪里
    two-stage算法相比于one-stage有何优势
    单张图片物体越多越密集,YOLO/SSD/Faster-RCNN中计算量是否也随着增加
    CVPR/ECCV 2018 最新目标检测算法有了解过嘛
    如何理解上采样,和下采样的区别是什么
    上采样(UNSampling)与上池化(UnPooling)区别
    全连接层理论上可以替代卷积层嘛
    神经网络里面可以用什么方法替换掉pooling
    神经网络提取特征的方式有哪些
    介绍下你了解的轻量级CNN模型
    网络模型压缩方面的剪枝,量化和二值化编码
    基于视频的C3D三维网络模型有听说过嘛
    2.5D卷积呢
    什么是空洞卷积,什么是反卷积,作用是什么
    如何一张RGB图片生成三维模型
    PNG/JPG存储图像的原理
    global average pooling 和average pooling区别
    FPN的原理,为什么不同尺度feature map融合会有效果提升
    无监督/半监督深度学习有了解过嘛
    GAN的原理
    基于RGB图的深度信息估计有了解过嘛
    MobileNet V1/V2区别
    ShuffleNet和SqueezeNet
    模型量化方法有哪些
    双线性插值,量化对齐
    Relu为什么比sigmod好
    目标识别算法常用评测方式
    IOU和mAP,AUC和ROC分别是什么
    介绍下常见损失函数,softmax一般和哪个激活函数使用
    介绍下PointNet/PointNet++/VoxelNet以及他们的优缺点
    PointCNN介绍一下
    旋转矩阵是什么,有什么性质,PointNet中T-Net旋转矩阵的损失函数如何设计
    如何计算旋转矩阵
    介绍下机器学习和深度学习中常见的参数类算法和非参数类算法
    随机梯度下降
    神经网络训练如何解决过拟合和欠拟合
    L1正则化和L2正则化区别,具体有何用途
    L1正则化相比于 L2正则化为何具有稀疏解
    
2. C++开发相关
    c++常见容器,vector容器capacity和size区别,如何动态增长
    vector遍历有哪几种方式(尽可能多)
    cv:Mat 有几种访问方式
    map容器增删改查,和unorder_map区别,map底层如何实现
    c++智能指针
    c++14/17新特性
    c++和c语言区别
    c++如何实现多态,有几种方式,动态多态和静态多态区别
    模板了解嘛
    c++继承多态
    c++深拷贝与浅拷贝
    拷贝构造函数和委托构造函数
    c++面向对象
    右值引用,move语义,完美转发
    emplace_back和push_back区别
    Eigen库了解嘛
    如何实现一个c++的单例模式
    内联函数和宏的区别
    如何实现一个只在堆或者栈上初始化的类
    如何查找容器内所有符合条件的元素
    
3. Python开发相关
    list tuple区别
    生成器和迭代器
    Python类的定义和实例化方法
    
4. 数据结构相关
    红黑树结构,查找时间复杂度
    堆排序的时间复杂度
    Top K排序
    如何用O(1)复杂度查找到stack里面的最小值
    八皇后
    C++自己实现一个队列
    数组和链表的区别
    什么是kd-tree,如何实现
    青蛙跳台阶的递归和非递归实现
    
5. 操作系统相关
    如何调试栈溢出
    计算机内存堆和栈的区别
    线程同步的方式,互斥锁和信号量的对比
    进程和线程的区别
    图片存储原理介绍一下
    
6. 深度学习框架相关
    Tensorflow结构框架,如何用Tensorflow实现一个反向求梯度
    Tensorflow如何合并两个Tensor
    caffe和Pytorch了解嘛
    caffe和Tensorflow区别在什么地方
    Tensorflow serving和TensorRT有了解过嘛
    caffe结构框架
    
7. 视觉SLAM相关
    SLAM主要分为哪几个模块
    ORB-SLAM2的优缺点分析,如何改进
    ORB和FAST对比
    BA和卡尔曼滤波
    ORB-SLAM2的三个线程是什么
    ORB-SLAM2的定位如何实现
    如何理解ORB-SLAM2的图优化
    结构光、TOF、双目视觉原理
    直接法、半直接法、特征点法区别与联系
    Apollo的感知模块原理
    Apollo的2D和3D跟踪
    如何求解旋转矩阵
    如果只有32线雷达,个数不限,能实现360度视角覆盖吗,如何实现,64线呢?

公司

视觉领域的部分国内公司

初创公司:

图普科技---Face++---Linkface---Minieye---知图Cogtu---商汤科技Sensetime---亮风台Hiscene---掌赢科技---格灵深瞳DeepPG---凌感科技usens---图森TuSimple---中科视拓Seetatech(山世光)---第四范式

上市公司:

百度DL实验室---腾讯优图---阿里高德---暴风魔镜---搜狗---乐视tv---奇虎360---京东实验室---阿里巴巴---联想研究院---华为研究院

知名外企:

佳能信息---索尼研究院---富士通研发中心---微软研究院---英特尔研究院---三星研究院

0 计算摄影 摄影几何

计算摄影方面的部分课程讲义 相机内部图像处理流程 pdf

相机 = 光测量装置(Camera = light-measuring device)
    照明光源(Illumination source)(辐射(radiance)) --> 
    场景元素(Scene Element)   --->
    成像系统(Imaging System)  --->
    内部图像平面(Internal Image Plane) --->
    输出(数字)图像(Output (digital) image) 
图像 = 辐射能量测量(Image = radiant-energy measurement)  


现代摄影流水线 Modern photography pipeline 
场景辐射 ---> 相机前端(镜头过滤器 镜头Lens 快门Shutter 孔径) ---> 
相机内部(ccd响应response(RAW) CCD插值Demosaicing (原)) ---> 
相机后端处理(直方图均衡Hist equalization、空间扭曲Spatial warping)---> 输出



透过棱镜的白光  “White light” through a prism  ------> 折射光(Refracted light)----> 光谱 Spectral  
我们的眼睛有三个受体(锥细胞),它们对可见光作出反应并产生颜色感。

CSC320S: Introduction to Visual Computing 视觉计算导论

Facebook surround 360 《全景图拼接》

    输入:17张raw图像,包括14张side images、2张top images、1张bottom image
    输出:3D立体360度全景图像  

博客笔记

深度摄影风格转换 Deep Photo Style Transfer

图像形变 Image warping

参考

色彩增强/转换 Color transfer

参考

图像修补 Image repair

参考

图像去噪 Image denoise

参考

图像去模糊 Image deblur

参考

图像滤波 Image filter

参考

超分辨率 Super-resolution

参考

1 三维重建 3D Modeling

参考

相机矫正 Camera calibration

参考

非刚体重建 Non-rigid modeling 

参考

三维重构 3D modeling

参考 视觉SLAM

Self-augmented Convolutional Neural Networks

运动估计 motion estimation

面部变形 face morphing 

三维重建方面的视觉人物

2 匹配/跟踪 Matching & Tracking

参考

2.a 特征提取 Feature extraction

参考

2.b 特征匹配 Feature matching

参考

2.c 时空匹配 Space-time matching

参考

2.d 区域匹配 Region matching

参考

2.e 轮廓匹配 Contour matching

参考

2.f 立体匹配 Stereo matching

参考

双目视觉自动驾 场景物体跟踪paper

kitti双目数据集解决方案

将深度神经网络用于将2D电影转换为3D电影的转换

神经网络 双目匹配

中山大学张弛博士

MeshStereo: A Global Stereo Model with Mesh Alignment Regularization for View Interpolation
1、讨论了立体视觉匹配(Stereo Matching)问题的定义及其与人眼感知深度的关系;
2、对Matching Cost Volume进行了可视化分析,以期望达到听者对其的直观且本质的理解;
3、讨论了立体视觉匹配问题中的四个经典方法(
    Graph Cut,Adaptive Support Weight Aggregation, 
    Semi-Global Matching, 
    以及 PatchMatch Stereo);
4、讨论了MeshStereo的试图统一disparity求解以及网格生成两个步骤的motivation,
    以及formulate这样一个unified model会遇到的困难;
5、讨论了MeshStereo引入splitting probability的解决方案及其优化过程。

Webinar最后展示了MeshStereo在深度估计以及新视角渲染两个任务中的结果。

Stereo Matching Using Tree Filtering non-local算法在双目立体匹配上的应用

2.g 深度匹配 depth matching

深度匹配 depth matching

2.h 姿态跟踪 Pose tracking

参考

2.i 物体跟踪 Object tracking

参考

2.j 群体分析 Crowd analysis

参考 群体运动度量

2.k 光流场跟踪 Optical flow

参考

3 语义/实例分割&解析 Segmentation & Parsing

参考

3.a 视频分割 Video segmentation

参考

3.b 人体解析 Person parsing

参考

person parsing

3.c 场景解析 Scene parsing

scene parsing 参考

3.d 边缘检测 Edge detection

参考 边缘检测

3.e 图像物体分割 Image object segmentation

参考

3.f 视频物体分割 Video object segmentation

参考 object segmentation

3.g 交互式分割 Interactive segmentation

参考

3.h 共分割 Co-segmentation

参考

3.i 背景差 Background subtraction

参考

3.j 图像分割方面 Image segmentation

参考

4 识别/检测 Recognition & Detection

参考

4.a 其他识别 Other recognition

参考

4.b 图像检索 Image retrieval

参考

4.c 显著检测 Saliency detection

参考

4.d 通用物体检测 Object proposal

参考

4.e 行为识别 Action recognition

参考

4.f 物体识别 Object recognition

参考

4.g 行人检测 Human detection

参考

4.h 人脸解析 Face Parsing

参考

4.i 纹理分析 Texture Analysis

纹理分析 Texture Analysis 相关人物

5 机器学习 Maching Learning

参考

5.a 生成对抗网络 GAN Generative Adversarial Networks

参考

5.b 深度学习 Deep learning

参考 深度学习方面的部分课程讲义

CNN Models 卷积网络模型

Deep Learning Libraries 深度学习软件库

深度学习方面的部分视觉人物

5.c 能量优化 Energy optimization

参考

5.d 模型设计 Model design

参考

5.e 空间降维 Dimention reduction

参考

5.f 聚类 Clustering

参考

5.g 分类器 Classifier

参考

6 开源库 Open library

参考

7 数据集 Public dataset

参考

7.a 其他方面 Other datasets

参考 人脸检测Face tracking and recognition database

人脸检测Caltech 10,000 Web Faces

人脸检测Helen dataset

深度图 RGB-D dataset

视频分割 2010 ECCV Efficient Hierarchical Graph Based Video Segmentation

手势跟踪 Hand dataset

手势跟踪2

车辆检测 2002 ECCV Learning a sparse representation for object detection

7.b 人体检测 dataset on human annotation

参考 Caltech Pedestrian Detection Benchmark

Ethz bleibe

RGB-D People Dataset

TUD Campus 382

PSU HUB Dataset

Pedestrian parsing

Human Eva

7.c 物体识别 dataset on object recognition

参考

e-Lab Video Data Set

Image Net

Places2 Database

Microsoft CoCo: Common Objects in Context

PASCAL VOC MIT’s Place2

7.d 显著检测方面 dataset on saliency detection

参考

视觉显著性检测技术发展情况

2012 ECCV Salient Objects Dataset (SOD)

2012 ECCV Neil D. B. Bruce Eye Tracking Data

2012 ECCV DOVES:A database of visual eye movements

2012 ECCV MSRA:Salient Object Database

2012 ECCV NUS: Predicting Saliency Beyond Pixels

2012 ECCV saliency benchmark

2010 ECCV The DUT-OMRON Image Dataset

2010 ECCV An eye fixation database for saliency detection in images

7.e 行为识别 dataset on action recognition

参考

UCF ChaoticInvariants datasetsActions

Hollywood Human Actions dataset data

Weizmann: Actionsas Space-Time Shapes

KTH

UMD

HMDB: A Large Video Database for Human Motion Recognition

Collective Activity Dataset

MSR Action Recognition Datasets and Codes

Visual Event Recognition in Videos

7.f 物体分割 dataset on object segmentation

参考 microsoft MSRC-V2

2010 CVPR iCoseg: Interactive cosegmentation by touch

2010 CVPR Caltech-UCSD Birds 200

2010 CVPR Flower Datasets

2009 ICCV An efficient algorithm for co-segmentation

2008 CVPR Unsupervised Learning of Probabilistic Object Models (POMs) for Object Classification, Segmentation and Recognition

2008 CVPR Caltech101

2004 ECCV The Weizmann Horse Database

7.g 场景解析 dataset on scene parsing

参考

ImageNet

ADE 20k

Cityscapes

COCO

Lab, Koch

uiuc, D hoiem

mit, cbcl

mit LabelMeVideo

2013 BMVC Hierarchical Scene Annotation

2010 ECCV SuperParsing: Scalable Nonparametric Image Parsing with Superpixels

2009 CVPR Nonparametric Scene Parsing: Label Transfer via Dense Scene Alignment

2009 Scene Understanding Datasets

2008 IJCV 6D-Vision

2008 IJCV The Daimler Urban Segmentation Dataset

2008 ECCV Motion-based Segmentation and Recognition Dataset)/CamVid/

2008 York Urban Dataset

2008 IJCV LabelMe

8 会议 期刊 

CVPR Computer vision and Pattern Reconition 计算机视觉和模式识别

ECCV European Conference on Computer Vision 欧洲计算机视觉国际会议

ICCV IEEE International Conference on Computer Vision 国际计算机视觉大会

其他

其他

AR&VR

参考

About

机器人视觉 移动机器人 VS-SLAM ORB-SLAM2 深度学习目标检测 yolov3 行为检测 opencv PCL 机器学习 无人驾驶

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 38.9%
  • Python 19.4%
  • C 19.0%
  • Makefile 18.6%
  • CMake 3.7%
  • Shell 0.2%
  • Other 0.2%