Press "Enter" to skip to content

Tag: Object

介绍OWLv2:谷歌在零样本目标检测方面的突破

介绍 2023年即将结束,对计算机视觉界而言,令人兴奋的消息是,谷歌最近在零样本目标检测领域取得了重大进展,并发布了OWLv2。这款尖端模型现在已经在🤗 Transformers中可用,并代表着迄今为止最强大的零样本目标检测系统之一。它基于去年推出的OWL-ViT v1模型打下了坚实的基础。 在本文中,我们将介绍该模型的行为和架构,并展示如何进行推理的实践方法。让我们开始吧。 学习目标 了解计算机视觉中零样本目标检测的概念。 了解谷歌OWLv2模型背后的技术和自我训练方法。 使用OWLv2的实际方法。 本文作为Data Science Blogathon的一部分发表。 OWLv2背后的技术 OWLv2的强大能力归功于其新颖的自我训练方法。该模型在一个包含超过10亿个示例的Web规模数据集上进行了训练。为了实现这一点,作者利用了OWL-ViT v1的强大功能,使用它生成伪标签,然后用这些伪标签来训练OWLv2。 此外,该模型还在检测数据上进行了微调,从而提高了其前身OWL-ViT v1的性能。自我训练为开放世界定位提供了Web规模的训练,与目标分类和语言建模领域的趋势相呼应。 OWLv2架构 尽管OWLv2的架构与OWL-ViT相似,但其目标检测头部有一个显著的补充。现在它包括一个目标性分类器,用于预测预测框中包含物体的可能性。目标性得分提供了洞察力,并可用于独立于文本查询对预测进行排序或筛选。 零样本目标检测 零样本学习是一个新的术语,自从GenAI的趋势以来变得流行起来。它通常在大型语言模型(LLM)的微调中见到。它涉及使用一些数据对基础模型进行微调,使其扩展到新的类别。零样本目标检测是计算机视觉领域的一个改变者。它的核心是使模型能够在图像中检测物体,而无需手工注释边界框。这不仅加快了处理速度,还减少了手工注释的需求,使其对人类更具吸引力和乐趣。 如何使用OWLv2? OWLv2遵循与OWL-ViT类似的方法,但使用了更新的图像处理器Owlv2ImageProcessor。此外,该模型依赖于CLIPTokenizer对文本进行编码。Owlv2Processor是一个方便的工具,结合了Owlv2ImageProcessor和CLIPTokenizer,简化了文本编码过程。以下是使用Owlv2Processor和Owlv2ForObjectDetection进行对象检测的示例。 在此处找到完整的代码:https://github.com/inuwamobarak/OWLv2 步骤1:设置环境…

Leave a Comment

使用Transformer检测图像中的表格行和列

介绍 您是否曾经处理过非结构化数据,并考虑过一种方式来检测文档中表格的存在?以帮助您快速处理您的文档?在本文中,我们将不仅了解如何检测表格的存在,还将通过使用Transformer模型来识别这些表格的结构。这将由两个不同的模型实现。一个用于文档中的表格检测,另一个用于结构识别,可以识别表格中的行和列。 学习目标 如何在图像中检测表格的行和列? Table Transformers和Detection Transformer(DETR)的介绍 PubTables-1M数据集概述 如何使用Table Transformer进行推理 文档、文章和PDF文件是有价值的信息来源,通常包含传递关键数据的表格。从这些表格中高效提取信息可能会面临不同格式和表示之间的挑战。手动复制或重新创建这些表格可能耗时且繁琐。在PubTables-1M数据集上训练的Table Transformers解决了表格检测、结构识别和功能分析的问题。 本文是Data Science Blogathon的一部分。 如何实现的? 这是通过一种名为Table Transformer的Transformer模型实现的。它使用了一个名为PubTables-1M的大型注释数据集,可以检测文章中的文档或图像。该数据集包含约一百万个参数,并采用了一些措施来给模型带来最新的感觉。通过解决不完美注释、空间对齐问题和表格结构一致性等挑战,实现了高效性。与该模型一起发布的研究论文利用了Detection Transformer(DETR)模型,用于联合建模表格结构识别(TSR)和功能分析(FA)。因此,DETR模型是Table Transformer运行的骨干,由微软研究开发。让我们更详细地了解一下DETR。 DEtection TRansformer(DETR) 如前所述,DETR是DEtection TRansformer的缩写,包括使用编码器-解码器Transformer的卷积骨干,例如ResNet架构。这使得它有潜力进行目标检测任务。DETR提供了一种不需要复杂模型(如Faster R-CNN和Mask…

Leave a Comment

使用spaCy增强NLP流程

介绍 spaCy是一款用于自然语言处理(NLP)的Python库。spaCy的NLP流水线是免费且开源的。开发者可以使用它来创建信息提取和自然语言理解系统,就像Cython一样。它具有简洁且用户友好的API,适用于生产环境。 如果你经常处理大量文本,你会想要了解更多关于它的信息。例如,它是关于什么的?在什么上下文中这些术语的含义是什么?对谁进行了什么操作?提到了哪些企业和产品?哪些文本可以相互比较? spaCy专为生产环境使用,可以帮助您开发处理大量文本的应用程序,并“理解”这些文本。它可用于创建信息提取、自然语言解释和深度学习的预处理文本系统。 学习目标 了解spaCy的基础知识,如分词、词性标注和命名实体识别。 了解spaCy的文本处理架构,它高效且快速,适用于大规模的NLP任务。 在spaCy中,您可以探索NLP流水线,并为特定任务创建定制的流水线。 探索spaCy的高级功能,包括基于规则的匹配、句法分析和实体链接。 了解在spaCy中可用的许多预训练语言模型以及如何在各种NLP应用中使用它们。 使用spaCy学习命名实体识别(NER)策略,以识别和分类文本中的实体。 本文是Data Science Blogathon的一部分。 统计模型 spaCy的某些特性可以自主运行,而其他特性则需要加载统计模型。这些模型使spaCy能够预测语言注释,例如确定一个词是动词还是名词。目前,spaCy提供了多种语言的统计模型,您可以将它们作为独立的Python模块进行安装。它们通常包括以下元素: 为了在上下文中预测这些注释,为词性标注器、依赖解析器和命名实体识别器分配二进制权重。 词汇表中的词条是词和它们的上下文无关特性,例如形式或拼写。 数据文件包括词形还原规则和查找表。 词向量是单词的多维意义表示,允许您确定它们的相似程度。 在加载模型时,使用配置选项,如语言和处理流水线设置,将spaCy置于适当的状态。 要导入模型,只需运行spacy.load(‘model_name’),如下所示: !python -m spacy…

Leave a Comment