智能终端应用开发基础 课件 第12、13章 机器人视觉、语音功能介绍_第1页
智能终端应用开发基础 课件 第12、13章 机器人视觉、语音功能介绍_第2页
智能终端应用开发基础 课件 第12、13章 机器人视觉、语音功能介绍_第3页
智能终端应用开发基础 课件 第12、13章 机器人视觉、语音功能介绍_第4页
智能终端应用开发基础 课件 第12、13章 机器人视觉、语音功能介绍_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章

机器人视觉01.摄像头标定02.OpenCV图像处理示例03.二维码识别04.视觉目标追踪机器人视觉05.深度相机与VSLAM06.RTAB-SLAM三维建图01摄像头标定误差避免:在机器人视觉应用中,摄像头标定至关重要,它不仅关乎图像的清晰度,更直接影响物体识别的准确性和三维重建的精度,忽略标定或标定不精准都可能导致严重误差。摄像头标定:摄像头标定是矫正图像畸变的关键步骤,通过精确识别摄像头内部参数和畸变系数,可以有效消除拍摄过程中产生的几何和光学畸变,从而提升图像质量。摄像头标定与误差避免安装准备在ROS环境下,进行摄像头标定前,需确保已安装相应的功能包,如“camera_calibration”,该包提供了双目及单目摄像头标定的工具,支持多种标定板模式。ROS摄像头标定功能包启动深度相机:通过roslaunch命令启动深度相机节点,例如xtark_depthcamera.launch,并在RViz中添加三维点云显示,配置话题/camera/depth_registered/points。点云数据解析:点云数据使用sensor_msgs/PointCloud2消息类型传输,包含高度、宽度、字段、大小端顺序、点步长、行步长及数据数组等字段,支持高效存储与处理。深度摄像头捕获三维点云02OpenCV图像处理示例OpenCV图像处理示例涵盖Camshift追踪、凸多边形检测、离散傅里叶变换等,功能强大,轻松应对复杂视觉挑战。图像处理核心图像金字塔采样、相位相关位移检测、RGB颜色空间滤波、前景物体检测、图像平滑、阈值滤波等,助力精准图像分析。图像分析与处理边缘检测、人脸识别、光流计算、轮廓提取、特征追踪、颜色空间滤波、圆环与直线检测、人体识别等,一应俱全。视觉算法大全OpenCV图像处理功能清单人脸检测流程01首先通过ssh远程连接到机器人,启动机器人摄像头驱动launch文件,命令如下,roslaunchxtark_driverxtark_camera.launch。人脸识别启动02然后再新建一个终端,ssh远程连接到机器人启动人脸识别launch文件,命令如下,roslaunchxtark_opencvxtark_face_detection.launch。查看识别结果03最后再打开一个终端,在虚拟机上运行rqt_image_view图像查看节点,rosrunrqt_image_viewrqt_image_view,并选择对应的话题。人脸检测示例03二维码识别ar_track_alvar具备高效标签识别能力,速度不受标签数量增加的影响,同时自动计算标签间空间关系,无需手动测量和输入。功能包在机器人定位、导航、增强现实(AR)应用等领域具有广泛应用,能够提供精确的二维码识别和跟踪服务。功能包能识别多标签捆绑包,通过光流跟踪实现稳定姿态估计,支持自适应阈值处理,确保在各种照明条件下稳定运行。ar_track_alvar是ROS中用于二维码识别的功能包,能够生成不同大小、分辨率和编码的AR标签,并识别跟踪这些标签的姿态。ar_track_alvar应用ar_track_alvar特点ar_track_alvar优势ar_track_alvar介绍识别功能包创建二维码标签参数:createMarker工具提供了灵活的参数配置,不仅支持数字标号,还允许使用字符串、文件名、网址等作为标签编码,同时允许设置二维码尺寸。创建二维码标签:使用rosrun命令的ar_track_alvarcreateMarker工具,结合源码地址,可以轻松创建带有特定标号的二维码AR标签,并保存在当前目录下。生成二维码标签通过执行roslaunch命令启动机器人上的二维码识别程序,该程序包含在xtark_ar_track功能包中,并已配置好相机参数,实现快速识别。启动二维码识别程序在虚拟机中运行RViz可视化工具,并加载二维码识别的配置文件(如xtark_ar_track.RViz),以查看机器人摄像头捕捉到的实时图像。运行RViz查看图像在RViz界面中,当二维码标签进入摄像头视野时,ar_track_alvar功能包将识别并显示带有坐标轴的二维码图像,表明二维码的姿态已被准确识别。二维码识别结果摄像头识别二维码04视觉目标追踪KCF算法介绍KCF,全称为KernelCorrelationFilter,核相关滤波算法,在2014年由JoaoF.Henriques等人提出,以卓越的跟踪效果和速度轰动学术与工业界。KCF是一种高效的判别式跟踪算法,通过训练目标检测器,在跟踪过程中实时检测目标位置,并利用新检测结果更新训练集以优化目标检测器。采用目标周围区域的循环矩阵采集正负样本,利用岭回归训练目标检测器,并成功将矩阵运算转化为向量的Hadamard积,大大降低了运算量。线性空间的岭回归通过核函数映射到非线性空间,在非线性空间通过求解一个对偶问题和某些常见的约束,同样的可以使用循环矩阵傅里叶空间对角化。KCF算法给出了一种将多通道数据有效融入该算法的途径,使得算法能够处理更丰富的目标特征,从而提升跟踪的准确性和鲁棒性。判别式跟踪方法核函数扩展多通道数据融合正负样本采集KCF算法简介利用KCF算法,可以轻松地跟踪任意物体。目标特征越明显,表面越平整,其跟踪效果就越好。例如,跟踪一个泡沫方块或手提箱,都能获得良好的效果。机器人将会利用深度相机来获取物体离机器人的距离,并利用KCF算法使物体保持在画面正中心,机器人将会跟物体保持1.5m左右距离跟踪物体运动。通过终端输入命令$roslaunchxtark_kcf_trackerxtark_kcf_tracker.launch,即可启动KCF跟踪算法,随后呈现清晰的摄像头实时画面。机器人教学平台中的xtark_kcf_tracker程序包提供了基于KCF的物体追踪功Demo。使用VNC远程连接机器人,并打开终端准备运行KCF算法。相机应用启动KCF跟踪算法跟踪效果远程连接KCF物体跟踪算法使用05深度相机与VSLAM深度相机模拟雷达:利用深度相机单行扫描数据模拟激光雷达,实现建图导航。这种方法能降低成本,增加应用灵活性,尤其适用于复杂或动态环境。SLAM建图与导航:通过远程连接机器人,使用gmapping或karto等算法进行slam建图,随后利用导航算法实现自主导航功能,显著提升机器人智能与自主能力。深度相机模拟激光雷达ORB_SLAM简介01RB-SLAM是Zaragoza大学开发的视觉SLAM系统,使用ORB特征,支持单目、双目和RGB-D相机。它包含视觉里程计、跟踪和回环检测,实现全稀疏特征点SLAM。ORB_SLAM优缺点02优点在于代码构造优秀,适合移植;采用g2o优化减少误差;DBOW减少计算量,回环匹配和重定位效果好;关键帧筛选提高追踪鲁棒性;提供详尽实验结果展示性能。机器人ORB-SLAM建图03通过SSH连接到机器人,运行xtark_ORBSLAM.launch启动ORB_SLAM。在虚拟机上打开RViz,加载xtark_orb.RViz配置文件查看算法界面。控制机器人移动进行建图。ORB_SLAMORB-SLAM2介绍:基于单目、双目和RGB-D相机的完整SLAM方案,实现地图重用、回环检测和重新定位。它采用光束法平差优化(BA)确保轨迹精确度,并包含轻量级定位模式追踪未建图区域。机器人ORB_SLAM2建图:通过VNC连接到机器人远程桌面,运行xtark_ORBSLAM2.launch启动ORB-SLAM2。程序打开两个窗口,显示视角图片和关键点地图。初始化后,机器人被精准定位。ORB_SLAM206RTAB-SLAM三维建图RTAB-MapROS节点需要输入TF、里程计和相机输入(RGB-D或双目图像),以及校准消息;可选输入包括2D或3D激光雷达扫描或点云。MapData包含最新添加的节点和Graph,而MapGraph是无数据的纯图;此外,还可输出TF矫正过的里程计、OctoMap、稠密点云地图和2D占用栅格地图。从2013年开始,RTAB-Map已经扩展到完整的基于图的SLAM方法,被用于各种设置和应用,因此RTAB-Map已经发展成为一个跨平台的独立C++库。RTAB-Map,全称为Real-TimeAppearance-BasedMapping,是一个用于基于外观的实时建图的开源库,能够通过内存管理方法实现回环检测。输出类型回环检测输入要求RTAB-Map定义RTAB-SLAM介绍0102建图配置文件机器人使用RTAB_SLAM算法进行建图,在建图中激光雷达数据是可选的,加上激光雷达数据后算法会更精准,效果更好。启动RTAB建图通过SSH连接到机器人,执行roslaunch命令启动RTAB-SLAM深度相机建图,若需融合激光雷达数据,需切换至对应launch文件。RTAB建图界面启动成功后在虚拟机端再打开一个终端,运行RViz可视化界面,并打开rtab_mapping.RViz配置文件,即可看到RTAB-SLAM算法建图界面。3D地图在虚拟机端运行键盘控制节点,可以控制机器人移动,从而建立场景的3D地图;同时RTAB-SLAM建图带有闭环修正环节,可以提高建图精度。保存地图当完成建图后可以直接按下Ctrl+C退出建图节点,算法将会自动保存地图(RTAB-SLAM算法地图保存为*.db格式,自动保存路径为~/.ros/rtabmap.db)。030405机器人RTAB建图导航配置文件机器人使用RTAB_SLAM算法进行导航,在导航中激光雷达数据是可选的,加上激光雷达数据后算法会更精准;单独利用深度相机的launch文件为xtark_RTABSLAM_Navigation.launch。启动RTAB导航通过SSH连接到机器人,执行roslaunch命令启动RTAB-SLAM导航程序(此处选择仅使用深度相机。若需融合激光雷达数据,需切换至对应launch文件并执行相应步骤)。RTAB导航界面启动成功后在虚拟机端再打开一个终端,运行RViz可视化界面,并载入xtark_rtabnav.RViz配置文件;载入后可以看到RTAB-SLAM导航界面,从而实时掌握机器人导航状态。机器人RTAB导航启动导航后,RTAB-SLAM算法可以自动匹配机器人当前位置,无需手动标定机器人位姿;同时默认3D地图存于机器人端,RViz需点击DownloadMap从机器人端下载并显示地图。3D地图同步在远程控制机器人时,确保网络连接稳定,通过下载并显示3D地图,使用RViz工具可指定目标点;同时机器人将自动规划路径并导航至指定目标点,实现精准控制与自主导航功能。远程控制机器人RTAB导航感谢您的观看与聆听第13章

