干货!计算机视觉之PyTorch数字图像处理!

计算机视觉之PyTorch数字图像处理 FCOS是一种创新的全卷积单阶段无锚框目标检测模型,通过直接学习目标边界框的几何属性,避免了传统锚框的复杂计算。该模型包含骨干网络、特征金字塔和多尺度检测头三部分结构,支持高效的多尺度目标检测。文章详细介绍了FCOS模型的构建方法,包括自定义数据集处理(以螺丝螺母检测为例)、数据加载器封装以及PyTorch实现步骤。相比传统方法,FCOS具有训练简化、推理高效等优势,特别适合需要快速部署的目标检测任务。 阅读详情

内Fcos介绍

     FCOS(Fully Convolutional One Stage)是于2019年由Zhi Tian等人提出的一种全卷积单阶段无锚框检测模型。该模型无需在训练时计算锚框的IoU值,极大的简化了模型的训练,使得训练方便,并且在推理时只有NMS(None Maximum Suppression,非及大值抑制),使得推理速度极快。在torchvision模型库中包含了以Resnet50作为骨干网络的FCOS,这样只需要创建模型进行训练即可。

模型介绍

     COS模型的结构如图1所示,整个模型从左向右,可以分为三个部分:Backbone(骨干网络),Feature Pyramid(特征金字塔),以及由Classification、Center-ness和Regression构成的多尺度目标检测头作为输出。

     Backbone主要用于提取提取不同尺度的特征,一般使用预训练的分类网络的特征提取部分作为BackBone,FCOS的Backbone,作为模型的入口,接受输入的图像,从Backbone中输出C3,C4和C5特征图。各特征图的高和宽标记在各特征图的左侧,分别为输入图像的1/8,1/16和1/32,对于输入为800×1024的图像,C3的尺寸为100×128,C4的尺寸为50×64,C5的尺寸为25×32。

     Feature Pyramid接收来自骨干网络的C3,C4和C5特征图,一方面以C5特征图为基础构造尺寸为13×16的P6特征图和尺寸为7×8的P7特征图,另一方面将C5上采样和C4合并构造与C4同尺寸的P4,并将P4上采样和C3构造出与C4同尺寸的P3。这样通过Feature Pyramid总共构造出了P3,P4,P5,P6和P7共5个尺寸的特征图,目标检测就在这5个不同尺寸的特征图上完成。

     多尺度目标检测头负责对从Feature Pyramid传来P3-7共5个特征图进行检测。在每个特征图上进行目标检测的头都具有相同的结构。每个头包含两个独立的部分,Classification结构和Center-ness结构共享一个部分,其中Classification结构输出大小为H×W×C形状的张量表示在H×W大小的特征图上检测总共C个类别的结果,Center-ness结构输出大小为H×W×1形状的张量表示在H×W的特征图上,是否为目标的中心;Regression独自为一个部分,输出大小为H×W×4形状的张量,表示以该元素为中心的目标到该元素的4个距离,如图2所示。图2显示了FCOS模型在Regression部分学习的4个距离,分别是中心到左边界的距离,中心到右边界的距离,中心到上边界的距离和中心到下边界的距离。这样FCOS模型就彻底抛弃了锚框IoU的计算,直接以这四个距离进行训练。

bb95b326ab9bd433d0b0f484bc9af950.png

图1     FCOS目标检测模型

c8eb40899bb23235b1a20b7f96b8f562.png

图2    FCOS目标外接矩形的表示

       由于在torchvision中包含了以ResNet50为骨干网络的FCOS模型,并且还可以加载COCO上预训练的模型,这样创建一个FCOS模型就非常方便,创建方法与上一节创建预训练模型方法相同:

from torchvision.models import detection
model = detection.fcos_resnet50_fpn(progress=True,num_classes=3,
          pretrained_backbone=True,
          trainable_backbone_layers=4)

     以上就可以创建一个具有检测3个类别,以带有预训练参数的ResNet50为骨干网络的FCOS模型,对于创建模型时其他参数及其含义可以参考API文档。

数据集创作

    由于目标检测模型多样,因此,在训练前对于数据集的构建方法会有所差异。对于torchvision包中提供的所有目标检测模型已经对训练数据的格式进行了统一,因此,只需要把数据按照统一的方式进行构建后,torchvision包内的其它目标检测模型也可以使用。

     由于通用目标检测数据集通常较大,不便于进行原理的演示。在这里使用一个样本量较小,类别数较小的目标检测数据集——螺丝螺母检测数据集。螺丝螺母检测数据集是一个开源目标检测数据集,下载地址为:

https://aistudio.baidu.com/aistudio/datasetdetail/6045

    同时,该数据集也附于本书的电子资料中。

4f4a387f3411385480f46e61cb57aa70.png

图3  螺丝螺母检测数据集中的样本

     螺丝螺母数据集包括413张训练集和10张测试集两部分。图3显示了一个带有标注的训练集中的样本,在样本中螺丝和螺母放置于一个白色托盘中,托盘放置在一灰色平台上,螺丝螺母使用矩形框进行标注。以下就以该数据集为例构造用于训练torchvision中模型的数据集。

     使用torchvision中的目标检测模型训练自定义数据同样需要对数据集进行封装,并在得到样本的__getitem__()方法中返回一个表示样本元组的数据和标签,以(x, y)表示,其中x是一个范围为0-1的3×H×W的图像张量,y表示图像x的标签,是一个包含‘label’和‘boxes’两个键的字典,‘label’键里以整数张量的形式存储了图像中K个目标的标签值,‘boxes’键里存储了图像中K个对应目标外边矩形框的左上和右下共4个坐标值组成的一个K×4的数字张量,格式如下所示:

#样本标签y的格式:

{'labels': tensor([1, 1, 1, 2, 2, 2, 2, 2]),
  'boxes': tensor([[ 711,  233,  844,  506],
          [1036,  194, 1206,  459],
          [ 958,  406, 1239,  573],
          [1142,  194, 1275,  320],
          [ 780,  478,  908,  614],
          [ 766,  612,  914,  742],
          [ 972,  542, 1120,  678],
          [ 986,  684, 1120,  820]])}

    #以上表明样本中包含8个目标,3个目标的类别为1,5个的目标的类别为2。按照上述要求,通过继承torch.utils.data.Dataset类创建一个自定义的数据集,实现螺丝螺母数据集的构造:

from pathlib import Path
from torchvision.io import read_image,ImageReadMode
import json
import torch
class BNDataset(torch.utils.data.Dataset):
    def __init__(self, istrain=True,datapath='D:/data/lslm'):   #注意修改数据集路径
        self.datadir=Path(datapath)/('train' if istrain else 'test')
        self.idxfile=self.datadir/('train.txt' if istrain else 'test.txt')
        self.labelnames=['background','bolt','nut']
        self.data=self.parseidxfile()
    def parseidxfile(self):
        lines=open(self.idxfile).readlines()
        return [line for line in lines if len(line)>5]




    def __getitem__(self, idx):
        data=self.data[idx].split('\t')
        x = read_image(str(self.datadir/data[0]),ImageReadMode.RGB)/255.0
        labels=[]
        boxes=[]
        for i in data[2:]:
            if len(i)<5: continue
            r=json.loads(i)
            labels.append(self.labelnames.index( r['value']))
            cords=r['coordinate']
            xyxy=cords[0][0],cords[0][1],cords[1][0],cords[1][1]
            boxes.append(xyxy)
        y = {
            'labels': torch.LongTensor(labels),
            'boxes': torch.tensor(boxes).long()
        }
        return x, y




    def __len__(self):
        return len(self.data)

      以上代码对螺丝螺母数据集以BNDataset为类名进行封装,主要涉及的难点就是标签文件的解析,具体解析过程要结合上述代码和标签文件进行理解。在模型进行训练时,还需要使用把数据集进一步使用DataLoader封装:

def collate_fn(data):
    x = [i[0] for i in data]
    y = [i[1] for i in data]
    return x, y




train_loader = torch.utils.data.DataLoader(dataset=BNDataset(istrain=True), batch_size=4, shuffle=True, drop_last=True, collate_fn=collate_fn)
test_loader = torch.utils.data.DataLoader(dataset=BNDataset(istrain=False), batch_size=1, shuffle=True, drop_last=True, collate_fn=collate_fn)

      在封装完成后,就可以使用上一节提到的可视化方法,进行样本和标签的可视化,以检查数据集构造的正确性,得到如图3所示的结果:

for i, (x, y) in enumerate(train_loader):
    labels=[loader.dataset.labelnames[i] for i in y[0]['labels']]
