未来之星机器人视觉.docx

上传人:b****6 文档编号:8263589 上传时间:2023-01-30 格式:DOCX 页数:14 大小:878.49KB
下载 相关 举报
未来之星机器人视觉.docx_第1页
第1页 / 共14页
未来之星机器人视觉.docx_第2页
第2页 / 共14页
未来之星机器人视觉.docx_第3页
第3页 / 共14页
未来之星机器人视觉.docx_第4页
第4页 / 共14页
未来之星机器人视觉.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

未来之星机器人视觉.docx

《未来之星机器人视觉.docx》由会员分享,可在线阅读,更多相关《未来之星机器人视觉.docx(14页珍藏版)》请在冰豆网上搜索。

未来之星机器人视觉.docx

未来之星机器人视觉

实验一机器人视觉

一.实验目的

1.了解机器人视觉系统的基本组成与视觉计算模型。

2.熟悉视频采集系统的组成与图象识别系统的工作原理。

3.掌握图像生成、图像特征提取、图像分割以及目标检测与识别等与视觉处理紧密相

关内容的基本原理,熟悉其在机器人中的应用。

二.实验基本理论

机器视觉指用计算机实现人类的视觉功能―对客观世界的三维场景的感知、识别和理

解。

机器视觉的主要研究目标是建成机器视觉系统,完成各种视觉任务。

即要使计算机能借

助各种视觉传感器获取场景的图像,而感知和恢复3D环境中物体的几何性质、姿态结构、

运动情况、相互位置等,并对客观场景进行识别、描述、介绍,进而作出决断。

机器视觉是

一门已迅速发展的新领域,是一门多学科交叉的边缘科学,而图像处理、图像理解与机器视

觉密切联系。

机器视觉是光学成像问题的逆问题,即通过对三维世界所感知的二维图像来提取出三维

景物的几何物理特征。

在成像过程中,有三个方面的影响是至关重要的:

(1)三维场景投影成二维图像过程中将损失大量信息。

(2)成像物体的灰度受场景中诸多因素的影响。

(3)成像过程中将或多或少地引入畸变和噪声。

这些根本因素导致了视觉计算中的不适定性。

因此,一方面要尽量减少上述不适定因素

的影响,另一方面通过建立适当的模型,对上述因素造成的影响尽量消除。

1.图像采集与摄像机模型

灰度图在许多图像理解和机器视觉研究中作为输入信息源。

要实现场景恢复的工作,首

先要采集反映场景的图像。

立体成像的两个关键是图像采集设备(成像装置)和图像采集方

式(成像方式)。

我们生活的客观世界在空间上是三维的,因此在获取图像时要尽可能的保

持场景的3D信息,并建立客观场景和所采集图像在空间上的对应性。

为此需要了解成像变

换和摄像机模型。

成像过程涉及不同坐标系统之间的变换,而3D空间景物成像时涉及的主要坐标系统有:

(1)世界坐标系统;

(2)摄像机坐标系统;

(3)像平面坐标系统;

(4)计算机图像坐标系统。

与此同时,CCD(Charge-coupledDevice)摄像机有很多用户可调整的操作参数:

(1)光圈孔径大小;

(2)曝光时间长短;

(3)增益大小控制;

(4)白平衡控制参数。

其中,光圈孔径、曝光时间以及增益大小都是控制镜头的进光量的大小,因此,三者也

将影响被摄取图像的亮度大小。

白平衡控制是为了减除环境光线对颜色的影响,通过对其参

数的设置,使得人眼观测起来更具真实感。

2.图像预处理

在实际工作中,我们所拍摄的图像通常都将受到各方面因素的影响。

如:

场景光线、复

杂地理环境等。

因此,为了使得后续的特征提取、图像分割以及图像目标检测、识别等核心

工作能够迅速有效地进行,我们必须对摄取图像进行适当的处理。

这部分工作,我们将其称

之为图像预处理。

基于机器人视觉系统的图像预处理主要包括:

图像校正、图像去噪、图像增强等。

与此

同时,还可以对图像进行一定的压缩,以节省机载存储空间。

图像校正是指对失真图像进行的复原性处理。

引起图像失真的原因有:

成象系统的象差、

畸变、等造成的图象失真;由于成象器件拍摄姿态和非线性扫描引起的图象几何失真;由于

运动模糊、辐射失真、引入噪声等造成的图像失真。

因此,图像校正可以分为几何校正和灰

度校正两种。