语音功能介绍Contents01.语音识别框架02.TTS文字转语音03.配置语音识别功能包04.语音识别功能包05.总结与展望01语音识别框架麦克风阵列麦克风阵列是声场采样系统,关键组件为多个声学传感器。作用包括声源定位、噪声抑制、信号提取与分离,提升语音交互体验。声源定位利用麦克风阵列计算声源距离阵列的角度,基于TDOA实现对目标声源的跟踪。精准定位,助力高效语音交互与识别。信号提取与分离在期望方向上形成一个波束,仅拾取波束内的信号,从而达到同时提取声源和抑制噪声的目的。清晰拾音,降噪无忧。硬件介绍灯光控制平台支持设置主麦编号,并具备灯光点亮和关闭功能。操作简便,提升教室氛围与教学质量。智能管理,让教学更轻松。音频获取机器人教学平台通过麦克风阵列获取原始和降噪音频,并获取唤醒角度和主麦编号。设置灵活,满足多样化教学场景。教学平台麦克风教学平台采用平面式麦克风阵列,含6个麦克风,实现360度等效拾音,唤醒分辨率达1度。配置丰富,满足教学需求。混响去除麦克风阵列配合深度神经网络,有效去除混响,提升语音交互真实感与清晰度。技术革新,让声音更加自然悦耳。硬件介绍语音识别流程根据识别系统的类型选择能够满足要求的一种识别方法,并分析出这种识别所需的语音特征参数,作为标准模式存储起来。语音特征参数在专家知识库中进行判决,最佳匹配的参考模板即为识别结果。智能高效,精准识别,让语音交互更加顺畅。专家知识库判决选择要语音特征参数,将这些特征参数的时间序列构成测试模板,再将其与已存在的参考模板逐一比较,并进行测度估计。特征参数识别02TTS文字转语音03授权信息创建应用成功后,点击语音合成界面,记录下所创建应用的APPID、APISecret以及APIKey三个信息。01注册讯飞账号打开讯飞官网,注册并登录讯飞开放平台账号,进入语音合成界面。02创建应用在语音合成界面上,输入自定义应用信息,完成应用创建,并记录APPID、APISecret和APIKey。获取讯飞授权ID在xtark_audio.yaml文件中,根据实际需求调整音频相关参数,如采样率、比特深度等,确保与语音合成API兼容。配置完成后,保存对xtark_audio.yaml文件的修改,并确保文件路径和参数设置无误,随后退出VIM编辑器。将APPID,APIKey与APISecret参数引号中的值替换为用户所创建的语音合成应用的APPID,APIKey与APISecret值。通过SSH远程连接到机器人,切换到xtark_audio/config/路径下,利用VIM编辑器打开xtark_audio.yaml文件。保存并退出替换授权信息配置音频参数配置APPID配置xtark_audio功能包语音合成功能语音合成功能支持中文与英文,可以直接发布中文语句,机器人即可朗读中文语句,实现多种语言的语音合成与播放。启动语音合成通过SSH连接到机器人,启动语音合成launch启动文件,即输入命令$roslaunchxtark_audioxtark_tts.launch。查看话题列表新建一个终端,输入命令查看当前话题列表与话题消息类型,找到/speak话题及其消息类型std_msgs/String。发布语音数据在/speak话题上发布字符串类型数据,机器人即可合成相应语音并播放。例如直接用命令行发布‘Hello,world’字符串。运行xtark_audio功能包03配置语音识别功能包替换为离线资源:删除机器人默认离线语音资源,将讯飞SDK中的离线语音资源拷贝至机器人。确保语音资源与APPID匹配,提升识别准确性。下载离线SDK:在讯飞开放平台,找到已创建的应用,下载离线命令词识别的linuxSDK。下载完成后,得到一个压缩包,解压得到资源文件。下载SDK替换资源替换APPID:用VIM编辑器打开机器人存放APPID的文件,将APPID修改为自己在讯飞开放平台创建的应用APPID,确保语音识别的准确性。替换为自定义资源:将机器人中的离线语音资源和ID替换为自定义资源。这涉及删除默认资源,并拷贝下载的语音资源至指定路径。配置语音参数语音参数说明:语音参数包括唤醒词、录音时长、置信度阈值等,这些参数可以在config文件夹中的yaml文件中进行调整,以满足不同需求。用户参数配置:用户参数文件位于语音功能包的config文件夹中,可以根据备注说明修改参数,修改后无需编辑即可直接运行launch文件启动。04语音识别功能包主麦方向刷新结合里程计记录小车偏航值,以5Hz速度检测小车相对唤醒声源的方向,自动刷新主麦方向。雷达检测障碍语音控制小车的同时雷达检测小车周围的障碍物,当小车距离最近障碍物小于0.5m,并且小车运动是逐渐靠近障碍物的时候,小车自动停下。被动休眠连续15次语音指令识别失败或者输入空指令后,自动进入休眠状态,当累计5次和10次语音指令识别失败或者输入空指令时,用户界面会分别发出提醒。功能介绍LED灯01通过LED灯指示主麦方向以及录音/识别状态,灯亮代表在当前方向的主麦被设定,并且正在录音,此时可以大声说出指令;循环识别状态下,灯灭代表正在处理音频识别中。语音唤醒02默认唤醒词为“你好小克”,在使用过程中,随时可以唤醒或再次唤醒小车,唤醒小车后自动完成唤醒声源定位,后续可以依赖该定位寻找声源。语音识别的两种模式03固定录音时间和边录音边识别。固定录音时间将音频保存为文件后识别,边录音边识别则实时送入识别引擎。机器人教学平台采用边录音边识别方式。功能介绍程序具有音频端点检测功能(VAD),能识别静音0.8秒作为音频后端点。用户可开发vad参数,参考讯飞官网文档。若持续有音频输入。音频端点检测与录音时长置信度反映降噪音频与声学模型的匹配程度,范围0-100,数值大则匹配高、结果可信。设定阈值18,大于18认为结果可信并发布,小于18显示识别失败。置信度与识别结果处理语音功能包提供了主动休眠和被动休眠两个休眠功能,主动休眠说出指令进入休眠,被动休眠是连续识别失败15次后自动进入,累计5次和10次时终端提醒。休眠模式功能介绍040506确保网络配置在运行语音控制功能包之前,需确保机器人网络配置正确,并按照上节所述配置语音控制功能包,所有命令均在机器人端运行,需通过SSH连接到机器人。通过命令启动机器人底盘导航功能包,并加载自己构建好的地图。在启动导航功能包之前,确保已按照建图导航教程完成对环境地图的建立。导航节点启动后,打开一个新终端,使用命令启动麦克风模块驱动节点。启动成功后,麦克风模块驱动会进行联网鉴权,可能会出现卡在“开机中。重新打开一个新的终端,通过命令启动语音控制节点。启动成功后,终端会提示各个语音命令词。在语音唤醒机器人后,即可使用命令词控制机器人运动。按照前文所述的TTS配置将其配置完毕,启动语音播报功能。启动成功后,当机器人收到语音命令时,将会通过语音合成进行交互提示。启动底盘导航功能包启动语音控制节点启动语音播报功能启动麦克风模块驱动使用语音识别功能包唤醒机器人在距离小车2米以内,用“你好小克”唤醒机器人。若唤醒成功会同时完成捕获唤醒声源角度并发布ROS话题信息、根据角度设定主麦并点亮LED、启动循环录音识别。循环录音识别用户不讲指令即静音状态下,LED灯会点亮约3.5秒、接着熄灭约0.3秒,循环执行。灯亮代表在LED灯方向的主麦被设定,并且正在录音,灯灭代表正在处理识别信息并输出到终端。检测不到前端点全程静音(用户不讲指令),算法在3.5秒内检测不到语音的前端点,会自动判断本次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论