当前位置:首页 > 教程 > 轻视觉总结(合集3篇)

轻视觉总结(合集3篇)

  • 总结
  • 2024-03-15 11:10:04
  • 191

轻视觉总结 第1篇

只能通过api获得:大型多用途模型,不以视觉为中心,但展示了出色的视觉能力,以及生成能力;

GPT-4V (OpenAI)

Gemini (Google)

除了闭源以外,还有许多开源的、更小的、多用途的视觉+文本聊天模型正在开发中,例如LlaVA。

所有这些模型都是强大的基础模型,涵盖了许多视觉领域,在许多情况下都能很好地完成判别或生成任务。如何在我们特定的小型环境中利用它们呢?

使用这些新模型的一个实用的想法是保持我们的标准训练管道,例如广泛使用的Yolo检测器,通过生成新的训练图像和/或生成注释来改进我们的数据集。流程如下:

标准数据集由一组带注释的训练和验证图像组成

增强数据集将使用强大的通用模型来添加自动注释:

生成的数据集由生成的图像及其注释组成。构建一个由图像和/或文本组成的提示,以生成数千个图像及其注释。可以直接使用API来生成这些带注释的图像(与寻找好的图像和收集人工注释相比,成本应该很小)。

将验证集与生成的或增强的集分开,因为要在精心标记的数据上度量实际性能。这意味着在实践中,即使我们选择了新的生成技术或基础模型,仍然需要对真实图像进行一些手动标记。

可以从现有的图像开始,通过丰富它们或使它们更容易注释来改进标签。现在有几个数据标注平台提出使用SAM或DINOv2,通过对图片中的物体进行预分割来提高标注效率。

虽然生成数据集的想法已经存在很长时间并且被广泛用于训练LLM,但找到真正的小型应用程序来有效地利用生成的数据(自动注释或纯合成数据)是相当具有挑战性的。

不使用基础模型,而是使用简单的渲染管道,或者使用类似的技术使用3D渲染来生成数据,这些结果目前看起来还很粗糙

使用生成模型完全生成图片和注释,以下图片是使用Dall-E 生成图片的样例

还可以使用CV处理构建数据集(例如将对象粘贴到背景中进行分割任务),但是这里的问题是,数据的质量将在很大程度上取决于生成图像的质量,因此将不得不在构建正确的渲染步骤上投入大量精力(在3D中甚至更多)。

目前还没有太多使用纯生成模型生成数据集的成功例子,但考虑到最近图像生成AI模型的渲染质量和可操作性,我个人认为这只是时间的问题。比如有可能使用ControlNet从现有的分割蒙版或轮廓开始生成已经有标签的新图片,但目前还不清楚它是否能很好地与非分布类(即不是标准的COCO类)一起工作,或者分辨率是否足够好。

下面这篇论文提出了一个类似的想法,即修改现有的标记图片以生成共享分割掩码的新图片,从而产生增压的语义数据增强。

但是当生成成千上万的图像而不是手动管理和标记它们时,应该考虑成本,因为改进并不明显!

通过训练带有人类注释数据的模型来实现现代计算机视觉的方式即将被新的大型基础模型彻底改变。

大型基础模型有时具有“纳米级”版本,用于在低端服务器甚至嵌入式应用程序上进行推理。但是对于这些应用来说,它们仍然太大了,并且对于新任务的调整也不是那么便宜。因为目前,我们还是不会边缘设备上使用500M+参数的VIT模型,而是选择更小,更专业的模型。

但是对于小型的推理和低资源开发,我们也可以使用大型基础模型,或者通过使用api /本地推理直接调用这些模型,或者使用这些模型的一些知识。今天主要通过帮助标记数据,明天通过其他方式知识转移-例如,蒸馏。

没有标准的程序或普遍的方法来从这些大型或生成模型中转移这些知识,但它可能会在2024年有所发展!

轻视觉总结 第2篇

刚开始有一段时间没有把全部心思用在工作上,而是经常苦恼于工作的不顺心,总是认为在这里实现不了自己的人生价值。后来慢慢的认识到,社会很现实,事情都并没有想象的那么完美。那段时间长期处于矛盾选择的思想状态,我甚至连着好几天失眠,所以刚开始没有好好地认真对待这份工作,后来通过调整反思,终于明白了一个道理:有时候,人没有办法选择自己的工作,但是,有办法改变自己的命运。当我反省醒悟过来以后已经两个多月了,那时就想到了给自己留下了很多遗憾,遗憾的是没有把全部心思用在现在的工作上,失去了很多学习机会,从那时至今,我时刻保持从头开始,转变原来的观念,从思想上彻底接受现实,做好自己的思想工作,从心底做好通信设计工作,不管在哪个工地都调整自己的心态,心态决定一切,只有在思想出发,才可以做好本职工作。

轻视觉总结 第3篇

如图2所示,CloFormer有四个阶段,主要包括Clo Block、ConvFFN、convolution stem。输入图像首先经过convolution stem来获得Token。然后经过一系列的Clo Block和ConvFFN提取特征,最后使用全局平均池化和全连接层得到最终的预测。

CloFormer 中的 Clo块 是非常关键的组件。每个 Clo 块由一个局部分支和一个全局分支组成。

$$X{\text {global }}=\operatorname{Attntion}\left(Q{g}, \operatorname{Pool}\left(K{g}\right), \operatorname{Pool}\left(V{g}\right)\right)$$

$$\begin{array}{l} Q, K, V=\mathbf{F C}\left(X{i n}\right) \ V{s}=\mathbf{D W} \operatorname{conv}(V) \ Q{l}=\mathbf{D W} \operatorname{conv}(Q) \ K{l}=\mathbf{D W} \operatorname{conv}(K) \ A{t t n{t}}=\mathbf{F C}\left(\operatorname{Swish}\left(\mathbf{F C}\left(Q{l} \odot K{l}\right)\right)\right) \ A{t t n}=\operatorname{Tanh}\left(\frac{A t t n{t}}{\sqrt{d}}\right) \ X{\text {local }}=A t t n \odot V{s} \end{array}$$

最后,将全局特征和局部特征合并起来,并使用一个MLP得到最终的输出。公式表示如下:

$$\begin{array}{l} X{t}=\mathbf{C o n c a t}\left(X{\text {local }}, X{\text {global }}\right) \ X{\text {out }}=\mathbf{F C}\left(X_{t}\right) \end{array}$$

为了将局部信息融入 FFN 过程中,本文采用 ConvFFN 替换了常用的 FFN。ConvFFN 和常用的 FFN 的主要区别在于,ConvFFN 在 GELU 激活函数之后使用了深度卷积(DWconv),从而使 ConvFFN 能够聚合局部信息。由于DWconv 的存在,可以直接在 ConvFFN 中进行下采样而不需要引入 Patch Merge 模块。CloFormer 使用了两种ConvFFN。第一种是在阶段内的 ConvFFN,它直接利用跳跃连接。另一种是连接两个阶段的 ConvFFN,主要用于下采样操作。