图象校正的基本思路是,根据图像失真原因,建立相应的数学模型,从被污染

或畸变的图象信号中提取所需要的信息,沿着使图象失真的逆过程恢复图象本来面貌。

图像去噪是指通过滤波等方式,减少数字图像在数字化和传输过程中,由于受到成像设

备与外部环境噪声等影响而产生的噪声干扰,使得图像看起来更为准确、清晰。

图像增强的目的改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的

整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同

物体特征之间的差别,丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

图像增强既可以从空域进行,如直方图均衡、颜色增强等,也可以考虑从频率域对图像进行

增强,频域法是间接的处理方法,是先在图像的频域中对图像的变换值进行操作,然后变回

空域。

从上述各种图像预处理手段仔细推敲,我们可以发现:

它们之间并没有严格的界限对其

区分,都可以看成是图像增强的不同方面。

但其目的是统一的:

通过处理手段,增强成像图

像质量。

3.图像目标检测与识别

图像目标检测与识别是整个视觉系统的核心工作,它既可以看成是图像预处理的目标,

也可以看成是图像理解等其他更高层次工作的基础。

图像目标检测与识别,两者其实是密不可分地。

目标检测的工作是回答:

图像中是否有

物体(where)?

识别的工作目标则是回答物体为何物(what)?

在完成这两项工作的过程

中,我们所涉及到的工作包括特征提取、特征学习、分类器设计以及分类判决等。

在可以人为干预的情况下,我们可以调节目标的相关特征参数,如颜色分量的取值区间、

形状大小参数等,进而依据这些参数,在图像中进行区域划分获得二值化图像,即将图像中

的所有像素划分成目标和非目标两类,对应目标像素的点置1,而其它像素点置0,找到所

要辨识的目标。

在完全智能的情况下,我们的理想,则希望机器人能够在各种环境下,自动且主动地检

测识别目标。

要完成这项工作,我们必须在机器人开始检测识别目标工作前,采集足够多的

有关目标的样本图像,通过这些样本图像,学习到目标的鲁棒的特征(如:

SIFT特征、Harr

特征、HOG特征等等)。

并依据这些特征,设计训练合适的分类器。

分类器可以理解为一种

判断准则(是目标输出1,非目标输出-1)。

当视觉系统获取到图像以后,通过扫描全图各

个区域并送与分类器进行判断,找到使得分类器输出为1的区域,从而完成检测识别的工作。

三.实验平台

1.系统简介

实验系统采用北京博创科技生产的“未来之星”移动机器人平台,其局部外观及内部结构

如图1所示。

未来之星”以智能、识别、群体、网络、移动、执行、交互、感知这八点特征作为最重要的设计要求,充分涵盖家用机器人开发的各方面技术;同时,拥有一般地面自主移动机器人几乎所有功能,并且将PC系统集成到机器人内部。

“未来之星”系统架构如图2所示。

包括运动/执行控制层,传感/底层决策层,决策控制层以及用户层四个层面的设计。

整个系统基于全双工RS-422总线设计,系统配置采用一台主机多台从机的组合方式。

主机即机载PC,从机指运动控制卡、MultiFlex控制卡,超声波传感器及其他的扩展设备以从机的形式搭载在422总线上。

从系统架构中可以看出,机载PC主机作为机器人大脑,分析传感/底层决策层上传的传

感器信号,同时响应直接接到PC相应端口上的摄像头、麦克风、无线网卡、喇叭、液晶屏

等PC机外围设备,进行机器人行为决策控制。

PC机与机器人控制系统采用RS-232通讯。

以系统一个查询响应周期为例,PC机通过RS-232给控制系统主板发1条超声波数据查

询指令,主板电路将这条指令转化为RS-422总线指令,并传递给任何搭载在主板上的RS-422

设备。

超声波传感器从主板的RS-422总线上获得这条指令,就将当前障碍物距离值以RS-422

电平形式将数据返回主板RS-422总线上,主板变换电平为RS-232并发送给PC机,PC机

收到超声波的距离值判断机器人与障碍物的距离,并作出前进或者后退等决策,并以RS-232

指令发给主板,主板将其变换为RS-422指令发给运动控制卡,控制器控制驱动器和电机作

出相应的动作,让机器人前进或者后退。

“未来之星”软件系统开发平台FStar,延用了VoyagerII平台所采用的基于行为的控制思想,编码方式遵循面向对象的设计风格,通过各种抽象对象的组合来组织代码,条理清晰且便于理解。

