产学研创新服务平台(全国)
专利申请类型:发明专利;专利名称:草地障碍物识别方法、装置、割草机器人及可读存储介质
专利类型:发明专利
专利申请号:CN202110684061.4
专利申请(专利权)人:深圳拓邦股份有限公司
权利人地址:广东省深圳市南山区粤海街道高新技术产业园清华大学研究院B区413房
专利发明(设计)人:发明人:龚少庆
专利摘要:本发明适用于割草机器人技术领域,提供一种草地障碍物识别方法,该方法包括:获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像;通过所述当前帧图像和所述前一帧图像确定帧差图;对所述当前帧图像进行边缘检测,得到边缘检测图;根据所述帧差图和所述边缘检测图确定障碍物图。本发明实施例还提供一种草地障碍物识别装置、割草机及计算机可读存储介质。本发明提供的草地障碍物识别方法,可以在背景相同或相似的草地上精准、实时的识别出障碍物,提高割草机器人的智能化程度。
主权利要求:
1.一种草地障碍物识别方法,其特征在于,所述方法包括以下步骤:获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像;
将所述当前帧图像的像素灰度值与所述前一帧图像的对应位置的像素灰度值相减,得到像素灰度差值;
判断所述像素灰度差值是否大于预设灰度阈值,其中,所述预设灰度阈值的取值范围为30‑50;
当判断为是,将帧差图的所述对应位置的像素灰度值设置为第一预设灰度值;
当判断为否,将所述帧差图的所述对应位置的像素灰度值设置为第二预设灰度值;
对所述当前帧图像进行边缘检测,得到边缘检测图;
根据所述边缘检测图中相邻像素点的灰度梯度和所述边缘检测图的梯度阈值确定所述边缘检测图中的边缘点,并统计所述边缘点的数量,其中,所述梯度阈值的取值范围为
30‑60;
判断所述边缘检测图中灰度值满足所述第一预设灰度值的边缘点数量是否大于预设的数量阈值,其中,所述预设的数量阈值为1100‑1400;
当判断为是,遍历所述帧差图中所有像素,得到满足所述第一预设灰度值的像素位置;
将障碍物图中与所述像素位置对应位置的像素灰度值设置为所述第一预设灰度值,与所述像素位置不对应位置的像素灰度值设置为所述第二预设灰度值,其中,所述第一预设灰度值为255,所述第二预设灰度值为0。
2.如权利要求1所述的草地障碍物识别方法,其特征在于,所述对所述当前帧图像进行边缘检测,得到边缘检测图的步骤,具体包括:对所述当前帧图像进行高斯滤波,得到预处理图像;
对所述预处理图像进行canny边缘检测,得到边缘检测图。
3.如权利要求1所述的草地障碍物识别方法,其特征在于,所述方法还包括:
当判断为否,将障碍物图中所有的像素位置的像素灰度值设置为所述第二预设灰度值。
4.如权利要求1所述的草地障碍物识别方法,其特征在于,所述获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像的步骤,具体包括:获取所述割草机前方景象的图像;
判断所述图像在预设的动态数组中的帧数是否满足预设的帧数;
当判断为是,将所述预设的动态数组中的第一帧图像作为所述前一帧图像,第二帧图像作为所述当前帧图像。
5.一种草地障碍物识别装置,其特征在于,所述装置包括:图像获取单元,用于获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像;
帧差图确定单元,用于将所述当前帧图像的像素灰度值与所述前一帧图像的对应位置的像素灰度值相减,得到像素灰度差值,并判断所述像素灰度差值是否大于预设灰度阈值,其中,所述预设灰度阈值的取值范围为30‑50;当判断为是,将帧差图的所述对应位置的像素灰度值设置为第一预设灰度值;当判断为否,将所述帧差图的所述对应位置的像素灰度值设置为第二预设灰度值;
边缘检测图确定单元,用于对所述当前帧图像进行边缘检测,得到边缘检测图;
障碍物图确定单元,用于根据所述边缘检测图中相邻像素点的灰度梯度和所述边缘检测图的梯度阈值确定所述边缘检测图中的边缘点,并统计所述边缘点的数量,其中,所述梯度阈值的取值范围为30‑60;判断所述边缘检测图中灰度值满足所述第一预设灰度值的边缘点数量是否大于预设的数量阈值,其中,所述预设的数量阈值为1100‑1400;当判断为是,遍历所述帧差图中所有像素,得到满足所述第一预设灰度值的像素位置;将障碍物图中与所述像素位置对应位置的像素灰度值设置为所述第一预设灰度值,与所述像素位置不对应位置的像素灰度值设置为所述第二预设灰度值,其中,所述第一预设灰度值为255,所述第二预设灰度值为0。
6.一种割草机器人,其特征在于,所述割草机器人包括:割草机器人本体;
设置在所述割草机器人本体上的图像获取装置,所述图像获取装置用于获取所述割草机器人在行走方向上的前方景象;以及,所述割草机器人本体内的控制器;
所述控制器包括权利要求5所述的草地障碍物识别装置。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1‑4任一权利要求所述的方法。 说明书 : 草地障碍物识别方法、装置、割草机器人及可读存储介质技术领域[0001] 本发明属于割草机器人技术领域,尤其涉及一种草地障碍物识别方法、装置、割草机器人及计算机可读存储介质。背景技术[0002] 随着机器人技术的兴起,各种类型的机器人被广泛应用于各个领域,如应用于农业上的割草机器人。割草机器人在草地上工作过程中,经常会有木棍、石块等障碍物出现。这些障碍物在与割草机器人接触过程中,会损坏割草机器人的刀片。[0003] 因此,为了识别出上述的障碍物,现有技术中一般在割草机器人上安装单目摄像头来识别草地上是否有障碍物。目前,利用单目摄像头识别草地上障碍物的方法主要有以下两种:一种为通过颜色、纹理等低层特征来识别障碍物,但此种方法易受光照与障碍物本身的影响,鲁棒性较差。另一种方法为利用以下单目单应矩阵的方式来检测障碍物:以单目摄像头识别到的相邻的图像帧的地面平面为基准,将前后相邻两帧图像的地面平面进行单应矩阵转换。由于障碍物不在地面平面上,通过单应矩阵进行单应变换后的前一图像帧与后一图像帧叠加就可以突显出障碍物。此方法检测障碍物的精度取决于单应矩阵的精度,而单应矩阵的精度取决于特征点匹配的精度,高精度的特征点匹配不但耗时,并且因为室外光照环境复杂,对提取特征点的校对干扰较大,会造成特征点匹配精度不精准,进而影响检测障碍物的精度。[0004] 综述所述,现有技术中检测障碍物的方法存在识别障碍物鲁棒性差,精准度不高,耗时较长的问题。发明内容[0005] 本发明实施例提供一种草地障碍物识别方法,旨在解决现有技术中检测障碍物的方法存在识别障碍物精准度不高,耗时较长的问题。[0006] 本发明实施例是这样实现的,一种草地障碍物识别方法,所述方法包括以下步骤:[0007] 获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像;[0008] 通过所述当前帧图像和所述前一帧图像确定帧差图;[0009] 对所述当前帧图像进行边缘检测,得到边缘检测图;[0010] 根据所述帧差图和所述边缘检测图确定障碍物图。[0011] 本发明实施例还提供一种草地障碍物识别装置,所述装置包括:[0012] 图像获取单元,用于获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像;[0013] 帧差图确定单元,用于通过所述当前帧图像和所述前一帧图像确定帧差图;[0014] 边缘检测图确定单元,用于对所述当前帧图像进行边缘检测,得到边缘检测图;[0015] 障碍物图确定单元,用于根据所述帧差图和所述边缘检测图确定出障碍物图。[0016] 本发明实施例还提供一种割草机器人,所述割草机器人包括:[0017] 割草机器人本体;[0018] 设置在所述割草机器人本体上的图像获取装置,所述图像获取装置用于获取所述割草机器人在行走方向上的前方景象;以及,[0019] 所述割草机器人本体内的控制器;[0020] 所述控制器包括上述的草地障碍物识别装置。[0021] 本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述草地障碍物识别方法的功能。[0022] 本发明实施例提供的草地障碍物识别方法,通过获取到的预设的动态数组中的当前帧图像和前一帧图像确定帧差图,再通过当前帧图像确定边缘检测图,最后通过帧差图和边缘检测图确定障碍物图,可以实时、精准的识别出背景相似或相同草地上的障碍物,提高了割草机器人识别障碍物的效率及割草机器人的智能化程度。附图说明[0023] 图1是本发明实施例一提供的一种草地障碍物识别方法的实现流程图;[0024] 图2是本发明实施例二提供的一种通过当前帧图像和前一帧图像确定帧差图的步骤的实现流程图;[0025] 图3是本发明实施例二提供的一种帧差图确定过程中的图像的像素坐标系示意图;[0026] 图4是本发明实施例三提供的一种对当前帧图像进行边缘检测,得到边缘检测图的步骤方法的实现流程图;[0027] 图5是本发明实施例四提供的一种根据帧差图和边缘检测图确定出障碍物图的步骤的实现流程图;[0028] 图6是本发明实施例五提供的一种获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像的步骤的实现流程图;[0029] 图7是本发明实施例六提供的一种草地障碍物识别装置的结构示意图;[0030] 图8是本发明实施例七提供的一种草地障碍物识别装置的帧差图确定单元的结构示意图;[0031] 图9是本发明实施例九提供的一种草地障碍物识别装置的障碍物图确定单元的结构示意图;[0032] 图10是本发明实施例十提供的一种草地障碍物识别装置的图像获取单元的结构示意图;[0033] 图11是本发明实施例十一提供的一种割草机器人的结构示意图。具体实施方式[0034] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0035] 本发明实施例提供的草地障碍物识别方法,通过获取到的预设的动态数组中的当前帧图像和前一帧图像确定帧差图,再对当前帧图像进行边缘检测,得到边缘检测图,最后通过帧差图和边缘检测图确定障碍物图,可以实时、精准的识别出背景相似或相同草地上的障碍物,提高了割草机器人识别障碍物的效率及割草机器人的智能化程度。[0036] 实施例一[0037] 图1示出了本发明实施例一提供的一种草地障碍物识别方法的实现流程图,该方法包括以下步骤:[0038] 在步骤S101中,获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像。[0039] 在本发明实施例中,预设的动态数组用于存储图像帧。优选的,预设的动态数组中存储有前后两帧图像。[0040] 在步骤S102中,通过当前帧图像和前一帧图像确定帧差图。[0041] 在本发明实施中,具体通过当前帧图像的像素灰度值和前一帧图像的像素灰度值来确定帧差图的像素灰度值。[0042] 在本发明的一个实施例中,像素灰度值为灰度图像中各像素点的灰度数值,范围为0到255,白色为255,黑色为0。可以理解,在本发明示例中,为了使帧差图显示效果更好,优选的,像素灰度值为0或255。[0043] 作为本发明的一个实施例,像素点可以表示为(x,y),x、y的取值为整数,如,I当(0,0)表示当前帧图像像素坐标系中原点的像素灰度值。[0044] 例如,当前帧图像(0,0)的像素灰度值为I当(0,0)=120,前一帧图像的对应位置的像素灰度值为I前(0,0)=50,前后两帧对应像素位置的灰度差值为70,预设灰度阈值取值为40,则帧差图中与当前帧图像的对应位置的像素灰度值为255。可以理解,为了便于可视化,在本发明实施例中将第一灰度预设值取255,第二灰度预设值取0,当所得值大于阈值时,取第一灰度预设值,当所得值小于阈值时,取第二灰度预设值。[0045] 在本发明实施例中,根据实际场景测试,灰度阈值的取值范围为30‑50。[0046] 例如,当前帧图像(0,0)的像素灰度值为I当(0,0)=110,前一帧图像的对应位置的像素灰度值为I前(0,0)=90,前后两帧对应像素位置的灰度差值为20,预设灰度阈值取值为40,则帧差图中与当前帧图像的对应位置的像素灰度值为0。[0047] 在步骤S103中,对当前帧图像进行边缘检测,得到边缘检测图。[0048] 在本发明实施例中,边缘检测包括canny算法边缘检测。[0049] 可以理解,通过边缘检测得到的边缘检测图中相邻像素点的灰度值具有一定梯度,则梯度大于预设梯度阈值的像素点即为草地与障碍物的边缘。在本发明实施例中,边缘检测图的参数就是梯度阈值,此梯度阈值也是根据实际场景测试出来的,取值范围为30‑60,采用canny算法得到的边缘检测图是二值图(为了便于可视化,只取0与255两种取值),像素灰度值为255的像素点就是边缘点,再计算其个数就可以知道边缘的大小了。[0050] 在步骤S104中,根据帧差图和边缘检测图确定障碍物图。[0051] 作为本发明的一个实施例,具体根据边缘检测图中像素灰度值、预设的第一灰度值、预设的数量阈值以及帧差图中像素灰度值确定障碍物图中像素灰度值,进而得到精准的障碍物图。在本发明实施例中,预设的数量阀值可以根据实际场景测试得到,预设的数量阈值的取值范围为1100‑1400[0052] 例如,第一预设灰度值为255、预设的数量阈值为1100,当边缘检测图中像素灰度值为255的像素点个数为1200时(可以理解为:此时,边缘检测图中像素灰度值为255的像素点个数由canny检测算法自动获取到),找到帧差图中所有像素灰度值为255的像素点的像素位置,最后将障碍物图中与帧差图中的对应位置的像素灰度值设置为255,即可得到精准的障碍物图。(精准的障碍物图确定过程具体参见实施例二、三、四)[0053] 本发明实施例提供的草地障碍物识别方法,通过获取到的预设的动态数组中的当前帧图像和前一帧图像确定帧差图,再对当前帧图像进行边缘检测,得到边缘检测图,最后通过帧差图和边缘检测图确定障碍物图,可以实时、精准的识别出背景相似或相同草地上的障碍物,提高了割草机器人识别障碍物的效率及割草机器人的智能化程度。[0054] 实施例二[0055] 参见图2,上述步骤S102,具体包括:[0056] 在步骤S201中,将当前帧图像的像素灰度值与前一帧图像的对应位置的像素灰度值相减,得到像素灰度差值。[0057] 在本发明实施例中,对应位置为当前帧图像中与前一帧图像中相同的位置。[0058] 在本发明实施例中,当前帧图像、前一帧图像中的像素坐标均可以是I(0,0)‑I(639,479)的范围。[0059] 在步骤S202中,判断像素灰度差值是否大于预设灰度阈值;当判断是时,执行步骤S203,当判断否时,执行步骤S204。[0060] 在本发明的一个实施例中,预设灰度阈值取值范围为30‑50。[0061] 在步骤S203中,将帧差图的对应位置的像素灰度值设置为第一预设灰度值。[0062] 在步骤S204中,将帧差图的对应位置的像素灰度值设置为第二预设灰度值。[0063] 在本发明实施例中,第一预设灰度值为255,第二预设灰度值为0。[0064] 作为本发明的一个实际应用,同时参见图3,当前帧图像与前一帧图像均均可以在uov平面直角坐标系(即像素坐标系)中表示,且两帧图像中每个像素点的位置对应一致。当前帧图像(0,0)的像素灰度值I当(0,0)为70,前一帧图像(0,0)的像素灰度值I前(0,0)为30,预设灰度阈值为35,第一预设灰度值为255,则可以计算出像素灰度差值为40,大于预设灰度阈值35,因此将帧差图中(0,0)的像素灰度值I帧(0,0)设置为255(第一预设灰度值)。[0065] 作为本发明的另一个实际应用,当前帧图像(320,240)的像素灰度值I当(320,240)为80,前一帧图像(320,240)的像素灰度值I前(320,240)为60,预设灰度阈值为30,第二预设灰度值为0,则可以计算出像素灰度差值为20,小于预设灰度阈值30,因此将帧差图中(320,240)的像素灰度值I帧(320,240)设置为0(第二预设灰度值)。[0066] 作为本发明的另一个实际应用,当前帧图像(639,479)的像素灰度值I当(639,479)为88,前一帧图像(639,479)的像素灰度值I前(639,479)为70,预设灰度阈值为35,第二预设灰度值为0,则可以计算出像素灰度差值为18,小于预设灰度阈值35,因此将帧差图中(639,479)的像素灰度值I帧(639,479)设置为0(第二预设灰度值)[0067] 本发明实施例提供的草地障碍物识别方法,通过将当前帧图像的像素灰度值与前一帧图像的对应位置的像素灰度值相减得到像素灰度差值,然后当判断该像素灰度差值大于预设灰度阈值时,将帧差图的对应位置的像素灰度值设置为第一预设灰度值,而当判断该像素灰度差值小于预设灰度阈值时,将帧差图的对应位置的像素灰度值设置为第二预设灰度值。[0068] 实施例三[0069] 同时参见图4,上述步骤103具体包括:[0070] 在步骤S301中,对当前帧图像进行高斯滤波,得到预处理图像。[0071] 在本发明实施例中,高斯滤波为一种图像滤波的算法。[0072] 在步骤S302中,对预处理图像进行canny边缘检测,得到边缘检测图。[0073] 例如,对包括像素点的像素灰度值I(0,0)=10、I(0,1)=60、I(0,2)=90、I(0,3)=80的预处理图像进行canny边缘,可以确定出梯度最大的位置为I(0,0)‑I(0,1)的位置,若预设梯度阈值为40,则(0,1)为边缘点。[0074] 在本发明实施例中,canny边缘检测算法得到的边缘检测图有0与255两个取值,值为255的像素点为边缘点,统计边缘检测图中边缘点的数量(即灰度值为255,亦即第一灰度预设值的数量),用于辅助帧差图来对障碍物图中的每个像素点进行操作,本质上起到了一个噪声滤除的作用。[0075] 本发明实施例提供的草地障碍物识别方法,通过先对当前帧图像进行高斯滤波得到预处理图像,再对预处理图像进行canny边缘检测,得到边缘检测图。可以先通过高斯滤波有效滤除图像的噪声,再通过canny边缘检测确定出边缘检测图,进而确定出边缘检测图中边缘点的数量,可以进一步用于辅助帧差图来对障碍物图中的每个像素点进行操作(详见实施例四),可以有效滤除图像噪音。[0076] 实施例四[0077] 同时参见图5,上述步骤S104,具体包括:[0078] 在步骤S401中,判断边缘检测图中灰度值满足第一预设灰度值的像素数量是否大于预设的数量阈值;当判断是时,执行步骤S402,当判断否时,执行步骤S404。[0079] 在本发明实施例中,预设的数量阈值取值范围为1100‑1400。[0080] 在步骤S402中,遍历帧差图中所有像素,得到满足第一预设灰度值的像素位置。[0081] 可以理解,因每个像素位置(即像素点的位置)对应有该像素点的像素坐标,因此满足第一预设灰度值的像素位置即为满足第一预设灰度值的像素点的像素坐标。在本发明实施例中,满足即为像素点位置相同。[0082] 在步骤S403中,将障碍物图中与像素位置对应位置的像素灰度值设置为第一预设灰度值,与像素位置不对应位置的像素灰度值设置为第二预设灰度值。[0083] 在步骤S404中,将障碍物图中所有的像素位置的像素灰度值设置为第二预设灰度值。[0084] 例如,第一预设灰度值为225,第二预设灰度值为0,预设的数量阈值为1350,边缘检测图中灰度值为225的像素数量为1500,则找出帧差图中所有灰度值为225的像素位置,最后将障碍物图中与帧差图的像素位置对应的像素灰度值设置为225,与帧差图的像素位置不对应的像素灰度值设置为0。[0085] 例如,第一预设灰度值为225,第二预设灰度值为0,预设的数量阈值为1200,边缘检测图中灰度值为225的像素数量为1100,则将障碍物图中所有的像素位置的像素灰度值设置为0。[0086] 本发明实施例提供的草地障碍物识别方法,通过判断边缘检测图中灰度值满足第一预设灰度值的像素数量大于预设的数量阈值时,将障碍物图中与像素位置对应的像素灰度值设置为第一预设灰度值,与像素位置不对应的像素灰度值设置为第二预设灰度值;当通过判断边缘检测图中灰度值满足第一预设灰度值的像素数量小于预设的数量阈值时,将障碍物图中所有的像素位置的像素灰度值设置为第二预设灰度值,可以通过设置图像的第一预设灰度值(255即白点)、第二预设灰度值(0即黑点),可以得到清晰、精准的黑白障碍物图,进而实现对草地上障碍物的精准识别。[0087] 实施例五[0088] 同时参见图6,上述步骤S101,具体包括:[0089] 在步骤501中,获取割草机前方景象的图像。[0090] 在本发明实施例中,割草机前方景象的图像可以通过图像识别装置获取,如单目、双目、三目、四目相机或摄像头等。[0091] 在步骤502中,判断图像在预设的动态数组中的帧数是否满足预设的帧数,当判断是时,执行步骤S503,当判断否时,返回执行步骤S501。[0092] 在本发明实施例中,预设的帧数为2帧。[0093] 在步骤503中,将预设的动态数组中的第一帧图像作为前一帧图像,第二帧图像作为当前图像。[0094] 例如,通过相机拍摄得到的图像先存放在预设的动态数组中,当动态数组的中的图像的帧数为2帧时,则将预设的动态数组中的第一帧图像作为前一帧图像,第二帧图像作为当前图像。可以理解,预设的动态数组中获取了第一帧图像和第二帧图像后,当有第三帧图像需要保持进来时,则将第一帧图像删除,此时第二帧图像则作为前一帧图像,第三帧图像则作为当前帧图像。[0095] 本发明实施例提供的草地障碍物识别方法,通过判断预设的动态数组中存在前、后两帧图像时,将前面第一帧图像作为前一帧图像,而后面第二帧图像作为当前图像,有效获取到所需的实时草地景象的图像帧,可以使割草机器人实时地识别草地上障碍物。本发明实施例提供的草地障碍物识别方法,通过获取到的预设的动态数组中的当前帧图像和前一帧图像确定帧差图,再对当前帧图像进行边缘检测,得到边缘检测图,最后通过帧差图和边缘检测图确定障碍物图,可以实时、精准的识别出背景相似或相同草地上的障碍物,提高了割草机器人识别障碍物的效率及割草机器人的智能化程度。[0096] 实施例六[0097] 图7示出了本发明实施例六提供的一种草地障碍物识别装置600的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。该装置600包括:[0098] 图像获取单元610,用于获取割草机前方景象在预设的动态数组中的当前帧图像和前一帧图像。[0099] 在本发明实施例中,预设的动态数组用于存储图像帧。优选的,预设的动态数组中存储有前后两帧图像。[0100] 帧差图确定单元620,用于通过当前帧图像和前一帧图像确定帧差图。[0101] 在本发明实施中,具体通过当前帧图像的像素灰度值和前一帧图像的像素灰度值来确定帧差图的像素灰度值。[0102] 在本发明的一个实施例中,像素灰度值为灰度图像中各像素点的灰度数值,范围为0到255,白色为255,黑色为0。可以理解,在本发明示例中,为了使帧差图显示效果更好,优选的,像素灰度值为0或255。[0103] 作为本发明的一个实施例,像素点可以表示为(x,y),x、y的取值为整数,如,I当(0,0)表示当前帧图像像素坐标系中原点的像素灰度值。[0104] 例如,当前帧图像(0,0)的像素灰度值为I当(0,0)=120,前一帧图像的对应位置的像素灰度值为I前(0,0)=50,前后两帧对应像素位置的灰度差值为70,预设灰度阈值取值为40,则帧差图中与当前帧图像的对应位置的像素灰度值为255。[0105] 可以理解,为了便于可视化,在本发明实施例中将第一灰度预设值取255,第二灰度预设值取0,当所得值大于阈值时,取第一灰度预设值,当所得值小于阈值时,取第二灰度预设值。[0106] 在本发明实施例中,根据实际场景测试,灰度阈值的取值范围为30‑50。[0107] 例如,当前帧图像(0,0)的像素灰度值为I当(0,0)=110,前一帧图像的对应位置的像素灰度值为I前(0,0)=90,前后两帧对应像素位置的灰度差值为20,预设灰度阈值取值为40,则帧差图中与当前帧图像的对应位置的像素灰度值为0。[0108] 边缘检测图确定单元630,用于对当前帧图像进行边缘检测,得到边缘检测图。[0109] 在本发明实施例中,边缘检测包括canny算法边缘检测。[0110] 可以理解,通过边缘检测得到的边缘检测图中相邻像素点的灰度值具有一定梯度,则梯度大于预设梯度阈值的像素点即为草地与障碍物的边缘。在本发明实施例中,边缘检测图的参数就是梯度阈值,此梯度阈值也是根据实际场景测试出来的,取值范围为30‑60,采用canny算法得到的边缘检测图是二值图(为了便于可视化,只取0与255两种取值),像素灰度值为255的像素点就是边缘点,再计算其个数就可以知道边缘的大小了。[0111] 障碍物图确定单元640,用于根据帧差图和边缘检测图确定出障碍物图。[0112] 作为本发明的一个实施例,具体根据边缘检测图中像素灰度值、预设的第一灰度值、预设的数量阈值以及帧差图中像素灰度值确定障碍物图中像素灰度值,进而得到精准的障碍物图。在本发明实施例中,预设的数量阀值可以根据实际场景测试得到,预设的数量阈值的取值范围为1100‑1400[0113] 例如,第一预设灰度值为255、预设的数量阈值为1100,当边缘检测图中像素灰度值为255的像素点个数为1200时(可以理解为:此时,边缘检测图中像素灰度值为255的像素点个数由canny检测算法自动获取到),找到帧差图中所有像素灰度值为255的像素点的像素位置,最后将障碍物图中与帧差图中的对应位置的像素灰度值设置为255,即可得到精准的障碍物图。[0114] 本发明实施例提供的草地障碍物识别装置,通过获取到的预设的动态数组中的当前帧图像和前一帧图像确定帧差图,再对当前帧图像进行边缘检测,得到边缘检测图,最后通过帧差图和边缘检测图确定障碍物图,可以实时、精准的识别出背景相似或相同草地上的障碍物,提高了割草机器人识别障碍物的效率及割草机器人的智能化程度。[0115] 实施例七[0116] 同时参见图8,上述帧差图确定单元620包括:[0117] 像素灰度差值计算模块621,用于将当前帧图像的像素灰度值与前一帧图像的对应位置的像素灰度值相减,得到像素灰度差值。[0118] 在本发明实施例中,对应位置为当前帧图像中与前一帧图像中相同的位置。[0119] 在本发明实施例中,当前帧图像、前一帧图像中的像素坐标均可以是I(0,0)‑I(639,479)的范围。[0120] 判断模块622,用于判断像素灰度差值是否大于预设灰度阈值。[0121] 在本发明的一个实施例中,预设灰度阈值取值范围为30‑50。[0122] 第一预设灰度值设置模块623,用于当判断为是,将帧差图的所述对应位置的像素灰度值设置为第一预设灰度值。[0123] 第二预设灰度值设置模块624,用于当判断为否,将帧差图的所述对应位置的像素灰度值设置为第二预设灰度值。[0124] 在本发明实施例中,第一预设灰度值为255,第二预设灰度值为0。[0125] 作为本发明的一个实际应用,同时参见图3,当前帧图像与前一帧图像均均可以在uov平面直角坐标系(即像素坐标系)中表示,且两帧图像中每个像素点的位置对应一致。当前帧图像(0,0)的像素灰度值I当(0,0)为70,前一帧图像(0,0)的像素灰度值I前(0,0)为30,预设灰度阈值为35,第一预设灰度值为255,则可以计算出像素灰度差值为40,大于预设灰度阈值35,因此将帧差图中(0,0)的像素灰度值I帧(0,0)设置为255(第一预设灰度值)。[0126] 作为本发明的另一个实际应用,当前帧图像(320,240)的像素灰度值I当(320,240)为80,前一帧图像(320,240)的像素灰度值I前(320,240)为60,预设灰度阈值为30,第二预设灰度值为0,则可以计算出像素灰度差值为20,小于预设灰度阈值30,因此将帧差图中(320,240)的像素灰度值I帧(320,240)设置为0。[0127] 作为本发明的另一个实际应用,当前帧图像(639,479)的像素灰度值I当(639,479)为88,前一帧图像(639,479)的像素灰度值I前(639,479)为70,预设灰度阈值为35,第二预设灰度值为0,则可以计算出像素灰度差值为18,小于预设灰度阈值35,因此将帧差图中(639,479)的像素灰度值I帧(639,479)设置为0(第二预设灰度值)。[0128] 本发明实施例提供的草地障碍物识别装置,通过将当前帧图像的像素灰度值与前一帧图像的对应位置的像素灰度值相减得到像素灰度差值,然后当判断该像素灰度差值大于预设灰度阈值时,将帧差图的对应位置的像素灰度值设置为第一预设灰度值,而当判断该像素灰度差值小于预设灰度阈值时,将帧差图的对应位置的像素灰度值设置为第二预设灰度值。[0129] 实施例八[0130] 上述边缘检测图确定单元630,具体包括:[0131] 过滤模块,用于对当前帧图像进行高斯滤波,得到预处理图像。[0132] 在本发明实施例中,高斯滤波为一种图像滤波的算法。[0133] 边缘检测图获得模块,用于对预处理图像进行canny边缘检测,得到边缘检测图。[0134] 例如,对包括像素点的像素灰度值I(0,0)=10、I(0,1)=60、I(0,2)=90、I(0,3)=80的预处理图像进行canny边缘,可以确定出梯度最大的位置为I(0,0)‑I(0,1)的位置,若预设梯度阈值为40,则(0,1)为边缘点。[0135] 在本发明实施例中,canny边缘检测算法得到的边缘检测图有0与255两个取值,值为255的像素点为边缘点,统计边缘检测图中边缘点的数量(即灰度值为255,亦即第一灰度预设值的数量),用于辅助帧差图来对障碍物图中的每个像素点进行操作,本质上起到了一个噪声滤除的作用。[0136] 本发明实施例提供的草地障碍物识别装置,通过先对当前帧图像进行高斯滤波得到预处理图像,再对预处理图像进行canny边缘检测,得到边缘检测图。可以先通过高斯滤波有效滤图像的噪声,再通过canny边缘检测确定出边缘检测图,进而确定出边缘检测图中边缘点的数量,可以进一步用于辅助帧差图来对障碍物图中的每个像素点进行操作(详见实施例九),可以有效滤除图像噪音。[0137] 实施例九[0138] 同时参见图9,上述障碍物图确定单元640包括:[0139] 数量阈值判断模块641,用于判断边缘检测图中灰度值满足第一预设灰度值的像素数量是否大于预设的数量阈值。[0140] 在本发明实施例中,预设的数量阈值取值范围为1100‑1400。[0141] 像素位置获得模块642,用于当判断为是,遍历帧差图中所有像素,得到满足第一预设灰度值的像素位置。[0142] 可以理解,因每个像素位置(即像素点的位置)对应有该像素点的像素坐标,因此满足第一预设灰度值的像素位置即为满足第一预设灰度值的像素点的像素坐标。在本发明实施例中,满足即为像素点位置相同。[0143] 第一像素灰度值设置模块643,用于将障碍物图中与像素位置对应位置的像素灰度值设置为第一预设灰度值,与像素位置不对应位置的像素灰度值设置为第二预设灰度值。[0144] 第二像素灰度值设置模块644,用于当判断为否,将障碍物图中所有的像素位置的像素灰度值设置为第二预设灰度值。[0145] 例如,第一预设灰度值为225,第二预设灰度值为0,预设的数量阈值为1350,边缘检测图中灰度值为225的像素数量为1500,则找出帧差图中所有灰度值为225的像素位置,最后将障碍物图中与帧差图的像素位置对应的像素灰度值设置为225,与帧差图的像素位置不对应的像素灰度值设置为0。[0146] 例如,第一预设灰度值为225,第二预设灰度值为0,预设的数量阈值为1200,边缘检测图中灰度值为225的像素数量为1100,则将障碍物图中所有的像素位置的像素灰度值设置为0。[0147] 本发明实施例提供的草地障碍物识别装置,通过判断边缘检测图中灰度值满足第一预设灰度值的像素数量大于预设的数量阈值时,将障碍物图中与像素位置对应的像素灰度值设置为第一预设灰度值,与像素位置不对应的像素灰度值设置为第二预设灰度值;当通过判断边缘检测图中灰度值满足第一预设灰度值的像素数量小于预设的数量阈值时,将障碍物图中所有的像素位置的像素灰度值设置为第二预设灰度值,可以通过设置图像的第一预设灰度值(255即白点)、第二预设灰度值(0即黑点),可以得到清晰、精准的黑白障碍物图,进而实现对草地上障碍物的精准识别。[0148] 实施例十[0149] 同时参见图10,上述图像获取单元610包括:[0150] 图像获取模块611,用于获取割草机前方景象的图像。[0151] 在本发明实施例中,割草机前方景象的图像可以通过图像识别装置获取,如单目、双目、三目、四目相机或摄像头等。[0152] 帧数判断模块612,用于判断图像在预设的动态数组中的帧数是否满足预设的帧数。[0153] 在本发明实施例中,预设的帧数为2帧。[0154] 图像选取模块613,用于当判断为是,将预设的动态数组中的第一帧图像作为前一帧图像,第二帧图像作为当前图像。[0155] 例如,通过相机拍摄得到的图像先存放在预设的动态数组中,当动态数组的中的图像的帧数为2帧时,则将预设的动态数组中的第一帧图像作为前一帧图像,第二帧图像作为当前图像。可以理解,预设的动态数组中获取了第一帧图像和第二帧图像后,当有第三帧图像需要保持进来时,则将第一帧图像删除,此时第二帧图像则作为前一帧图像,第三帧图像则作为当前帧图像。[0156] 本发明实施例提供的草地障碍物识别装置,通过判断预设的动态数组中存在前、后两帧图像时,将前面第一帧图像作为前一帧图像,而后面第二帧图像作为当前图像,有效获取到所需的实时草地景象的图像帧,可以使割草机器人实时地识别草地上障碍物。本发明实施例提供的草地障碍物识别方法,通过获取到的预设的动态数组中的当前帧图像和前一帧图像确定帧差图,再对当前帧图像进行边缘检测,得到边缘检测图,最后通过帧差图和边缘检测图确定障碍物图,可以实时、精准的识别出背景相似或相同草地上的障碍物,提高了割草机器人识别障碍物的效率及割草机器人的智能化程度。[0157] 实施例十一[0158] 参见图11,图11示出了一种割草机器人,该割草机器人包括:[0159] 割草机器人本体1;[0160] 设置在割草机器人本体1上的图像获取装置2,图像获取装置2用于获取割草机器人在行走方向上的前方景象;以及,割草机器人本体1内的控制器;控制器上述的草地障碍物识别装置600。[0161] 本发明实施例提供的割草机器人,还包括:存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。处理器执行计算机程序时实现上述各个草地障碍物识别方法实施例中的功能。[0162] 示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在割草机器人中的执行过程。[0163] 本领域技术人员可以理解,上述割草机器人的描述仅仅是示例,并不构成对割草机器人的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。[0164] 所称处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、微控制单元(MicrocontrollerUnit,MCU)、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field‑ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是上述割草机器人的控制中心,利用各种接口和线路连接整个割草机器人的各个部分。[0165] 所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现上述割草机器人的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。[0166] 上述割草机器人集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例系统中的全部或部分单元功能,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的功能。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。[0167] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
专利地区:广东
专利申请日期:2021-06-21
专利公开日期:2024-10-15
专利公告号:CN113435287B