基于颜色特征的物体识别系统对于不同颜色的分别提取和识别

(以上两幅图片由某大学机器人实验室负责人暨机器人天空主编Liu Weichao友情提供)

随着计算机科学和自动控制技术的发展,越来越多的不同种类的智能机器人出现在生产生活中,视觉系统作为智能机器人系统中一个重要的子系统,也越来越受到人们的重视。

视觉系统是一个非常复杂的系统,它既要做到图像的准确采集还要做到对外界变化反应的实时性,同时还需要对外界运动的目标进行实时跟踪。因此,视觉系统对硬件和软件系统都提出了较高的要求。目前比较流行的足球机器人技术,它的视觉系统属于比较典型的快速识别和反应类型。

机器视觉系统是指用计算机来实现人的视觉功能,也就是用计算机来实现对客观的三维世界的识别。人类视觉系统的感受部分是视网膜,它是一个三维采样系统。三维物体的可见部分投影到网膜上,人们按照投影到视网膜上的二维的像来对该物体进行三维理解(对被观察对象的形状、尺寸、离开观察点的距离、质地和运动特征等的理解)。

机器视觉系统的输入装置可以是摄像机、转鼓等,它们都把三维的影像作为输入源,即输入计算机的就是三维管观世界的二维投影。如果把三维客观世界到二维投影像看作是一种正变换的话,则机器视觉系统所要做的是从这种二维投影图像到三维客观世界的逆变换,也就是根据这种二维投影图像去重建三维的客观世界。

机器视觉系统主要由三部分组成:图像的获取、图像的处理和分析、输出或显示。图像的获取实际上是将被测物体的可视化图像和内在特征转换成能被计算机处理的一系列数据,它主要由三部分组成:照明,图像聚焦形成,图像确定和形成摄像机输出信号。视觉信息的处理技术主要依赖于图像处理方法,它包括图像增强、数据编码和传输、平滑、边缘锐化、分割、特征抽取、图像识别与理解等内容。经过这些处理后,输出图像的质量得到相当程度的改善,既改善了图像的视觉效果,又便于计算机对图像进行分析、处理和识别。

机器人视觉系统主要是利用颜色、形状等信息来识别环境目标。以机器人对颜色的识别为例:当摄像头获得彩色图像以后,机器人上的嵌入计算机系统将模拟视频信号数字化,将像素根据颜色分成两部分:感兴趣的像素(搜索的目标颜色)和不感兴趣的像素(背景颜色)。然后,对这些感兴趣的像素进行RGB 颜色分量的匹配。为了减少环境光强度的影响,可把RGB颜色域空间转化到HIS颜色空间。

在足球机器人的彩色视觉系统中,程序是根据贴在机器人小车顶上的色标来识别机器人是属于哪一队,以及是几号队员的。由于在每个机器人小车顶上有两种颜色的色标,分别是队标和队员标。因此,识别工作的第一步是把图像中的每一个像素,根据颜色分类到一组离散的色彩类中。

颜色分类常用的方法有线性色彩阈值法、最近邻域法和阈值向量法等。

其中,线性色彩阈值法是用线性平面把色彩空间分割开来,其阈值的确定可采用直接取阈值和通过自动训练来获取目标颜色范围等方法,也可以采用神经网络和多参数决策树方法来进行自学习,以获得合适的阈值;而用最近邻域分类法分割图像时,则利用隶属度函数,即根据最大的隶属度来判断这个颜色属于哪个类;阈值向量法是先使用一组事先确定的阈值向量来把色彩值在色彩空间中的位置来判断其属于哪种颜色。

在色彩分类之后,必须对各个颜色类的点进行处理,最终辨识出场上的各个敌我队员和球在场上的位置和方向角。识别时,通常的做法是对分类后的像素进行一次扫描,即将相邻的同种颜色的像素连成色块。

基于阈值向量的颜色识别

一、色彩空间选择

对于采用基于彩色图像分割的方法识别目标时,首先要选择合适的颜色空间,常用的颜色空间有RGB、YUV、HSV、CMY等。颜色空间的选择直接影响到图像分割和目标识别的效果。

RGB——最常用的颜色空间,其中亮度等于R、G、B3个分量之和。RGB颜色空间是不均匀的颜色空间,两个颜色之间的知觉差异与空间中两点间的欧氏距离不成线性比例,而且R、G、B值之间的相关性很高,对同一颜色属性,在不同条件(光源种类、强度和物体反射特性)下,RGB值很分散,对于识别某种特定颜色,很难确定其阈值和其在颜色空间中的分布范围。因此通常会选择能从中分离出亮度分量的颜色空间,其中最常见的是YUV和HSV颜色空间。

HSV——接近人眼感知色彩的方式,H为色调(Hue),S为色饱和度(Saturation),V为亮度(Value)。色调H能准确地反映颜色种类,对外界光照条件变化敏感度低,但是H和S均为R、G、B的非线性变换,存在奇异点,在奇异点附近即使R、G、B的值有很小变化也引起变换值有很大的跳动。

YUV——RGB颜色空间线性变化为亮度色彩空间。是为了解决彩色电视机与黑白电视机的兼容问题而提出的。Y表示亮度(Luminance),UV用来表示色差(Chrominance)。YUV表示法的重要性是它的亮度信号(Y)和色度信号(U、V)是相互独立的。所谓色差是指基色信号中的3个分量信号(即R、G、B)与亮度信号之差。

YUV格式与RGB存在如下关系:

二、阈值确定和色彩判断

在确定阈值时,首先通过采集样本进行训练,从而得到预定的几种颜色在YUV空间的分量的上下阈值,如图2所示。

