计算机视觉的图像标注与视觉任务

1 ​计算机视觉应用

       计算机视觉是一种利用计算机和数学算法来模拟人类视觉的技术,可以应用于许多领域。以下是计算机视觉的八大应用: 

  • 图像识别:利用计算机视觉技术,可以对图像进行分类、识别和分割,从而实现自动化的图像处理。
  • 视频监控:利用计算机视觉技术,可以对视频进行实时监控和分析,从而实现对安全和环境的监控。
  • 人脸识别:利用计算机视觉技术,可以对人脸进行识别和分析,从而实现身份验证和安全控制。
  • 视觉导航:利用计算机视觉技术,可以对场景进行三维重建和定位,从而实现自动驾驶和机器人导航。
  • 医学影像分析:利用计算机视觉技术,可以对医学影像进行分析和诊断,从而实现精准医疗和疾病预防。
  • 智能交通:利用计算机视觉技术,可以对交通流量进行监测和管理,从而实现交通拥堵的缓解和交通安全的提升。
  • 智能家居:利用计算机视觉技术,可以对家居环境进行监测和控制,从而实现智能化的家居管理。
  • 虚拟现实:利用计算机视觉技术,可以对虚拟环境进行建模和渲染,从而实现沉浸式的虚拟现实体验。

​2 计算机视觉任务

  • 物体检测(目标检测):用于零售或医学
  • 线/边缘检测:用于制造业
  • 图像分割:用于自动驾驶汽车
  • 姿态预测/关键点识别:用于情绪检测
  • 图像分类:用于图像类别划分

3 不同视觉任务训练数据的标注技术

       要完成计算机视觉的任务,就需要建立并训练出一个模型,用这个训练出的模型进行完成上面的视觉任务。但训练这个模型需要数据,而数据往往是图片,并且这些图片需要进行人工标注,并给出这些图片的语义标签,如下图

3.1 目标检测

       对于目标检测类图片数据进行标注

       进行目标检测的技术主要有两种,即2D和3D包围框。

3.1.1 2D 包围框

       在这种方法中,只需要在被检测的物体周围绘制矩形框。它们用于定义对象在图像中的位置。边框可以由矩形左上角的x、y轴坐标和右下角的x、y轴坐标来确定。

优点和缺点:

  • 标注起来快速和容易。
  • 不能提供重要的信息,如物体的方向,这对许多应用来说是至关重要的。
  • 包括不属于物体一部分的背景像素。这可能会影响训练。

3.1.2  3D包围框或者立方体

       类似于2D边框,除了它们还可以显示目标的深度。这种标注是通过将二维图像平面上的边界框向后投影到三维长方体来实现的。它允许系统区分三维空间中的体积和位置等特征。

 优点和缺点:

  • 解决了物体方向的问题。
  • 当物体被遮挡,这种标注可以想象包围框的维度,这可能会影响训练。
  • 这种标注也会包括背景像素,可能会影响训练。

3.1.3  多边形

       有时,必须标记形状不规则的物体。在这种情况下,使用多边形。注释时只需标记物体的边缘,我们就能得到要检测的物体的完美轮廓。

 优点和缺点:

  • 多边形标记的主要优点是它消除了背景像素,并捕获了物体的精确尺寸。
  • 非常耗时,如果物体的形状是复杂的,很难标注。

3.2 线/边缘检测(线和样条)

        对于边缘检测类图片数据进行标注

        在划分边界时,线和样条是有用的。将区分一个区域和另一个区域的像素进行标注。

优点和缺点:

  • 这种方法的优点是,连线上的像素不需要都是连续的。这样在检测有中断的线或部分遮挡的物体是非常有用的。
  • 手动标注图像中的线是非常累人和费时的,特别是图像中有很多的线的时候。
  • 当物体碰巧是对齐的时候,可能会给出误导的结果。

3.3. 姿态预测 / 关键点识别 

       对人体的姿势或者人脸的识别等图片进行数据标注

       在许多计算机视觉应用中,神经网络常常需要识别输入图像中重要的感兴趣的点。我们把这些点称为地标或关键点。在这种应用中,我们希望神经网络输出关键点的坐标(x, y)。

 3.4. 分割

        对连续图像进行图像标注

        图像分割是将一幅图像分割为多个部分的过程。图像分割通常用于在像素级定位图像中的物体和边界。图像分割方法有很多种。

  • 语义分割: 语义分割是一项机器学习任务,它需要像素级标注,其中图像中的每个像素都被分配给一个类。每个像素都带有语义意义。这主要用于环境背景非常重要的情况。
  • 实例分割: 实例分割是图像分割的一种子类型,它在像素级别上标识图像中每个物体的每个实例。实例分割和语义分割是图像分割的两种粒度级别之一。
  • 全景分割: 全景分割结合了语义分割和实例分割,所有像素都被分配一个类标签,所有目标实例都被唯一地分割。

