zoukankan      html  css  js  c++  java
  • 计算机视觉的深度学习之路

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

    一、概述

    • 计算机视觉概述

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

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

      • 两个主要研究维度:

        • 语义感知(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的深度学习高级包

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

  • 相关阅读:
    关于李约瑟难题的思考
    《MDX解决方案(第2版)》实例数据部署过程
    在SQL SERVER 2008种使用表值参数
    解决了一个想了很久的问题
    发现可以在两个数据库中共享只读文件组
    java 包位置
    单元测试java
    Cannot determine build data storage root for project
    Vue——绑定值
    浪潮之巅第八章 — 没落的贵族(摩托罗拉)
  • 原文地址:https://www.cnblogs.com/thinkinpakho/p/10795704.html
Copyright © 2011-2022 走看看