一句话版CNN学习

1)机器视觉的主要任务:

      image classification:即对图片做单一物体识别;

      object detection:即对图片做多物体识别,同事用方框框柱物体 ;

      neural style transfer:即用一张图片的内容不变,但风格别另一张图片的风格取代。

2)机器视觉面临困难挑战

      图片像素多,即数据特征多,导致模型中的参数多;

      参数多,如果数据量不能超过参数数量,容易过拟合;

      参数量巨大,占用大量内存,计算效率低下;

       如果数据量充足,计算量将会是惊人需求,训练效率低效。

3)CNN中padding算不算噪声?

       padding是增加各个边的pixels的数量,目的是保持feature map不要太小,单也没必要超过原图的大小,所以不可以任意数量;

       padding的上限是维持feature map大小与原图大小一致,具体增加pixel的数量多少,有filter的尺寸和strider大小共同决定;

       padding存在的意义:为了不丢弃原图信息,保持feature map的大小与原图一致;为了让更深层的layer的input依旧保持有足够大的信息量。

综上,padding出来的pixel的值都是0,不存在噪音问题。

4)CNN中stride意义

      stride实质上就是filter在原图上扫描是,需要跳跃的格数,默认跳一格。通过跳格,减少filter与原图做的扫描时的重复计算,提升效率。stride太小,重复计算较多,计算量大,训练效率降低。stride太大,会造成信息遗漏,无法有效率提炼数据背后的特征。

5)RGB图片,96个filter(3X3),feature map最终长什么样?里面每个值是如何计算的?

      RGB图片与黑白图片下的feature map都是width x height x 96,只是每一个彩色feature map中的值 = 三种颜色经过filter处理之后的和。

     input上的变化:

     (1)灰度图片的input,是2D,width x Height

     (2)彩色图片的input,是3D,width x Height x Channels

     filter上的变化:

      (1)灰度图片,是2D,Width x Height

      (2)彩色图片,是3D,Width x Height x Channels

        注意:两者的filter的数值是一样的。

     feature map上的变化

      (1)灰度图片,一个filter,是2D,Width x Height;多个filters,Width x Height x filter数量

      (2)彩色图片一样

6)为什么处理图片CNN比DNN高效的多?

举例:面对1000X1000的高清(灰度)图片,同样提取10个特征,需要多少个参数?

DNN:需要10000X1000X10=1千万个参数

CNN:需要5X5X10=250个参数(假设filter是(5X5))

DNN只能接受全局特征,CNN都可以,更倾向于学习小的局部特征。

7)CNN的pooling层有什么作用?

存在的价值:

       本质上,是在精简feature map数量的同时,最大化保留空间信息的特征信息的处理技巧。目的是,通过feature map进行压缩浓缩,给到后面hidden layer的input就小了,计算效率能提高。

      CNN的invariance的能力,本质是由convolution创造的的。

工作原理:

        feature map作为input,用不含参数的filter(小方框自由设计尺寸)对其做扫描,平移,跳格;filter没有参数,但要对方框内的数值做最大值(max pooling)或均值(average pooling)保留,抹去方框内其他值,实现压缩浓缩。把留下的值形成的matrix,也就是浓缩后的feature map传给下一层的hidden layer。

convolution也能对input做压缩,为什么还要用pooling layer?

       pooling layer在压缩上比convolution更专注和易用。更好的解释见:CNN学习笔记

8)怎么理解feature map在逐步缩小,feature map的channels在逐步增多

      feature channels增多,我们希望负责特征的数量也越来越好,越多我们对图片了解越多。

      feature 长与宽越来越小,因为我们希望每个特征都是精炼简洁的,去除不必要的噪音;

      每个特征,都是前一层feature map上的多个特征融合而成,本身的信息量充足,无需在长和宽上增加信息量。

9)如何理解convolution layer的设计优势

设计特点:

        对原图片和input,做保留空间信息的扫描处理,截取出大量小图片来做数据特征提炼学习(不针对全局input做处理);只提炼小特征pattern,只针对每一个局部小图片做一个小特征的学习和提炼,直到所有局部小图片处理完毕(不针对全局input学习和提炼特征);

设计优势:

       每个特征所需要的参数极少,模型变得极小,训练效率大幅提升,避免模型过大的overfitting;(share parameters ,sparsity connection);每个特征都是小特征,可以在原图和input每一个区域得到的应用,产生了模型的invariance能力。

10)在R-CNN【Regions with CNN features】中为什么使用IoU非极大值抑制

问题背景:

       一张图里,有两辆车,10个region;任务是:保留最优的两个regions,排除剩下的8个regions。

解决方案:

        NMS(non-maximum suppresssion)算法为框架,IoU(Intersection over Union)提供评估尺度

IoU

        计算两个region(两个方框)的重合度。

NMS算法原理

       先找到车辆概率最高的region1;

       在计算所有车辆region和region1之间的IoU值;

       再设定一个阈值,比如0.7;

       抹去所有IoU值>=0.7的车辆region;

       这样一来,region1周边的(与region1高度重合的)车辆region都被排除了。

11)如何理解CV【机器视觉】的现状

        在数据多时,机器学习,深度学习模型可以从数据中学习特征和规律;数据少时,不得不依赖人的经验和灵感,去学习特征和规律;学术圈,常用ensemble(训练和叠加多个高度想死的模型结果)和multi-crop(多角度剪切修改原图衍生出更多图片数据)来提升模型表现。但行业内认为这两种方法消耗过多时间和计算成本,不实用。

12)如何通过landmark detection方式完成人脸识别和体态识别

        也是一个模型,2个任务:classification and regression;

      (1)人脸识别,用的是64个脸部关键点(128个值),这是regression问题;但在做128个值的训练和预测前,首先要确认图片中存在人脸。这是一个分类问题,0或者1判断是否存在人脸,label上的数据总量=129.

      (2)物体识别,bounding box 需要中心点和长与宽的偏移值

       landmarks的ground truth labels获取成本高昂,且容易数据收集时出错。

参考:https://www.bilibili.com/video/av22581633?p=37

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值