卷积网络知识点

1、特征提取
卷积的过程也被称为特征提取的过程
一个图像矩阵经过一个卷积核的卷积操作后,得到了另一个矩阵,这个矩阵叫做特征映射(feature map)。
每一个卷积核都可以提取特定的特征,不同的卷积核提取不同的特征,
举个例子,现在我们输入一张人脸的图像,使用某一卷积核提取到眼睛的特征,用另一个卷积核提取嘴巴的特征等等。而特征映射就是某张图像经过卷积运算得到的特征值矩阵。

2、Feature Map
每个卷积核得到一副特征图像也被称为一个Feature Map。我们的原始图,经过不同feature的卷积操作就变成了一系列的feature map。

3、非极大值抑制(Non-Maximum Suppression,NMS)
将类别预测得分(类别预测概率)未达到极大值的对象进行抑制处理。

4、“交并比”(Intersection over Union, IoU)
该方法用两个矩形交集区域的面积占其并集区域面积的比例作为重叠程度的度量

5、目标检测(R-CNN)

6、卷积核参数
滤波中用到的卷积核是根据经验得到的固定值(sobel卷积)。
深度学习中的卷积核,是根据标签,学习训练得到特征的过程中,一点点训练得到的,开始仅需要初始化

7、faster rcnn网络中的anchor
当一张图片输入resnet或vgg,在最后一层的特征图上面,寻找可能出现物体的位置,这时候分别以这张特征图的每一个点为中心,
在原图上画出9个尺寸不同的anchor。然后计算anchor与GT(ground truth) box的iou,满足一定iou条件的anchor,便认为是这个anchor包含了某个物体。

8、faster rcnn过程
◆ Conv layers:作为一种CNN网络目标检测方法,Faster RCNN首先使用一组基础的conv+relu+pooling层提取image的feature maps。该feature maps被共享用于后续RPN层和全连接层。
◆ Region Proposal Networks:RPN网络用于生成region proposals。该层通过softmax判断anchors属于positive或者negative,再利用bounding box regression修正anchors获得精确的proposals。
◆ Roi Pooling:该层收集输入的feature maps和proposals,综合这些信息后提取proposal feature maps,送入后续全连接层判定目标类别。
◆ Classification:利用proposal feature maps计算proposal的类别,同时再次bounding box regression获得检测框最终的精确位置。

9、Region Proposal Networks(RPN:区域候选框)
其实RPN最终就是在原图尺度上,设置了密密麻麻的候选Anchor。然后用cnn去判断哪些Anchor是里面有目标的positive anchor,哪些是没目标的negative anchor。所以,仅仅是个二分类而已!

10、图片通道数含义
第三个维度代表了图像中通道的数量。Img[:,:,0]代表B通道,也就是蓝色分量图像。 (OPENCV为BGR, PLT为RGB)
cv2把图片读取后是把图片读成BGR形式的,plt则是读成RGB形式img[:, :, ::-1]的作用就是实现RGB到BGR通道的转换 (若图片一开始就是BGR的,就是实现从BGR到RGB的转换)。那么image[:, ::-1, :]的作用就是把图像左右翻转,image[::-1, :, :]的作用就是把图像上下颠倒。

11、depthwise_conv2d
depthwise_conv2d:深度可分离卷积

12、常用的激活函数
Sigmoid
Sigmoid激活函数饱和(值接近1或-1)时梯度值非常小,故网络层数较深时易出现梯度消失的问题。

ReLU
缺点在于当反向传播过程中有一个非常大的梯度经过时,反向传播更新后可能导致权重分布中心小于零,导致该处的倒数始终为0,反向传播无法更新权重,即进行失活状态。

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学习卷积神经网络需要以下步骤: 1. 了解基本概念:首先你需要了解神经网络卷积、池化、前馈网络等基本概念。 2. 学习数学知识:学习卷积神经网络需要对线性代数、微积分等数学知识有扎实的基础。 3. 研究论文:阅读和理解相关的论文是学习卷积神经网络的重要组成部分。 4. 实践:最好的学习方法就是实践,在计算机上使用深度学习框架(如 Tensorflow、PyTorch)实现自己的卷积神经网络。 5. 参加课程或培训:学习卷积神经网络的有用的方法之一是参加专业的课程或培训。 6. 社区参与:加入相关的社区,与其他专家和爱好者交流,可以获得更多的知识和技巧。 ### 回答2: 学习卷积神经网络可以遵循以下步骤: 1. 理解基本概念:卷积神经网络(CNN)是一种用于图像识别和分类的深度学习模型。了解卷积层、池化层、激活函数和全连接层等基本概念是学习CNN的第一步。 2. 学习数学基础:掌握线性代数和微积分是理解CNN的重要前提。学习卷积运算、梯度下降、反向传播等数学概念对于深入理解CNN的工作原理非常有帮助。 3. 研究经典模型:CNN领域有很多经典模型,如LeNet-5、AlexNet、VGGNet和ResNet等。通过研究这些模型的网络结构、参数设置和最佳实践,可以更好地了解CNN的应用和创新点。 4. 探索开源库:TensorFlow、PyTorch、Keras等开源深度学习库都提供了丰富的CNN模型和相关教程。通过使用这些库,可以加深对CNN的理解,并从实践中学习如何构建和训练CNN模型。 5. 实际项目的实践:在学习理论知识的同时,通过参与实际项目,如图像分类、目标检测和人脸识别等任务,可以将所学知识应用到实际中,并不断调整和改进CNN模型。 6. 与他人交流和合作:参与学术论坛、社群和与其他学习者的讨论,可以共享经验和资源,并从其他人的反馈中不断提高。 总之,学习卷积神经网络需要一定的数学基础,理解经典模型,并通过实践和与他人的交流来巩固所学的知识。不断学习和实践,掌握CNN的原理和应用,可以为深度学习方向的研究和实践提供坚实的基础。 ### 回答3: 学习卷积神经网络可以采取以下步骤。 首先,了解卷积神经网络的基本概念和原理。卷积神经网络是一种深度学习模型,具有通过卷积运算提取图像特征的能力。了解卷积运算的定义、作用和实现方式,以及卷积神经网络的层次结构和参数设置,是学习的基础。 其次,学习卷积神经网络的常见模型和算法。如LeNet、AlexNet、VGGNet、GoogLeNet和ResNet等。深入了解这些模型的结构、特点和应用场景,可以通过阅读相关的研究论文和教程来学习。 第三,进行实践和编程。选择合适的开发环境和工具,如Python和深度学习库TensorFlow或PyTorch等,实践编写卷积神经网络的代码。可以从简单的图像分类任务开始,逐步提高难度,理解和实现不同模型的训练过程。同时要注意调试和优化,以提高模型效果。 第四,参与相关的竞赛或项目。参加Kaggle等机器学习竞赛,或者加入开源社区共同开发项目,可以和其他学习者交流和分享经验,提高自己的卷积神经网络技能。 最后,不断学习和探索。深度学习领域发展迅速,新的卷积神经网络模型和算法不断涌现。要保持对最新研究和技术的关注,阅读论文、参加学术会议和研讨会,不断扩展自己的知识和技能。此外,通过复现经典模型和开展自己的研究项目,可以加深对卷积神经网络的理解和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值