软件系统的架构设计如图3所示。

分为硬件通讯层、指令协议解析层、行为层和决策层。

目前,我们所拥有的FStar软件平台为2.2.1版,软件源码开放,因此,我们可以在现

有的系统功能上增添或修改相关的功能函数,以更好的满足实验设计的要求。

在实验过程中,

我们也可以借助无线以太网,通过远程计算机(简称“远程PC”)进行控制。

机载PC和远

程PC都是使用FStar软件进行“未来之星”的所有功能演示操作。

在软件开发过程中,我们需要引起注意的是视频捕捉控制对象,相对其他基于IPhy基

类派生的硬件实例类有所区别。

视频捕捉控制对象是一个基于微软DirectShow技术的封装

对象,适用于所有具有WDM驱动的视频捕捉设备,以及部分VFW驱动采集卡。

对应的类

为CCaptureVideo类,该类的接口实现了视频捕捉设备的枚举和选择,以及静态图片与持续

视频流的捕捉。

同时,还预留了视频流原始数据的入口,可以很便利的对获取的视频图像进

行实时的处理。

下面以一个避碰跟球任务作为例子,了解软件系统各层次之间的调用关系。

首先,机器人启动跟球行动并开始避碰开关状态查询,摄像头采集到的图像数据和避碰

开关数据通过硬件通讯方式均返回给决策层。

决策层首先对避碰开关状态进行判断。

如果有

障碍,进入避障处理策略;如果没有障碍,进入跟球策略。

跟球策略计算得出的结果,又通

过命令解析层和硬件层,传递到机器人底层执行机构(电机)得到执行。

2.系统配置

硬件配置:

(1)“未来之星”移动机器人一台及相关附属硬件

(2)远程PC一台

(3)无线网卡两个

(4)实验用球一个

软件配置:

(1)FStar软件一套

(2)VC++6.0软件平台

(3)MicrosoftDirectX9.0软件开发工具包(SoftwareDevelopmentKit,SDK)

(4)OpenCV1.0软件开发包(SDK)

(5)相关参考资料

3.视觉系统结构

数字摄像头是一种数字视频的输入设备,利用光电技术采集影像,通过内部的电路

把这些代表像素的“点电流”转换成为能够被计算机所处理的数字信号的0和1,而不像

视频采集卡那样首先用模拟的采集工具采集影像,再通过专用的模数转换组件完成影像

的输入,数字摄像头在这个方面显得集成度更高,数字摄像头将摄像头和视频捕捉单元

做在一起。

“未来之星”机器人通过安装在其头部的CCD数字摄像头获取外界环境信息。

摄像头通过USB接口与机载PC相连。

通常来说,机器人视觉子系统至少需要有3个模块,图像获取、图像预处理和图像

处理,必要时还需要有机器学习和模式识别相关的处理环节。

典型的视觉系统处理流程

如图5所示,其中特征提取、目标检测、识别、目标跟踪属于图像处理所涵盖的内容;

特征学习、分类器设计属于机器学习与模式识别的研究范畴。

图5中间一行所标示的操作,是任何一种处理方式都需要经历的数据处理流程。

上行红色虚线箭头所示的数据交互,表示允许人工干预条件下的数据处理流程,操作者可以在图像处理的各个环节中加入经验知识。

因此,这样的数据处理方式智能化程度并不高。

下行蓝色实线箭头表示在全自动情况下的数据传输流程,相对来说,该方法的智能化水平高,但需要在实验前采集足够多的样本场景图像,以便使计算机学习得到更准确的知识。

在当今社会,对产品智能化水平要求越来越高的情况下,全自动的处理方式得到了众多研究者的重视。

在本实验中,我们希望尽量采用全自动的方式去完成。

“未来之星”机器人选用的摄像头为现代v06免驱摄像头,性能参数见表2。

该款摄像头采用新一代高科技芯片,具有10倍数码变焦的功能;高清晰,特有6灯超强夜视功能,可以通过USB线上的调节旋钮调节夜视灯的亮度,即使在较暗的环境下,也能提供良好的视

频效果;独有专利性的低照度技术具有800万豪华数码相机大镜头;可应用于工业生产监控、

机器视觉、显微图像分析、生物及医学等领域。

四.实验步骤

1、在MFC界面添加

控件,分别准备用来实现颜色识别和红球追踪功能。

2、为颜色识别控件添加函数OnButColoriden()及代码

