发明内容
本发明要解决的技术问题是现有技术中实现目标跟随算法存在会经常跟错目标,影响跟随体验,不具备唯一性、所需计算量大,占用计算资源且易受到环境的干扰等缺陷,目的在于提供一种图像编码、识别、跟踪的方法、系统、设备和存储介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种图像编码方法,所述图像编码方法包括:
选取N个目标图形;
其中,N个所述目标图形中有至少N-1个多边图形,N为大于或者等于2的正整数;
在任意两个所述目标图形的连线的设定位置处进行编码,生成所述连线对应的编码信息;
生成包含所述编码信息和N个所述目标图形的目标图像。
较佳地,所述在任意两个所述目标图形的连线的设定位置处进行编码的步骤具体包括:
在每条所述连线的设定位置处均采用相同的所述编码信息进行编码;
其中,所述编码信息包括采用圆形和/或多边形与颜色信息相结合的方式在所述连线的设定位置处进行标注的内容。
较佳地,所述在任意两个所述目标图形的连线的设定位置处进行编码的步骤之前还包括:
将N个所述目标图形按照设定位置顺序排列设置;
所述连线为任意两个所述目标图形的中点的连线。
较佳地,N个所述目标图形均为多边图形且每个多边图形的顶点数不同。
本发明还提供一种图像的识别方法,所述识别方法利用上述的图像编码方法实现,所述识别方法包括:
获取一帧图像;
识别出所述图像中第一图形,并选取N个所述第一图形;
其中,N个所述第一图形中有至少N-1个多边图形;
在任意两个所述第一图形的连线的设定位置处进行解码,获取所述第一图形的连线对应的解码信息;
判断所述解码信息与上述的图像编码方法中的编码信息是否一致,若是,则确定包含N个所述第一图形的图像为利用上述的图像编码方法生成的所述目标图像。
较佳地,当在每条所述连线的设定位置处均采用相同的所述编码信息进行编码时,所述在任意两个所述第一图形的连线的设定位置处进行解码,获取所述第一图形的连线对应的解码信息的步骤包括:
计算任意两个所述第一图形的连线之外的其他连线中,在设定位置处具有相同的编码信息的连线数量;
确定连线数量最多时的所述第一图形中其他连线的设定位置处的所述编码信息为任意两个所述第一图形的连线的设定位置处的解码信息。
较佳地,所述选取N个所述第一图形的步骤包括:
获取每个所述第一图形的顶点数;
将具有相同的所述顶点数的所述第一图形分为一类,获取不同类别的第一图形集合;
从分类后的所述第一图形集合中选取N个所述第一图形,且N个所述第一图形的顶点数各不相同。
较佳地,所述在任意两个所述第一图形的连线的设定位置处进行解码的步骤之前还包括:
判断所述N个所述第一图形是否按照所述设定位置顺序排列设置,若是,则获取所述第一图形的中心点;
获取所述第一图形的中心点的连线形成的图形的第一中心点;
判断所述第一中心点是否在设定位置范围内,若在,则确定N个所述第一图形为N个所述目标图形;否则,确定N个所述第一图形不是N个所述目标图形。
较佳地,所述判断所述第一中心点是否在设定位置范围内,若在,则确定N个所述第一图形为N个所述目标图形;否则,确定N个所述第一图形不是N个所述目标图形的步骤包括:
计算所述第一中心点与N个所述目标图形的中心点的连线形成的图形的第二中心点之间的距离;
判断所述距离是否超过设定距离阈值,若超过,则确定N个所述第一图形不是N个所述目标图形;否则,确定N个所述第一图形为N个所述目标图形。
较佳地,当确定N个所述第一图形不是N个所述目标图形时,则从所述图像中识别出的所述第一图形中重新选取N个所述第一图形进行判断,直至确定N个所述第一图形为N个所述目标图形;
若从识别出所述图像中第一图形中选取的N个所述第一图形均不为N个所述目标图形时,则获取下一帧图像进行重新识别。
本发明还提供一种基于机器人的跟踪识别方法,所述跟踪识别方法包括:
将采用上述的图像编码方法生成的所述目标图像设置在目标对象上;
采用上述的图像的识别方法识别所述目标对象上是否包含所述目标图像,若是,则控制机器人跟踪所述目标对象;
其中,所述图像的识别方法中获取的所述图像为所述目标对象上的图像。
本发明还提供一种图像编码系统,所述图像编码系统包括目标图形获取模块、编码信息生成模块和目标图像生成模块;
所述目标图形获取模块用于选取N个目标图形;
其中,N个所述目标图形中有至少N-1个多边图形,N为大于或者等于2的正整数;
所述编码信息生成模块用于在任意两个所述目标图形的连线的设定位置处进行编码,生成所述连线对应的编码信息;
所述目标图像生成模块用于生成包含所述编码信息和N个所述目标图形的目标图像。
较佳地,所述编码信息生成模块用于在每条所述连线的设定位置处均采用相同的所述编码信息进行编码;
其中,所述编码信息包括采用圆形和/或多边形与颜色信息相结合的方式在所述连线的设定位置处进行标注的内容。
较佳地,所述图像编码系统还包括设置模块;
所述设置模块用于将N个所述目标图形按照设定位置顺序排列设置;
所述连线为任意两个所述目标图形的中点的连线。
较佳地,N个所述目标图形均为多边图形且每个多边图形的顶点数不同。
本发明还提供一种图像的识别系统,所述识别系统利用上述的图像编码系统实现,所述识别系统包括图像获取模块、图形识别模块、解码信息获取模块和第一判断模块;
所述图像获取模块用于获取一帧图像;
所述图形识别模块用于识别出所述图像中第一图形,并选取N个所述第一图形;
其中,N个所述第一图形中有至少N-1个多边图形;
所述解码信息获取模块用于在任意两个所述第一图形的连线的设定位置处进行解码,获取所述第一图形的连线对应的解码信息;
所述第一判断模块用于判断所述解码信息与上述的图像编码系统中的编码信息是否一致,若是,则确定包含N个所述第一图形的图像为利用上述的图像编码系统生成的所述目标图像。
较佳地,所述识别系统还包括计算模块和解码信息确定模块;
当所述解码信息获取模块在每条所述连线的设定位置处均采用相同的所述编码信息进行编码时,所述计算模块用于计算任意两个所述第一图形的连线之外的其他连线中,在设定位置处具有相同的编码信息的连线数量;
所述解码信息确定模块用于确定连线数量最多时的所述第一图形中其他连线的设定位置处的所述编码信息为任意两个所述第一图形的连线的设定位置处的解码信息。
较佳地,所述图形识别模块包括顶点数获取单元、图形类别获取单元和选取单元;
所述顶点数获取单元用于获取每个所述第一图形的顶点数;
所述图形类别获取单元用于将具有相同的所述顶点数的所述第一图形分为一类,获取不同类别的第一图形集合;
所述选取单元用于从分类后的所述第一图形集合中选取N个所述第一图形,且N个所述第一图形的顶点数各不相同。
较佳地,所述识别系统还包括第二判断模块、中心点获取模块和第三判断模块;
所述第二判断模块用于判断所述N个所述第一图形是否按照所述设定位置顺序排列设置,若是,则获取所述第一图形的中心点;
所述中心点获取模块用于获取所述第一图形的中心点的连线形成的图形的第一中心点;
所述第三判断模块用于判断所述第一中心点是否在设定位置范围内,若在,则确定N个所述第一图形为N个所述目标图形;否则,确定N个所述第一图形不是N个所述目标图形。
较佳地,所述第三判断模块包括计算单元和判断单元;
所述计算单元用于计算所述第一中心点与N个所述目标图形的中心点的连线形成的图形的第二中心点之间的距离;
所述判断单元用于判断所述距离是否超过设定距离阈值,若超过,则确定N个所述第一图形不是N个所述目标图形;否则,确定N个所述第一图形为N个所述目标图形。
较佳地,所述判断单元还用于当确定N个所述第一图形不是N个所述目标图形时,则从所述图像中识别出的所述第一图形中重新选取N个所述第一图形进行判断,直至确定N个所述第一图形为N个所述目标图形;
若从识别出所述图像中第一图形中选取的N个所述第一图形均不为N个所述目标图形时,则获取下一帧图像进行重新识别。
本发明还提供一种基于机器人的跟踪识别系统,所述跟踪识别系统包括图像设置模块、图像识别模块和控制模块;
所述图像设置模块用于将采用上述的图像编码方系统生成的所述目标图像设置在目标对象上;
所述图像识别模块用于采用上述的图像的识别系统识别所述目标对象上是否包含所述目标图像,若是,则调用所述控制模块;
所述控制模块用于控制机器人跟踪所述目标对象;
所述图像获取模块用于获取所述目标对象上的图像。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现上述的图像编码方法。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现上述的图像的识别方法。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现上述的基于机器人的跟踪识别方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的图像编码方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的图像的识别方法的步骤。
本发明一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于机器人的跟踪识别方法的步骤。
本发明的积极进步效果在于:
本发明中,基于设定编码规则生成具有唯一性的目标图像,然后将生成的目标图像设置在目标对象上;再识别一帧图像中是否包含目标对象上的目标图像,若包含,则控制机器人跟踪目标对象,从而保证机器人唯一跟踪目标对象,解决现有的机器人经常跟错目标对象的问题,且具有快速准确识别目标对象、计算量小,占用计算资源少,不易受到环境干扰等优点。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例的图像编码方法包括:
S101、选取N个目标图形;
其中,N个目标图形中有至少N-1个多边图形,N为大于或者等于2的正整数;
S102、在任意两个目标图形的连线的设定位置处进行编码,生成连线对应的编码信息;
S103、生成包含编码信息和N个目标图形的目标图像。
本实施例中,通过选取N个目标图形,并对任意两个目标图形的连线的设定位置处进行编码,生成连线对应的编码信息,再生成包含编码信息和N个目标图形的目标图像,从而保证了目标图像的唯一性。
实施例2
如图2所示,本实施例的图像编码方法是对实施例1的进一步改进,具体地:
本实施例中的N个目标图形均为多边图形且每个多边图形的顶点数不同。目标图形可以为包含字母、数字、动物、卡通人物等内容的图形。
本实施例的图像编码方法还包括:
步骤S101之后、步骤S102之前还包括:
S1020、将N个目标图形按照设定位置顺序排列设置;
其中,连线为任意两个目标图形的中点的连线。
步骤S102具体包括:
S1021、在每条连线的设定位置处均采用相同的编码信息进行编码;
其中,编码信息包括采用圆形和/或多边形与颜色信息相结合的方式在连线的设定位置处进行标注的内容;
本实施中可以通过将黑和白两种颜色信息结合圆形、多边形等其他形状进行二进制编码;当在一条连线上的n个位置处进行编码时,则可以得到2n种编码信息,即生成2n张不同的目标图像。
另外,本实施例不局限于将黑和白两种颜色信息结合圆形、多边形等其他形状进行二进制编码,也可以根据实际需要,将更多种类的颜色与圆形、多边形等其他形状进行其他进制的编码。
S1022、生成连线对应的编码信息。
下面结合例子具体说明:
如图3所示,选取4个目标图形a(即N=4),四个目标图形均为多边图形且顶点数均不同,根据顶点数的不同分别将4个目标图形a设置在正方形的四个顶角位置处(即目标图像的外轮廓为正方形)。如将具有8个、4个、6个和5个顶点数的4个目标图形分别设置在正方形的左上角、右上角、左下角、右下角,四个多边图形的中心点分别为(LU1{u,v},RU1{u,v},LB1{u,v},RB1{u,v},u表示像素横坐标,v表示像素纵坐标);任意两个目标图形的对应一条连线,4个目标图形中总共对应6条连线(一正方形的4条边以及该正方形的2条对角线)。
然后分别在6条连线的设定位置处b均采用相同的编码信息进行编码,如在连线的3/8、4/8、5/8(即一条连线的八分之三长度处、八分之四长度处、八分之五长度处)的位置处进行编码,获取每条连线的设定位置处b编码信息。本实施例中,在6条连线的设定位置处b均采用相同的编码信息进行编码的方式,实现任意两个目标图形的连线被遮挡或者因为光线的问题造成未能正确解读该连线对应的编码信息时,可以通过其他五条连线共同确定该连线的正确的编码信息,即通过增加编码信息的冗通过余,避免读错编码信息的情况。
其中,6条连线的设定位置处b的相同的编码信息的获取方式为:从上到下读取垂直方向上的连线的编码信息,从左到右读取水平方向上的连线的编码信息,分别从左上角到右下角对角线方向,从左下角到右上角对角线方向读取两条对角线的编码信息。
本实施例中,通过选取N个目标图形且将N个目标图形按照设定位置顺序排列设置,并对任意两个目标图形的连线的设定位置处进行编码,生成连线对应的编码信息,再生成包含编码信息和N个目标图形的目标图像,从而保证了目标图像的唯一性。
实施例3
如图4所示,本实施例的图像的识别方法基于实施例1或2中任意一实施例中的图像编码方法实现,本实施例的图像的识别方法包括:
S201、获取一帧图像;
S202、识别出图像中第一图形,并选取N个第一图形;
其中,N个第一图形中有至少N-1个多边图形;
S203、在任意两个第一图形的连线的设定位置处进行解码,获取第一图形的连线对应的解码信息;
S204、判断解码信息与编码信息是否一致,若是,则确定包含N个第一图形的图像为目标图像。
本实施例中,通过识别出一帧图像中的第一图形,选取其中的N个第一图形,并对任意两个第一图形的连线的设定位置处进行编码,生成连线对应的编码信息,当解码信息与编码信息一致时,若是,则确定包含N个第一图形的图像为目标图像,从而实现从一帧图像中唯一识别出目标图像。
实施例4
如图5所示,本实施例的图像编码方法是对实施例3的进一步改进,具体地:
步骤S202具体包括:
S2021、识别出图像中第一图形;
S2022、获取每个第一图形的顶点数;
S2023、将具有相同的顶点数的第一图形分为一类,获取不同类别的第一图形集合;
S2024、从分类后的第一图形集合中选取N个第一图形,且N个第一图形的顶点数各不相同。
具体地,假设选取4个第一图形,4个第一图形的顶点数分别为8个、4个、6个和5个,则需要分别从具有8个顶点数的第一图形集合中选取一个图形,从具有4个顶点数的第一图形集合中选取一个图形,从具有6个顶点数的第一图形集合中选取一个图形,从具有5个顶点数的第一图形集合中选取一个图形。
步骤S202之后、步骤S203之前还包括:
S20301、判断N个第一图形是否按照设定位置顺序排列设置,若是,则获取第一图形的中心点;
例如,判断4个目标图形是否按照对应的顶点数(正方形的左上角、右上角、左下角、右下角分别为8个、4个、6个和5个)分别设置在正方形的四个顶角位置处,若是,则获取第一图形的中心点(LU2{u,v},RU2{u,v},LB2{u,v},RB2{u,v})。
S20302、获取第一图形的中心点的连线形成的图形的第一中心点;
S20303、判断第一中心点是否在设定位置范围内,若在,则确定N个第一图形为N个目标图形;否则,确定N个第一图形不是N个目标图形。
步骤S20303具体包括:
计算第一中心点与N个目标图形的中心点的连线形成的图形的第二中心点之间的距离;
判断距离是否超过设定距离阈值,若超过,则确定N个所述第一图形不是N个目标图形;否则,确定N个第一图形为N个目标图形。
具体地,考虑目标对象在行走的过程中携带的目标图像会发生旋转、倾斜、拉伸或视角切换等情况,原先外轮廓为正方形的目标图像会变成平行四边形或其他形状,因此,通过判断获取第一图形的中心点的连线形成的图形的第一中心点与N个目标图形的中心点的连线形成的图形的第二中心点两者是否在设定距离阈值内重合即可判断N个第一图形是否为N个目标图形,其中,判断第一中心点与第二中心点是否在设定距离阈值内重合的公式如下:
其中,LU[]、RB[]、LB[]、RU[]分别表示一帧图像中根据顶点数分为一类的第一图形集合;当N=4时,LU[]、RB[]、LB[]、RU[]分别表示一帧图像中根据顶点数分为一类的第一图形集合且分别位于正方形的左上角、右上角、左下角、右下角位置,LU[i]表示在集合LU[]中第i个图形,RB[m]表示在集合RB[m]中第m个图形,LB[k]表示在集合LB[k]中第k个图形,RU[j]表示在集合RU[j]中第j个图形,Therhold表示设定距离阈值。
以上通过判断第一中心点与第二中心点的重叠程度,可以有效地避免因图形发生旋转、倾斜、缩放而发生变形导致判断失效的问题。
另外,当确定N个第一图形不是N个目标图形时,则从图像中识别出的第一图形中重新选取N个第一图形进行判断,直至确定N个第一图形为N个目标图形;
若从识别出图像中第一图形中选取的N个第一图形均不为N个目标图形时,则获取下一帧图像进行重新识别。
以上,通过对图像中的不同顶点数的图形进行分类,减少了重新选取N个第一图形进行判断判断的次数,且大大地降低了误匹配和误识别的问题。
当在每条连线的设定位置处均采用相同的编码信息进行编码时,步骤S203包括:
S2031、计算任意两个第一图形的连线之外的其他连线中,在设定位置处具有相同的编码信息的连线数量;
S2032、确定连线数量最多时的第一图形中其他连线的设定位置处的编码信息为任意两个第一图形的连线的设定位置处的解码信息。
具体地,对于当4个目标图形且四个目标图形分别设置在正方形的四个顶角位置处,为了防止任意两个目标图形的一条连线被遮挡或者因为光线的问题造成未能正确解读该连线对应的编码信息的情况,则需要结合其他剩余的5条连线的设定位置处的编码信息来共同确定。
假设读取出一条连线的设定位置处的编码信息为110,而其他剩余的5条连线的设定位置处的编码信息均为100,或者其他剩余的5条连线的设定位置处的编码信息中有4条连线对应的编码信息为100,剩下的一条连线对应的编码信息为101,则确定具有相同的编码信息的连线数量最多时(5条或4条)编码信息100为该连线在设定位置处的解码信息,即通过增加编码信息的冗余,避免读错编码信息的情况。
本实施例中,通过识别出一帧图像中的第一图形,并选取其中的N个第一图形并确定该N个第一图形按照设定位置顺序排列设置,然后获取第一图形的中心点的连线形成的图形的第一中心点,当该第一中心点在在设定位置范围内时,则确定N个第一图形为N个目标图形;对任意两个第一图形的连线的设定位置处进行编码,生成连线对应的编码信息,当解码信息与编码信息一致时,若是,则确定包含N个第一图形的图像为目标图像,从而实现从一帧图像中唯一识别出目标图像。
实施例5
如图6所示,本实施例的基于机器人的跟踪识别方法包括:
S301、将实施例1或2中任意一实施例中的图像编码方法生成的目标图像设置在目标对象上;
S302、采用实施例3或4中任意一实施例中的图像的识别方法识别目标对象上是否包含目标图像,若是,则控制机器人跟踪目标对象;
其中,图像的识别方法中获取的图像为目标对象上的图像。
本实施例中,通过将图像编码方法生成的目标图像设置在目标对象上,然后再通过图像的识别方法识别出目标对象上包含目标图像,并控制机器人跟踪目标对象,从而实现机器人能够从一帧图像中唯一识别出目标图像,即使识别过程中有其他障碍物进行遮挡,也不会影响跟随;一旦目标对象丢失,可以重新快速识别,不会发生跟错目标对象的情况,且具有计算效率高、识别速度快、响应及时、成本低廉,不受环境的干扰,随时随地都可以实现跟踪,且不会发生信息泄露等优点。
实施例6
如图7所示,本实施例的图像编码系统包括目标图形获取模块1、编码信息生成模块2和目标图像生成模块3。
目标图形获取模块1用于选取N个目标图形;
其中,N个目标图形中有至少N-1个多边图形,N为大于或者等于2的正整数;
编码信息生成模块2用于在任意两个目标图形的连线的设定位置处进行编码,生成连线对应的编码信息;
目标图像生成模块3用于生成包含编码信息和N个目标图形的目标图像。
本实施例中,通过选取N个目标图形,并对任意两个目标图形的连线的设定位置处进行编码,生成连线对应的编码信息,再生成包含编码信息和N个目标图形的目标图像,从而保证了目标图像的唯一性。
实施例7
如图8所示,本实施例的图像编码系统是对实施例6的进一步改进,具体地:
本实施例中的N个目标图形均为多边图形且每个多边图形的顶点数不同。目标图形可以为包含字母、数字、动物、卡通人物等内容的图形。
图像编码系统还包括设置模块4。
设置模块4用于将N个目标图形按照设定位置顺序排列设置;
其中,连线为任意两个目标图形的中点的连线。
编码信息生成模块2用于在每条连线的设定位置处均采用相同的编码信息进行编码;
其中,编码信息包括采用圆形和/或多边形与颜色信息相结合的方式在连线的设定位置处进行标注的内容。
本实施中可以通过将黑和白两种颜色信息结合圆形、多边形等其他形状进行二进制编码;当在一条连线上的n个位置处进行编码时,则可以得到2n种编码信息,即生成2n张不同的目标图像。
另外,本实施例不局限于将黑和白两种颜色信息结合圆形、多边形等其他形状进行二进制编码,也可以根据实际需要,将更多种类的颜色与圆形、多边形等其他形状进行其他进制的编码。
下面结合例子具体说明:
如图3所示,选取4个目标图形a(即N=4),四个目标图形均为多边图形且顶点数均不同,根据顶点数的不同分别将4个目标图形a设置在正方形的四个顶角位置处(即目标图像的外轮廓为正方形)。如将具有8个、4个、6个和5个顶点数的4个目标图形分别设置在正方形的左上角、右上角、左下角、右下角(下同),四个多边图形的中心点分别为(LU1{u,v},RU1{u,v},LB1{u,v},RB1{u,v},u表示像素横坐标,v表示像素纵坐标),任意两个目标图形的对应一条连线,即4个目标图形中总共对应6条连线(一正方形的4条边以及该正方形的2条对角线)。
然后分别在6条连线的设定位置处b均采用相同的编码信息进行编码,如在连线的3/8、4/8、5/8(即一条连线的八分之三长度处、八分之四长度处、八分之五长度处)的位置处进行编码,获取每条连线的设定位置处b编码信息。本实施例中,在6条连线的设定位置处b均采用相同的编码信息进行编码的方式,实现任意两个目标图形的连线被遮挡或者因为光线的问题造成未能正确解读该连线对应的编码信息时,可以通过其他五条连线共同确定该连线的正确的编码信息,即通过增加编码信息的冗通过余,避免读错编码信息的情况。
其中,6条连线的设定位置处b的相同的编码信息的获取方式为:从上到下读取垂直方向上的连线的编码信息,从左到右读取水平方向上的连线的编码信息,分别从左上角到右下角对角线方向,从左下角到右上角对角线方向读取两条对角线的编码信息。
本实施例中,通过选取N个目标图形且将N个目标图形按照设定位置顺序排列设置,并对任意两个目标图形的连线的设定位置处进行编码,生成连线对应的编码信息,再生成包含编码信息和N个目标图形的目标图像,从而保证了目标图像的唯一性。
实施例8
如图9所示,本实施例的图像的识别系统基于实施例6或7中任意一实施例中的图像编码系统实现,本实施例的图像的识别系统包括:
识别系统包括图像获取模块5、图形识别模块6、解码信息获取模块7和第一判断模块8。
图像获取模块5用于获取一帧图像;
图形识别模块6用于识别出图像中第一图形,并选取N个第一图形;
其中,N个第一图形中有至少N-1个多边图形;
解码信息获取模块7用于在任意两个第一图形的连线的设定位置处进行解码,获取第一图形的连线对应的解码信息;
第一判断模块8用于判断解码信息与编码信息是否一致,若是,则确定包含N个第一图形的图像为目标图像。
本实施例中,通过识别出一帧图像中的第一图形,并选取其中的N个第一图形,并对任意两个第一图形的连线的设定位置处进行编码,生成连线对应的编码信息,当解码信息与编码信息一致时,若是,则确定包含N个第一图形的图像为目标图像,从而实现从一帧图像中唯一识别出目标图像。
实施例9
如图10所示,本实施例的图像编码方法是对实施例8的进一步改进,具体地:
图形识别模块6包括顶点数获取单元61、图形类别获取单元62和选取单元63。
顶点数获取单元61用于获取每个第一图形的顶点数;
图形类别获取单元62用于将具有相同的顶点数的第一图形分为一类,获取不同类别的第一图形集合;
选取单元63用于从分类后的第一图形集合中选取N个第一图形,且N个第一图形的顶点数各不相同。
具体地,假设选取4个第一图形,4个第一图形的顶点数分别为8个、4个、6个和5个,则需要分别从具有8个顶点数的第一图形集合中选取一个图形,从具有4个顶点数的第一图形集合中选取一个图形,从具有6个顶点数的第一图形集合中选取一个图形,从具有5个顶点数的第一图形集合中选取一个图形。
识别系统还包括计算模块9、解码信息确定模块10、第二判断模块11、中心点获取模块12和第三判断模块13。
第二判断模块11用于判断N个第一图形是否按照设定位置顺序排列设置,若是,则获取第一图形的中心点;
例如,判断4个目标图形是否按照对应的顶点数(正方形的左上角、右上角、左下角、右下角分别为8个、4个、6个和5个)分别设置在正方形的四个顶角位置处,若是,则获取第一图形的中心点(LU2{u,v},RU2{u,v},LB2{u,v},RB2{u,v})。
中心点获取模块12用于获取第一图形的中心点的连线形成的图形的第一中心点;
第三判断模块13用于判断第一中心点是否在设定位置范围内,若在,则确定N个第一图形为N个目标图形;否则,确定N个第一图形不是N个目标图形。
具体地,第三判断模块13包括计算单元131和判断单元132。
计算单元131用于计算第一中心点与N个目标图形的中心点的连线形成的图形的第二中心点之间的距离;
判断单元132用于判断距离是否超过设定距离阈值,若超过,则确定N个所述第一图形不是N个目标图形;否则,确定N个第一图形为N个目标图形。
具体地,考虑目标对象在行走的过程中携带的目标图像会发生旋转、倾斜、拉伸或视角切换等情况,原先外轮廓为正方形的目标图像会变成平行四边形或其他形状,因此,通过判断获取第一图形的中心点的连线形成的图形的第一中心点与N个目标图形的中心点的连线形成的图形的第二中心点两者是否在设定距离阈值内重合即可判断N个第一图形是否为N个目标图形,其中,判断第一中心点与第二中心点是否在设定距离阈值内重合的公式如下:
其中,LU[]、RB[]、LB[]、RU[]分别表示一帧图像中根据顶点数分为一类的第一图形集合;当N=4时,LU[]、RB[]、LB[]、RU[]分别表示一帧图像中根据顶点数分为一类的第一图形集合且分别位于正方形的左上角、右上角、左下角、右下角位置,LU[i]表示在集合LU[]中第i个图形,RB[m]表示在集合RB[m]中第m个图形,LB[k]表示在集合LB[k]中第k个图形,RU[j]表示在集合RU[j]中第j个图形,Therhold表示设定距离阈值。
以上通过判断第一中心点与第二中心点的重叠程度,可以有效地避免因图形发生旋转、倾斜、缩放而发生变形导致判断失效的问题。
另外,判断单元还用于当确定N个第一图形不是N个目标图形时,则从图像中识别出的第一图形中重新选取N个第一图形进行判断,直至确定N个第一图形为N个目标图形;
若从识别出图像中第一图形中选取的N个第一图形均不为N个目标图形时,则获取下一帧图像进行重新识别。
以上,通过对图像中的不同顶点数的图形进行分类,减少了重新选取N个第一图形进行判断判断的次数,且大大地降低了误匹配和误识别的问题。
当解码信息获取模块7在每条连线的设定位置处均采用相同的编码信息进行编码时,计算模块9用于计算任意两个第一图形的连线之外的其他连线中,在设定位置处具有相同的编码信息的连线数量;
解码信息确定模块10用于确定连线数量最多时的第一图形中其他连线的设定位置处的编码信息为任意两个第一图形的连线的设定位置处的解码信息。
具体地,对于当4个目标图形且四个目标图形分别设置在正方形的四个顶角位置处,为了防止任意两个目标图形的一条连线被遮挡或者因为光线的问题造成未能正确解读该连线对应的编码信息的情况,则需要结合其他剩余的5条连线的设定位置处的编码信息来共同确定。
假设读取出一条连线的设定位置处的编码信息为110,而其他剩余的5条连线的设定位置处的编码信息均为100,或者其他剩余的5条连线的设定位置处的编码信息中有4条连线对应的编码信息为100,剩下的一条连线对应的编码信息为101,则确定具有相同的编码信息的连线数量最多时(5条或4条)编码信息100为该连线在设定位置处的解码信息,即通过增加编码信息的冗余,避免读错编码信息的情况。
本实施例中,通过识别出一帧图像中的第一图形,并选取其中的N个第一图形并确定该N个第一图形按照设定位置顺序排列设置,然后获取第一图形的中心点的连线形成的图形的第一中心点,当该第一中心点在在设定位置范围内时,则确定N个第一图形为N个目标图形;对任意两个第一图形的连线的设定位置处进行编码,生成连线对应的编码信息,当解码信息与编码信息一致时,若是,则确定包含N个第一图形的图像为目标图像,从而实现从一帧图像中唯一识别出目标图像。
实施例10
如图11所示,本实施例的基于机器人的跟踪识别系统包括图像设置模块14、图像识别模块15和控制模块16。
图像设置模块14用于将实施例6或7中任意一实施例中的图像编码系统生成的目标图像设置在目标对象上;
图像识别模块15用于采用实施例8或9中任意一实施例中的图像的识别系统识别目标对象上是否包含目标图像,若是,则调用控制模块;
控制模块16用于控制机器人跟踪目标对象;
图像获取模块5用于获取目标对象上的图像。
本实施例中,通过将图像编码方法生成的目标图像设置在目标对象上,然后再通过图像的识别方法识别出目标对象上包含目标图像,并控制机器人跟踪目标对象,从而实现机器人能够从一帧图像中唯一识别出目标图像,即使识别过程中有其他障碍物进行遮挡,也不会影响跟随;一旦目标对象丢失,可以重新快速识别,不会发生跟错目标对象的情况,且具有计算效率高、识别速度快、响应及时、成本低廉,不受环境的干扰,随时随地都可以实现跟踪,且不会发生信息泄露等优点。
实施例11
图12为本发明实施例11提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1或2中任意一实施例中的图像编码方法。图12显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图12所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或2中任意一实施例中的图像编码方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图12所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例12
本发明实施例12提供了一种电子设备,电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例3或4中任意一实施例中的图像的识别方法,该电子设备的具体结构参照实施例11中的电子设备,其工作原理与实施例11中的电子设备的工作原理基本一致,在此不再赘述。
实施例13
本发明实施例12提供了一种电子设备,电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例5中基于机器人的跟踪识别方法,该电子设备的具体结构参照实施例11中的电子设备,其工作原理与实施例11中的电子设备的工作原理基本一致,在此不再赘述。
实施例14
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1或2中任意一实施例中的图像编码方法中的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1或2中任意一实施例中的图像编码方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
实施例15
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例3或4中任意一实施例中的图像的识别方法中的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例3或4中任意一实施例中的图像的识别方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
实施例16
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例5中的基于机器人的跟踪识别方法中的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例5中的基于机器人的跟踪识别方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式作出多种变更或修改,但这些变更和修改均落入本发明的保护范围。