计算机视觉的深度学习之路

更多精彩内容,请关注微信公众号:听潮庭 ,我们一起学习。

一、概述

  • 计算机视觉概述

    • 高度复合学科:工程、计算机科学、数学、心理学、生物学

    • 图像处理、机器人、神经科学、认知科学、机器学习、计算机图形学、信息获取、算法、硬件系统;

    • 两个主要研究维度:

      • 语义感知(semantic):

        • 分类 Classification :物体、属性、场景等

        • 检测 Detection:物体、行人、人脸等

        • 识别 Recognition:物体:车牌,文本;人:人脸、指纹、虹膜、步态、行为等;

        • 分割 Segmentation

        • 检索 Retrieval:以文搜图、以图搜图、图文联搜

        • 语言 language:图片描述,图片问答等;

      • 几何属性(Geometry):VR

        • 3D建模

        • 双目视觉

        • 增强现实


  • 研究挑战

    • 光照变化

    • 尺度变化

    • 形态变化

    • 背景混淆干扰

    • 遮挡

    • 类内物体的外观差异


  • 简介

    • 部分一:计算机视觉的基础

      • 图像预处理
        • 图像显示与存储原理

        • 图像增强的目标

        • 点运算:基于直方图的对比度增强

        • 形态学处理

        • 空间域处理:卷积

        • 卷积的应用(平滑、边缘检测、锐化等)

        • 频率域处理:傅里叶变换、小波变换

      • 图像特征及描述
        • 颜色特征:量化颜色直方图、聚类颜色直方图;

        • 几何特征:Edge(边缘)、Corner(角点)、Blob(斑块)

        • 基于关键点的特征描述子:SIFT、SURF、ORB;

        • 其他特征提取:LBP、Gabor

      • 深度学习之前的方法
        • 图像分割
          • 基于阈值、基于边缘

          • 基于区域、基于图论

        • 人脸检测
          • Haar-like特征+级联分类器

        • 行人检测
          • HOG+SVM

          • DPM


    • 部分二:深度学习的理论基础

      • BP神经网络详解
      • 深度学习基础
        • 神经网络
          1. 神经元

          2. 前馈网络

          3. 梯度下降

          4. 误差反向传播

        • 深度学习
          1. 与传统神经网络的区别

          2. 目标函数

          3. 改进的梯度下降

          4. 避免过适应


     

    • 部分三:深度学习在计算机视觉中的应用

      • 图像分类:卷积神经网络CNN
        • CNN:
          1. 计算机视觉中的基础网络

          2. 有监督深度模型时代的起点

          3. AlexNet->VGG->GeogleNet->ResNet->ResNeXt

          4. GeogleLeNet

            • Inception V1->V2->V3->V4

            • Inception ResNet V1->V2

          5. 结构趋势

            • 更深(Depth):8层->1000+层

            • 更宽(Width):1分支->4+分支

            • 更多基数(Cardinality):1->32

       

      • 图像检测:区域卷积神经网络R-CNN
        • 让基础网络具备区域输出能力
        • 第一阶段:R-CNN->SPP-Net->Fast/Faster R-CNN
        • 第二阶段:YOLO->SSD->R-FCN
        • 目的:检测更快、更准确
        • 工业应用:
          • 智能监控

          • 辅助驾驶

       

       

      • 图像分割:全卷积神经网络FCN
        • FCN:
          1. 让基础网络做像素输出

          2. FCN->SegNet/DeconvNet->DeepLab

          3. 反卷积/转置卷积

        • 目的
          1. 语义推断

          2. 分割更精确

        • 工业应用

          1. 辅助驾驶

          2. 对医学、生物影像中的器官、组织或细胞进行分割,及判断出影像中的每一个像素点是否属于器官、组织或细胞

            • 生物医学领域的图像分割:U-Net和V-Net

       

       

      • 图像描述:迭代神经网络RNN
        • 递归神经网络RNN
          1. 具有记忆功能,构建不定长序列数据的模型

          2. Vanilla RNN->LSTM->GRU

          3. 应用范围

            • 文本序列

            • 区域序列

            • 视频序列

          4. 研究问题

            • 图片描述、问答

            • 机器翻译

       

      • 图像生成:生成对抗网络GAN
        • 图片生成
          1. 样本分布学习

          2. 超分辨率

          3. 以图生文

          4. 语义分割

        • 生成对抗网络GAN
          • 网络结构

            • 生成器网络(Generator)

            • 判别器网络(Discriminator)

          • 网络改进

            • GAN->CGAN->DCGAN->wGAN

            • SRGAN

          • 应用范围:

            • 样本数据分布(生成)学习

            • 有监督问题的优化

 

  • 开源库与应用环境介绍

    • Anaconda Python 3.6

    • OpenCV 3.4+

    • TensorFlow 1.9+

    • DNN模型实践

      1. VGG、ResNet、

      2. Faster R-CNN、YOLO

      3. DeepLab、U-NET

      4. Show-and-Tell

      5. GAN

  • 参考书

    • Python基础教程 第二版

    • OpenCV3 计算机视觉:Python语言实现

    • TensorFlow实战

    • 深度学习 goodfellow的花书

    • 深度学习轻松学 核心算法与视觉实践

  • 环境搭建

    • Windows

      • OpenCV 3.4
      • Python 3.6+
      • TensorFlow 1.9+
      • Keras等
      • 开源库介绍:
        • OpenCV
          1. 函数库:计算机视觉、机器学习

          2. 优化算法2500+

          3. 编程语言:C、C++、Java、Python、Matlab

          4. 并行计算:CUDA、OpeenCL

        • Caffe:
          1. 函数库:深度学习

          2. 发布方:BVLC

          3. 编程语言:C++、Python

          4. 并行计算:CUDA

          5. 特色:

            • 在配置中定义模型并优化,不需要硬编码

            • 代码的可扩展性强

            • 运行速度非常快

        • Torch(PyTorch)
          1. 函数库:深度学习

          2. 发布方:Facebook

          3. 编程语言:Lua(Python)

          4. 并行计算:CUDA

          5. 特色:

            • 使用动态计算图,提供了更快速地方法

            • 提供了运行在GPU/CPU之上、基础的张量计算操作库;

            • 支持共享内存的多进程并发(multiprocessing)库

        • TensorFlow
          1. 函数库:深度学习

          2. 发布方:Geogle

          3. 编程语言:Python

          4. 并行计算:CUDA

          5. 特色:

            • 多级、多GPU分布式

            • 适用于超大模型,超大数据集

            • Tensorboard将训练过程可视化

          6. TensorFlow最简教程

            • 使用图graph来表示计算任务

            • 在被称之为会话session的上下文context中执行图

            • 使用张量tensor表示数据

            • 通过变量variable表示数据

            • 使用feed和fetch可以为任意的操作赋值或者从其中获取数据

            • 占位符

        • Keras
          1. 函数库:深度学习

          2. 编程语言:Python

            特色:

            • 兼容Theano和TensorFlow的深度学习高级包

            • 用户友好,高度模块化,易扩展性

posted @ 2019-04-30 14:16  ThinkInPakho  阅读(995)  评论(0编辑  收藏  举报