本发明涉及机器人的技术领域,特别是涉及一种物体识别方法、机器人以及计算机可读存储介质。
背景技术:
随着科技的发展,图片的物体识别技术在人们的生活中应用的越来越广泛。人们只要对物体进行拍摄并上传到云端识别,就能够获得从云端反馈回来的物体的分类信息,方便快捷。同时,图片的物体识别这项技术在机器人这一领域中也开始逐步应用起来。
目前,市面上大多数落地的机器人物体识别功能都设置在云端,机器人先通过本地摄像头获取待识别物体的图片,再将待识别物体的图片进行上传并传至云端,云端接收到图片后,再对图片进行识别,最后返回识别结果给机器人。
然而,设置在云端的物体识别方法存在如下问题:当存在网络延时时,物体识别功能体验性不好,识别过程较慢;而当没有网络时,设置在云端的物体识别功能便无法使用;同时,机器人自身的运动和所处的环境等因素都会提高物体识别结果的不准确率,比如:机器人的运动导致摄像头所拍摄的图像十分模糊,机器人所识别的物体处于逆光环境中以及机器人所处的环境灯光非白色等等因素。
技术实现要素:
本发明提供一种物体识别方法、机器人以及计算机可读存储介质,以提高机器人物体识别功能的物体识别结果的准确率。
为解决上述技术问题,本发明提供一种物体识别方法,物体识别方法应用于机器人,其中,物体识别方法包括:机器人获取到待识别物体的图片,判断图片是否符合预设条件;如果图片符合预设条件,对图片中的待识别物体进行识别,确定图片的前景置信度以及待识别物体相对于每一种物体类别的置信度;根据前景置信度与待识别物体相对于每一种物体类别的置信度确定并输出图片中的待识别物体的物体类别。
其中,如果图片符合预设条件,对图片中的待识别物体进行识别,确定图片的前景置信度以及待识别物体相对于每一种物体类别的置信度的步骤包括:如果图片符合预设条件,利用离线物体识别算法对图片中的待识别物体进行识别,确定图片的前景置信度以及待识别物体相对于机器人可识别物体类别中的每一种物体类别的置信度。
其中,根据前景置信度与待识别物体相对于每一种物体类别的置信度确定并输出图片中的待识别物体的物体类别的步骤具体包括:如果前景置信度达到前景阈值,判断物体类别的置信度中最大的置信度是否达到类别阈值;如果达到类别阈值,输出置信度最大的物体类别;如果未达到类别阈值,输出指定内容。
其中,物体识别方法还包括:如果前景置信度未达到前景阈值,输出指定内容。
其中,机器人获取到待识别物体的图片,判断图片是否符合预设条件的步骤包括:判断图片的清晰度、色度以及亮度是否满足各自对应的预设条件;如果图片的清晰度、色度以及亮度均满足各自对应的预设条件,确定图片符合预设条件。
其中,物体识别方法还包括:如果图片的亮度不满足其对应的预设条件,判断亮度是否在预设处理阈值范围内;如果亮度在预设处理阈值范围内,通过高动态范围图像对图片进行处理后,确定图片符合预设条件。
其中,判断图片的清晰度、色度以及亮度是否满足各自对应的预设条件的步骤之前还包括:将图片转换成rgb格式,并将转换后的图片进行裁剪,去除边缘背景。
其中,将图片转换成rgb格式,并将转换后的图片进行裁剪,去除边缘背景的步骤之后还包括:将图片的大小进行调整,以符合离线物体识别算法的预设计算大小。
为解决上述技术问题,本发明还提供一种机器人,机器人包括:处理器和存储器,存储器中存储待识别物体的图片以及可识别物体类别,处理器用于执行上述的物体识别方法。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有程序数据,程序数据能够被执行以实现上述的物体识别方法。
本发明的有益效果是:区别于现有技术的情况,本发明先判断待识别物体的图片是否符合预设条件,当图片符合预设条件后再对其进行识别,并确定图片的前景置信度和待识别物体相对于每一种物体类别的置信度,且当前景置信度与物体类别的置信度中最大的置信度均大于其对应的预设阈值,将最大的置信度对应的物体类别确定为待识别物体的类别。通过上述方式,本发明能够在一定程度上解决了因机器人自身运动和环境因素导致的识别结果不准的问题,提高机器人物体识别的准确率。
附图说明
图1是本发明提供的物体识别方法一实施例的流程示意图;
图2是本发明提供的物体识别方法另一实施例的流程示意图;
图3是本发明提供的机器人一实施例的结构示意图;
图4是本发明提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明提供的物体识别方法一实施例的流程示意图。本发明的物体识别方法应用于机器人。
s11:机器人获取到待识别物体的图片,判断图片是否符合预设条件。
本实施例的物体识别功能设置在机器人上,是一种离线的物体识别技术。当机器人的主程序检测到机器人的物体识别功能被启动时,机器人通过机器人摄像头拍摄一张待识别物体的图片,并判断该待识别物体的图片的质量是否符合机器人物体识别功能的预设条件。
s12:如果图片符合预设条件,对图片中的待识别物体进行识别,确定图片的前景置信度以及待识别物体相对于每一种物体类别的置信度。
如果机器人判断出待识别物体的图片符合机器人物体识别功能的预设条件,则机器人对图片中的待识别物体进行识别,并确定图片的前景置信度以及待识别物体相对于每一种物体类别的置信度。其中每一种物体类别的置信度是指待识别物体相对于机器人可识别所有物体类别中的每一种物体类别的置信度,每一种物体类别的置信度相加等于1。而前景是指图片中待识别物体的分类是属于目标对象,如果不是目标对象则图片中待识别物体的分类是背景,也就是并非待识别物体,此处的待识别物体的分类包括:前景与背景,其中前景置信度与背景置信度相加也等于1。
其中,在统计学中,一个概率样本的置信区间(confidenceinterval)是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数的测量值的可信程度,即前面所要求的“一定概率”。这个概率被称为置信度。
s13:根据前景置信度与待识别物体相对于每一种物体类别的置信度确定并输出图片中的待识别物体的物体类别。
根据前景置信度与待识别物体相对于每一种物体类别的置信度确定并输出图片中的待识别物体的物体类别的具体步骤为:判断上一步骤得到的前景置信度是否达到前景阈值,如果前景置信度达到了前景阈值,则确定图片中存在前景也就是待识别物体这个目标对象,并进一步判断上一步骤中得到的物体类别的置信度中的最大的置信度是否达到类别阈值。如果前景置信度没有达到前景阈值,则说明图片中没有前景也就是待识别物体的图片拍摄有误,则机器人输出指定内容,指定内容包括其他类或拍摄有误等内容,可根据实际应用进行设置。其中,前景阈值与类别阈值都可以根据实际应用来设置,以满足实际应用的需求质量。
而物体类别的置信度中最大的置信度是指上一步骤中获得的待识别物体相对于机器人可识别所有物体类别中的每一种物体类别的置信度中数值最大的那一物体类别的置信度,对最大置信度进行判断,判断其是否达到类别阈值。
如果最大置信度达到了类别阈值,则将最大置信度对应的物体类别确定为待识别物体的物体类别,并输出置信度最大的物体类别。如果最大置信度没有达到类别阈值,则说明机器人可识别物体类别中没有待识别物体的物体类别,则输出指定内容,如其他类等内容。其中,类别阈值可根据实际应用情况进行设置。
通过上述方式,本发明将物体识别功能设置在机器人身上,并添加图片预处理步骤和确定并判断图片的前景置信度与每一物体类别的置信度的步骤来对待识别物体进行识别,既解决机器人可能因网络原因无法正常使用物体识别功能的问题,也对待识别物体的图片进行了有效筛选,提高识别图片的质量,在一定程度上解决了因机器人自身运动和环境因素导致的物体识别结果不准确的问题,提高机器人物体识别功能的识别准确率。
请参阅图2,图2是本发明提供的物体识别方法另一实施例的流程示意图。本发明的物体识别方法应用于机器人。
s21:机器人获取到待识别物体的图片,将图片转换成rgb格式,并将转换后的图片进行裁剪,去除边缘背景。
本实施例的物体识别功能设置在机器人上,是一种离线的物体识别技术。当机器人的主程序检测到机器人的物体识别功能被启动时,机器人通过机器人摄像头拍摄一张待识别物体的图片,并将该张待识别物体的图片的颜色格式转换成rgb格式,然后将转换成rgb格式的待识别物体的图片按照一定的比例进行裁剪,以去除掉边缘的无关背景,将处于中心位置的待识别物体保留下来,以提高识别准确率。其中,rgb色彩模式是工业界的一种颜色标准,是通过对红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,rgb即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色。
s22:将图片的大小进行调整,以符合离线物体识别算法的预设计算大小。
将裁剪完的待识别物体的图片的大小进行调整,使其符合离线物体识别算法预设大小,其中,预设大小是离线物体识别算法可支持的大小,以便后续的离线物体识别算法对待识别物体的图片进行计算。
s23:判断图片的清晰度、色度以及亮度是否满足各自对应的预设条件;如果图片的清晰度、色度以及亮度均满足各自对应的预设条件,确定图片符合预设条件。
判断待识别物体的图片的清晰度是否达到清晰度阈值,如果图片的清晰度没有达到清晰度阈值,则返回图片异常;如果图片的清晰度达到了清晰度阈值,则进一步判断待识别物体的图片的色度是否在预设色度范围内,如果待识别物体的图片的色度不在预设色度范围,则返回图片异常;如果待识别物体的图片的色度在预设色度范围,则再进一步判断待识别物体的图片的色度是否在预设亮度范围内,如果待识别物体的图片的色度在预设亮度范围内,则确定图片符合预设条件;如果待识别物体的图片的亮度不在预设亮度范围内,则进一步判断待识别物体的图片的亮度是否在预设处理阈值范围内,如果待识别物体的图片的亮度不在预设处理阈值范围内,则返回图片异常;如果待识别物体的图片的亮度在预设处理阈值范围内,则通过高动态范围图像对图片进行处理后,确定图片符合预设条件。其中,在上述过程中返回了图片异常后,会将图片异常的结果返回给机器人主程序。其中,预设处理阈值范围是指机器人能够通过高动态范围图像方式对图片进行处理,使其符合预设条件的可处理阈值范围。
其中,高动态范围图像(high-dynamicrange,简称hdr),相比普通的图像,可以提供更多的动态范围和图像细节,根据不同的曝光时间的ldr(low-dynamicrange)图像,利用每个曝光时间相对应最佳细节的ldr图像来合成合成最终hdr图像,能够更好的反映人在真实环境中的视觉效果。
s24:利用离线物体识别算法对图片中的待识别物体进行识别,确定图片的前景置信度以及待识别物体相对于机器人可识别物体类别中的每一种物体类别的置信度。
将符合预设条件的待识别物体的图片利用离线物体识别算法进行识别,并确定图片的前景置信度以及待识别物体相对于每一种物体类别的置信度。其中每一种物体类别的置信度是指待识别物体相对于机器人可识别所有物体类别中的每一种物体类别的置信度,每一种物体类别的置信度相加等于1。而前景是指图片中待识别物体的分类是属于目标对象,如果不是目标对象则图片中待识别物体的分类是背景,也就是并非待识别物体,此处的待识别物体的分类包括:前景与背景,其中前景置信度与背景置信度相加也等于1。其中,在统计学中,一个概率样本的置信区间(confidenceinterval)是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数的测量值的可信程度,即前面所要求的“一定概率”。这个概率被称为置信度。
具体地,对待识别物体相对于机器人可识别所有物体类别中的每一种物体类别的置信度进行举例说明:假设机器人可以识别出来的物体类别一共有5种:苹果、橘子、柚子、皮球以及杯子,则假设待识别物体为橘子,则待识别物体相对于机器人可识别所有物体类别中的每一种物体类别的置信度分别为:苹果3%、橘子93%、柚子4%、皮球0%以及杯子0%,机器人将自己能识别出来的物体类别的置信度全部计算出来。也就是上述五组置信度的和为1。而每一物体类别指的是机器人可识别物体类别中的每一物体类别。在实际应用中,机器人能够识别出来的物体种类并不限于此。
s25:如果前景置信度达到前景阈值,判断物体类别的置信度中最大的置信度是否达到类别阈值。
判断上一步骤得到的前景置信度是否达到前景阈值,如果前景置信度达到了前景阈值,则确定图片中存在前景也就是待识别物体这个目标对象,则进一步判断上一步骤得到的物体类别的置信度中的最大的置信度是否达到类别阈值。如果前景置信度没有达到前景阈值,则说明图片中没有前景也就是待识别物体的图片拍摄有误,则机器人输出指定内容,指定内容包括其他类或拍摄有误等内容,可根据实际应用进行设置。其中,前景阈值与类别阈值都可以根据实际应用来设置,以满足实际应用的需求质量。
而物体类别的置信度中最大的置信度是指上一步骤中获得的待识别物体相对于机器人可识别所有物体类别中的每一种物体类别的置信度中数值最大的那一物体类别的置信度,对最大置信度进行判断,判断其是否达到类别阈值。以上一步骤中举的例子进一步进行说明,设类别阈值为80%,则上一步骤中的例子里,最大置信度橘子93%则达到了类别阈值为80%。
s26:如果达到类别阈值,输出置信度最大的物体类别;如果未达到类别阈值,输出指定内容。
如果最大置信度达到了类别阈值,则将最大置信度对应的物体类别确定为待识别物体的物体类别,并输出置信度最大的物体类别。上一例子中,则是将最大置信度橘子93%对应的物体种类橘子确定为待识别物体的种类,并将种类橘子进行输出。如果最大置信度没有达到类别阈值,则说明机器人可识别物体类别中没有待识别物体的物体类别,则输出指定内容,如其他类等内容。其中,在本步骤中,无论识别结果是什么都将识别结果返回给机器人主程序。
通过上述方式,本发明将物体识别功能设置在机器人身上,并添加图片预处理步骤和确定并判断图片的前景置信度与每一物体类别的置信度的步骤来对待识别物体进行识别,既解决机器人可能因网络原因无法正常使用物体识别功能的问题,也对待识别物体的图片进行了有效筛选,提高识别图片的质量,在一定程度上解决了因机器人自身运动和环境因素导致的物体识别结果不准确的问题,提高机器人物体识别功能的识别准确率。
基于同样的发明构思,本发明还提出了一种机器人,该机器人能够被执行以实现上述任一实施例的物体识别方法,请参阅图3,图3是本发明提供的机器人一实施例的结构示意图,机器人包括处理器41以及存储器42。
其中存储器42用于存储待识别物体的图片、清晰度阈值、预设色度范围、预设亮度范围、可处理范围、前景阈值、类别阈值以及可识别物体类别特征库。
处理器41用于检测到机器人的物体识别功能被启动时,通过机器人摄像头拍摄一张待识别物体的图片,并判断该待识别物体的图片的质量是否符合机器人物体识别功能的预设条件。
如果处理器41判断出待识别物体的图片符合机器人物体识别功能的预设条件,则处理器41对图片中的待识别物体进行识别,并确定图片的前景置信度以及待识别物体相对于每一种物体类别的置信度。其中每一种物体类别的置信度是指待识别物体相对于机器人可识别所有物体类别中的每一种物体类别的置信度,每一种物体类别的置信度相加等于1。而前景是指图片中待识别物体的分类是属于目标对象,如果不是目标对象则图片中待识别物体的分类是背景,也就是并非待识别物体,此处的待识别物体的分类包括:前景与背景,其中前景置信度与背景置信度相加也等于1。
处理器41进一步判断前景置信度是否达到前景阈值,如果前景置信度达到了前景阈值,则确定图片中存在前景也就是待识别物体,则进一步判断物体类别的置信度中的最大的置信度是否达到类别阈值。如果前景置信度没有达到前景阈值,则说明图片中没有前景也就是待识别物体的图片拍摄有误,则机器人输出指定内容,指定内容包括其他类或拍摄有误等内容,可根据实际应用进行设置。其中,前景阈值与类别阈值都可以根据实际应用来设置,以满足实际应用的需求质量。
而物体类别的置信度中最大的置信度是指上一步骤中获得的待识别物体相对于机器人可识别所有物体类别中的每一种物体类别的置信度中数值最大的那一物体类别的置信度,对最大置信度进行判断,判断其是否达到类别阈值。
如果最大置信度达到了类别阈值,则将最大置信度对应的物体类别确定为待识别物体的物体类别,并输出置信度最大的物体类别。如果最大置信度没有达到类别阈值,则说明可识别物体类别中没有待识别物体的物体类别或拍摄的图片有误,则输出指定内容,如其他类或拍摄有误等内容。
通过上述方式,本发明将物体识别功能设置在机器人身上,并添加图片预处理步骤和确定并判断图片的前景置信度与每一物体类别的置信度的步骤来对待识别物体进行识别,既解决机器人可能因网络原因无法正常使用物体识别功能的问题,也对待识别物体的图片进行了有效筛选,提高识别图片的质量,在一定程度上解决了因机器人自身运动和环境因素导致的物体识别结果不准确的问题,提高机器人物体识别功能的识别准确率。
基于同样的发明构思,本发明还提出了一种计算机可读存储介质,请参阅图4,图4是本发明提供的计算机可读存储介质一实施例的结构示意图。计算机可读存储介质50中存储有至少一个程序数据51,程序数据51用于实现上述任一方法。在一个实施例中,计算机可读存储介质50包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明一方面将指令缓存和数据缓存在物理上相互分离,物理分离结构提高了数据获取的效率,且降低了微处理器的制作复杂度。另一方面,将指令缓存和数据缓存在逻辑上进行合并,相当于扩大了一级缓存的容量,从而提高了缓存命中率。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。