{

SetNetData();

CStringcs;

GetDlgItemText(IDC_BUT_COLORIDEN,cs);

if(cs=="颜色识别")

{

if(m_bVideoOpen==FALSE)

return;

SetDlgItemText(IDC_BUT_COLORIDEN,"停止");

DisableAllMainBut();

GetDlgItem(IDC_BUT_COLORIDEN)->EnableWindow();

g_pCmd->SetBehavior(NULL);

m_behSeedVideo.StopVideo();

g_pCmd->SetBehavior(&m_ColorIden);

if(g_pNetVidoSed->isConnecting())

m_ColorIden.StartSendVideo(100);

m_ColorIden.m_bToStop=FALSE;

SetTimer(4,100,NULL);

if(g_info.iPcSel!

=ADV_DISTANCE_PC)

PlaySound("Data/Sound/开始颜色识别.wav",GetModuleHandle(NULL),SND_ASYNC|SND_FILENAME);

}

else

{

SetDlgItemText(IDC_BUT_COLORIDEN,"颜色识别");

m_ColorIden.m_bToStop=TRUE;

g_pCmd->SetBehavior(NULL);

m_ColorIden.StopVideo();

g_pCmd->SetBehavior(&m_behSeedVideo);

if(g_pNetVidoSed->isConnecting())

m_behSeedVideo.StartSendVideo(100);

KillTimer(4);

m_strResult="";

m_strStatu="停止识别";

UpdateData(FALSE);

if(g_info.iPcSel!

=ADV_DISTANCE_PC)

PlaySound("Data/Sound/颜色识别停止.wav",GetModuleHandle(NULL),SND_ASYNC|SND_FILENAME);

EnableAllMainBut();

}

3、为追踪红球添加函数OnButBalltrack()及代码

{

SetNetData();

CStringcs;

GetDlgItemText(IDC_BUT_BALLTRACK,cs);

if(cs=="跟踪红球")

{

if(m_bVideoOpen==FALSE)

return;

SetDlgItemText(IDC_BUT_BALLTRACK,"停止");

DisableAllMainBut();

GetDlgItem(IDC_BUT_BALLTRACK)->EnableWindow();

g_pCmd->SetBehavior(NULL);

m_behSeedVideo.StopVideo();

g_pCmd->SetBehavior(&m_BallTrack);

if(g_pNetVidoSed->isConnecting())

m_BallTrack.StartSendVideo(100);

m_BallTrack.m_bToStop=FALSE;

UCHARServe[10]={120,170,115,90,90,

60,10,65,90,90};

g_pCmd->SendArmData(Serve);

g_pCmd->AutoQueryUS(100);

SetTimer(1,100,NULL);

if(g_info.iPcSel!

=ADV_DISTANCE_PC)

PlaySound("Data/Sound/开始跟球.wav",GetModuleHandle(NULL),SND_ASYNC|SND_FILENAME);

}

else

{

SetDlgItemText(IDC_BUT_BALLTRACK,"跟踪红球");

m_BallTrack.m_bToStop=TRUE;

g_pCmd->SetBehavior(NULL);

m_BallTrack.StopVideo();

g_pCmd->SetBehavior(&m_behSeedVideo);

if(g_pNetVidoSed->isConnecting())

m_behSeedVideo.StartSendVideo(100);

g_pCmd->AutoQueryUS(0);

g_pCmd->SetBothMotorsSpeed(0,0);

KillTimer

(1);

m_strResult="";

m_strStatu="停止识别";

UpdateData(FALSE);

if(g_info.iPcSel!

=ADV_DISTANCE_PC)

PlaySound("Data/Sound/停止跟球.wav",GetModuleHandle(NULL),SND_ASYNC|SND_FILENAME);

EnableAllMainBut();

}

4、运行程序,与机器人进行远程连接,连接成功后进行颜色识别功能与红球跟踪功能。

 

五.实验心得

通过这次实验了解机器人视觉系统的基本组成与视觉计算模型。

对“未来之星”的fstar系统有了更深的理解,对于视频采集系统的组成与图象识别系统的工作原理有了更深的认识,在掌握图像生成、图像特征提取、图像分割以及目标检测与识别等与视觉处理紧密相关内容的基本原理也能够在“未来之星”机器人中相应的应用。

在C++的编程上面也有了提高,能够在fstar系统软件上进行图像的检测识别和跟踪功能。

在整体上都有了进步。

在对光线强度变化较大时图像识别不准这个问题上,还需要进一步的调试。

附件:

实际截图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1