colors=[ ('red' if i=='nut' else 'blue') for i in labels]
image=draw_bounding_boxes(x[0], y[0]['boxes'],labels=labels,colors=colors,width=5,font_size=50,outtype='CHW')
vis.image(image)

    #图3所示

以上完成了螺丝螺母数据集的构造,能够用于FCOS模型的训练。下面介绍FCOS模型在该数据集上的训练以及模型的评估。

数据集创作

    由于torchvision对FCOS模型进行了很好的封装,在准备好数据集后,训练方法与分类和分割网络的训练模式并无太大差异:创建优化器,构造损失函数,对数据集进行多次循环并根据反向传播的梯度进行参数的修正。将训练过程封装为train()函数,调用train()函数进行模型的训练,代码如下:

def train():
    model.train()
    optimizer = torch.optim.SGD(model.parameters(), lr=0.0001,momentum=0.98)
    for epoch in range(5):
        for i, (x, y) in enumerate(train_loader):
            outs = model(x, y)
            loss = outs['classification']+ outs['bbox_ctrness']+outs['bbox_regression']
            loss.backward()
            optimizer.step()
            optimizer.zero_grad()
            if i % 10 == 0:
                print(epoch, i, loss.item())
        torch.save(model, f'./models/tvs{epoch}.model')


train()

    #输出结果:

0 0 2.1866644620895386
...
...
4 100 0.9854792356491089

     以上就是FCOS模型的训练代码,其中train()函数实现了模型的训练,在该函数中,将模型切换到训练模式,创建SGD优化器,总共训练5轮(可根据情况训练更多轮数),每10批打印损失值,经过4轮训练后,损失值从2.18降为了0.98,并且在每轮训练完成后都保存模型。

    在模型训练完成后,就可以在测试集上查看和评估模型的检测效果。评估方法实质上与之前介绍的模型的使用方法是相同的,可以参考上一节的内容以便于理解。对模型在测试集上进行运行,并可视化结果,测试代码如下:

def test():
    model_load = torch.load('./models/tvs4.model')
    model_load.eval()
    loader_test = torch.utils.data.DataLoader(dataset=BNDataset(istrain=False), batch_size=1, shuffle=False, drop_last=True, collate_fn=collate_fn)




    for i, (x, y) in enumerate(loader_test):
        with torch.no_grad():
            outs = model_load(x)
            res=outs[0]
            boxes=res['boxes']
            scores=res['scores']
            labels=res['labels']
            #阈值过滤
            threhold=0.5   #保留类别概率大于0.5的检测结果
            mask=scores>threhold
            scores=scores[mask]
            labels=labels[mask]
            boxes=boxes[mask]
            labelnames=[loader_test.dataset.labelnames[i]+f'{scores[idx]:.2f}' for idx,i in enumerate(labels)]
            colors=[ ('red' if i==1 else 'blue') for i in labels]
            img=draw_bounding_boxes(x[0],boxes,labels=labelnames,colors=colors,width=3,font_size=50,outtype=’CHW’)
vis.image(img)

      #使用visdom可视化,图4

466d8b2efdd6191d957d65229c98ad1c.png

                                           图4   模型的预测结果

      图4显示了经过5轮的训练,FCOS模型在螺丝螺母数据集上的测试结果,其中(a),(b)中的螺丝和螺母均被正确的检出,特别是(a)中右侧两个螺母十分靠近也正确的得到检出,而(c),(d)中均有部分螺丝被错误检测。从结果可以看出,虽然仅仅进行了5轮的训练,但模型就已经能够较好地检出螺丝和螺母,可以预测经过更多轮数的训练能够取得更好的检测效果。

    以上就是使用FCOS在螺丝螺母数据集上的训练和评估,对于torchvision中的其他模型的训练只需要修改模型,并在train()函数中根据模型的输出,修改计算损失各部分的构成和各部分损失的权重即可。

   如何学习计算机视觉之Pytorch数字图像处理,实现FCOS模型的自定义数据从标注到训练部署,更多内容请参考《计算机视觉之Pytorch数字图像处理》一书。

d3cf4207c64ba2dd346e598569b7b684.png

内容简介

