计算机视觉管道:2.0版概览

2024年01月17日 由 alex 发表 333 0

在计算机视觉领域,转变正在发生。本文探讨了基础模型的变革力量,深入探讨了它们在重塑整个计算机视觉管道中的作用。


不同之处:基础模型


什么是基础模型?


“我们将基础模型定义为在广泛数据上(通常使用大规模自监督)训练的模型,它们可以适应多种下游任务。”斯坦福人工智能中心(HAI)


例如,Grounding DINO,一个零样本目标检测模型,它扩展了DINO,可以用来在不同的环境中检测任意对象。这种适应性是通过利用基础训练期间获得的知识和表示来实现的。


计算机视觉中基础模型的崛起


8

图1


图1详细阐述了从基础模型角度出发的计算机视觉的演变过程。我们可以看到四个主要类别:传统模型(1998年)、基于文本提示的模型(2021年)、基于视觉提示的模型(2021年)和异构模型(2023年)。


在每一组中,都有一个特定的模型加速了演变速度。例如,传统的“输入<模型>输出”模型,已经从LeNet发展,并通过AlexNet、VGG、InceptionNet、ResNet演进,并通过视觉转换模型(Vision Transformer, ViT)加速。


尽管对于计算机视觉是否已死存在一些争议。实际上,计算机视觉正在与人工智能的其他重大突破(例如,LLM、扩散模型)同时发展。


进入GPT-4V


当前生成式AI(GenAI)领域中的视觉巅峰(考虑到Gemini还未完全可用)是GPT-4V。


以下示例展示了,给定图像形式的查询,这个多模态基础模型如何能够非常详细地描述所提供的图像:或许甚至比平均大学生做得更好


输入:


9

图3


代码:


import base64
import requests
import os
# OpenAI API Key
api_key = os.environ.get("MAGIC_API_KEY")
# Function to encode the image
def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')
# Function to call endpoint
def gpt4v(image_path, api_key):
    prompt = classification_prompt()
    base64_image = encode_image(image_path)
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}"
    }
    payload = {
        "model": "gpt-4-vision-preview",
        "messages": [
          {
            "role": "user",
            "content": [
              {
                "type": "text",
                "text": "What’s in this image?"
              },
              {
                "type": "image_url",
                "image_url": {
                  "url": f_"data:image/jpeg;base64,{base64_image}"
                }
              }
            ]
          }
        ],
        "max_tokens": 300
    }
    response = requests.post("https://api.openai.com/v1/chat/completions",
                             headers=headers, json=payload)
    print(response.json())


输出:


{'id': 'chatcmpl-68K9JOoOEvB', 'object': 'chat.completion', 'created': 1437, 'model': 'gpt-4-1106-vision-preview', 'usage': {'prompt_tokens': 1122, 'completion_tokens': 254, 'total_tokens': 1376}, 'choices': [{'message': {'role': 'assistant', 'content': 'This image captures a high-energy moment of equestrian barrel racing. The focus is on a horse and rider duo executing a tight turn around a barrel. The horse is a bay with a shiny coat, and its muscular build is on full display. It has its ears pinned back, showing concentration or the strain of the tight turn, and it wears a bridle with a bit and reins. The rider is leaning into the turn, showing good balance and control. They are wearing traditional western attire, including a cowboy hat, a plaid shirt, denim jeans, and cowboy boots. The rider\'s left leg is extended, only the toe touching the stirrup, as they guide the horse around the barrel.\n\nThe barrel is labeled "ALBERTA PREMIUM". The force of the turn is kicking up dirt and sand from the ground, creating a dynamic cloud of particles that accentuates the action. The background is slightly blurred, emphasizing the speed of the movement, and we can see fences and some banners or signs, suggesting that this is taking place in an arena during a competitive event.\n\nThe action is frozen in time by the photographer, giving the scene a dramatic and intense feeling, almost as if we can feel the ground vibrating from the horse\'s powerful strides.'}, 'finish_details': {'type': 'stop', 'stop': '<|fim_suffix|>'}, 'index': 0}]}


GPT-4V:“这张照片捕捉到了马术绕桶赛的高能时刻。焦点是马和骑手二人组围绕木桶进行急速转弯。这匹马是一匹枣红色的马,毛色闪亮,肌肉发达。它的耳朵向后固定,显示出注意力集中或急转时的压力,它戴着带有马衔和缰绳的缰绳。骑手在转弯时身体倾斜,表现出良好的平衡和控制能力。……”


关于热议:计算机视觉已解决!