3.5. 图像分类

       对需要分类的图片进行标注,使用候选框+文字

       图像分类分为两种:

  • 1、单一的图像进行分类,如下图左侧,判断是否是猫。
  • 2、复杂的图像进行分类,如下图右侧,需要先进行图像的识别,识别后再进行分类。

       因此图像分类不同于目标检测。目标检测的目的是识别和定位目标,而图像分类的目的是识别和定位目标,并进行目标分类。这个用例的一个常见示例是对猫和狗的图片进行分类。标注者必须为一只狗的图像分配一个类标签“dog”,对猫的图像分配类标签“cat”。

4 视觉任务应用

4.1 物体检测(目标检测)

       应用于零售业和医学

  • 零售: 目标检测中的2D边框可以用于标注产品的图像,然后机器学习算法可以使用这些图像来预测成本和其他属性。图像分类在这方面也有帮助。
  • 医学:目标检测中的多边形可用于在医用x射线中标记器官,以便将它们输入深度学习模型,以训练x射线中的畸形或缺陷。这是图像标注最重要的应用之一,需要医学专家具有较高的领域知识。

4.2 线/边缘检测

      边缘检测应用于制造业 

  • 制造行业: 线和样条可用于标注工厂的图像线跟随机器人工作。这可以帮助自动化生产过程,人力劳动可以最小化。

4.3 图像分割:

       图像分割应用于自动驾驶汽车

  • 自动驾驶汽车: 这是另一个重要的领域,图像标注可以应用。利用语义分割对图像中的每个像素进行标记,使车辆能够感知到道路上的障碍物。这一领域的研究仍在进行中。

4.4 姿态预测/关键点识别

      应用于情绪检测或者人体姿势预测

  • 情绪检测: 这是里程碑,可以用来检测一个人的情绪(高兴,悲伤,或自然)。这可以应用于评估受试者对特定内容的情绪反应。

4.5 图像分类

      图像分类一般用于图像类别划分

总结:

       图像标注在计算机视觉中起着至关重要的作用。图像标注的目标是为和任务相关的、特定于任务的标签。这可能包括基于文本的标签(类),绘制在图像上的标签(即边框),甚至是像素级的标签。

       人工智能需要的人工干预比我们想象的要多。为了准备高精度的训练数据,我们必须对图像进行标注以得到正确的结果。数据注释通常需要较高水平的领域知识,只有来自特定领域的专家才能提供这些知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/37404.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【物理】模拟粒子在电场和磁场中的轨迹研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Spring 核心与设计思想

文章目录 1.Spring 是什么?2.什么是容器3.什么是IoC3.1 传统程序开发3.2 IoC程序开发3.3 IoC再理解 4.认识DI 1.Spring 是什么? Spring框架是一个轻量级的企业开发的一站式解决方案,可以基于Spring解决Java EE 开发中的所有问题。 ⽤⼀句大白…

CSS 弹性布局

提示:这篇比较重要,做复杂页面时经常会用到!会不断更新❗ 文章目录 前言主轴和侧轴flex-direction 主轴方向flex-wrap 折行justify-content 主轴排列方式flex-start:默认左对齐flex-end:右对齐center:居中s…

Java- IO 及其相关面试题

目录 一、前言二、Java IO 概述输入和输出流2.1.1 定义2.1.2 代码示例 2.2 字节流和字符流2.2.1 定义2.2.2 代码示例 2.3 标准IO和NIO 三、字节流和字符流3.1. 字节流:InputStream和OutputStream3.1.1. FileInputStream和FileOutputStream3.1.2. ByteArrayInputStre…

剑指oferr68-II.二叉树的最近公共祖先

为什么这道题的难度是easy&#xff0c;我感觉挺难的啊&#xff0c;我想了挺久没有一点思路就直接看题解了。题解有两种解法&#xff0c;先看第一种存储父节点 class Solution {Map<Integer,TreeNode> parent new HashMap<Integer,TreeNode>();Set<Integer>…

【网络安全】Burpsuite v2021.12.1安装激活配置快捷启动

Burpsuite v2021.12.1安装&激活&配置&快捷启动 一、下载激活包二、配置JDK11三、启动激活 一、下载激活包 需要下载的内容&#xff1a; Burp Suite jar包JDK11激活jar包汉化jar包 下面是已经下载好的&#xff0c;可以直接使用 BurpSuite网盘下载链接 提取码&#…

【运维】第03讲(上):Nginx 负载均衡常见架构及问题解析

实际上 Nginx 除了承担代理网关角色外还会应用于 7 层应用上的负载均衡&#xff0c;本课时重点讲解 Nginx 的负载均衡应用架构&#xff0c;及最常见的问题。 学前提示 Nginx 作为负载均衡是基于代理模式的基础之上&#xff0c;所以在学习本课时前&#xff0c;你需要对 Nginx …

本地appserv外挂网址如何让外网访问?快解析端口映射

一、appserv是什么&#xff1f; AppServ 是 PHP 网页架站工具组合包&#xff0c;作者将一些网络上免费的架站资源重新包装成单一的安装程序&#xff0c;以方便初学者快速完成架站&#xff0c;AppServ 所包含的软件有&#xff1a;Apache[、Apache Monitor、PHP、MySQL、phpMyAdm…

JavaFX中MVC例子理解

JavaFX可以让你使用GUI组件创建桌面应用程序。一个GUI应用程序执行三个任务&#xff1a;接受用户的输入&#xff0c;处理输入&#xff0c;并显示输出。而一个GUI应用程序包含两个 类型的代码&#xff1a; 领域代码。处理特定领域的数据和遵循业务规范。交互代码。处理用户输入…

Elasticsearch:使用 Elasticsearch 矢量搜索和 FastAPI 构建文本搜索应用程序

在我的文章 “Elastic&#xff1a;开发者上手指南” 的 “NLP - 自然语言处理及矢量搜索”&#xff0c;我对 Elastic Stack 所提供的矢量搜索有大量的描述。其中很多的方法需要使用到 huggingface.co 及 Elastic 的机器学习。这个对于许多的开发者来说&#xff0c;意味着付费使…

【Linux】进程优先级

Linux 进程优先级 为什么要有优先级的划分&#xff1f;Linux 环境设置优先级的具体做法并发运行环境变量如何通过代码获取环境变量 环境变量的来源 为什么要有优先级的划分&#xff1f; 优先级的规定就是为了确定某种资源获取的先后顺序。 本质原因是因为CPU资源是有限的。进程…

KMP算法

KMP KMP 算法是一个快速查找匹配串的算法&#xff0c;它的作用其实就是本题问题&#xff1a;如何快速在「原字符串」中找到「匹配字符串」。 而 KMP 算法的复杂度为 O(mn)实际上是O(N),因为O(M)不可能大于O(N) KMP 之所以能够在 O(mn)复杂度内完成查找&#xff0c;是因为其能…

CentOS环境下的MYSQL8安装

MySQL 安装 参考连接&#xff1a;https://www.cnblogs.com/jasonx1an/p/16690866.html 下载 下载网址&#xff1a;https://dev.mysql.com/downloads/mysql/ 卸载 mariadb 查看 mariadb rpm -qa|grep mariadb卸载 mariadb rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps再…

概率栅格

欢迎访问我的博客首页。 概率栅格 1. miss 表与 hit 表 1. miss 表与 hit 表 miss 表和 his 表是一维数组&#xff0c;它们存放的都是空闲值。其下标 i i i 代表旧空闲值&#xff0c;元素 t a b l e [ i ] table[i] table[i] 代表旧空闲值 i i i 的新空闲值。表的更新可以用…

Maven —— 项目管理工具

前言 在这篇文章中&#xff0c;荔枝会介绍如何在项目工程中借助Maven的力量来开发&#xff0c;主要涉及Maven的下载安装、环境变量的配置、IDEA中的Maven的路径配置和信息修改以及通过Maven来快速构建项目。希望能对需要配置的小伙伴们有帮助哈哈哈哈~~~ 文章目录 前言 一、初…

安全防御 --- SSL VPN

附&#xff1a;无线项目介绍 SSL VPN 有浏览器的设备就可以使用SSL&#xff0c;进而使用SSL VPN。无需担心客户端问题&#xff0c;所以SSL VPN也称为无客户端VPN。SSL VPN在client to lan场景下特别有优势。 实际实现过程&#xff08;基于TCP实现&#xff09; &#xff08;1&…

MYSQL执行一条SELECT语句的具体流程

昨天CSDN突然抽风 我一个ctrlz把整篇文章给撤掉了还不能复原 直接心态崩了不想写了 不过这部分果然还是很重要,还是写出来吧 流程图 这里面总共有两层结构Server层 储存引擎 Server 层负责建立连接、分析和执行 SQL。MySQL 大多数的核心功能模块都在这实现&#xff0c;主要包…

Java-API简析_java.lang.ProcessBuilder类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/131729933 出自【进步*于辰的博客】 因为我发现目前&#xff0c;我对Java-API的学习意识比较薄弱…

什么是Docker

容器技术和虚拟机 虚拟机 和一个单纯的应用程序相比&#xff0c;操作系统是一个很重的程序&#xff0c;刚装好的系统还什么都没有部署&#xff0c;单纯的操作系统其磁盘占用至少几十G起步&#xff0c;内存要几个G起步。 在这台机器上开启三个虚拟机&#xff0c;每个虚拟机上…

Failed to connect to github.com port 443: Connection refused问题解决

文章目录 一、问题描述&#xff1a;Failed to connect to github.com port 443: Connection refused问题解决二、解决方法一&#xff1a;排查代理问题1、尝试重置代理或者取消代理的方式2、添加全局代理 三、解决方法二&#xff1a;排查DNS解析问题1、第一步&#xff1a;查找gi…