"《计算机视觉之PyTorch数字图像处理》以数字图像处理为主题,在详细介绍数字图像处理主流算法的基础上,配合丰富的实战案例,用PyTorch深度学习框架对相关算法进行应用实践。本书一方面从张量的维度对经典数字图像处理算法进行详细的介绍,另一方面从深度学习的维度对图像分类、图像分割和图像检测进行细致的讲解,从而帮助读者较为系统地掌握数字图像处理的相关理论知识和实际应用。 

PyTorch深度学习实战(5)——计算机视觉基础 利用神经网络进行图像分析能够自动学习特征、处理非线性关系、具有鲁棒性和泛化能力,并且支持端到端学习和可扩展性,这使其成为当今计算机视觉领域的主要技术手段之一。本节介绍了计算机视觉的基本概念以及图像在计算机中的表示方法,为计算机视觉的高级任务奠定了基础。 阅读详情

相关推荐

FCOS:FCOS

FCOS:完全卷积一阶段对象检测 该项目托管用于实现FCOS算法以进行对象检测的代码,如我们的论文所述: FCOS: Fully Convolutional One-Stage Object Detection; Zhi Tian, Chunhua Shen, Hao Chen, and Tong He; In: Proc. Int. Conf. Computer Vision (ICCV), 2019. arXiv preprint arXiv:1904.01355 全文可在以下获得: : 。 基于Detectron2的实现包含在。 与46FPS实时模式和40.3在AP上COCO minival也可以。 强调 完全无需锚定: FCOS完全避免了与锚定框和锚定框的所有超参数有关的复杂计算。 更好的性能:非常简单的一级检测器与Faster R-CNN相比,具有更好的性能(在使用R

送书福利《计算机视觉之PyTorch数字图像处理》等你来拿!!!

【导读】PyTorch是一款流行的深度学习框架,它以Python作为编程语言,以张量运算为中心集成了深度学习的各种算子,能够方便、快捷地构造复杂的深度学习模型,已经成为数字图像处理的重要工具之一。PyTorch框架的优点众多,即可以将其作为高效的张量计算模块,轻松地实现经典的数字图像处理算法,并最大限度地利用CUDA等硬件资源加速模型的训练和部署,又可以利用其自动梯度和动态图机制构造复杂的深度学习...

gzq0723的博客 187

【网络原理】HTTP 请求 (Request)详解

【网络原理】HTTP 请求 (Request)详解,认识URLquery string关于 URL encode, GET方法,POST 方法,GET 和 POST 的区别,User-Agent (简称 UA),Referer,Cookie

ZXT的博客 1万+

【目标检测】FCOS:Fully Convolutional One-Stage Object Detection【附pytorch实现】

Abstract 我们提出了一种完全卷积的一阶段目标检测器(FCOS),以按像素预测的方式来解决对象检测,类似于语义分割。几乎所有最新的物体检测器(例如RetinaNet,SSD,YOLOv3和Faster R-CNN)都依赖于预定义的锚框。相反,我们提出的目标检测器FCOS不含锚点和锚框。通过消除预定义的锚框,FCOS完全避免了与锚框相关的复杂计算,例如在训练过程中计算重叠。更重要的是,我们还避免了所有与锚框相关的超参数,这些超参数通常对最终检测性能非常敏感。借助唯一的后处理非最大抑制(NMS),带有Re

Jeremy_lf的博客 1090

图文带你理解什么是Few-shot Learning

Few-shot Learning(少样本学习)是Meta Learning(元学习)中的一个实例1,所以在了解什么是Few-shot Learning之前有必要对Meta Learning有一个简单的认识。不过在了解什么是Meta Learning之前还是要了解一下什么是Meta。因此,阅读本文后你将对如下知识有一个初步的了解。 What is Meta What is Meta Learning What is Few-shot Learning 1. What is Meta? meta就是描述

Pr4da的博客 1万+

手把手教你设计T型和Π型衰减器:从分贝计算到电阻选型全攻略

本文提供了一份T型和Π型衰减器的详细设计指南,涵盖从分贝计算到电阻选型的全过程。文章以50欧姆系统为例,通过公式推导和实例演示,手把手教你计算两种经典拓扑的电阻值,并深入探讨了电阻选型、误差控制及高频应用等关键实践技巧,帮助工程师和爱好者精准实现信号衰减与阻抗匹配。

blue42的博客 1334

推荐一些学习计算机视觉的资源

深度学习在计算机视觉领域的应用有哪些?推荐一些计算机视觉的教材或参考书。计算机视觉经典算法的优缺点分析。

2403_89315008的博客 1466

1976国际标准大气_Matlab

输入高度,计算空气密度、气压、温度、声速 function [airDens,airPress,temp,soundSpeed]=Atmos(geomAlt) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1976 U.S Standard Atmosphere Interpolation % % Note: Function does not extr.

JISANSAN的博客 1万+

计算机视觉学习路线—计算机视觉入门必读的12本书

计算机视觉入门的一些pdf书籍,按照不同领域帮大家划分了下,涉及深度学习基础、目标检测、Opencv、SLAM、多视图集合、机器视觉、三维重建等~12本干货书籍已经给大家打包好了,需要的加小姐姐威信领取。

Sharing_AI的博客 6090

EDKII环境配置完整版

参考博客【EDK2 UDK2018的环境搭建】:https://blog.youkuaiyun.com/qq_39155263/article/details/82965744下载EDK2 1.直接从https://github.com/tianocore/edk2/ 网站下载.zip压缩文件 2.运用svn 从http://svn.code.sf.net/p/edk2/code/trunk/edk2edk2下载 3.安装Visual Studio2017 安装其他Tool 1.IASL 从https..

tianpu2320959696的博客 1854

AIoT 在线工程实训平台案例——智能家居

AIoT 在线工程实训平台案例——智能家居的操作步骤

m0_53608652的博客 1431

深度学习(计算机视觉方向)小白入门的一些建议

点击上方“视学算法”,选择“星标”快速获得最新干货作者:大连海事大学计算机硕士:阿小博Dennishttps://zhuanlan.zhihu.com/p/43312693从研一入学到现...

zandaoguang的博客 1551

游戏大厂状态同步与帧同步技术全解析——让虚拟世界万物协同的“时间齿轮”

本文深入解析了大厂游戏开发中的两种核心同步技术:状态同步和帧同步。状态同步适合大型MMO和FPS游戏,由服务端计算并广播世界状态;帧同步则通过统一操作输入实现MOBA和RTS游戏的绝对公平。文章详细比较了两者的差异、适用场景和底层实现原理,并揭秘了《王者荣耀》《PUBG》等热门游戏的同步机制。同时探讨了本地预测、延迟补偿、防作弊等关键技术,以及未来AI和云游戏带来的同步新挑战,为开发者提供了全面的技术参考和实践指南。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 920

计算机视觉学习指南:从基础理论到深度学习实战

计算机视觉作为人工智能的核心领域,其核心在于让机器理解和处理图像信息。其基本原理涉及图像表示、特征提取与模式识别,通过卷积神经网络等深度学习技术实现自动化特征学习。这一技术价值在于能够替代或增强人类视觉能力,广泛应用于自动驾驶、医疗影像分析、安防监控和工业质检等场景。本文聚焦于构建系统化的计算机视觉知识体系,特别针对卷积神经网络和图像生成模型等关键技术,提供了从理论到实践的完整学习路径和开源资源,帮助初学者和开发者高效入门并深入掌握相关技能。

weixin_26757949的博客 342

OpenClaw + Antigravity + 飞书完整部署教程

在 Linux 服务器上部署 OpenClaw,使用 Antigravity 本地代理 AI 模型,并接入飞书实现 24 小时在线 AI 助手。

Maynor的博客 1788

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

延毕到转行CV,半年时间我做到了

点击上方“AI算法与图像处理”,选择加"星标"或“置顶”重磅干货,第一时间送达答辩前一周我被告知延期,同时来临的是之前公司的拒绝让我入职消息,这简直是晴天霹雳。详情:今天...

zero的博客 492

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

PyTorch的应用在计算机视觉

1.背景介绍 计算机视觉是一种利用计算机程序来模拟和解释人类视觉系统处理的视觉信息的科学和技术。PyTorch是一个开源的深度学习框架,它提供了一种灵活的数学表达式和动态计算图的方法来构建和训练神经网络。在计算机视觉领域,PyTorch已经被广泛应用于图像分类、对象检测、图像生成、视频处理等任务。 1.背景介绍 计算机视觉的历史可以追溯到1960年代,当时的研究主要集中在图像处理和模式识别方...

AI天才研究院 1152

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

深度学习之PyTorch实战计算机视觉--深度神经网络基础

深度神经网络基础

Sun_shine_forever的博客 1045

深度学习笔记其七:计算机视觉和PYTORCH

Reference:在深度卷积神经网络章节中,我们提到过大型数据集是成功应用深度神经网络的先决条件。在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模。此外,应用图像增广的原因是,随机改变训练样本可以减少模型对某些属性的依赖,从而提高模型的泛化能力。例如,我们可以以不同的方式裁剪图像,使感兴趣的对象出现在不同的位置,减少模型对于对象出现位置的依赖。我们还可以调整亮度、颜色等因素来降低模型对颜色的敏感度。可以说,图像增广技术对于 AlexNet 的成功是必不可少的。在本节中

泠山的博客 1640

Pytorch实现FPN及FCOS,附有详细注释!

class FPN(nn.Module): def __init__(self, block, layers): super(FPN, self).__init__() self.inplanes = 64 self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, bias=False) self.bn1 = nn.BatchNorm2d(64)

