CN113222805B - 一种快速高准确度nao型足球机器人视觉处理方法 - Google Patents

一种快速高准确度nao型足球机器人视觉处理方法 Download PDF

Info

Publication number
CN113222805B
CN113222805B CN202110500744.XA CN202110500744A CN113222805B CN 113222805 B CN113222805 B CN 113222805B CN 202110500744 A CN202110500744 A CN 202110500744A CN 113222805 B CN113222805 B CN 113222805B
Authority
CN
China
Prior art keywords
robot
algorithm
module
nao
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110500744.XA
Other languages
English (en)
Other versions
CN113222805A (zh
Inventor
史豪斌
胡宇
赵方国
沈真
冯宇浩
谭清月
周昱琪
陈伊凡
杨士欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN202110500744.XA priority Critical patent/CN113222805B/zh
Publication of CN113222805A publication Critical patent/CN113222805A/zh
Application granted granted Critical
Publication of CN113222805B publication Critical patent/CN113222805B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种快速高准确度NAO型足球机器人视觉处理方法,具体实现步骤如下:首先需要运行BHuman机器人驱动,同时同步运行软件系统,进行与机器人之间图像信息的交传,然后通过驱动核心算法处理处理库中良好封装的模块化算法进行对于图像的计算和处理;对于测试模式,首先启动系统守护进程,随后调用GUI图像化调试界面进行图像的显示与信息的输出,然后驱动良好封装的核心算法处理模块进行对于图像的计算和处理。利用计算机视觉,指令集优化技术,对图像信号进行快速的流水线处理及运算,从而实现高性能机器人视觉处理算法流程,本视觉处理方法所实现的软件系统可以简单快速的应用在NAO机器人上,并大幅度提高机器人足球比赛视觉处理的准确性和效率。

Description

一种快速高准确度NAO型足球机器人视觉处理方法
技术领域
本发明涉及机器人视觉处理技术领域,具体为一种快速高准确度NAO型足球机器人视觉处理方法。
背景技术
在当前的大部分视觉处理流程中,广泛的使用已存在的计算机视觉库,而这些已经存在的库往往存在代码过于冗长,性能不足,不能满足定制化要求等缺陷。同时,现存的算法往往易受到光线变化带来的干扰,从而使得误差在级联处理过程中不断累积,最终得到的结果远劣于预期结果,对于物体分类这一领域,现存技术大多基于图像空域高阶梯度特征来进行检测分析,并不具备很好的鲁棒性。
在足球机器人RoboCup标准平台组赛事中,机器人对于场上环境和战况的实时感知往往直接决定了后续的策略选择和战术制定。因此,一套高效,快速,鲁棒的机器人视觉处理算法流程是必不可少的。而传统方案对与颜色和光照的高度依赖使得在大部分场景下并不具备良好可用的效果。同时分散的高耦合的处理算法结构也不利于整体工程的模块化与后续的进一步拓展。目前传统方法大多冗长,且性能不足,难以满足足球机器人赛事极高的实时性要求,另外传统方法分工合作效率低,传统算法使得算法研究人员对于算法编写调试的难度增加,算法编写人员需要处理很多余算法本身无关的内存、技术、框架问题,
基于此,本发明设计了一种快速高准确度NAO型足球机器人视觉处理方法,为了解决在计算资源有限的情况下,利用计算机视觉,指令集优化等技术,对图像信号进行快速的流水线处理及运算,从而实现高性能机器人视觉处理算法流程,通过结合计算机视觉、人工智能等技术,本发明基于该方法实现了一套快速高准确度足球机器人视觉处理软件系统,本视觉处理软件系统可以简单快速的应用在NAO型足球机器人上,并大幅度提高机器人视觉处理的准确性和效率。
发明内容
本发明的目的在于提供一种快速高准确度NAO型足球机器人视觉处理方法,1.使用模块化算法快速扩展组合技术,得以实现模块化、流水线的软件架构结合IntelSSE、MKL系列指令集、Blas基础线性代数操作的数值库、块内存重用、高速数据拷贝等技术,极大的增加了视觉处理的效率;2.使用模块化算法快速扩展组合技术,在已经包含的计算机视觉处理算法的基础上,得益于模块化的设计,可以十分简明地通过编写新的算法模块进行新功能的引入和集成,并实现算法模块的快速组合与交互。现有算法模块也留下了充分的拓展空间;3.使用轻量化的经过优化的神经网络框架和物体分类技术对于目标进行快速的判别。
为实现上述目的,本发明提供如下技术方案:一种快速高准确度NAO型足球机器人视觉处理方法,所述的方法通过两种不同的运行模式,采用两种驱动策略,具体实现步骤如下:
对于NAO机器人运行:
首先需要运行NAOqi、BHuman机器人驱动系统,并对所述系统编写嵌入数据采集模块,然后同时同步同环境运行软件系统,进行与机器人之间图像、传感器信息的交传,
然后直接通过部署在NAO型机器人计算机上的核心算法处理模块进行对于图像、传感器信息的计算和处理;
测试模式:
对于NAO机器人运行:
首先需要运行NAOqi、BHuman机器人驱动系统,并对所述系统编写嵌入模块,首先启动系统守护进程收集、预处理并通过socket网络通信回传视觉算法需要的原始数据。
然后利用部署在PC机上核心算法处理模块处理与计算原始数据,随后启动GUI图形调试界面对原始数据或者算法模块处理好的数据进行图像或者数据的显示与信息的输出。
优选的,所述软件系统运行在NAO机器人上,通过在NAO型机器人驱动系统中嵌入数据采集模块,使得该方法可以利用NAO型机器人计算机中守护进程进行内存交换实现数据提取与预处理,同时通过socket网络传输与运行在PC端中的算法处理库、GUI调试界面进行数据通信,实现传回处理结果。
优选的,所述NAO机器人上安装有BHuman和Naoqi机器人驱动框架,通过嵌入数据采集模块与独立进程伴随的形式与BHuman框架进行数据通信与信息传输,在实际的运行过程中核心算法处理模块既可以作为模块被部署在NAO型计算机中软件系统驱动,也可以部署在PC机上被NAO型机器人计算机上的驱动守护进程通过socket网络通信驱动,可以与NAOqi、BHuman同时运行在NAO机器人的软件系统中,也可以运行在PC机中,软件系统守护进程通过共享内存的方式与BHuman中嵌入的数据采集模块通信,数据采集模块从BHuman获取摄像头、传感器等数据。算法模块经过计算后产生视觉修正、补充信息,并通过软件系统或者守护进程向BHuman驱动框架传递,同时,使用软件系统内含的测试框架与GUI调试界面和软件系统、核心算法处理模块或者守护进程建立连接以监视和调整运行状态以及相关参数。
优选的,其一,其提出了模块化算法快速扩展组合技术,算法模块均有提供命名标识、规范化参数获取输出、安全执行、复位、销毁、计时、内存分配等服务的基础算法模块继承而来,基础模块能够自动地管理内存、时钟的跨平台API接口调用,提供规范化的算法框架,开发人员自定义的算法模块利用基础算法模块提供的环境与服务执行算法运行过程,并向外提供统一接口方便与其他算法模块对接组合。其二,提出了一种成熟高效准确率高的NAO型机器人足球比赛视觉识别算法及算法模块组合流程,所述核心算法处理模块包括:
场地颜色动态识别模块,将原始图像的颜色空间从RGB转换成YUV,然后对图像像素进行采样计算出五组特征参数,基于机器学习的调参算法进行模型的训练;基于机器学习的调参算法使用CMA-ES优化算法,而基于机器学习的调参算法能够根据五组参数该模块,通过在图像上设置间隔固定像素的垂直和水平方向的扫描线,并扫描图像的一定波动范围内绿色像素对应的Y、Cr、Cb三个通道的阈值范围;
扫描线场地分类模块,扫描线场地分类线上间隔一定像素进行小范围采样,使得计算机能够对图像进行快速扫描并获得有关于该图像的区域信息。通过对场地之内像素的Y、Cr、Cb三个通道进行基于阈值范围的颜色分析,使得计算机能够划分出白色、绿色以及其他颜色的区域;
场边缘线计算模块,由于机器人始终处于在足球场地内,通过对采样点附近的颜色变化梯度进行计算,使得计算机能够快速找出场地与场地之外的边界,所以通过对所有竖直扫描线进行分析和计算,得到视野中上边界线的位置,同时使用RANSAC变体算法进行边界的拟合与绘制,然后通过支线结构体存储相应边界的顶点与斜率,通过对场地边界进行标记,使得计算机能够舍弃场地之外的像素而重点对场地之内的像素进行更加小间隔的采样与更加细致的计算;
场地检测模块,通过使用扫描线场地分类模块、场边缘线计算模块的计算结果,通过积分图梯度计算,对视野中可能存在的线段进行检测,同时使用RANSAC算法进行线段的拟合与绘制,使用线段对线段的两个端点进行存储;通过标记出相关的线段,结合BHuman驱动系统中对机器人定位的推断,就可以识别场地的各个类型的场地划线,对机器人的动作决策提供约束;
球识别模块,在图像中进行基于Cb通道的特定大小计算,得到诸多球的假设框,将假设框中的像素进行采样,将采样数据输入卷积神经网络进行分类与判别,计算出其中属于球的概率最大、次大的部分。
优选的,所述测试模式包括单元测试和整体测试,单元测试使用谷歌gtest框架来驱动单个或者多个核心算法处理模块,同时对核心算法模块与算法所使用的视觉处理工具集进行的测试与参数的调试,整体测试是高度模块化可拓展的命令行调试器,运用了模块化算法快速扩展组合技术,所述命令行调试器用于驱动核心算法处理模块,在简单编译后实现算法模块的单个、快速组合测试,所述命令行调试器依赖OpenCV函数库,同时命令行调试器驱动核心算法处理模块进行性能测量。
优选的,所述GUI图形化调试界面基于Qt5,是关于本方法所设计的所有软件系统的可视化调试界面,支持多窗口以及窗口的拖动大小调整等功能,能输出各个图形处理模块的中间结果及内部相关参数。
与现有技术相比,本发明的有益效果是:
1、本发明解决在计算资源有限的情况下,利用计算机视觉,指令集优化等技术,对图像信号进行快速的流水线处理及运算,从而实现高性能机器人视觉处理算法流程,本视觉处理方法所实现的软件系统可以简单快速的应用在NAO机器人上,并大幅度提高机器人视觉处理的准确性和效率。
2、使用流水线的软件架构,结合块内存重用、高速数据拷贝等技术,极大的增加了视觉处理的效率;在已经包含的计算机视觉处理算法的基础上,得益于模块化的设计,可以十分简明的进行新功能的引入和集成。现有算法模块也留下了充分的拓展空间;使用轻量化的经过优化的神经网络框架和物体分类技术对于目标进行快速的判别。
3、本方法同时引入了基于模块化算法快速扩展组合技术使得算法模块具有良好封装得特性可以被随意扩展、组装完成各种复杂计算,本方法还引入了内存统一管理,IntelSSE、SSE2、SSE3、MKL高级指令集等技术,对NAO型机器人相机采集到的图像数据进行更加快速的流水线处理及运算,从而实现高性能机器人视觉处理算法流程,另外本方法引入了一组成熟高效的计算机视觉工具集,涉及图像的快速读取、处理、复制、存储、数据的运算等方面。本视觉处理方法所实现的软件系统具有跨平台的优势,可以简单快速的应用在NAO型机器人上,减小了内存占用率并大幅度提高机器人视觉处理的准确性和效率。同时,本方法提出的模块化算法快速扩展组合技术提高了该型号机器人视觉算法开发、测试的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明结构示意图;
图2为机器人所拍摄的原始图一;
图3为本发明核心算法处理模块对图2拍摄图;
图4为球机器人所拍摄的原始图二;
图5为本发明核心算法处理模块对图4拍摄图;
图6为机器人所拍摄的原始图三;
图7为本发明核心算法处理模块对图6拍摄图;
图8为本发明GUI调试界面图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1-8,本发明提供一种技术方案:一种快速高准确度NAO型足球机器人视觉处理方法,所述的方法通过两种不同的运行模式,采用两种驱动策略,具体实现步骤如下:
对于NAO机器人运行:
首先需要运行NAOqi、BHuman机器人驱动系统,并对所述系统编写嵌入数据采集模块,然后同时同步同环境运行软件系统,进行与机器人之间图像、传感器信息的交传,
然后直接通过部署在NAO型机器人计算机上的核心算法处理模块进行对于图像、传感器信息的计算和处理;核心算法处理模块中算法具有良好封装模块化的特性,对接好算法接口后,可以在像集装箱一样组合完成一组或者多组指定的视觉计算;
测试模式:
测试模式:
对于NAO机器人运行:
首先需要运行NAOqi、BHuman机器人驱动系统,并对所述系统编写嵌入模块,首先启动系统守护进程收集、预处理并通过socket网络通信回传视觉算法需要的原始数据。
然后利用部署在PC机上核心算法处理模块处理与计算原始数据,随后启动GUI图形调试界面对原始数据或者算法模块处理好的数据进行图像或者数据的显示与信息的输出。
其中,所述软件系统运行在NAO机器人上,通过在NAO型机器人驱动系统中嵌入数据采集模块,使得该方法可以利用NAO型机器人计算机中守护进程进行内存交换实现数据提取与预处理,同时通过socket网络传输与运行在PC端中的算法处理库、GUI调试界面进行数据通信,实现传回处理结果。
其中,所述NAO机器人上安装有BHuman和Naoqi机器人驱动框架,通过嵌入数据采集模块与独立进程伴随的形式与BHuman框架进行数据通信与信息传输,在实际的运行过程中核心算法处理模块既可以作为模块被部署在NAO型计算机中软件系统驱动,也可以部署在PC机上被NAO型机器人计算机上的驱动守护进程通过socket网络通信驱动,可以与NAOqi、BHuman同时运行在NAO机器人的软件系统中,也可以运行在PC机中,软件系统守护进程通过共享内存的方式与BHuman中嵌入的数据采集模块通信,数据采集模块从BHuman获取摄像头、传感器等数据。算法模块经过计算后产生视觉修正、补充信息,并通过软件系统或者守护进程向BHuman驱动框架传递,同时,使用软件系统内含的测试框架与GUI调试界面和软件系统、核心算法处理模块或者守护进程建立连接以监视和调整运行状态以及相关参数。
其中,其一,其提出了模块化算法快速扩展组合技术,算法模块均有提供命名标识、规范化参数获取输出、安全执行、复位、销毁、计时、内存分配等服务的基础算法模块继承而来,基础模块能够自动地管理内存、时钟的跨平台API接口调用,提供规范化的算法框架,开发人员自定义的算法模块利用基础算法模块提供的环境与服务执行算法运行过程,并向外提供统一接口方便与其他算法模块对接组合。其二,提出了一种成熟高效准确率高的NAO型机器人足球比赛视觉识别算法及算法模块组合流程,所述核心算法处理模块包括:
图2为机器人所拍摄的原始图一,如图3所示,此图中左上角的NaoVision为运用该方法所实现的软件系统的名称,v1.2.5代表了软件系统的版本号。下面的每一行都有两个字段第一个字段为算法模块名称,第二个字段为算法模块处理该图片所用的时间单位为毫秒ms(算法模块的计时采用操作系统提供的精确计时器,精确到微秒us),第一个为ImageRegionDetector为场地区域判别器,第二个FieldDetector为场地检测模块,第三个HypothesesGeneratorScanline为球识别模块,第四个FieldImageProvider为绿色模块,第五个IntegeralImage为积分图生成模块,第六个AdvancedFieldColorDetector为场地颜色动态识别模块。这里所列模块可能不和上面所述算法主要过程一一对应,计算的是比较消耗时间的算法模块。
场地颜色动态识别模块,将原始图像的颜色空间从RGB转换成YUV,然后对图像像素进行采样计算出五组特征参数,基于机器学习的调参算法进行模型的训练;基于机器学习的调参算法使用CMA-ES优化算法,而基于机器学习的调参算法能够根据五组参数该模块,通过在图像上设置间隔固定像素的垂直和水平方向的扫描线,并扫描图像的一定波动范围内绿色像素对应的Y、Cr、Cb三个通道的阈值范围,该方法可以在光线变化的情况下自动地确定一定波动范围内绿色像素的范围,具备较强的鲁棒性。
图4为球机器人所拍摄的原始图二;如图5所示,网格线为扫描线场地分类模块所计算的扫描线位置,方格框所框选出的为障碍物或者球在图像上的位置、场边缘线计算模块所拟合出的线用左上角的线给出。
扫描线场地分类模块,通过扫描线场地分类线上间隔一定像素进行小范围采样,使得计算机能够对图像进行快速扫描并获得有关于该图像的区域信息。通过对场地之内像素的Y、Cr、Cb三个通道进行基于阈值范围的颜色分析,使得计算机能够划分出白色、绿色以及其他颜色的区域。
场边缘线计算模块,由于机器人始终处于在足球场地内,通过对采样点附近的颜色变化梯度进行计算,使得计算机能够快速找出场地与场地之外的边界。所以通过对所有竖直扫描线进行分析和计算,得到视野中上边界线的位置,同时使用RANSAC变体算法进行边界的拟合与绘制,然后通过支线结构体存储相应边界的顶点与斜率。通过对场地边界进行标记,使得计算机能够舍弃场地之外的像素而重点对场地之内的像素进行更加小间隔的采样与更加细致的计算。
场地检测模块,通过使用扫描线场地分类模块、场边缘线计算模块的计算结果,通过积分图梯度计算,对视野中可能存在的线段进行检测,同时使用RANSAC算法进行线段的拟合与绘制,使用线段对线段的两个端点进行存储;通过标记出相关的线段,结合BHuman驱动系统中对机器人定位的推断,就可以识别场地的各个类型的场地划线,对机器人的动作决策提供约束。
球识别模块,在图像中进行基于Cb通道的特定大小计算,得到诸多球的假设框,将假设框中的像素进行采样,将采样数据输入卷积神经网络进行分类与判别,计算出其中属于球的概率最大、次大的部分。实施例如图4所示,算法模块是良好封装且独立的,所以对多个算法模块完成一组动作的情况可以进行流水线处理。
图6为机器人所拍摄的原始图三;如图7所示,用方框框选出机器人的关节、球和场地线的位置。运动中的球也能较好的检测。
其中,所述测试模式包括单元测试和整体测试,单元测试使用谷歌gtest框架来驱动单个或者多个核心算法处理模块,同时对核心算法模块与算法所使用的视觉处理工具集进行的测试与参数的调试,整体测试是高度模块化可拓展的命令行调试器,运用了模块化算法快速扩展组合技术,该技术基于面向对象的设计思想,基于提供标识(id)、构建、析构、参数输入、参数输出、计时接口的基本对象(BaseObject)作为各个算法模块的框架,各个算法模块继承该基本对象,使得各算法模块获得了统一的基本对外接口。除了对外接口外,基本对象提供了一套调用流程规范,该规范规定各个算法模块的有初始化、参数绑定、执行、刷新、销毁五个运行状态。算法模块能够在刷新和执行中依次反复切换,实现算法模块的复用。除了基本对象外,该技术引入了对基本对象的再次包装,利用智能指针等技术,基于通用内存分配模块为算法开发人员简化了参数输入与输出、状态转换、计时等操作,使得通过包装过后的算法模块提供的接口,算法模块能够自动地实现安全状态转换、自动计时、中间参数状态打印,算法模块能够实现自动释放。通过引入模块管理器(ObjectManager),该管理器在运行时维护一个模块注册表,使得运行程序、测试程序能够通过注册表上的标号引用相关算法,这使得使用者能够在标号不变的情况下,通过调整少量参数,就可以组合相按照需求便捷地更换、组合算法模块。在算法模块的参数输入处理上上,再此基于引入的智能指针技术,既实现了算法模块资源自动释放解决了算法模块资源释放时机的问题减少了内存占用,又实现了算法模块的相互引用以减少参数传递个数。所述命令行调试器用于驱动核心算法处理模块,在简单编译后实现算法模块的单个、快速组合测试,所述命令行调试器依赖OpenCV函数库,同时命令行调试器驱动核心算法处理模块进行性能测量。
其中,图8为GUI调试界面图,左上角为机器人主摄像机所拍摄的图像,右边为机器人从摄像机所拍摄的图像,下方为软件系统处理后的图像。
所述GUI图形化调试界面基于Qt5,是关于本方法所设计的所有软件系统的可视化调试界面,支持多窗口以及窗口的拖动大小调整等功能,能输出各个图形处理模块的中间结果及内部相关参数。
本套视觉软件系统使用C++编写,利用C++的强大的表达能力与接口兼容性,实现了性能与效率的弹性平衡。
大量运用SSE、SSE2、SSE3、SSSE3指令集,块内存重用、高速数据拷贝、流水线等技术,结合强大而灵活的的指针操作对计算进行大量优化,依托zlib、libpng、OpenBlas、Eigen、IntelMKL、Boost等函数库,获得了强大的功能与性能。
在硬件方面对X86指令集的处理器具备广泛的兼容性。
在软件环境方面,本软件系统能够兼容Win32、Win64、Linux32位与Linux64位,支持使用vc++、gcc、clang。
这些利用技术写成并封装的工具组件被集成到核心算法处理模块中,为其中的各个算法模块在运行时提供支持。利用所述方法所实现的软件系统能够在使用时跨平台的构建与运行特性。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (5)

1.一种快速高准确度NAO型足球机器人视觉处理方法,其特征在于:所述的方法通过两种不同的运行模式,采用两种驱动策略,具体实现步骤如下:
对于NAO机器人运行:
首先需要运行NAOqi、BHuman机器人驱动系统,并对所述系统编写嵌入数据采集模块,然后同时同步同环境运行软件系统,进行与机器人之间图像、传感器信息的交传,
然后直接通过部署在NAO型机器人计算机上的核心算法处理模块进行对于图像、传感器信息的计算和处理;
测试模式:
对于NAO机器人运行:
首先需要运行NAOqi、BHuman机器人驱动系统,并对所述系统编写嵌入模块,首先启动系统守护进程收集、预处理并通过socket网络通信回传视觉算法需要的原始数据;
然后利用部署在PC机上核心算法处理模块处理与计算原始数据,随后启动GUI图形调试界面对原始数据或者算法模块处理好的数据进行图像或者数据的显示与信息的输出;
所述核心算法处理模块包括:
场地颜色动态识别模块,将原始图像的颜色空间从RGB转换成YUV,然后对图像像素进行采样计算出五组特征参数,基于机器学习的调参算法进行模型的训练;基于机器学习的调参算法使用CMA-ES优化算法,而基于机器学习的调参算法能够根据五组特征参数,通过在图像上设置间隔固定像素的垂直和水平方向的扫描线,并扫描图像的一定波动范围内绿色像素对应的Y、Cr、Cb三个通道的阈值范围;
扫描线场地分类模块,扫描线场地分类线上间隔一定像素进行小范围采样,使得计算机能够对图像进行快速扫描并获得有关于该图像的区域信息;通过对场地之内像素的Y、Cr、Cb三个通道进行基于阈值范围的颜色分析,使得计算机能够划分出白色、绿色以及其他颜色的区域;
场边缘线计算模块,由于机器人始终处于在足球场地内,通过对采样点附近的颜色变化梯度进行计算,使得计算机能够快速找出场地与场地之外的边界,所以通过对所有竖直扫描线进行分析和计算,得到视野中上边界线的位置,同时使用RANSAC变体算法进行边界的拟合与绘制,然后通过支线结构体存储相应边界的顶点与斜率,通过对场地边界进行标记,使得计算机能够舍弃场地之外的像素而重点对场地之内的像素进行更加小间隔的采样与更加细致的计算;
场地检测模块,通过使用扫描线场地分类模块、场边缘线计算模块的计算结果,通过积分图梯度计算,对视野中可能存在的线段进行检测,同时使用RANSAC算法进行线段的拟合与绘制,使用线段对线段的两个端点进行存储;通过标记出相关的线段,结合BHuman驱动系统中对机器人定位的推断,就可以识别场地的各个类型的场地划线,对机器人的动作决策提供约束;
球识别模块,在图像中进行基于Cb通道的特定大小计算,得到诸多球的假设框,将假设框中的像素进行采样,将采样数据输入卷积神经网络进行分类与判别,计算出其中属于球的概率最大、次大的部分。
2.根据权利要求1所述的一种快速高准确度NAO型足球机器人视觉处理方法,其特征在于:所述软件系统运行在NAO机器人上,通过在NAO型机器人驱动系统中嵌入数据采集模块,使得该方法可以利用NAO型机器人计算机中守护进程进行内存交换实现数据提取与预处理,同时通过socket网络传输与运行在PC端中的算法处理库、GUI调试界面进行数据通信,实现传回处理结果。
3.根据权利要求1所述的一种快速高准确度NAO型足球机器人视觉处理方法,其特征在于:所述NAO机器人上安装有BHuman和Naoqi机器人驱动框架,通过嵌入数据采集模块与独立进程伴随的形式与BHuman框架进行数据通信与信息传输,在实际的运行过程中核心算法处理模块既可以作为模块被部署在NAO型计算机中软件系统驱动,也可以部署在PC机上被NAO型机器人计算机上的驱动守护进程通过socket网络通信驱动,可以与NAOqi、BHuman同时运行在NAO机器人的软件系统中,也可以运行在PC机中,软件系统守护进程通过共享内存的方式与BHuman中嵌入的数据采集模块通信,数据采集模块从BHuman获取摄像头、传感器数据,算法模块经过计算后产生视觉修正、补充信息,并通过软件系统或者守护进程向BHuman驱动框架传递,同时,使用软件系统内含的测试框架与GUI调试界面和软件系统、核心算法处理模块或者守护进程建立连接以监视和调整运行状态以及相关参数。
4.根据权利要求1所述的一种快速高准确度NAO型足球机器人视觉处理方法,其特征在于:所述测试模式包括单元测试和整体测试,单元测试使用谷歌gtest框架来驱动单个或者多个核心算法处理模块,同时对核心算法模块与算法所使用的视觉处理工具集进行的测试与参数的调试,整体测试是高度模块化可拓展的命令行调试器,运用了模块化算法快速扩展组合技术,所述命令行调试器用于驱动核心算法处理模块,在简单编译后实现算法模块的单个、快速组合测试,所述命令行调试器依赖OpenCV函数库,同时命令行调试器驱动核心算法处理模块进行性能测量。
5.根据权利要求1所述的一种快速高准确度NAO型足球机器人视觉处理方法,其特征在于:所述GUI图形化调试界面基于Qt5,是关于所述方法所设计的所有软件系统的可视化调试界面,支持多窗口以及窗口的拖动大小调整功能,能输出各个图形处理模块的中间结果及内部相关参数。
CN202110500744.XA 2021-05-08 2021-05-08 一种快速高准确度nao型足球机器人视觉处理方法 Active CN113222805B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110500744.XA CN113222805B (zh) 2021-05-08 2021-05-08 一种快速高准确度nao型足球机器人视觉处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110500744.XA CN113222805B (zh) 2021-05-08 2021-05-08 一种快速高准确度nao型足球机器人视觉处理方法

Publications (2)

Publication Number Publication Date
CN113222805A CN113222805A (zh) 2021-08-06
CN113222805B true CN113222805B (zh) 2023-04-07

Family

ID=77094047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110500744.XA Active CN113222805B (zh) 2021-05-08 2021-05-08 一种快速高准确度nao型足球机器人视觉处理方法

Country Status (1)

Country Link
CN (1) CN113222805B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010039352A (ko) * 1999-10-30 2001-05-15 윤덕용 Ir 적외선 모듈을 이용한 축구 로봇 제어시스템
CN1716281A (zh) * 2005-06-29 2006-01-04 上海大学 足球机器人视觉快速识别方法
FR2963132A1 (fr) * 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
CN103345258A (zh) * 2013-06-16 2013-10-09 西安科技大学 一种足球机器人目标追踪方法及系统
CN110956218A (zh) * 2019-12-10 2020-04-03 同济人工智能研究院(苏州)有限公司 基于Heatmap的Nao机器人目标检测足球候选点的生成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200122331A1 (en) * 2015-07-14 2020-04-23 X Development Llc Visual annotations in simulated robot environments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010039352A (ko) * 1999-10-30 2001-05-15 윤덕용 Ir 적외선 모듈을 이용한 축구 로봇 제어시스템
CN1716281A (zh) * 2005-06-29 2006-01-04 上海大学 足球机器人视觉快速识别方法
FR2963132A1 (fr) * 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
CN103345258A (zh) * 2013-06-16 2013-10-09 西安科技大学 一种足球机器人目标追踪方法及系统
CN110956218A (zh) * 2019-12-10 2020-04-03 同济人工智能研究院(苏州)有限公司 基于Heatmap的Nao机器人目标检测足球候选点的生成方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
3D Printing Intelligent Soccer Robot Match System;Bin Wu等;《2020 Chinese Automation Congress (CAC)》;20210129;全文 *
基于大场地足球机器人视觉系统的研究;周跃前等;《微计算机信息》;20090115(第02期);全文 *
基于网络的足球机器人比赛系统的研究与实现;李庆等;《机器人》;20061128(第06期);全文 *
机器人足球视觉系统研究与实现;孙良旭等;《鞍山科技大学学报》;20051030(第05期);全文 *
足球机器人视觉系统的图像获取优化研究;张继文等;《机械设计与制造》;20090208(第02期);全文 *

Also Published As

Publication number Publication date
CN113222805A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN109218619A (zh) 图像获取方法、装置和系统
CN106384383A (zh) 一种基于fast和freak特征匹配算法的rgb‑d和slam场景重建方法
CN113989944B (zh) 操作动作识别方法、装置及存储介质
CN101154289A (zh) 基于多目相机的三维人体运动跟踪的方法
CN112734765A (zh) 基于实例分割与多传感器融合的移动机器人定位方法、系统及介质
CN109840508A (zh) 一个基于深度网络架构自动搜索的机器人视觉控制方法,设备及存储介质
CN112040198A (zh) 一种基于图像处理的智能水表读数识别系统与方法
Ju et al. MPS-Net: Learning to recover surface normal for multispectral photometric stereo
CN113743358A (zh) 一种全方位采集和智能计算的景观视觉特征识别方法
CN107527368A (zh) 基于二维码的三维空间姿态定位方法与装置
CN113723300A (zh) 基于人工智能的火情监测方法、装置及存储介质
CN117197789A (zh) 基于多尺度边界特征融合的幕墙框识别方法及系统
CN107067423A (zh) 一种适用于开放赋存环境的文物本体微变监测的方法
Li et al. Embedded real-time infrared and visible image fusion for UAV surveillance
CN114434458A (zh) 集群机器人与虚拟环境的互动方法及其系统
CN113222805B (zh) 一种快速高准确度nao型足球机器人视觉处理方法
CN117788790A (zh) 面向通用场景的物料安装检测方法、系统、设备及介质
CN117274478A (zh) 一种三维量房方法、装置、系统及存储介质
CN109918988A (zh) 一种结合成像仿真技术的可移植的无人机检测系统
Liu Research on the teaching mode of information visualization course for visual communication design major based on artificial intelligence technology
Lugo et al. Semi-supervised learning approach for localization and pose estimation of texture-less objects in cluttered scenes
CN112528982A (zh) 一种用于检测船舶水尺线的方法、装置及系统
CN118372258B (zh) 分布式视觉集群机器人系统
Maas et al. An easy to use framework for educational robots
CN118506146B (zh) 高识别准确率的黑色烟雾识别及展示方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant