一种机器人的目标识别方法、装置和机器人与流程

文档序号:14677857发布日期:2018-06-12 21:45阅读:205来源:国知局
一种机器人的目标识别方法、装置和机器人与流程
本发明涉及机器人
技术领域
,特别涉及一种机器人的目标识别方法、装置和机器人。
背景技术
:市面上各型机器人如雨后春笋般地涌现,机器人已越来越和人们的生活息息相关。特别是对于一些简单重复的工作,机器人的使用具有很大的优势,不但节约了宝贵的劳动力,同时节省了人力成本。随着机器人融入人们的日常的生活,在改善我们生活质量的同时,减少人力成本的付出。现有的机器人(如扫地机器人)所实现的效果是在未知空间或已知空间中往复运动及定时清理来实现打扫的,主要应用于功能要求相对不高的室内环境使用。但是,其不能实现针对性或有目的性的选择工作方式,普适性不高,降低用户的使用体验。技术实现要素:鉴于上述问题,提出了本发明的一种机器人的目标识别方法、装置和机器人,以便解决或至少部分地解决上述问题。根据本发明的一个方面,提供了一种机器人的目标识别方法,该方法包括:接收机器人的图像采集装置采集的视频流;将视频流中的视频图像输入图像识别模型中,标示出指定目标在视频图像中的目标区域,获取目标区域的位置信息;图像识别模型是根据指定目标的正样本图片集和负样本图片集,通过机器学习的方法获得的;根据目标区域的位置信息,控制机器人向指定目标处移动,直至移动至指定目标处。根据本发明的另一个方面,提供了一种机器人的目标识别装置,该装置包括:接收单元,用于接收机器人的图像采集装置采集的视频流;模型获取单元,用于根据指定目标的正样本图片集和负样本图片集,通过机器学习的方法获取图像识别模型;标示单元,用于将视频流中的视频图像输入图像识别模型中,标示出指定目标在视频图像中的目标区域,获取目标区域的位置信息;控制单元,用于根据目标区域的位置信息,控制机器人向指定目标处移动,直至移动至指定目标处。根据本发明的又一个方面,提供了一种机器人的目标识别装置,装置包括存储器和处理器,存储器和处理器之间通过内部总线通讯连接,存储器存储有能够被处理器执行的计算机程序,计算机程序被处理器执行时能够实现前述的方法步骤。根据本发明的再一个方面,提供了一种机器人,机器人包括如前的目标识别装置。综上所述,本发明技术方案是接收机器人的图像采集装置采集的视频流后,将视频流中的视频图像输入图像识别模型中,标示出指定目标在视频图像中的目标区域,获取目标区域的位置信息;根据目标区域的位置信息,控制机器人向指定目标处移动,直至移动至指定目标处,以便对指定目标进行预设的处理或操作。通过本技术方案,机器人可以对指定目标进行处理或操作,实现有针对性或有目的性的选择工作方式,具有普适性,增强用户体验。附图说明图1为本发明一个实施例提供的一种机器人的目标识别方法的流程示意图;图2为本发明一个实施例提供的一种负样本图片集的获取方法流程示意图;图3为本发明一个实施例提供的一种机器人识别烟头的方法流程示意图;图4为本发明一个实施例提供的一种机器人的目标识别装置的功能结构示意图;图5为本发明另一个实施例提供的一种机器人的目标识别装置的功能结构示意图;图6为本发明一个实施例提供的一种机器人的功能结构示意图。具体实施方式本发明的设计思路是:利用图像识别模型识别机器人采集的视频流中的指定目标,并根据指定目标在视频图像中的目标区域的位置,控制机器人向指定目标移动,以便对指定目标进行预设的处理或操作,实现机器人的有针对性或有目的性的选择工作方式。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。图1为本发明一个实施例提供的一种机器人的目标识别方法的流程示意图。如图1所示,该方法包括:步骤S110,接收机器人的图像采集装置采集的视频流。本实施例中的图像采集装置可以是机器人上设置的摄像头,视频流是由多帧视频图像组成。步骤S120,将视频流中的视频图像输入图像识别模型中,标示出指定目标在视频图像中的目标区域,获取目标区域的位置信息;图像识别模型是根据指定目标的正样本图片集和负样本图片集,通过机器学习的方法获得的。本实施例中的正样本图片集是指包含指定目标的图片集,负样本图片集是不包含指定目标的图片集。这里的图像识别模型是根据正样本图片集和负样本图片集机器学习获得的,通过对正样本图片集的机器学习可以获得指定目标的多种状态下的特征。那么,将机器人实时获取的视频流输入图像识别模型中,就会将视频流中的视频图像中的指定目标识别出来,得到指定目标在视频图像中的目标区域和位置信息。在本实施例中,采用机器学习的方式获取图像识别模型。并结合OpenCV实现对视频流中的视频图像的识别和处理。其中,OpenCV(一个基于BSD许可发行的跨平台计算机视觉库)作为图像处理的函数库来进行图像的识别和处理。机器学习能够根据采样的素材进行训练,使得OpenCV能够根据训练的结构来识别待检测的指定目标。步骤S130,根据目标区域的位置信息,控制机器人向指定目标处移动,直至移动至指定目标处。为了控制机器人可以准确的移动到指定目标处,需要获得机器人相对指定目标的距离,即视频图像中的目标区域的深度图像信息,然后根据该深度图像信息,机器人可以获知自身距离指定目标还有多远。本实施例中的位置信息中包括有深度图像信息,那么本实施例中的图像采集装置即是可以采集深度信息的图像采集装置,例如RGBD摄像机。当获得目标区域的位置信息后,机器人可以获知自身距离指定目标的远近以及指定目标在自身的偏左、偏右或者正对的位置,进而可以向指定目标移动。需要说明的是,本实施例中的指定目标是预先设定的,即图像识别模型的获取阶段需要根据指定目标的信息进行获取,例如,指定目标是烟头,那么在图像识别模型获取时就利用烟头的正样本图片集和负样本图片集进行机器学习获得。可见,通过本实施例,机器人可以对指定目标进行处理或操作,实现有针对性或有目的性的选择工作方式,具有普适性,增强用户体验。如果说要实现对指定目标的识别,可以采用传统的图像识别方式进行。例如,模板匹配或特征提取等,但是,这种方法是基于对待识别的目标有比较清晰的刻画才可以实施,在现实应用中,指定目标不可避免会出现形状、尺寸导航的变形和不统一(例如烟头,最终的形状和长短均不统一,烟头的有扁的、掐过的等不同形状,有的烟头有不同的颜色和粗细之分),则无法采用这用方式进行识别。再者,采用传统的视频流的图像识别方式,会对视频流中的每一帧都进行图像识别和处理,会大大占用系统的处理资源。所以,采用传统的图像识别会导致指定目标的识别率不高,甚至识别不到指定目标,以及占用大量的系统处理资源,降低识别效率。本实施例是基于统计或概率的方法,结合机器学习,依据图像识别模型对指定目标在视频图像中的目标区域进行识别,提高指定目标的识别准确度,使得系统处理资源得到合理利用,增强用户体验。在本发明的一个实施例中,步骤S120中的图像识别模型是根据指定目标的正样本图片集和负样本图片集,通过机器学习的方法获得的,即根据指定目标的正样本图片集和负样本图片集,通过机器学习的方法获得图像识别模型。具体包括:获取指定目标的正样本图片集,以及获取指定目标的负样本图片集;根据正样本图片集和负样本图片集,创建样本描述文件;将样本描述文件输入预设机器学习模型中进行机器学习,获得图像识别模型。在获得正样本图片集和负样本图片集后,需要创建样本描述文件。该样本描述文件的扩展名为.txt(文本文件格式)。此格式需按照OpenCV中所规定的格式编写,文本文件中每一行代表了对一张图片的具体描述,每张图片的具体描述是由不同的参数所指定的,各个参数间是通过空格来分隔,参数的数量会根据实际使用情况而有所不同。在本实施例中,文件中第一个参数为样本图片的文件名,第二个参数标注了图片中正样本图片的数量,第三个参数表明指定目标在正样本图片中的相对图片原点位置的坐标,第四个参数为所确定的感兴趣区域的轮廓大小,由于方案中只对正样本素材感兴趣,因此我们只导入正样本图片的描述文件作为OpenCV创建样本过程的输入源,并使用OpenCV自带的内建函数“创建样本”函数(opencv_createsexample.exe)生成正样本图片集的输出文件(以.vec为扩展名的二进制文件),此过程完成后会在命令行提示创建成功的样本数,以及会获得名称为“pos.vec”的正样本输出文件。表1示出了根据样本图片集创建的样本描述文件。表1图片名称样本数量样本距离原点的像素坐标样本轮廓的像素大小如表1所示,在该样本描述文件中包含了描述样本图片的具体参数信息:图片名称、样本数量、样本距离原点的像素坐标和样本轮廓的像素的大小。在一个具体的例子中,指定目标是烟头,创建的样本描述文件中的其中一行包括:pos_image/smoke0.bmp、1、(10,10)、20*20,也就是说,这行描述的样本图片的图片名称是pos_image/smoke0.bmp,从该图片中获取的样本数量是1,样本距离原点的像素坐标是(10,10),样本轮廓的像素大小是20*20;以及,另一行包括:pos_image/smoke1.bmp、1、(15,15)、20*20,也就是说,这行描述的样本图片的图片名称是pos_image/smoke1.bmp,从该图片中获取的样本数量是1,样本距离原点的像素坐标是(15,15),样本轮廓的像素大小是20*20。这里的感兴趣区域,简称ROI,RegionOfInterest,指机器在图像、视频处理过程中,从被处理的图像或视频中以特定形状(如方框、圆等)圈定/勾出需要处理的区域,作为处理关注的重点,本方案主要是包括待追踪物体的区域。追踪感兴趣区域,可以减少从图像/视频中识别物体的时间,且能提高识别精度。在创建样本描述文件后,需要对样本描述文件进行样本训练。采用opencv_haartraning.exe可执行程序,其封装了“Harr特征提取”和“adaboost分类器”的训练过程,这里的“adaboost分类器”包含多级子分类器。本实施例中,Haar-like特征提取采用线性特性、边缘特征、点特征和对角线特征一体的特征检测方式,可以使得对于小型物体,例如烟头,有更好地识别效果,因为小物体的检测容易受到类似物体的干扰,如果有形状差不多的物体,例如石子都可能被当成烟头来处理,所以四种方式融合的特征检测将会最大限度地提升物体特征的识别度。执行完这个程序后,将会输出adaboost分类器的配置参数文件(.xml)文件,该文件用于合并adaboost分类器的各级子分类器并最终输出的训练文件。本实施例中,正样本数目为100个,负样本数目为12936个,因此在训练结果的目标文件夹下,有9级训练(即9级子分类器)的深度,足够识别一定形状和不同种类的指定目标了。上述的负样本图片集是不包含指定目标的图片集,可以采用不包含指定目标的任何图片,例如天空、河流、山川等。由于很多时候机器人都会有特定的工作区域,在特定工作区域,其负样本相对固定些,如,咖啡店的扫地机器人,会在特定的地面环境中进行清扫工作,影响其工作中对指定目标的识别的负样本可能是地板背景等,则上述的直接利用天空、河流等作为负样本图片集进行训练,提取对应负样本的特征,并不适用,在后续识别指定目标的过程中,大大增加其运算量,因此,直接使用该地板背景进行训练,得到不包含指定目标的地板背景图片集作为负样本图片集,在后续识别该工作区域的指定目标的过程中,不仅实用,且能减少运算量。在本发明的一个实施例中,图1所示的方法中的负样本图片集是从指定工作区域的图片中获取的。例如,在咖啡店的工作区域,就采用该咖啡店工作区域中的多张地板图片作为负样本图片集。这样,可以使获得图像识别模型的准确度,进而可以提高识别的准确性和速度,降低运算难度。具体地,上述的获取指定目标的正样本图片集包括:获取多个包括指定目标的第一图片,识别出指定目标在获取的各第一图片中的正样本区域,对正样本区域进行归一化处理,将识别出的各正样本区域缩放到预设像素大小,将缩放后的各正样本区域作为指定目标的正样本图片集。在本实施例中,一般选用一些局部的图片,并且最好能够转化为灰度图(所谓灰度图就是取消彩色背景的图片)。然后通过软件ObjectMarker来标记待识别物体在整张图片中的位置和物体的大小,标记的结果会显示出识别物体相对于图片左上角(原点)的偏移位置x和y坐标,以及物体的大小(以像素大小为单位),为了后面通过机器进行更好地训练,确定指定目标在图片中的尺寸最好是正方形大小。随后通过绘图软件进行归一化处理,将从图像中扣取的正样本的图片的大小通过批量修改的方式缩放到预设像素(如OpenCV中图片训练的推荐尺寸是20x20像素单位)大小。具体地,上述的获取指定目标的负样本图片集包括:获取一个未包括指定目标的第二图片;对获取的第二图片进行灰度化处理;利用随机函数随机产生一位置坐标,根据位置坐标从灰度化处理后的第二图片中分割出预设像素大小的区域,得到一个负样本图片;继续利用随机函数随机产生一位置坐标,并根据位置坐标从灰度化处理后的第二图片中分割出预设像素大小的区域,再得到一个负样本图片,直至从灰度化处理后的第二图片中随机获取到预设数目个负样本图片,将获取的预设数目个负样本图片作为指定目标的负样本图片集。本实施例中的未包括指定目标的第二图片可以是上述的第一图片中的未包含指定目标的区域,便于提高样本图片集的提取速率,降低运算难度。这里的预设像素大小与正样本图片集获取中的预设像素大小一致,如OpenCV中图片训练的推荐尺寸是20x20像素单位。另外,就基于机器学习训练的方法来识别指定目标的方式来说,所使用的负样本图片集最好在几千至上万张以上,负样本图片集的数量越大,物体识别的准确度越得到提升,借于如此庞大的负样本图片的需求,因此在本实施例中,编写代码并利用计算机的高速运算能力来随机产生如此规模的图片集,即循环提取负样本图片,直至负样本图片的数量达到预设数目个为止。图2为本发明一个实施例提供的一种负样本图片集的获取方法流程示意图。如图2所示,步骤S210准备一张负样本的背景图片(除去烟头以外的背景地面图片),作为原始背景图片,然后步骤S220对背景图片进行灰度化处理;步骤S230利用随机函数(如,windows自带的rand()函数)在背景图上随机产生图片坐标;步骤S240以该图片坐标为定点或者为中心,分割出像素大小为20x20的图片,分割出的图片就是一个负样本图片;步骤S250并保存成为.bmp的图片格式;步骤S260负样本图片的获取次数加1,并判断是否完成10000次,若判断为是,则步骤S270结束处理。若判断为否,返回至步骤S230。即利用循环迭代操作,重复运行上万次后就产生了上万张的负样本图片集。本实施例,可以充分利用图片素材,提高样本图片集的提取速率,降低运算难度,有利于指定目标的识别准确度。在本发明的一个实施例中,在获得图像识别模型后,为了确定图像识别模型是否可用,则图1所示的方法进一步包括:向图像识别模型中输入包括指定目标的图片,判断图像识别模型是否可以标示出指定目标在图片中的目标区域;若判断为是,则图像识别模型可用,否则图像识别模型不可用。本实施例可以保证通过机器学习获得的图像识别模型的有效性,以保证在实际应用中对指定目标的识别率,进一步增强用户的使用体验。将摄像头采集的视频流或者图片输入获取的图像识别模型中,可以确定如果图片或视频中涵盖了指定目标,会自动产生一个轮廓标记,标示识别出来待检测的物体。由于该训练的方式是基于概率的方法,因此对于视频中出现的多个指定目标也能够轻松识别。在本发明的一个实施例中,图1所示的步骤S120中的将视频流中的视频图像输入图像识别模型中,标示出指定目标在视频图像中的目标区域,获取目标区域的位置信息包括:将视频流中的视频图像输入图像识别模型中,当标示出指定目标在第一帧视频图像中的目标区域时,设置一标示框,使目标区域包含在标示框内,获取第一帧视频图像中的目标区域的位置信息;提取目标区域的关键点信息,其中关键点信息指示目标区域中亮度梯度最大区域的位置信息;根据关键点信息,判断第一帧视频图像的之后的第二帧视频图像中的标示框中是否包括目标区域;若判断为否,则将第二帧视频图像重新输入图像识别模型中,再次标示指定目标在第二帧视频图像中的目标区域,获取第二帧视频图像中的目标区域的位置信息;若判断为是,则确定标示框中包括第二帧视频图像的目标区域,将第一帧视频图像中的目标区域的位置信息作为第二帧视频图像的目标区域的位置信息。这里的关键点信息指示目标区域中亮度梯度最大区域的位置信息,即当视频图像中与前一张视频图像中的亮度变化最大的区域的位置信息。从视频流的原理上看,视频是由多帧的图片动态组成的,如果计算机试图一遍遍地在每一帧上检测到指定目标,这不仅占用了大量的CPU资源,有时候也会可能无法检测到物体。本实施例中,根据关键点信息对目标区域进行跟踪,避免对每一张视频图像进行识别,减少系统处理资源的浪费,提高识别的准确度和效率。因此,可以先检测到指定目标在视频图像中的目标区域,检测目标区域的关键点信息,然后再通过光学流的方式来跟踪这些关键点信息。这种检测方式对于指定目标的检测只需要一次就可以,也就是最初识别到指定目标的那一刻。从实际运行的效果来看,当视频中出现指定目标后,摄像头能够捕获视频中的指定目标并标记一个轮廓,然后在被标记的轮廓中检测目标区域的关键点信息,然后通过后续帧和光学流跟踪的方式使得机器人不断修正角度和行径路线来靠近该指定目标。其中,利用Haar-link进行特征检测。Haar-like侦测器能够扫描图像中的指定目标,寻找从上一帧到下一帧相对容易跟踪的较小的图像特征。这些特征被称为关键点或者兴趣点。关键点往往是在多个方向上亮度变化强的区域,例如指定目标和地面背景来说,指定目标形状的边缘与地面的交汇区在图像中对应的像素在所在方向上的亮度变化最强,如果不考虑尺寸和旋转的因素的话,像这样的区域中心就是该图像的关键点,也就是很可能被再次检测到的指定目标位置不变的点。此方案中,使用了OpenCV中的goodfeature特征检测函数来查找视频图像中的关键点信息。上述说明中,提出了根据关键点信息跟踪的方式进行。具体地,跟踪关键点,设定一个图像感兴趣的区域,如果指定目标出现在这个区域中将会以绿色圆点的形式出现在图像上,如果尝试移动指定目标或摄像头,那么这些关键点应该会跟随对象,可以从图中看到随着指定目标的移动,这些指定目标上的关键点会随着指定目标的移动而移动,至此,指定目标的跟踪就可以依靠这些信息来完成了。利用光流法进行对于指定目标的跟踪是基于上述关键点检测的,通过OpenCV中的Lucas-kanade(简称LK法)光学流函数可以对检测出的关键点来一帧一帧地跟踪对象使用。从当前的图像帧和已经提取的关键点开始,每个关键点有个一个位置(x和y坐标)和周边图像的像素的领域。在下一图像帧,LK法使用最小二乘法来就一个恒速的变换,这个变换将上一图像帧中的选定领域映射到下一图像帧。如果最小二乘误差对于给定的领域不超过某个阀值,则假定它与第一帧中的领域相同,我们给它分配的相同关键点到该位置;否则关键点被丢弃。请注意,这里不是在后续的帧提取新的关键点。而是用LK计算原始关键点位置,以这种方式,只提取第一帧的关键点,然后当对象在镜头前移动的时候,一帧帧地跟随着这些关键点,进而实现目标区域的跟踪。在本发明的一个实施例中,步骤S120中的获取目标区域的位置信息包括:获取目标区域的中心点相对于各帧图像的左上角的横纵距离;以及,根据目标区域中的各像素点的景深的深度信息,获取目标区域的平均深度信息。则步骤S130中根据目标区域的位置信息,控制机器人向指定目标处移动包括:根据获取的横纵距离,控制机器人向左或者向右移动,同时根据获取的目标区域的平均深度信息,控制机器人向靠近指定目标的方向移动,直至机器人移动至指定目标处。例如,要保证目标区域的中心保持在机器人摄像头的镜头中心,该中心距离图像的左上角的横纵距离是(10,10),如果确定的目标区域的中心点相对于各帧图像的左上角的横纵距离是(5,10),那么就需要机器人向左移动5个单位的距离,再例如,获取的目标区域的平均深度信息是10,那么就需要机器人向前(向指定目标)移动10个单位的距离。本实施例中,利用深度摄像机追踪物体距离感兴趣区域距离物体的偏移量和摄像机识别出物体的深度信息来控制机器人左右旋转和前后移动的。在本实施例中,x坐标轴是水平指向右的,y坐标轴是垂直指向下的,所依靠的深度信息所指的z坐标轴是从摄像机指向外的方向。结合前述的物指定目标识别、关键点检测和光学流跟踪的方法,在任何情况下,结果都是一个感兴趣的ROI区域,在这个区域跟随物体并且在ROS话题下/roi主题发布相应的信息。同时,由于本实施例中摄像头是安装在固定底盘上,因此通过/roi话题中的x_offset参数坐标来衡量物体是否在视图区域的中心,如果物体偏移了这个ROI区域,通过旋转机器人来补偿这个偏移量,使得机器人始终保持在这个区域的中心位置,换句话说,当物体移动时机器人会左转或者右转来跟踪物体了,反映到底盘的具体控制指令就是给角速度(angular)赋正、负的角速度值。使机器人跟踪物体前进或后退的操作依靠的是摄像头的深度信息(由于采用了RGBD摄像机,可以发布深度图像信息),方案中通过OpenCV并订阅发布自OpenNI摄像机节点的深度图像,图像中每个“像素”都以毫米为单位保存了兴趣点的深度数值,因此需要把这些参数除以1000得到以米为单位的结果,从而可以计算出到ROI区域的一个平均距离,这能反映目标物体到摄像机的距离,通过判断距离信息可以通过机器人距离物体的距离的期望设定值来控制机器人前进或者后退,反映到底盘的具体控制命令就是给线速度(linear)赋正、负线速度值。在一个优选的实施例中,上述的各实施例可以应用在扫地机器人中,使得该机器人完成对烟头的清扫工作。最近几年,随着国家尤其地方对于控烟力度的加大,公共场合的吸烟得到了有效地控制,不但进行了大力的宣传,同时也立法制止公开的吸烟行为。但为了考虑到烟民的基础仍然广大,控烟行为是个很长久的斗争,因此,在一些空旷和通风良好地地方,市政设立了公共吸烟区,规范了吸烟的范围和人群。因此,也就需要扫地机器人对吸烟区的烟头进行清扫,即指定目标是烟头。如果使用现有技术中的家用扫地机器人,其采用的传感器均为室内设计,例如红外传感器和激光雷达,其本质上均是靠红外线的发射和反射原理,易受外界可见光和户外强光照射干扰,导致机器人无法准确定位或误判断,在室外应用时有较大的局限性。另外,其扫地原理均是通过已知构建的地图或随机区域进行作业,一般能通过算法避免在同一区域的重复清理,但如果一片未知区域即使没有清扫物,机器人所到之处均进行清理作业,不但清理效率低下,同时也浪费了整机的功耗。因此,在本优选实施例中,针对这个特定场所和现象,将上述的各实施例应用在扫地机器人中,可以使得机器人自动回收烟头,该机器人在吸烟区域不断巡检并能通过摄像头准确识别烟头后并进行自主清理的操作,不但美化了吸烟区域,同时也能够减少了人力清洁的成本。图3为本发明一个实施例提供的一种机器人识别烟头的方法流程示意图。如图3所示,步骤S310准备训练样本,这里的训练样本包括:正样本图片集是n张包含烟头的图片,以及负样本图片集是从一张或多张正样本图片集中的非烟头区域获得的。步骤S320将训练样本生成描述文件。步骤S330根据训练样本描述文件进行训练,以获得图像识别模型(.xml格式文件)。结合OpenCV技术,采用机器训练的方式来获得图像识别模型。步骤S340目标区域识别,即将机器人深度摄像头采集的视频流的视频图像输入该图像识别模型中,识别烟头在视频图像中的目标区域。步骤S350关键点检测,对于识别出的目标区域,采用OpenCV中的内建函数goodFeature函数对于目标区域进行关键点或兴趣点的信息的检测和标记。步骤S360光学流跟踪,通过光学流法(Lucas-Kanada最小二阶乘法)跟踪步骤S350中的关键点,进而实现对于烟头的跟踪,直至机器人移动至烟头处,通过机械手将烟头拾起。相比于传统的扫地机器人无法主动识别物体,而是通过清理所到达区域的方式清理“力所能及”范围内的废弃物的清理方式相比,上述的捡烟头的机器人的方案,机器人可以准确识别烟头,并检测烟头距离机器人的具体位置进行有针对性的清理,不会对其它物体有误检测和识别,清理效率更高。同时,采用本技术方案的机器人不仅能够检测指定目标,同时能够自主移动到被检测的目标,并最终结合机械臂或清理机构进行打扫工作,因此,清理效率更加高效,减少了机器人的电量消耗。采用训练方式识别的烟头能够兼容识别同种类的烟头,而无需针对特定形状,特定颜色的烟头进行单独区分,减少了识别物体的难度,对于提升识别准确度有着更好的效果。需要说明的是,本技术方案应用在捡烟头的机器人上仅仅是一个优选的实施例。本技术方案可以识别各种感兴趣的指定目标,无需针对不同物体或不同场景单独开发图像识别的算法,因此大大增加了应用的范围,项目拓展性较好。图4为本发明一个实施例提供的一种机器人的目标识别装置的功能结构示意图。如图4所示,该机器人的目标识别装置400包括:接收单元410,用于接收机器人的图像采集装置采集的视频流。模型获取单元420,用于根据指定目标的正样本图片集和负样本图片集,通过机器学习的方法获取图像识别模型。标示单元430,用于将视频流中的视频图像输入图像识别模型中,标示出指定目标在视频图像中的目标区域,获取目标区域的位置信息。控制单元440,用于根据目标区域的位置信息,控制机器人向指定目标处移动,直至移动至指定目标处。在本发明的一个实施例中,图4所示的装置还包括:模型获取单元,具体用于获取指定目标的正样本图片集,以及获取指定目标的负样本图片集;根据正样本图片集和负样本图片集,创建样本描述文件;将样本描述文件输入预设机器学习模型中进行机器学习,获得图像识别模型。在本发明的一个实施例中,模型获取单元420,用于从指定工作区域的图片中获取负样本图片集。在本发明的一个实施例中,模型获取单元420,用于获取指定目标的正样本图片集,包括:获取多个包括指定目标的第一图片,识别出指定目标在获取的各第一图片中的正样本区域,对正样本区域进行归一化处理,将识别出的各正样本区域缩放到预设像素大小,将缩放后的各正样本区域作为指定目标的正样本图片集。模型获取单元420,用于获取指定目标的负样本图片集,包括:获取一个未包括指定目标的第二图片;对获取的第二图片进行灰度化处理;利用随机函数随机产生一位置坐标,根据位置坐标从灰度化处理后的第二图片中分割出预设像素大小的区域,得到一个负样本图片;继续利用随机函数随机产生一位置坐标,并根据位置坐标从灰度化处理后的第二图片中分割出预设像素大小的区域,再得到一个负样本图片,直至从灰度化处理后的第二图片中随机获取到预设数目个负样本图片,将获取的预设数目个负样本图片作为指定目标的负样本图片集。在本发明的一个实施例中,标示单元430用于,将视频流中的视频图像输入图像识别模型中,当标示出指定目标在第一帧视频图像中的目标区域时,设置一标示框,使目标区域包含在标示框内,获取第一帧视频图像中的目标区域的位置信息;提取目标区域的关键点信息,其中关键点信息指示目标区域中亮度梯度最大区域的位置信息;根据关键点信息,判断第一帧视频图像的之后的第二帧视频图像中的标示框中是否包括目标区域;若判断为否,则将第二帧视频图像重新输入图像识别模型中,再次标示指定目标在第二视频图像中的目标区域,获取第二帧视频图像中的目标区域的位置信息;若判断为是,则确定标示框中包括第二帧视频图像的目标区域,将第一帧视频图像中的目标区域的位置信息作为第二帧视频图像的目标区域的位置信息。在本发明的一个实施例中,标示单元430用于,获取目标区域的中心点相对于各帧图像的左上角的横纵距离;以及,根据目标区域中的各像素点的景深的深度信息,获取目标区域的平均深度信息。控制单元440,用于根据获取的横纵距离,控制机器人向左或者向右移动;同时根据获取的目标区域的平均深度信息,控制机器人向靠近指定目标的方向移动,直至机器人移动至指定目标处。图5为本发明另一个实施例提供的一种机器人的目标识别装置的功能结构示意图。如图5所示,机器人的目标识别装置500包括存储器510和处理器520,存储器510和处理器520之间通过内部总线530通讯连接,存储器510存储有能够被处理器520执行的机器人的目标识别的计算机程序511,该机器人的目标识别的计算机程序511被处理器520执行时能够实现图1中所示的各实施例的方法步骤。在不同的实施例中,存储器510可以是内存或者非易失性存储器。其中非易失性存储器可以是:存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。内存可以是:RAM(RadomAccessMemory,随机存取存储器)、易失存储器、非易失性存储器、闪存。进一步,非易失性存储器和内存作为机器可读存储介质,其上可存储由处理器520执行的机器人的目标识别的计算机程序511。图6为本发明一个实施例提供的一种机器人的功能结构示意图。如图6所示,该机器人600包括如4或图5所示的机器人的目标识别装置610。需要说明的是,图4或图5所述的装置和图6所示的机器人的各实施例与图1所示的方法的各实施例对应相同,上文已有详细说明,在此不再赘述。综上所述,本发明技术方案是接收机器人的图像采集装置采集的视频流后,将视频流中的视频图像输入图像识别模型中,标示出指定目标在视频图像中的目标区域,获取目标区域的位置信息;根据目标区域的位置信息,控制机器人向指定目标处移动,直至移动至指定目标处,以便对指定目标进行预设的处理或操作。通过本技术方案,机器人可以对指定目标进行处理或操作,实现有针对性或有目的性的选择工作方式,具有普适性,增强用户体验。以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1