所以,鉴于基础模型已经席卷全球,一个显而易见的问题现在是:计算机视觉终于得到解决了吗?


图4揭示了GPT-4V在5次尝试中有3次无法正确计算从谷歌随机取得的图片中的安全帽数量。看起来GPT-4V在处理遮挡物体时有困难,但由于提示的不可预测性而产生的结果才真是痛点。


在制定一个可靠的提示方案,它要在90%或更多的情况下起作用,所花费的时间可能远大于用来训练一个测试过的乏味的计算机视觉模型所花的时间。更糟糕的是,一些提示方案适用于某些图片,但对于其他的图片却不行。


10

图4


现实:工具并非系统


尽管基础模型带来了许多前景光明的突破,但将多个模型堆叠在一起以解决规模化问题与构建一个演示示例相比,有着截然不同的复杂性。


将演示转化为生产级系统相关的两个基本成本是:


  • 开发:基础模型可能在通常情况下运行良好,但针对你的特定任务或用例呢?在这种情况下,你可能需要对基础模型进行微调。例如,如果你处理的是卫星图像,并且需要为这项任务微调CLIP模型?假设开发需要4个月时间,测试需要2个月时间,那么一名机器学习工程师的薪水可能在35,000英镑左右。如果你需要在3个月而不是6个月内完成任务呢?你愿意支付这个金额的两倍吗?
  • 工程:将“链式”基础模型的输入输出连接起来,以实现高速和高吞吐量的操作,需要你的MLOps团队去构建一个基础模型“连接”管道。基础模型擅长零次学习任务,但组建一个模型线,其中一个阶段的输出可能会影响下一个阶段输入,这只是需要解决的潜在挑战之一。


但基础模型实际上已经足够好!


接下来,我们将描述传统的计算机视觉流水线,以及我们期望基础模型在新一代计算机视觉流水线中发挥的作用。


传统计算机视觉流水线


11

图5


图5显示了从数据收集到模型监控的传统计算机视觉流程。该图例突出了每个阶段的性质:以模型为中心、以数据为中心或硬件。


在当前的流程中,前三个阶段在以模型为中心的方法中先于主阶段:模型训练。多年来,以模型为中心对开发新架构(例如,ResNet、变换器)至关重要。


然而,为了构建生产级别的机器学习系统,以数据为中心的方法已被证明更有效。在这个流程中至少有6个阶段的性质是以数据为中心的,意味着它们在核心上涉及数据。例如,模型评估要求机器学习团队识别模型失败的根本原因,以便在进入下一个阶段之前进行修复。同样,通常被认为是以模型为中心的阶段,即模型选择,在现实中实际上更紧密地与数据相关:深刻理解模型行为如何随着不同数据切片的变化而变化。


我们认为,计算机视觉中基础模型的兴起可能会改变这个流程的构建方式。


新的计算机视觉流程


12

图6


图6展示了我们设想中的计算机视觉管道2.0的方式。正如这张图表所揭示的,基础模型可能会消除传统流程的两个阶段:


  • 数据注释:在大规模(例如100万+数据集)注释数据可能是仅次于模型训练的第二昂贵过程。控制标签质量通常是最难的挑战。基础模型可以改进自动标注,并最终从计算机视觉(CV)管道中移除这个阶段。
  • 模型训练:一旦你有了注释的数据集,你就可以真正训练一个模型。当前,在行业中为特定用途训练一个高质量的模型是昂贵的。大型数据集常常需要作为规范的分布式训练,如果你的目标是训练一个精细质量的模型。因此,基础模型很好地定位于也接管CV管道的这个阶段。


由于这些变化,除了部署之外的所有阶段都可能倾向于数据优先方法。因此,数据仍然是构建现实世界中AI系统的关键。


小心你在网上读到的内容


计算机视觉管道 2.0 呈现了由 Foundation Models 主导的变革性转变,有望简化注释大型数据集和训练高质量模型的繁琐过程。


请注意,在生产级别的机器学习世界中,数据仍然是王道。即使基础模型取代了注释和训练,你仍然需要获取数据,预处理数据,选择并定义数据切片进行评估和模型选择。此外,监控数据漂移也是至关重要的。


并不是你在网上读到的所有内容都是真的!通过结合一堆模型进行快速原型设计可以帮助你集思广益一些想法,但是为构建真实世界应用中的强大AI系统,构建ML系统的数据中心方法仍然是关键。

文章来源:https://medium.com/@tenyks_blogger/computer-vision-is-already-evolving-3cd0e63e805b
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消