CN116012445A - 一种基于深度相机的导览机器人感知行人三维空间信息的方法和*** - Google Patents
一种基于深度相机的导览机器人感知行人三维空间信息的方法和*** Download PDFInfo
- Publication number
- CN116012445A CN116012445A CN202211572616.7A CN202211572616A CN116012445A CN 116012445 A CN116012445 A CN 116012445A CN 202211572616 A CN202211572616 A CN 202211572616A CN 116012445 A CN116012445 A CN 116012445A
- Authority
- CN
- China
- Prior art keywords
- robot
- pedestrian
- dimensional
- depth
- pedestrians
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
一种基于深度相机的导览机器人感知行人三维空间信息的方法,包括:1)机器人端获取深度相机的RGB图片及Depth图片,进行预处理后传输到云端服务器;2)根据云端部署的多目标跟踪方法及二维人体关键点检测网络获取每一个跟踪到的行人的二维关键点坐标,结合Depth图片与RGB图片的映射关系获取行人的三维关键点坐标;3)根据深度相机与激光雷达联合标定的坐标转换矩阵获取机器人坐标系下的行人三维关键点坐标并输出行人三维空间信息;4)机器人根据获取到的行人三维空间信息进行本体控制,完成自主唤醒等智能导览任务;采用基于视觉感知方法提升导览机器人的自然交互体验。本发明能用于展厅等公共场景下导览机器人对行人的三维空间信息的智能感知。
Description
技术领域
本发明涉及机器视觉领域,尤其涉及一种基于深度相机的导览机器人感知行人三维空间信息的方法。
背景技术
导览机器人在展厅、博物馆等公共场所中可以代替人工讲解员进行智能化服务,从而节省人力。行人作为该场景下的重点行为主体,导览机器人需要对其进行实时感知及智能分析,从而在人机交互中实现更加拟人化的服务,提升用户体验。
视觉是机器人获取外部信息的重要方式。对包含行人目标的图像进行二维人体关键点检测的方法只能获取2D图像信息,而行人与机器人的交互行为发生在真实的三维世界中,所以需要获取行人在三维空间中感知信息。利用深度相机获取人体关键点的三维坐标,采用非接触式的方法,可以为导览机器人自主唤醒等拟人化交互功能提供可靠地行人三维空间信息。
发明内容
针对现有技术的不足,本发明提供了一种基于深度相机的导览机器人感知行人三维空间信息的方法,本发明采用如下的技术方案:
一种基于深度相机的导览机器人感知行人三维空间信息的方法,包括以下步骤:
步骤S1机器人端采集深度相机的RGB图片和Depth图片,并进行时间对齐和空间对齐,将经过深度图降采样、图片编码等预处理操作的图片数据传输到云端服务器;
步骤S2利用云端部署的多目标跟踪方法及二维人体关键点检测方法获取每一个跟踪到的行人的二维关键点坐标,结合深度图片与RGB图片的映射关系获取行人的三维关键点坐标;
步骤S3根据深度相机与激光雷达联合标定获取坐标系转换矩阵,从而获取机器人坐标系下的行人三维关键点坐标,输出行人三维空间信息;
步骤S4机器人端通过访问云端服务器获取行人三维空间信息进行本体控制,完成自主唤醒等智能导览任务。
进一步的,所述步骤S1中的深度相机的RGB图片和Depth图片进行时间对齐是指通过时间戳获取同一时间下的一帧RGB图片和一帧Depth图片进行对齐;空间对齐是将Depth深度图片对齐到RGB彩色图片;
进一步的,所述步骤S1中深度图降采样的缩放系数为kh,kw,原始深度图尺寸为[W,H],降采样后的尺寸为[W/kw,H/kh];机器人端将采集到的原始RGB彩色图片及降采样后的Depth深度图片进行编码,然后通过Redis消息中间件发送至云端服务器。
进一步的,所述步骤S2包含如下步骤:
S2.1采用基于检测的两阶段的多目标跟踪方法方法,即采用YOLOV5+DeepSort的方法获取连续帧下的每张图片中的每个行人目标的ID和检测框;
S2.2采用自顶向下(TopDown)的二维人体关键点检测方法进行行人人体关键点检测,二维关键点检测网络使用Lite-HRNet-18,输入为根据上一步骤的检测框裁剪出的每个行人目标图片,并使用标准化处理缩放到统一尺寸,输出为人体关键点二维坐标[17,3],其中17表示人体关键点数量,3表示关键点在原始RGB图片中的二维像素坐标x,y和置信度c,c的取值范围为0-1;
S2.3结合深度图片与RGB图片的映射关系获取行人的三维关键点坐标,根据缩放系数查找RGB图片中二维关键点(x,y)在深度图中对应的像素坐标(u,v)及相应的深度值d[u,v],其中u=round(u/kw),v=round(u/kh),round表示取整,如果d不存在,则根据该点水平方向[u-pts,u+pts]与垂直方向[v-pts,v+pts]包围的矩形区域内的深度点集合取中值进行估算,其中pts为有效像素个数,pts=3;
S2.4获取相机坐标系下的行人三维关键点坐标,根据二维关键点(x,y)对应的深度值结合相机内参进行计算,获取相机坐标系下的人体三维关键点P[Xc,Yc,Zc]:
Zc=d[u,v]
Yc=(v-cy)×d[u,v]/fy
Xc=(u-cx)×d[u,v]/fx
其中,u,v为二维关键点(x,y)在深度图中对应的行列值,d[u,v]表示该像素坐标下的深度值,(cx,cy)为图像原点相对于光心成像点的横纵偏移量,fx为水平方向的焦距,fy为垂直方向的焦距。
进一步地,所述步骤S3包括如下步骤:
S3.1采用棋盘格标定板进行深度相机与激光雷达联合标定,根据单线激光雷达落在标定板上的激光点并采集标定图片,利用其在激光坐标系的坐标和平面方程在相机坐标系下的坐标,构建点在平面上的约束并求解两个坐标系的转换矩阵,包括旋转矩阵Rc2l和平移矩阵Tc2l;
S3.2根据相机坐标系与激光雷达坐标系的转换矩阵,获取行人在机器人坐标系下的三维关键点坐标:P(Xw,Yw,Zw)=Rc2l×P(Xc,Yc,Zc)+Tc2l,所述机器人坐标系与激光雷达坐标系相一致;
S3.3获取行人三维空间信息包括行人到机器人的空间距离Distacne(简称Dis)及行人高度Height(简称Hp),根据行人三维关键点信息计算行到机器人的空间距离:其中X,Y,Z表示行人在机器人坐标系下的三维空间坐标,可以通行人的三维关键点获取: N表示人体关键点个数:N=17;行人高度Hp是以行人鼻子(nose)关键点为准。
进一步地,所述步骤S4包括如下步骤:
S4.1导览机器人通过消息中间件访问云端服务器,获取行人实时三维空间信息,根据行人与机器人的距离信息及预设阈值,判断是否激活导览机器人,当Dis>3m时,导览机器人状态机处于睡眠状态,能耗较低;当Dis≤3m时,导览机器人则从睡眠状态转为激活状态,从而实现基于视觉信息的机器人主动唤醒任务;
S4.2根据上一步骤判断导览机器人当前状态,当导览机器人处于睡眠状态时,机器人头部处于初始状态,水平及垂直转动角度均为零度;当导览机器人处于激活状态时,根据行人鼻子的三维关键点坐标计算行人与机器人头部的角度,获取行人相对于机器人垂直方向的旋转角度θ1和水平方向的旋转角度θ2,机器人通过运动控制单元控制机器人头部实现两个自由度的旋转到达指定角度。根据行人鼻子关键点三维坐标(Xn,Yn,Zn)获取行人高度为Hp,Hp=Zn+0.20,单位为m,其中0.20为机器人底盘激光雷达到地面的距离,Hhead机器人头部旋转轴到地面的距离,Hhead=1.25m,行人到机器人的距离为Dis,则机器人垂直方向的旋转角度θ1为:
θ1=arcsin(Hp-Hhead)/Dis
机器人水平方向的旋转角度θ2为:
θ2=arcsin(Yn/Xn)。
本发明还包括一种基于深度相机的导览机器人感知行人三维空间信息的***,包括:
图片预处理模块,用于机器人端采集深度相机的RGB图片和Depth图片,并进行时间对齐和空间对齐,将经过深度图降采样、图片编码等预处理操作的数据传输到云端服务器;
行人三维关键点坐标获取模块,用于利用云端部署的多目标跟踪方法及二维人体关键点检测方法获取每一个跟踪到的行人目标的人体二维关键点坐标,结合Depth深度图与RGB图片的映射关系获取行人的三维关键点坐标;
行人三维空间信息输出模块,用于根据深度相机与激光雷达联合标定获取坐标系转换矩阵,从而获取机器人坐标系下的行人三维关键点坐标,输出行人三维空间信息;
智能导览模块,用于机器人端通过访问云端服务器获取行人三维空间信息并进行本体控制,完成自主唤醒等智能导览任务。
本发明还包括一种基于深度相机的导览机器人感知行人三维空间信息的装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现本发明的一种基于深度相机的导览机器人感知行人三维空间信息的方法。
本发明还包括一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的一种基于深度相机的导览机器人感知行人三维空间信息的方法。
本发明的优势和有益效果在于:
本发明采用无接触式的深度相机对场景内的行人进行智能感知;采用云端服务器进行数据传输及模型部署,利用其强大的计算资源及存储资源从而有效的解决机器人本体算力不足的问题。利用基于人体二维关键点获取人体三维关键点坐标的两阶段方法,大大降低了模型复杂度,并充分利用人体关键点信息及深度信息,弥补三维关键点坐标缺失问题,提高人体三维空间感知精度。
附图说明
图1是本发明方法的流程图。
图2是本发明的基于深度相机获取行人三维关键点的方法及可视化的示意图。
图3是本发明的人体关键点坐标示意图。
图4是本发明的导览机器人自主唤醒示意图。
图5是本发明的导览机器人头部旋转示意图。
图6是本发明***的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1所示,一种基于深度相机的导览机器人感知行人三维空间信息的方法,包括如下步骤:
步骤S1机器人端采集深度相机的RGB图片和Depth图片,并进行时间对齐和空间对齐,将经过深度图降采样、图片编码等预处理操作的图片数据传输到云端服务器;
本发明实施例中,采用英特尔RealSense D455i深度相机安装于轮式导览机器人胸部靠上位置,距离地面高度约1.25m。在机器人本地端利用Jetson Xavier NX平台采集深度相机的RGB图片和Depth图片,原始图片尺寸为[W,H],其中W=1280,H=720。因为RGB图片数据的原点是RealSense深度相机的RGB摄像头,而Depth图片数据的原点是RealSense深度相机的红外摄像头,所以需要进行空间对齐操作,我们采用RealSense深度相机自带的SDK安装包将深度图片对齐到彩色图片,从而实现RGB图片坐标与Depth图片坐标的一一对应关系;采用时间戳的方式对每一帧RGB图片与Depth图片进行时间对齐;此外因为机器人本体算力受限,我们需要将采集到的相机数据传输到云端服务器,但是Depth数据量大并且传输受网络等因素影响,所以需要在机器人本地端先进行降采样操作以提高传输效率。原始深度图尺寸为[W,H],降采样的缩放系数为kh,kw,则降采样后深度图尺寸为[W/kw,H/kh];机器人本地端将预处理后RGB图片与Depth图片进行图片编码然后通过Redis消息中间件发送至云端服务器。
步骤S2利用云端部署的多目标跟踪方法及二维人体关键点检测方法获取每一个跟踪到的行人的二维关键点坐标,结合深度图片与RGB图片的映射关系获取行人的三维关键点坐标;
本发明实施例中,云端服务器接收来自机器人端的实时数据,首先进行解码操作,然后采用YOLOV5+DeepSort多目标跟踪方法获取每一帧RGB图片中的每一个行人目标的检测框及对应的ID;根据检测框裁剪出的每个行人目标图片,并使用标准化处理缩放到统一尺寸:256×192,输入到云端部署好的二维关键点检测网络,二维关键点关键点检测网络采用Lite-HRNet-18,输出为人体关键点二维坐标[17,3],其中17表示人体关键点数量,3表示关键点在原始RGB图片中的二维像素坐标x,y和置信度c,c的取值范围为0-1,根据置信度c可以进行后续的三维关键点筛选;
根据RGB图片获取到了行人二维关键点坐标,再结合Depth图片与RGB图片的坐标对应关系即可获取行人三维关键点坐标。由于为了提升传输效率对深度图进行了降采样,所以在检索过程中需要进一步处理:假设RGB图片中二维关键点坐标为(x,y),根据缩放系数查其所对应的深度图坐标为(u,v),相应的深度值为d[u,v],其中u=round(x/kw),v=round(y/kh),round表示取整,如果d不存在,则根据该点水平方向[u-pts,u+pts]与垂直方向[v-pts,v+pts]包围的矩形区域内的深度点集合取中值进行估算,其中pts为有效像素个数,pts=3;
根据二维关键点对应的深度值结合相机内参,采用如下公式计算相机坐标系下的人体三维关键点P[Xc,Yc,Zc]坐标值:
Zc=d[u,v]
Yc=(v-cy)×d[u,v]/fy
Xc=(u-cx)×d[u,v]/fx
其中,u,v为二维关键点(x,y)在深度图中对应的行列值,d[u,v]表示该像素坐标下的深度值,(cx,cy)为图像原点相对于光心成像点的横纵偏移量,fx为水平方向的焦距,fy为垂直方向的焦距。
步骤S3根据深度相机与激光雷达联合标定获取坐标系转换矩阵,从而获取机器人坐标系下的行人三维关键点坐标,输出行人三维空间信息;
本发明实施例中,步骤S2获取的是行人在相机坐标系下的三维关键点坐标,需要进一步转换到导览机器人坐标系,定义导览机器人坐标系与激光雷达坐标系相一致。采用棋盘格标定板进行深度相机与激光雷达联合标定。本发明实施例的导览机器人采用轮式底盘,单线激光雷达安装位于地面高度20cm处,标定板采用棋盘格标定板,大小为12×9,每个格子的尺寸为4.5×4.5cm。将标定板置于RealSense相机和激光雷达前方0.3m-1.5m视场范围,将标定板以各个不同姿态进行转动,采集标定图片,根据单线激光雷达落在标定板上的激光点利用其在激光坐标系的坐标和平面方程在相机坐标系下的坐标,构建点在平面上的约束并求解两个坐标系的转换矩阵,包括旋转矩阵R和平移矩阵Tc2l;本发明实施例中旋转矩阵和平移矩阵取值如下:
Rc2l=[[0.037,0.323,0.945]
[-0.995,-0.072,0.064]
[0.089,-0.943,0.319]]
Tc2l=[0.137,0.050,0.840]
根据相机坐标系与激光雷达坐标系的转换矩阵,获取行人在机器人坐标系下的三维关键点坐标P(Xw,Yw,Zw):P(Xw,Yw,Zw)=Rc2l×P(Xc,Yc,Zc)+Tc2l,如图2所示。
根据行人三维关键点获取行人三维空间信息,包括行人到机器人的空间距离Dis及行人高度Hp,根据行人三维关键点信息计算行到机器人的空间距离Distance(简称Dis):其中X,Y,Z表示行人在机器人坐标系下的三维空间坐标,可以通行人的三维关键点获取: c>0.6},N表示人体关键点个数:N=17;c表示关键点置信度,c的取值范围为0-1,行人高度Hp是以行人鼻子(nose)关键点为准,如图3所示。
步骤S4机器人端通过访问云端服务器获取行人三维空间信息并进行本体控制,完成自主唤醒等智能导览任务。
导览机器人通过消息中间件访问云端服务器,获取行人实时三维空间信息,根据行人与机器人的距离Dis判断是否激活导览机器人,当Dis>3m时,导览机器人状态机处于睡眠状态,能耗较低;当Dis≤3m时,导览机器人则从睡眠状态转为激活状态,从而实现基于视觉信息的机器人主动唤醒功能,如图4所示;
如图5所示获取行人相对于机器人垂直方向的旋转角度θ1和水平方向的旋转角度θ2。根据行人在机器人坐标系(激光雷达坐标系)下的三维关键点信息获取行人到机器人的距离为Dis,根据行人鼻子关键点三维坐标(Xn,Yn,Zn)获取行人高度为Hp,Hp=Zn+0.20,单位为m,其中0.20为机器人底盘激光雷达到地面的距离,Hhead机器人头部旋转轴到地面的距离,Hhead=1.25m,则机器人垂直方向的旋转角度θ1为:
θ1=arcsin(Hp-Hhead)/Dis
机器人水平方向的旋转角度θ2为:
θ2=arcsin(Yn/Xn)
当导览机器人睡眠状态时,机器人头部处于初始状态,水平及垂直转动角度均为零度;当导览机器人处于激活状态时,根据行人鼻子的三维关键点坐标计算行人与机器人头部的角度,获取行人相对于机器人垂直方向的旋转角度θ1和水平方向的旋转角度θ2,机器人通过运动控制单元控制机器人头部实现两个自由度的旋转到达指定角度,从而实现更加拟人化的交互体验。
本发明还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种基于深度相机的导览机器人感知行人三维空间信息的方法。
本发明还提供了图6所示的一种对应于图1的一种基于深度相机的导览机器人感知行人三维空间信息的***的示意结构图。如图6所述,在硬件层面,该一种基于深度相机的导览机器人感知行人三维空间信息的***包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的数据采集的方法。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(FieldProgrammable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced BooleanExpression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated CircuitHardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、***或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种基于深度相机的导览机器人感知行人三维空间信息的方法,其特征在于,包括以下步骤:
步骤S1机器人端采集深度相机的RGB图片和Depth图片,并进行时间对齐和空间对齐,将经过深度图降采样、图片编码等预处理操作的数据传输到云端服务器;
步骤S2利用云端部署的多目标跟踪方法及二维人体关键点检测方法获取每一个跟踪到的行人目标的人体二维关键点坐标,结合Depth深度图与RGB图片的映射关系获取行人的三维关键点坐标;
步骤S3根据深度相机与激光雷达联合标定获取坐标系转换矩阵,从而获取机器人坐标系下的行人三维关键点坐标,输出行人三维空间信息;
步骤S4机器人端通过访问云端服务器获取行人三维空间信息并进行本体控制,完成自主唤醒等智能导览任务。
2.如权利要求1所述的一种基于深度相机的导览机器人感知行人三维空间信息的方法,其特征在于:步骤S1具体包括:
S1.1所述步骤S1中的深度相机的RGB图片与Depth图片进行时间对齐是指通过时间戳获取同一时间下的一帧RGB图片和一帧Depth图片进行对齐;空间对齐是将Depth深度图片对齐到RGB彩色图片;
S1.2所述步骤S1中深度图降采样的缩放系数为kh,kw,原始深度图尺寸为[W,H],降采样后的尺寸为[W/kw,H/kh];机器人端将采集到的原始RGB彩色图片及降采样后的Depth深度图片进行编码,然后通过Redis消息中间件发送至云端服务器。
3.一种基于深度相机的导览机器人感知行人三维空间信息的方法,其特征在于:步骤S2具体包括:
S2.1所述步骤S2中多目标跟踪方法采用基于检测的两阶段方法,即采用YOLOV5+DeepSort的方法获取连续帧下的每张图片中的每个行人目标的ID和检测框;
S2.2所述步骤S2中二维关键点检测采用自顶向下(TopDown)的方法,二维关键点检测网络使用Lite-HRNet-18,输入是根据上一步骤检测框裁剪出的每个行人目标图片,并使用标准化处理缩放到统一尺寸,输出为人体关键点二维坐标;
S2.3所述步骤S3结合Depth深度图与RGB图片的映射关系获取行人的三维关键点坐标,根据缩放系数查找RGB图片中二维关键点(x,y)在深度图中对应的像素坐标(u,v)及相应的深度值d[u,v],其中u=round(u/kw),v=round(u/kh),round表示取整,如果d不存在,则根据该点水平方向[u-pts,u+pts]与垂直方向[v-pts,v+pts]包围的矩形区域内的深度点集合取中值进行估算,其中pts为有效像素个数;
S2.4所述步骤S3获取相机坐标系下的行人三维关键点坐标,根据二维关键点(x,y)对应的深度值结合相机内参进行计算,获取相机坐标系下的人体三维关键点P[Xc,Yc,Zc]:
Zc=d[u,v]
Yc=(v-cy)×d[u,v]/fy
Xc=(u-cx)×d[u,v]/fx
其中,u,v为二维关键点(x,y)在深度图中对应的行列值,d[u,v]表示该像素坐标下的深度值,(cx,cy)为图像原点相对于光心成像点的横纵偏移量,fx为水平方向的焦距,fy为垂直方向的焦距。
4.一种基于深度相机的导览机器人感知行人三维空间信息的方法,其特征在于:步骤S2具体包括:步骤S2.2所述的人体关键点二维坐标是[17,3],其中17表示人体关键点数量,3表示关键点在原始RGB图片中的二维像素坐标x,y和置信度c,c的取值范围为0-1;步骤S2.3所述的有效像素个数pts=3。
5.如权利要求1所述的基于一种基于深度相机的导览机器人感知行人三维空间信息的方法,其特征在于:步骤S3具体包括:
S3.1所述深度相机与激光雷达联合标定采用棋盘格标定板进行标定,根据单线激光雷达落在标定板上的激光点并采集标定图片,利用其在激光坐标系的坐标和平面方程在相机坐标系下的坐标,构建点在平面上的约束并求解两个坐标系的转换矩阵,包括旋转矩阵Rc2l和平移矩阵Tc2l;
S3.2根据相机坐标系与激光雷达坐标系的转换矩阵,获取行人在机器人坐标系下的三维关键点坐标:P(Xw,Yw,Zw)=Rc2l×P(Xc,Yc,Zc)+Tc2l,所述机器人坐标系与激光雷达坐标系相一致;
6.如权利要求1所述的基于一种基于深度相机的导览机器人感知行人三维空间信息的方法,其特征在于:步骤S4具体包括:
S4.1所述步骤S4中导览机器人通过消息中间件访问云端服务器,获取行人实时三维空间信息,根据行人与机器人的距离信息及预设阈值,判断是否激活导览机器人,当Dis>3m时,导览机器人状态机处于睡眠状态,能耗较低;当Dis≤3m时,导览机器人则从睡眠状态转为激活状态,从而实现基于视觉信息的机器人主动唤醒任务;
S4.2根据上一步骤判断导览机器人当前状态,当导览机器人处于睡眠状态时,机器人头部处于初始状态,水平及垂直转动角度均为零度;当导览机器人处于激活状态时,根据行人鼻子的三维关键点坐标计算行人与机器人头部的角度,获取行人相对于机器人垂直方向的旋转角度θ1和水平方向的旋转角度θ2;机器人通过运动控制单元控制机器人头部实现两个自由度的旋转到达指定角度;根据行人鼻子关键点三维坐标(Xn,Yn,Zn)获取行人高度为Hp,Hp=Zn+0.2,单位为m,其中0.2为机器人底盘激光雷达到地面的距离,Hhead机器人头部旋转轴到地面的距离,行人到机器人的距离为Dis,则机器人垂直方向的旋转角度θ1为:
θ1=arcsin(Hp-Hhead)/Dis
机器人水平方向的旋转角度θ2为:
θ2=arcsin(Yn/Xn)。
7.如权利要求1所述的一种基于深度相机的导览机器人感知行人三维空间信息的方法,其特征在于:步骤S4.2所述的机器人头部旋转轴到地面的距离
Hhead=1.25m。
8.一种基于深度相机的导览机器人感知行人三维空间信息的***,其特征在于,包括:
图片预处理模块,用于机器人端采集深度相机的RGB图片和Depth图片,并进行时间对齐和空间对齐,将经过深度图降采样、图片编码等预处理操作的数据传输到云端服务器;
行人三维关键点坐标获取模块,用于利用云端部署的多目标跟踪方法及二维人体关键点检测方法获取每一个跟踪到的行人目标的人体二维关键点坐标,结合Depth深度图与RGB图片的映射关系获取行人的三维关键点坐标;
行人三维空间信息输出模块,用于根据深度相机与激光雷达联合标定获取坐标系转换矩阵,从而获取机器人坐标系下的行人三维关键点坐标,输出行人三维空间信息;
智能导览模块,用于机器人端通过访问云端服务器获取行人三维空间信息并进行本体控制,完成自主唤醒等智能导览任务。
9.一种基于深度相机的导览机器人感知行人三维空间信息的装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-7中任一项所述的一种基于深度相机的导览机器人感知行人三维空间信息的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-7中任一项所述的一种基于深度相机的导览机器人感知行人三维空间信息的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211572616.7A CN116012445A (zh) | 2022-12-08 | 2022-12-08 | 一种基于深度相机的导览机器人感知行人三维空间信息的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211572616.7A CN116012445A (zh) | 2022-12-08 | 2022-12-08 | 一种基于深度相机的导览机器人感知行人三维空间信息的方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116012445A true CN116012445A (zh) | 2023-04-25 |
Family
ID=86027390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211572616.7A Pending CN116012445A (zh) | 2022-12-08 | 2022-12-08 | 一种基于深度相机的导览机器人感知行人三维空间信息的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116012445A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116841299A (zh) * | 2023-08-31 | 2023-10-03 | 之江实验室 | 一种导览机器人的自主巡游控制方法及装置 |
CN116991246A (zh) * | 2023-09-27 | 2023-11-03 | 之江实验室 | 用于导览机器人的算法调度方法、装置及导览机器人*** |
CN117576354A (zh) * | 2024-01-16 | 2024-02-20 | 之江实验室 | 一种基于人体轨迹预测的agv防撞预警方法与*** |
-
2022
- 2022-12-08 CN CN202211572616.7A patent/CN116012445A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116841299A (zh) * | 2023-08-31 | 2023-10-03 | 之江实验室 | 一种导览机器人的自主巡游控制方法及装置 |
CN116841299B (zh) * | 2023-08-31 | 2023-12-22 | 之江实验室 | 一种导览机器人的自主巡游控制方法及装置 |
CN116991246A (zh) * | 2023-09-27 | 2023-11-03 | 之江实验室 | 用于导览机器人的算法调度方法、装置及导览机器人*** |
CN117576354A (zh) * | 2024-01-16 | 2024-02-20 | 之江实验室 | 一种基于人体轨迹预测的agv防撞预警方法与*** |
CN117576354B (zh) * | 2024-01-16 | 2024-04-19 | 之江实验室 | 一种基于人体轨迹预测的agv防撞预警方法与*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221690B (zh) | 基于ar场景的手势交互方法及装置、存储介质、通信终端 | |
US10362296B2 (en) | Localized depth map generation | |
CN116012445A (zh) | 一种基于深度相机的导览机器人感知行人三维空间信息的方法和*** | |
US20230072289A1 (en) | Target detection method and apparatus | |
CN110245552B (zh) | 车损图像拍摄的交互处理方法、装置、设备及客户端 | |
CN103901895B (zh) | 一种基于无极FastSLAM算法和匹配优化目标定位方法及机器人 | |
CN110637461B (zh) | 计算机视觉***中的致密光学流处理 | |
US20220319146A1 (en) | Object detection method, object detection device, terminal device, and medium | |
CN111062981A (zh) | 图像处理方法、装置及存储介质 | |
KR20220160066A (ko) | 이미지 처리 방법 및 장치 | |
US11308324B2 (en) | Object detecting system for detecting object by using hierarchical pyramid and object detecting method thereof | |
CN113378605B (zh) | 多源信息融合方法及装置、电子设备和存储介质 | |
CN114761997A (zh) | 目标检测方法、终端设备和介质 | |
KR20190060679A (ko) | 이동 객체의 자세 학습 방법 및 장치 | |
Bultmann et al. | Real-time multi-modal semantic fusion on unmanned aerial vehicles | |
Zhao et al. | 3D visual sensing technique based on focal stack for snake robotic applications | |
US20220301176A1 (en) | Object detection method, object detection device, terminal device, and medium | |
Qian et al. | Survey on fish-eye cameras and their applications in intelligent vehicles | |
CN114387346A (zh) | 一种图像识别、预测模型处理方法、三维建模方法和装置 | |
US10540809B2 (en) | Methods and apparatus for tracking a light source in an environment surrounding a device | |
KR102270827B1 (ko) | 360도 주변 물체 검출 및 인식 작업을 위한 다중 센서 데이터 기반의 융합 정보 생성 방법 및 장치 | |
CN114693865A (zh) | 数据处理方法及相关装置 | |
Al-Harasis et al. | On the design and implementation of a dual fisheye camera-based surveillance vision system | |
US20230105331A1 (en) | Methods and systems for semantic scene completion for sparse 3d data | |
KR20240012426A (ko) | 비제약 이미지 안정화 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |