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 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值