当一个待判定的像素在色彩空间中的位置落在这个长方体中时,就认为该像素属于要找的颜色,从而完成对图像颜色的识别。在Y空间中,Y值表示亮度,因它的变化很大,所以只考虑了U和V的值,在进行颜色判断时,首先分别建立U、V的阈值向量。

在颜色识别后进行图像分割,在图像分割中采用了种子填充算法,其整个种子的填充是和像素点的颜色同时进行的,一开始不是对所有的像素进行处理,而是分块进行的。当中心点是所要识别的颜色时,就以这个点为种子向四周扩散,并判定周围像素点的颜色,直到填满整个块。

机器人视觉识别技术简介相关推荐

  1. 【人机对话】对话机器人技术简介:问答系统、对话系统与聊天机器人

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要16分钟 跟随小博主,每天进步一丢丢 来自:AI算法之心 作者:段清华 个人主页:http://qhduan.com Github链接: htt ...

  2. AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)

    AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用).常用算法.经典案例之详细攻略(建议收藏) 目录 NLP是什么? 1.NLP前置技术解析 2.python中NLP技术相关库 3.NLP案例 ...

  3. 最先进的智能采茶机器人_智能采茶机器人关键技术研究

    ■我有技术 所属领域:新一代信息技术 单位名称:长沙学院 成果简介:该项目为湖南省科学技术厅科技计划一般项目,项目立项名称为"智能采茶机器人关键技术研究",项目编号为"2 ...

  4. AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用)、常用算法、经典案例之详细攻略(建议收藏)daiding

    AI之NLP:自然语言处理技术简介(是什么/学什么/怎么用).常用算法.经典案例之详细攻略(建议收藏) 目录 NLP是什么? 1.NLP前置技术解析 2.python中NLP技术相关库 3.NLP案例 ...

  5. CIPP翻转内衬法整体修复技术简介

    一. CIPP翻转内衬法整体修复技术简介 CIPP翻转内衬法整体修复技术,是在水压或气压的作用下,将一种特制的聚脂毛毡树脂内衬管敷设于原有管道内表面,并通过特殊的黏合剂紧密地与原管道内壁粘合在一起,由 ...

  6. AI之Robot:机器人Robot的简介、发展历史、案例应用之详细攻略

    AI之Robot:机器人Robot的简介.发展历史.案例应用之详细攻略 目录 机器人Robot的简介 1."机器人三原则" 2.机器人的发展阶段 3.控制方式 机器人Robot的发 ...

  7. 机器人与机器人仿真技术(zz)

    http://www.viblue.com/archives/5587.htm 一.机器人简介: 机器人(Robot)是自动执行工作的机器装置.它既可以接受人类指挥,又可以运行预先编排的程序,也可以根 ...

  8. 产业|嵌入式传感器将是未来机器人等技术增长的核心

    来源:EEWORLD 移动即服务(MaaS)被认为是智能移动的一个关键要素,而机器人汽车技术将是智能移动的一个重要因素,它又高度依赖于嵌入式传感器. 根据市场研究和战略咨询公司Yole develop ...

  9. Html5版本的全套股票行情图开源了,附带实现技术简介

    Html5版本的全套股票行情图开源了,附带实现技术简介 - 玉开 - 博客园 Html5版本的全套股票行情图开源了,附带实现技术简介 请使用支持html5的浏览器查看,推荐使用google chrom ...

最新文章

  1. cannot assign module before Module.__init__() call
  2. 分隔单词和标点符号示例
  3. 定位排查工作流的计算结果数据量不符合预期的方法
  4. UML学习笔记(三):运用面向对象思想
  5. 小智机器人有初中课程吗_征战记大写的优秀!2020世界机器人大赛,看这些奖项收入囊中!...
  6. SpringBoot02——A Simple SpringBoot ProjectHot Deployment
  7. ipad上linux终端,如何使用iSH在iPad或iPhone上获取Linux Shell
  8. 我在安装TFS 2008的时候遇到的问题以及解决方法一账户问题
  9. 【读书笔记】iOS-简单的数据驱动程序
  10. 重零开始学前端-基础(1) 什么是变量
  11. adobe 不适应 Max to分屏软件的修改
  12. Mysql 省市区字典(带层级,带经纬度,带拼音)
  13. [Netlist29-358] Reg ‘Counter[7]‘ of type ‘FDCPE’ cannot be timed accurately. Hardwarebehavior may be
  14. 严蔚敏 数据结构(c语言版)c语言实现
  15. springtask Cron表达式与fixedDelay的区别
  16. 顺序容器迭代器之鄙见
  17. 60佳灵感来自大自然的网页设计作品欣赏
  18. 快速确定针式打印机故障部位方法
  19. STM32通用定时器输出带死区互补PWM/任意移相PWM
  20. tensorflow与python交互系列,tf.py_function()、tf.py_func、tf.numpy_function()(一)

热门文章

  1. 2021年劳务员-通用基础(劳务员)模拟考试题及劳务员-通用基础(劳务员)模拟考试题库
  2. SAP. T-Code: su01用户维护 sap学习手册I
  3. 如何怎么在我的世界MC的worldedit模组Mod里使用//replace指令替换所有状态下的楼梯台阶和石墙
  4. 关于Python的简单介绍
  5. 如何提升软件测试回归测试,如何更高效的进行软件回归测试?
  6. 线程安全问题及其解决方案
  7. DSP+FPGA TMS320C665x + Xilinx Artix-7高速数据采集与处理方案
  8. 手机虚拟按键始终隐藏 | 触摸屏幕时出现
  9. C#字符串中数字提取
  10. 「镁客·请讲」 立足B端,开拓C端,能力风暴正在打造一个教育机器人新生态...