发明内容
鉴于此,为解决现有技术中无法精确确定机柜中发生故障的设备,及发生故障的设备位置等的技术问题,本发明实施例提供一种机柜中设备位置确定方法、故障检测方法、装置及系统。
第一方面,本发明实施例提供一种机柜中设备位置确定方法,该方法包括:
获取巡检机柜图片;
分别识别巡检机柜图片中的第一点像素坐标和第二点的像素坐标,第一点和第二点分别为位于机柜两侧同一水平面,且二者间距与机柜宽度相等的两个点;
根据机柜实际宽度、第一点的像素坐标,以及第二点的像素坐标,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数;
根据巡检机柜图片中机柜基准点像素坐标、第一比例系数,以及机柜中第i个u位距离基准边的实际距离,确定机柜中第i个u位在巡检机柜图片中基准点所在侧的像素坐标;
根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,确定巡检机柜图片中设备位置信息,其中,i为正整数,基准点为第一点或者为第二点,基准边为第一点和第二点之间的连线构成的边。
在一个可能的实施方式中,分别识别巡检机柜图片中的第一点像素坐标和第二点的像素坐标之前,方法还包括:
确定巡检机柜图片是否存在畸变;
当确定巡检机柜图片存在畸变时,对存在畸变的巡检机柜图片进行畸变校正。
在一个可能的实施方式中,根据机柜实际宽度、第一点的像素坐标,和第二点的像素坐标,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数,具体包括:
根据第一点的像素坐标和第二点的像素坐标,确定第一点和第二点之间的第一像素距离;
根据机柜实际宽度以及第一像素距离,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数。
在一个可能的实施方式中,根据巡检机柜图片中机柜基准点像素坐标、第一比例系数,以及机柜中第i个u位距离基准边的实际距离,确定机柜中第i个u位在巡检机柜图片中基准点所在侧的像素坐标,具体包括:
根据机柜中第i个u位距离基准边的实际距离以及第一比例系数,确定巡检机柜图片中机柜第i个u位距离基准边的像素距离;
根据巡检机柜图片中机柜基准点像素坐标,以及巡检机柜图片中机柜第i个u位距离基准边的像素距离,确定第i个u位在巡检机柜图片中基准点所在侧的像素坐标。
在一个可能的实施方式中,根据巡检机柜图片中机柜基准点像素坐标、第一比例系数,以及机柜中第i个u位距离基准边的实际距离,确定机柜中第i个u位在巡检机柜图片中基准点所在侧的像素坐标,具体包括:
根据巡检机柜图片中机柜基准点像素坐标、机柜中第一u位距离基准边的实际距离以及第一比例系数,确定第一u位在巡检机柜图片中基准点所在侧的像素坐标;
根据第一u位在巡检机柜图片中基准点所在侧的像素坐标、单位u位实际高度以及第一比例系数,确定机柜除第一u位机柜以外的其他u位在巡检机柜图片中基准点所在侧的像素坐标,其中,单位u位实际高度为相邻两u位距离基准边的实际距离之间的绝对差值,第一u位为距离基准边最近的u位。
在一个可能的实施方式中,当巡检机柜图片存在角度偏移时,分别识别巡检机柜图片中的第一点像素坐标和第二点的像素坐标之前,方法还包括:
调整巡检机器人拍摄角度,直至确定拍摄角度与机柜正面垂直时,重新获取巡检机柜图片。
第二方面,本发明实施例提供一种机柜中设备故障检测方法,该方法包括:
获取机柜处于正常工作状态时的图片;
根据机柜处于正常工作状态时的图片,如第一方面任一实施方式方法获取的机柜巡检图片,以及巡检机柜图片中的设备位置信息,确定机柜中发生故障的设备,以及发生故障的设备的位置信息。
第三方面,本发明实施例提供一种机柜中设备位置确定装置,该装置包括:
获取单元,用于获取巡检机柜图片;
识别单元,用于分别识别巡检机柜图片中的第一点像素坐标和第二点的像素坐标,第一点和第二点分别为位于机柜两侧同一水平面,且二者间距与机柜宽度相等的两个点;
处理单元,用于根据机柜实际宽度、第一点的像素坐标,以及第二点的像素坐标,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数;
根据巡检机柜图片中机柜基准点像素坐标、第一比例系数,以及机柜中第i个u位距离基准边的实际距离,确定机柜中第i个u位在巡检机柜图片中基准点所在侧的像素坐标;
根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,确定巡检机柜图片中设备位置信息,其中,i为正整数,基准点为第一点或者为第二点,基准边为第一点和第二点之间的连线构成的边。
第四方面,本发明实施例提供一种机柜中设备故障检测装置,该装置包括:
获取单元,用于获取机柜处于正常工作状态时的图片;
处理单元,用于根据机柜处于正常工作状态时的图片、如第三方面的装置获取的巡检机柜图片,以及机柜中设备位置信息,确定机柜中发生故障的设备,以及发生故障的设备的位置信息。
第五方面,本发明实施例提供一种机柜中设备位置确定系统,该系统包括:
至少一个处理器和存储器;
处理器用于执行存储器中存储的机柜中设备位置确定程序,以实现如第一方面任一实施方式所介绍的机柜中设备位置确定方法。
第六方面,本发明实施例提供一种机柜中设备故障检测系统,该系统包括:
至少一个处理器和存储器;
处理器用于执行存储器中存储的机柜中设备故障检测程序,以实现如第一方面任一实施方式所介绍的机柜中设备故障检测方法。
第七方面,本发明实施例提供一种计算机存储介质,该计算机存储介质存储有一个或者多个程序,一个或者多个程序可被如第五方面所介绍的机柜中设备位置确定系统执行,以实现如第一方面任一实施方式所介绍的机柜中设备位置确定方法。
第八方面,本发明实施例提供一种计算机存储介质,该计算机存储介质存储有一个或者多个程序,一个或者多个程序可被如第六方面所介绍的机柜中设备故障检测系统执行,以实现如第一方面任一实施方式所介绍的机柜中设备故障检测方法。
本发明实施例提供的一种机柜中设备位置确定方法,首先获取巡检机柜图片,然后识别巡检机柜图片中第一点的像素坐标,以及第二点的像素坐标。根据机柜实际宽度、巡检机柜图片中第一点的像素坐标,以及第二点的像素坐标,来确定第一比例系数。根据第一比例系数、巡检机柜图片中机柜基准点像素坐标、机柜中第i个u位距离基准边的实际距离,确定机柜中每一u位在巡检图片中的位置坐标数据,从而实现机柜u位分割。设备都存放于机柜不同u位中,既然通过上述方式已经实现了u位分割和定位。那么再根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,就可以精确确定巡检机柜图片中设备位置信息。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供的一种机柜中设备位置确定方法流程示意图。在介绍本实施例的方法步骤之前,需要说明的是:
本实施例的方法适用于机器人相机与机柜之间的距离固定,且相机拍摄角度与机柜正面垂直的应用场景,具体参见图2所示。图2中示出的是两排机柜中每一排机柜的首个机柜,包括第一排机柜中的首个机柜A和第二排机柜中首个机柜C。两排机柜之间一般间隔预设距离,例如1.2米。而巡检机器人则位于两排机柜之间,在这一排一排机柜中穿梭,以便对每个机柜进行巡检。机器人上有一个视觉相机(图2中显示D的位置)可在BE段上下自由滑动拍照。图3则示出了机器人巡检机柜俯视图。如图所示,图3中示出机柜的宽度距离,如图3中的AB距离,一般机柜的宽度(AB的距离)为60cm或者80cm。相机和机柜之间的固定距离为CD之间的距离,C为AB的正中心。图4示出了机柜中存放设备的示意图。
具体如图4所示,机柜中存放的是若干台服务器。图片右侧的刻度为机柜的u位标识,1u的长度为44.5mm,一般一个机柜有42u或者39u等。服务器的高度有1u或者2u不等。图4中一台服务器的高度为2u。
该方法包括:
步骤110,获取巡检机柜图片。
具体的,巡检机器人参照上述应用场景要求对机柜进行拍照,获取巡检机柜图片。
步骤120,分别识别巡检机柜图片中的第一点像素坐标和第二点的像素坐标。
具体的,可以采用目标检测网络方法,例如采用yolov3巡检机柜图片中的第一点和第二点进行识别和定位,获取第一点和第二点分别对应的像素坐标。其中,第一点和第二点分别为位于机柜两侧同一水平面,且二者间距与机柜宽度相等的两个点。例如图4中机柜左侧底角对应的端点A(设为第一点)的像素坐标为a(x1,y1),以及机柜右侧底角对应的端点B(设为第二点)的像素坐标为b(x2,y2)。
可选的,在步骤110至步骤120之间,该方法还可以包括:
确定巡检机柜图片是否存在畸变;
当确定巡检机柜图片存在畸变时,对存在畸变的巡检机柜图片进行畸变校正。
具体的,如果巡检机器人采用的是无畸变相机进行拍摄,那么巡检机柜图片自然不存在畸变情况,也就无需进行畸变校正。但是如果是采用普通相机进行拍摄的图片,则有可能存在图片畸变。因此,还需要对拍摄图片进行畸变校正。例如可以采用张正友标定方法,对图片进行畸变校正。具体畸变校正过程为现有技术,这里不做过多说明。
步骤130,根据机柜实际宽度、第一点的像素坐标,以及第二点的像素坐标,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数。
具体的,如步骤120所介绍的,已经能够获知的是第一点的像素坐标,以及第二点的像素坐标a(x1,y1)和b(x2,y2)。那么,可以确定第一点和第二点之间的第一像素距离,也即是巡检机柜图片中机柜宽度。
具体的,第一像素距离可以由如下公式计算获取:
其中,因为y2=y1,而图像中左上角为像素坐标零点,右下角像素坐标x轴的值为图像的宽,y轴的值为图像的高,所以x2的数值为巡检机柜图片的宽,x1的坐标实际为0。所以公式1简化后可以得到公式2:
ab=x2-x1=x2 (公式2)
已知机柜实际距离,如图5中的距离AB,其可以经过实际测算得到。
那么,就可以根据图5中的机柜实际距离AB和巡检机柜图片中的机柜宽度ab,确定第一比例系数:
步骤140,根据巡检机柜图片中机柜基准点像素坐标、第一比例系数,以及机柜中第i个u位距离基准边的实际距离,确定机柜中第i个u位在巡检机柜图片中基准点所在侧的像素坐标。
具体的,在一种可能的实施方式中,可以根据机柜中第i个u位距离基准边的实际距离以及第一比例系数,确定巡检机柜图片中机柜第i个u位距离基准边的像素距离;
根据巡检机柜图片中机柜基准点像素坐标,以及巡检机柜图片中机柜第i个u位距离基准边的像素距离,确定第i个u位在巡检机柜图片中基准点所在侧的像素坐标。其中,i为大于或者等于1的正整数,基准点为第一点或者为第二点,基准边为第一点和第二点之间的连线构成的边。
在另一种可能的实施方式中,也可以根据机柜中第i个u位在基准点所在侧的端点距离基准点的实际距离以及第一比例系数,确定巡检机柜图片中机柜第i个u位在基准点所在侧的端点距离基准点的像素距离;
根据巡检机柜图片中机柜基准点像素坐标,以及巡检机柜图片中机柜第i个u位在基准点所在侧的端点距离基准点的像素距离,确定第i个u位在巡检机柜图片中基准点所在侧的像素坐标。
实际上这两种实施方式本质上算是同一种实施方式,只是测量的时候稍有差别。
在一个具体的例子中,具体参见图4所示,以确定机柜中第一个u位在巡检机柜图片中基准点所在侧(例如,j为2,也即是图4中的右侧)的像素坐标为例进行说明。具体采用根据巡检机柜图片中机柜基准点像素坐标,以及巡检机柜图片中机柜第i个u位距离基准边的像素距离,确定第i个u位在巡检机柜图片中基准点所在侧的像素坐标的方式计算,具体参见如下:
机柜中第一个u位距离基准边的实际距离可以通过测量的方式获取,设定为BC。根据第一比例系数和BC可以确定巡检机柜图片中第一个u位距离基准边(也即是机柜底边)的像素距离为:
第二点的像素坐标为b(x2,y2),假设第一个u位的像素坐标为c(x3,y3)。其中,x3=x2,y3=y2-bc。
在另一个具体的例子中,如果计算的是第二个u位的坐标。
那么,可以先测算出第二个u位距离基准边的实际距离,假设是BD,根据第一比例系数和BC可以确定巡检机柜图片中第二个u位距离机柜右侧底角(也即是距离基准边)的像素距离为:
机柜右侧底角的像素坐标为b(x2,y2),假设第二个u位的像素坐标为d(x4,y4)。其中,x4=x2,y4=y2-bd。
依次类推,可以计算出机柜中每一个u位在巡检机柜图片中右侧的像素坐标。当然,如果计算左侧的像素坐标,则原理类似,只要上面中涉及到右侧底角的坐标替换为第一点坐标计算即可。
在另一种可实现方式中,也可以先计算第一u位的像素坐标,然后根据相邻两u位坐标之间的高度差相等的原理,依次计算出所有u位在巡检机柜图片中基准点所在侧的像素坐标。这里的第一u位为距离基准边最近的u位。在上述的例子中,基准边就是机柜底边,那么,这里的第一u位就是实际机柜中的第一个u位。当然,在另一种情况中,如果距离基准边相同的存在两个u位,那么可以任选一个u位作为第一u位。
具体执行过程为:根据巡检机柜图片中机柜基准点像素坐标、机柜中第一u位距离基准边的实际距离以及第一比例系数,确定第一u位在巡检机柜图片中基准点所在侧的像素坐标;
根据第一u位在巡检机柜图片中基准点所在侧的像素坐标、单位u位实际高度以及第一比例系数,确定机柜除第一u位机柜以外的其他u位在巡检机柜图片中基准点所在侧的像素坐标,其中,单位u位实际高度为相邻两u位距离基准边的实际距离之间的绝对差值。
在一个具体的例子中,比如计算的依然是第二个u位的像素坐标。
首先,如上文所介绍的计算出第一个u位的坐标为x3=x2,y3=y2-bc。
然后,相邻两u位坐标之间的高度觉得差值为u,单位u位实际高度(1u)的长度为44.5mm。
根据第一比例系数和单位u位实际高度,确定第一个u位和第二个u位之间的像素距离为
那么第二个u位的像素坐标为x4=x2,y4=y2-bc-m。实际上,bc+m=bd。
依次类推,在计算出第二个u位的像素坐标后,再根据第个二u位像素坐标,计算出第三个u位像素坐标。或者是再根据第一个u位像素坐标计算出第三个u位像素坐标等等。通过上述方式,同样可以计算出机柜中所有u位在巡检机柜图片中任一侧的像素坐标。
步骤150,根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,确定巡检机柜图片中设备位置信息。
具体的,每个设备高度的一般是一个u位高度,或者是两个u位的高度。通过步骤110至步骤140实现在巡检机柜图片中,对机柜的所有u位进行定位分割和精确定位。那么,只要能够识别到巡检机柜图片中设备所在位置,然后再去匹配设备在哪两个u位之间,就可以轻易的根据机柜中每一u位在基准点所在侧的像素坐标,来确定设备的位置信息。
本发明实施例提供的机柜中设备位置确定方法,首先获取巡检机柜图片,然后识别巡检机柜图片中第一点的像素坐标,以及第二点的像素坐标。根据机柜实际宽度、巡检机柜图片中第一点的像素坐标,以及第二点的像素坐标,来确定第一比例系数。根据第一比例系数、巡检机柜图片中机柜基准点像素坐标、机柜中第i个u位距离基准边的实际距离,确定机柜中每一u位在巡检图片中的位置坐标数据,从而实现机柜u位分割。设备都存放于机柜不同u位中,既然通过上述方式已经实现了u位分割和定位。那么再根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,就可以精确确定巡检机柜图片中每一个设备的具体位置信息。
图6为本发明提供的另一种机柜中设备位置确定方法,与图1的方法相对应的,该方法可以适用于机器人相机拍摄角度与机柜不垂直情况。如图7所示,巡检机器人的相机拍摄角度与机柜不垂直,存在一定的角度偏移。因此,该方法需要进行角度偏移校正。
具体的,当检测到巡检机柜图片存在角度偏移时,执行步骤610,调整巡检机器人拍摄角度,直至确定拍摄角度与机柜正面垂直时,重新获取巡检机柜图片。
具体的,若存在角度偏移,由于相机拍摄高度一般高于底角高度。所以在角度偏移情况下拍摄到的左右两个底角在图像中y坐标不相等。即在图像中两底角连线不水平,如图8所示,图8为机器人在角度偏移情况下拍摄机柜图片,图像中机柜左右底角连线不水平。此时通过控制机器人旋转并再次拍摄图片检测两底角纵坐标是否相等来微调矫正机器人拍摄视角。机器人每次到机柜前偏移角度不固定,可以人为设定一个机器人可能偏移的最大角度作为初始旋转角度。若拍摄的图像中底角B高于底角A,让机器人向左旋转,反之向右旋转。机器人旋转后拍摄图片再次检测底角A和B在图像中的高低,若A和B底角高低发生翻转,即上一次B高于A这一次变为A高于B,机器人则反向旋转并且旋转角度减少一半。若A和B底角高低没有发生翻转,机器人继续按照上一次的旋转方向和角度进行旋转。依次类推直到满足底角A和B的纵坐标差值在一定误差范围内结束调整。此时机器人满足拍摄距离固定,相机拍摄角度与机柜正面垂直的条件。
在机器人满足拍摄距离固定,相机拍摄角度与机柜正面垂直的条件时,重新获取巡检机柜图片。
然后执行图1中的步骤120至步骤150(图6中对应显示为620至650),以实现根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,确定巡检机柜图片中设备位置信息。
步骤620至步骤650的步骤这里不再详细说明,具体参见上一实施例。
本发明实施例提供的一种机柜中设备位置确定方法,首先调整巡检机器人拍摄角度,直至确定拍摄角度与机柜正面垂直时,获取巡检机柜图片。然后识别巡检机柜图片中第一点的像素坐标,以及第二点的像素坐标。根据机柜实际宽度、巡检机柜图片中第一点的像素坐标,以及第二点的像素坐标,来确定第一比例系数。根据第一比例系数、巡检机柜图片中机柜基准点像素坐标、机柜中第i个u位距离基准边的实际距离,确定机柜中每一u位在巡检图片中的位置坐标数据,从而实现机柜u位分割。设备都存放于机柜不同u位中,既然通过上述方式已经实现了u位分割和定位。那么再根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,就可以精确确定巡检机柜图片中设备位置信息。
在上述两个实施例中,可以精确的在巡检机柜图片中确定每一个设备的具体位置信息。那么,确定该位置信息后,可以应用到很多应用场景中。例如检测机柜中设备是否发生故障并确定故障位置。根据机柜中设备的具体位置信息,采取其他应用。
在下文中,将以检测机柜中设备是否发生故障以及确定故障位置等的应用场景为例进行说明。具体参见本发明下一个实施例所提供的方法流程示意图,如图9所示。
在上述两个实施例的基础上,本方法包括:
步骤910,获取机柜处于正常工作状态时的图片。
具体获取机柜处于正常工作状态时的图片,可以从巡检机器人内部存储的资料库中调取,或者是通过其他方式获取。
步骤920,根据机柜处于正常工作状态时的图片,如上述实施例所介绍的方法获取的机柜巡检图片,以及巡检机柜图片中的设备位置信息,确定机柜中发生故障的设备,以及发生故障的设备的位置信息。
具体的,巡检机器人根据巡检机柜图片和机柜处于正常状态时的图片进行比对,就可以确定机柜中某个设备是否存在故障,而根据上一实施例的方法,已经完全可以确定每一个设备的具体故障信息。因此,在确定某个设备发生故障后,完全可以精确确定具体发生故障的设备所在位置。
本发明实施例提供的机柜中设备故障检测方法,弥补了仅仅通过巡检机柜图片以及机柜处于正常工作状态时的图片进行对比只能确定机柜中有设备存在故障,但是却不能精确确定哪个设备存在故障的问题。通过该种方式,完全可以精确确定已经发生故障的设备,以及发生故障的具体位置信息,方便工作人员根据已定位发生故障的设备,及其位置,及时采取补救措施,提高工作效率,尽量减少因为设备故障造成的损失。
图10为本发明实施例提供的一种机柜中设备位置确定装置,该装置包括:获取单元1001、识别单元1002以及处理单元1003。
获取单元1001,用于获取巡检机柜图片;
识别单元1002,用于分别识别巡检机柜图片中的第一点像素坐标和第二点的像素坐标,第一点和第二点分别为位于机柜两侧同一水平面,且二者间距与机柜宽度相等的两个点;
处理单元1003,用于根据机柜实际宽度、第一点的像素坐标,以及第二点的像素坐标,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数;
根据巡检机柜图片中机柜基准点像素坐标、第一比例系数,以及机柜中第i个u位距离基准边的实际距离,确定机柜中第i个u位在巡检机柜图片中基准点所在侧的像素坐标;
根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,确定巡检机柜图片中设备位置信息,其中,i为正整数,基准点为第一点或者为第二点,基准边为第一点和第二点之间的连线构成的边。
可选的,处理单元1003还用于,确定巡检机柜图片是否存在畸变;
当确定巡检机柜图片存在畸变时,对存在畸变的巡检机柜图片进行畸变校正。
可选的,处理单元1003具体用于,根据第一点的像素坐标和第二点的像素坐标,确定第一点和第二点之间的第一像素距离;
根据机柜实际宽度以及第一像素距离,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数。
可选的,处理单元1003具体用于,根据机柜中第i个u位距离基准边的实际距离以及第一比例系数,确定巡检机柜图片中机柜第i个u位距离基准边的像素距离;
根据巡检机柜图片中机柜基准点像素坐标,以及巡检机柜图片中机柜第i个u位距离基准边的像素距离,确定第i个u位在巡检机柜图片中基准点所在侧的像素坐标。
可选的,处理单元1003具体用于,根据巡检机柜图片中机柜基准点像素坐标、机柜中第一u位距离基准边的实际距离以及第一比例系数,确定第一u位在巡检机柜图片中基准点所在侧的像素坐标;
根据第一u位在巡检机柜图片中基准点所在侧的像素坐标、单位u位实际高度以及第一比例系数,确定机柜除第一u位机柜以外的其他u位在巡检机柜图片中基准点所在侧的像素坐标,其中,单位u位实际高度为相邻两u位距离基准边的实际距离之间的绝对差值,第一u位为距离基准边最近的u位。
可选的,处理单元1003还用于,当巡检机柜图片存在角度偏移时,调整巡检机器人拍摄角度,直至确定拍摄角度与机柜正面垂直时,重新获取巡检机柜图片。
本实施例提供的机柜中设备位置确定装置中各功能部件所执行的功能均已在图1或图6对应的实施例中做了详细介绍,因此这里不再赘述。
本发明实施例提供的一种机柜中设备位置确定装置,首先获取巡检机柜图片,然后识别巡检机柜图片中第一点的像素坐标,以及第二点的像素坐标。根据机柜实际宽度、巡检机柜图片中第一点的像素坐标,以及第二点的像素坐标,来确定第一比例系数。根据第一比例系数、巡检机柜图片中机柜基准点像素坐标、机柜中第i个u位距离基准边的实际距离,确定机柜中每一u位在巡检图片中的位置坐标数据,从而实现机柜u位分割。设备都存放于机柜不同u位中,既然通过上述方式已经实现了u位分割和定位。那么再根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,就可以精确确定巡检机柜图片中设备位置信息。
图11为本发明实施例提供的一种机柜中设备故障检测装置的结构示意图,具体如图11所示,该装置包括:获取单元1101和处理单元1102。
获取单元1101,用于获取机柜处于正常工作状态时的图片;
处理单元1102,用于根据机柜处于正常工作状态时的图片、如图10所示的装置获取的巡检机柜图片,以及机柜中设备位置信息,确定机柜中发生故障的设备,以及发生故障的设备的位置信息。
本实施例提供的机柜中设备故障检测装置中各功能部件所执行的功能均已在9对应的实施例中做了详细介绍,因此这里不再赘述。
本发明实施例提供的机柜中设备故障检测装置,弥补了仅仅通过巡检机柜图片以及机柜处于正常工作状态时的图片进行对比只能确定机柜中有设备存在故障,但是却不能精确确定哪个设备存在故障的问题。通过该种方式,完全可以精确确定已经发生故障的设备,以及发生故障的具体位置信息,方便工作人员根据已定位发生故障的设备,及其位置,及时采取补救措施,提高工作效率,尽量减少因为设备故障造成的损失。
图12为本发明实施例提供的一种机柜中设备位置确定系统的结构示意图,图12所示的机柜中设备位置确定系统1200包括:至少一个处理器1201、存储器1202、至少一个网络接口1203和其他用户接口1204。机柜中设备位置确定机柜中设备位置确定系统1200中的各个组件通过总线系统1205耦合在一起。可理解,总线系统1205用于实现这些组件之间的连接通信。总线系统1205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为总线系统1205。
其中,用户接口1204可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器1202可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器1202旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器1202存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统12021和应用程序12022。
其中,操作系统12021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序12022,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序12022中。
在本发明实施例中,通过调用存储器1202存储的程序或指令,具体的,可以是应用程序12022中存储的程序或指令,处理器1201用于执行各方法实施例所提供的方法步骤,例如包括:
获取巡检机柜图片;
分别识别巡检机柜图片中的第一点像素坐标和第二点的像素坐标,第一点和第二点分别为位于机柜两侧同一水平面,且二者间距与机柜宽度相等的两个点;
根据机柜实际宽度、第一点的像素坐标,以及第二点的像素坐标,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数;
根据巡检机柜图片中机柜基准点像素坐标、第一比例系数,以及机柜中第i个u位距离基准边的实际距离,确定机柜中第i个u位在巡检机柜图片中基准点所在侧的像素坐标;
根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,确定巡检机柜图片中设备位置信息,其中,i为正整数,基准点为第一点或者为第二点,基准边为第一点和第二点之间的连线构成的边。
可选的,确定巡检机柜图片是否存在畸变;
当确定巡检机柜图片存在畸变时,对存在畸变的巡检机柜图片进行畸变校正。
可选的,根据第一点的像素坐标和第二点的像素坐标,确定第一点和第二点之间的第一像素距离;
根据机柜实际宽度以及第一像素距离,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数。
可选的,根据机柜中第i个u位距离基准边的实际距离以及第一比例系数,确定巡检机柜图片中机柜第i个u位距离基准边的像素距离;
根据巡检机柜图片中机柜基准点像素坐标,以及巡检机柜图片中机柜第i个u位距离基准边的像素距离,确定第i个u位在巡检机柜图片中基准点所在侧的像素坐标。
可选的,根据巡检机柜图片中机柜基准点像素坐标、机柜中第一u位距离基准边的实际距离以及第一比例系数,确定第一u位在巡检机柜图片中基准点所在侧的像素坐标;
根据第一u位在巡检机柜图片中基准点所在侧的像素坐标、单位u位实际高度以及第一比例系数,确定机柜除第一u位机柜以外的其他u位在巡检机柜图片中基准点所在侧的像素坐标,其中,单位u位实际高度为相邻两u位距离基准边的实际距离之间的绝对差值,第一u位为距离基准边最近的u位。
可选的,调整巡检机器人拍摄角度,直至确定拍摄角度与机柜正面垂直时,重新获取巡检机柜图片。
上述本发明实施例揭示的方法可以应用于处理器1201中,或者由处理器1201实现。处理器1201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1201可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1202,处理器1201读取存储器1202中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的机柜中设备位置确定系统可以是如图12中所示的机柜中设备位置确定系统,可执行如图1或如图6中机柜中设备位置确定方法的所有步骤,进而实现图1或如图6所示机柜中设备位置确定方法的技术效果,具体请参照图1或图6相关描述,为简洁描述,在此不作赘述。
图13为本发明实施例提供的一种机柜中设备故障检测系统的结构示意图,图13所示的机柜中设备故障检测系统1300包括:至少一个处理器1301、存储器1302、至少一个网络接口1303和其他用户接口1304。机柜中设备故障检测机柜中设备故障检测系统1300中的各个组件通过总线系统1305耦合在一起。可理解,总线系统1305用于实现这些组件之间的连接通信。总线系统1305除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图13中将各种总线都标为总线系统1305。
其中,用户接口1304可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器1302可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器1302旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器1302存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统13021和应用程序13022。
其中,操作系统13021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序13022,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序13022中。
在本发明实施例中,通过调用存储器1302存储的程序或指令,具体的,可以是应用程序13022中存储的程序或指令,处理器1301用于执行各方法实施例所提供的方法步骤,例如包括:
获取机柜处于正常工作状态时的图片;
根据机柜处于正常工作状态时的图片,如图1或图6对应的实施例介绍的方法获取的机柜巡检图片,以及巡检机柜图片中的设备位置信息,确定机柜中发生故障的设备,以及发生故障的设备的位置信息。
上述本发明实施例揭示的方法可以应用于处理器1301中,或者由处理器1301实现。处理器1301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1301可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1302,处理器1301读取存储器1302中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的机柜中设备故障检测系统可以是如图13中所示的机柜中设备故障检测系统,可执行如图9中机柜中设备故障检测方法的所有步骤,进而实现图9所示机柜中设备故障检测方法的技术效果,具体请参照图9相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在机柜中设备位置确定系统侧执行的机柜中设备位置确定方法。
处理器用于执行存储器中存储的机柜中设备位置确定程序,以实现以下在机柜中设备位置确定系统侧执行的机柜中设备位置确定方法的步骤:
获取巡检机柜图片;
分别识别巡检机柜图片中的第一点像素坐标和第二点的像素坐标,第一点和第二点分别为位于机柜两侧同一水平面,且二者间距与机柜宽度相等的两个点;
根据机柜实际宽度、第一点的像素坐标,以及第二点的像素坐标,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数;
根据巡检机柜图片中机柜基准点像素坐标、第一比例系数,以及机柜中第i个u位距离基准边的实际距离,确定机柜中第i个u位在巡检机柜图片中基准点所在侧的像素坐标;
根据巡检机柜图片以及机柜中每一u位在基准点所在侧的像素坐标,确定巡检机柜图片中设备位置信息,其中,i为正整数,基准点为第一点或者为第二点,基准边为第一点和第二点之间的连线构成的边。
可选的,确定巡检机柜图片是否存在畸变;
当确定巡检机柜图片存在畸变时,对存在畸变的巡检机柜图片进行畸变校正。
可选的,根据第一点的像素坐标和第二点的像素坐标,确定第一点和第二点之间的第一像素距离;
根据机柜实际宽度以及第一像素距离,确定机柜实际宽度和巡检机柜图片中机柜宽度之间的第一比例系数。
可选的,根据机柜中第i个u位距离基准边的实际距离以及第一比例系数,确定巡检机柜图片中机柜第i个u位距离基准边的像素距离;
根据巡检机柜图片中机柜基准点像素坐标,以及巡检机柜图片中机柜第i个u位距离基准边的像素距离,确定第i个u位在巡检机柜图片中基准点所在侧的像素坐标。
可选的,根据巡检机柜图片中机柜基准点像素坐标、机柜中第一u位距离基准边的实际距离以及第一比例系数,确定第一u位在巡检机柜图片中基准点所在侧的像素坐标;
根据第一u位在巡检机柜图片中基准点所在侧的像素坐标、单位u位实际高度以及第一比例系数,确定机柜除第一u位机柜以外的其他u位在巡检机柜图片中基准点所在侧的像素坐标,其中,单位u位实际高度为相邻两u位距离基准边的实际距离之间的绝对差值,第一u位为距离基准边最近的u位。
可选的,调整巡检机器人拍摄角度,直至确定拍摄角度与机柜正面垂直时,重新获取巡检机柜图片。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在机柜中设备位置确定系统侧执行的机柜中设备位置确定方法。
处理器用于执行存储器中存储的机柜中设备位置确定程序,以实现以下在机柜中设备位置确定系统侧执行的机柜中设备位置确定方法的步骤:
获取机柜处于正常工作状态时的图片;
根据机柜处于正常工作状态时的图片,如图1或图6对应的实施例介绍的方法获取的机柜巡检图片,以及巡检机柜图片中的设备位置信息,确定机柜中发生故障的设备,以及发生故障的设备的位置信息。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。