Jeremy_lf的博客 2211

深入了解PyTorch中的图像处理与图像识别

1.背景介绍 1. 背景介绍 图像处理和图像识别是计算机视觉领域的核心技术,它们在现实生活中的应用非常广泛,如人脸识别、自动驾驶、医疗诊断等。随着深度学习技术的发展,图像处理和图像识别的研究也得到了重要的推动。PyTorch是一个流行的深度学习框架,它提供了丰富的API和工具,使得图像处理和图像识别变得更加简单和高效。 在本文中,我们将深入了解PyTorch中的图像处理与图像识别,涵盖了核心...

AI天才研究院 1451

【深度学习】计算机视觉(三)——pytorch(上)

关于安装和使用pytorch、CV代码方面的一些入门问题(主要是图片数据的处理)

RK_Dangerous的博客 2691

FCOS环境部署及训练自己的数据的配置

其中fcos_demo中主要修改你的模型地址,和需要测试的图像所在的文件夹(这里还有一个地方要注意,就这个fcos_demo.py是将图像显示出来,如果你是在本地上可以直接运行,如果是在服务器上跑,远程连接的话,建议将图像结果保存起来,再分析)然后在DATASETS中加入自己的数据集的目录名称,比如我的数据集是在/mnt/data/pyl/AEB/traffic_limit_speed_signs目录下。在上述过程中会遇到一些问题,大部分是库的版本的不一致导致的,这个可以自行百度,均可以查到。

