初体验图像分类模型

简介: 自建1300类常见物体标签体系,覆盖常见的日用品,动物,植物,家具,设备,食物等物体,标签从海量中文互联网社区语料进行提取,保留了出现频率较高的常见物体名称。模型结构采用最新的ViT-Base结构。

image.png

图像分类模型介绍

自建1300类常见物体标签体系,覆盖常见的日用品,动物,植物,家具,设备,食物等物体,标签从海量中文互联网社区语料进行提取,保留了出现频率较高的常见物体名称。模型结构采用Transformer经典的最新的ViT-Base结构。

ViT模型原理

1、ViT模型首先把图片分成多个patch块,然后组成一个patch块的序列,每个patch块都会经过一个线性投射层。
2、同处理NLP任务一样,patch embedding加上了一个position embedding,即加上位置编码信息。加上位置编码信息的原因是:自注意力是两两之间去做交互,本身不存在一个顺序问题,但对图片而言,图片是一个整体,它的patch序列有自己的顺序,如果顺序颠倒就不再是原来的图片,所以我们加上了位置信息。
3、加上了位置编码信息后整体的token就既包含了patch块原本有的图像信息,也包含了patch所在的位置信息,我们得到一个一个的token后,接下来的处理基本和处理NLP任务一样,直接输入给一个Transformer Encoder,Transformer同样会反馈给我们很多的输出。
4、ViT模型借鉴了BERT模型中的extra learnable embedding,这是一个叫做分类字符的CLS,在ViT模型中也加入了一个特殊字符如下图中线性投射层后面序列第一个0位置的*,这其实就是一个标记符,当然如上述所说,它也有自己的位置信息并且它的位置信息永远是0。那加入特殊字符的原因是什么呢?因为所有的token都在和其他的token做交互信息,所以原文相信class embeddig即那个标记符也能够从其他的embedding中学到有用的信息,然后它最后也有一个输出,并且只需要根据这个特殊字符的输出做出判断就可以。
5、MLP Head 是一个通用的分类头,最后用交叉熵函数去进行模型的训练。

期望模型使用方式以及适用范围

模型适用范围较广,覆盖大部分日常生活常见的物品类目,包括日用品,动物,植物,家具,设备,食物等。也可作为下游任务的预训练backbone

预处理

  • Resize:先将原始图片的短边缩放至256
  • Normalize:图像归一化,减均值除以标准差
  • CenterCrop:裁切为224x224

在线体验

test.jpg
image.png

{
  "Code": 200,
  "Data": {
    "computation_time": "0.06s",
    "data": {
      "labels": [
        "打字机",
        "机械臂",
        "照相机",
        "按钮",
        "打印机"
      ],
      "scores": [
        0.9145427942276001,
        0.00124357920140028,
        0.000988196930848062,
        0.0006824651500210166,
        0.0005695905419997871
      ]
    }
  },
  "Message": "success",
  "RequestId": "63e818c9-4d54-452e-be63-e63fe06c00ed",
  "Success": true
}

找了一张比较物品比较多的图片用来在线测试,对于测试结果还是很准确的,快速正确的识别了图片中的物品。该模型可以广泛的应用于人们的生活。可以帮助人们去解决生活和工作的中的很多问题,比如垃圾分类,安检,等方面,操作简单,方便快捷,可以帮助人们有效的提高工作效率,减少工作失误。

相关文章
|
Unix Docker 容器
Is the docker daemon running?
Is the docker daemon running?
4276 0
|
2月前
|
人工智能 编解码 自然语言处理
大模型图像生成技术深度解析:从文字到视觉的魔法
图片识别的核心原理 从像素到理解:视觉特征的层次化提取
|
5月前
|
机器学习/深度学习 人工智能 数据可视化
多类别的家庭厨房食物、物品识别系统开箱即用教程 (YOLOv8)| 完整源码与部署教程
本项目以 YOLOv8 为核心,构建了一个功能完整、部署简便的多类别家庭厨房食物与物品识别系统,支持 30 类日常厨房物品的精准识别。无论是图像、视频还是实时摄像头输入,都能实现高效检测与可视化展示。
|
机器学习/深度学习 数据采集 人工智能
TÜLU 3:Ai2推出的系列开源指令遵循模型
TÜLU 3是由艾伦人工智能研究所(Ai2)推出的开源指令遵循模型系列,包括8B和70B两个版本,未来计划推出405B版本。该模型在性能上超越了Llama 3.1 Instruct版本,提供了详细的后训练技术报告,公开数据、评估代码和训练算法。TÜLU 3基于强化学习、直接偏好优化等先进技术,显著提升模型在数学、编程和指令遵循等核心技能上的表现。
419 4
TÜLU 3:Ai2推出的系列开源指令遵循模型
|
机器学习/深度学习 人工智能
【AI 初识】什么是迁移学习,它在人工智能中有什么用?
【5月更文挑战第2天】【AI 初识】什么是迁移学习,它在人工智能中有什么用?
|
存储 NoSQL Redis
【Redis从头学-12】Redis主从复制和读写分离的多种部署方式解析(普通方式、Docker搭建方式、Docker-Compose搭建方式)上
【Redis从头学-12】Redis主从复制和读写分离的多种部署方式解析(普通方式、Docker搭建方式、Docker-Compose搭建方式)
405 0
|
安全 测试技术 Swift
Llama 3开源,魔搭社区手把手带你推理,部署,微调和评估
Meta发布了 Meta Llama 3系列,是LLama系列开源大型语言模型的下一代。在接下来的几个月,Meta预计将推出新功能、更长的上下文窗口、额外的模型大小和增强的性能,并会分享 Llama 3 研究论文。
Llama 3开源,魔搭社区手把手带你推理,部署,微调和评估
|
机器学习/深度学习 编解码 算法
算法工程师面试问题总结 | YOLOv5面试考点原理全解析
本文给大家带来的百面算法工程师是深度学习目标检测YOLOv5面试总结,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们还将介绍一些常见的深度学习目标检测面试问题,并提供参考的回答及其理论基础,以帮助求职者更好地准备面试。通过对这些问题的理解和回答,求职者可以展现出自己的深度学习目标检测领域的专业知识、解决问题的能力以及对实际应用场景的理解。同时,这也是为了帮助求职者更好地应对深度学习目标检测岗位的面试挑战,提升面试的成功率和竞争力。
|
Perl
技术笔记:samtools统计重测序数据深度depth、depth
技术笔记:samtools统计重测序数据深度depth、depth
836 0