使用基于 CNN 的定位器进行对象定位

本文介绍了如何使用卷积神经网络(CNN)进行物体定位,详细阐述了CNN的基础、基于CNN的定位器架构,包括CNN骨干网、矢量化器和回归头,并详细解析了模型训练过程,包括数据预处理、损失函数、优化器和学习率调度器。通过此文章,读者可以理解基于CNN的定位器工作原理并掌握其实现方法。
摘要由CSDN通过智能技术生成

介绍

对象定位是指精确识别和定位图像中感兴趣的对象的任务。它在计算机视觉应用中发挥着至关重要的作用,可实现对象检测、跟踪和分割等任务。在基于 CNN 的定位器中,对象定位涉及训练卷积神经网络来预测包围对象的边界框的坐标。

定位过程通常遵循两步流程,其中主干 CNN 提取图像特征,回归头预测边界框坐标。

学习目标
  • 了解卷积神经网络 (CNN) 的基础知识。

  • 解释本地化模型的 CNN 架构。

  • 使用预先训练的 CNN 模型进行定位来实现定位器架构。

目录

  • 介绍

  • 卷积神经网络 (CNN)

  • 基于 CNN 的定位器架构

  • 更好地理解模型架构

  • 训练定位器

    • 导入必要的库

    • 构建组件

    • 建立模型

    • 下载数据集

    • 生成数据批次

    • 加载和创建数据集

    • 损失函数和性能指标

    • 优化器和学习率调度器

    • 训练循环

    • 预测

    • 输出

  • 结论

卷积神经网络 (CNN)

83a8180201fc0bb9c80dcb97f3f00020.png

卷积神经网络 (CNN) 是一类用于图像分析的深度学习模型。

它们的架构包括一个接收图像数据的输入层,后面是使用卷积滤波器学习和提取特征的卷积层。激活函数引入了非线性,而池化层则减少了空间维度。最后的全连接层做出最终预测。

CNN 学习分层特征,从边缘等低级特征开始,逐渐发展到形状和对象组合等复杂和抽象的特征。

在CNN 的训练阶段,网络学习自动识别和提取不同级别的特征。初始层捕获低级特征,例如边缘、角和纹理,而更深的层学习更复杂和抽象的特征,例如形状、对象部分和对象组合。CNN 的层次结构使其能够学习对平移、缩放、旋转和其他图像变换的变化越来越不敏感的表示。

"越来越不敏感的表示"意味着随着CNN网络的深层学习,所学习到的特征表示对于图像变换变得越来越稳定和不变,能够在面对这些变换时保持对重要特征的有效提取和识别能力。

基于 CNN 的定位器架构

用于目标定位的基于 CNN 的定位器模型由 3 个组件组成:

1. CNN骨干网

结合 SQL 的力量:选择标准 CNN 架构(例如 ResNet 18、ResNet 50、VGG 等)来微调 Imagenet 分类任务上的预训练模型。使用额外的 CNN 层增强主干网络以减小特征图尺寸

2. 矢量化器

CNN 主干的输出是 3D 张量。但定位器的最终输出是一个一维向量,其中四个值对应于边界框的每个坐标。为了将 3D 张量转换为向量,我们使用向量化器或利用 Flatten 层作为替代方法。

3. 回归头

我们专门为此任务构建了一个完全连接的回归头。之后,从主干网络获得的特征向量被馈送到回归头。回归头由末端的 4 个节点组成,对应于 (x1, y1, x2, y2) 或任何其他等效的边界框表示。

更好地理解模型架构

bbae30a0d72f2261b4173ba9d609dca0.png

该图显示了常见的基于 CNN 的定位器模型架构。简而言之,CNN 主干接收 RGB 图像,然后生成特征图。然后,我们使用展平层或全局平均池层来形成一维特征向量。全连接回归头接收特征向量并给出预测。

CNN 网络保持输入图像的固定大小,我们使用 Flatten 层将从 CNN 主干获取的特征图转换为向量。然而,当使用 GAP(全局平均池)等自适应层时,不需要调整图像大小。

训练定位器

导入必要的库
import ast
import math
import os

import cv2
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf

from functools impo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值