weixin_45769108的博客 2582

探索无锚点检测新境界:FCOS-PyTorch 实现

探索无锚点检测新境界:FCOS-PyTorch 实现 去发现同类优质开源项目:https://gitcode.com/ 在计算机视觉领域,目标检测一直是一项关键任务,而FCOS(全卷积单阶段定位器)作为一项创新的无锚点目标检测框架,正逐步赢得开发者和研究者的青睐。本项目是基于PyTorch实现的FCOS算法,不仅支持PASCAL VOC,还兼容MS COCO数据集,旨在为用户提供一个高效且易于上手...

gitblog_00089的博客 428

如何使用FCOS:完全卷积一站式目标检测算法实现高效物体识别

FCOS(Fully Convolutional One-Stage Object Detection)是一种创新的一站式全卷积目标检测算法,它彻底摒弃了传统目标检测中复杂的锚框(Anchor Box)机制,通过全卷积网络直接预测目标的位置和类别。这种设计不仅简化了检测流程,还在精度和速度上实现了显著提升,是ICCV 2019年的重磅研究成果。本文将带你快速掌握FCOS的核心优势、安装步骤和实际应

gitblog_00450的博客 338

PyTorch 现代计算机视觉(八)

十六、组合计算机视觉和强化学习 在前一章中,我们学习了如何将自然语言处理技术(LSTM 和转换器)与基于计算机视觉的技术相结合。在本章中,我们将学习如何将基于强化学习的技术(主要是深度 Q 学习)与基于计算机视觉的技术相结合。 我们将从学习强化学习的基础开始,然后学习与识别如何计算在给定状态下采取行动的相关值(Q 值)相关的术语。接下来,我们将了解如何填写 Q 表,这有助于确定给定状态下与各种行为相关的值。此外,我们将了解在由于大量的可能状态而无法提出 Q 表的情况下,如何确定各种行动的 Q 值;我们将使用

龙哥盟 1443
上一篇: 真正的“BOSS直聘,看见雷军路过,直接冲过去递简历!
下一篇: 外包公司程序员的水平真的很垃圾吗?
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值