CV基础常用知识点

本文详细介绍了图像分类的任务和常用数据集CIFAR-10/100,以及ImageNet和AlexNet网络特点。深入探讨了GoogLeNet的Inception块和整体结构,并展示了目标检测的基本概念、格式、数据集、评价指标以及NMS。此外,还简要分析了两阶段和一阶段目标检测算法,如Yolo,并提到了YoloV7的优化与使用。

常见任务

图像分类(Classification):即是将图像结构化为某一类别的信息,用事先确定好的类别(category)来描述图片。
目标检测(Detection):分类任务关心整体,给出的是整张图片的内容描述,而检测则关注特定的物体目标,要求同时获得这一目标的类别信息和位置信息(classification + localization)。
图像分割(Segmentation):分割是对图像的像素级描述,它赋予每个像素类别(实例)意义,适用于理解要求较高的场景,如无人驾驶中对道路和非道路的分割。

图像分类

通俗讲解

在这里插入图片描述
比如上面的照片,分类任务就是给出这个图片的动物有多大概率是什么东西。比如:dog:1%,cat:4%,panda:95%。然后我们取达到阈值并且最高的那个指标,也就是panda

常用数据集

CIFAR-10和CIFAR-100

CIFAR-10数据集5万张训练图像、1万张测试图像、10个类别、每个类别有6k个图像,图像大小32×32×3。
CIFAR-100数据集也是有5万张训练图像、1万张测试图像、包含100个类别、图像大小32×32×3。
使用方法:

import torchvision
"""
 使用CIFAR10这个数据集,
 root="./dataset": 会在当前目录下创建dataset文件夹,同时把数据保存进去
 train=True:       这是一个训练集,为False, 则表明这是一个测试集
 download=True:    数据集会从网上下载
"""
train_set = torchvision.datasets.CIFAR10(root="./dataset",
                                              train=True,
                                              download=True)
test_set = torchvision.datasets.CIFAR10(root="./dataset",
                                             train=False,
                                             download=True)

ImageNet

ImageNet数据集是ILSVRC竞赛使用的是数据集,由斯坦福大学李飞飞教授主导,包含了超过1400万张全尺寸的有标记图片,大约有22000个类别的数据。ILSVRC全称ImageNet Large-Scale Visual Recognition Challenge,是视觉领域最受追捧也是最具权威的学术竞赛之一,代表了图像领域的最高水平。从2010年开始举办到2017年最后一届,使用ImageNet数据集的一个子集,总共有1000类。

AlexNet

该网络的特点是:

AlexNet包含8层变换,有5层卷积和2层全连接隐藏层,以及1个全连接输出层
AlexNet第一层中的卷积核形状是[Math Processing Error]。第二层中的卷积核形状减小到[Math Processing Error],之后全采用[Math Processing Error]。所有的池化层窗口大小为[Math Processing Error]、步幅为2的最大池化。
AlexNet将sigmoid激活函数改成了ReLU激活函数,使计算更简单,网络更容易训练
AlexNet通过dropOut来控制全连接层的模型复杂度。
AlexNet引入了大量的图像增强,如翻转、裁剪和颜色变化,从而进一步扩大数据集来缓解过拟合。

GoogLeNet

Inception 块

GoogLeNet中的基础卷积块叫作Inception块,得名于同名电影《盗梦空间》(Inception)。Inception块在结构比较复杂。
结构图如下:
在这里插入图片描述

GoogLeNet模型总介绍

GoogLeNet主要由Inception模块构成
B1模块:使用一个64通道的7×7卷积层
B2模块:使用2个卷积层:首先是64通道的1×1卷积层,然后是将通道增大3倍的3×3
卷积层。
B3模块:串联2个完整的Inception块, 分别是Inception3a和Inception3b
B4模块:串联了5个Inception块,分别是Inception4a,Inception4b,Inception4c,Inception4d和Inception4e,并且在4b和4e模块添加了辅助输出端,用于模型训练
B5模块:串联了2个Inception块,分别是Inception5a,Inception5b,后面紧跟输出层,该模块使用全局平均池化层(GAP)来将每个通道的高和宽变成1。最后输出变成二维数组后接输出个数为标签类别数的全连接层。

实践

# 导入工具包
import torch
import torchvision.models as models
from torchvision import transforms
from torch.utils.data import DataLoader
from torchvision.datasets import ImageFolder


def 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值