对象检测方法、相关设备及计算机存储介质与流程

文档序号:17374078发布日期:2019-04-12 23:06阅读:141来源:国知局
本发明涉及计算机
技术领域
:,尤其涉及对象检测方法、相关设备及计算机存储介质。
背景技术
::在无人驾驶领域,车辆的安全行驶主要依赖于对行车周围环境的感知和检测。目前,由于激光雷达具有较高地分辨率,能够较为准确地还原并构建场景的三维点云图,进而实现场景中的对象检测和识别。然而在实践中发现,激光雷达很容易受天气状况的影响,且探测距离有限。这将降低对象检测的准确度。例如,在雾天、雨天等状况不佳的天气环境下,激光雷达的探测距离急剧减小,影响对象检测的准确度。同时,利用激光雷达进行对象检测时获得的点云数据很稀疏,很难依据稀疏的点云数据实现对象检测。技术实现要素:本发明实施例公开了对象检测方法、相关设备及计算机存储介质,能够解决现有技术中存在的对象检测的精确度不高以及难以实现对象检测等问题。第一方面,本发明实施例公开提供了一种对象检测方法,所述方法包括:计算设备确定双目图像的对象区域,从该双目图像的对象区域中获取m个像素点对的二维坐标,进而根据该m个像素点对的二维坐标确定待检测对象在摄像坐标系下的三维坐标。该摄像坐标系指的是以双目摄像头中的任一摄像头为原点形成的坐标系。进一步地,计算设备将待检测对象在摄像坐标系下的三维坐标转换为待检测对象的激光点云数据所在坐标系下的数据,并和激光点云数据合并为合并点云数据,其中,该激光点云数据为利用激光雷达扫描待检测对象获得的数据。最后,计算设备根据该合并点云数据确定出检测对象。可选地,本发明中的双目图像包括利用双目摄像头采集的第一图像和第二图像,m个像素点对中每个像素点对包括两个像素点,一个像素点来自第一图像,另一个像素点来自第二图像,且每个像素点对的像素点分别对应第一图像和第二图像中的对象区域的相同特征。换句话说,这两个像素点为双目图像的对象区域的映射像素点对,任一个像素点为另一个的映射像素点。通过实施本发明实施例,能够解决现有技术中存在的对象检测的精确度不高、或者难以实现对象检测等问题。结合第一方面,在第一方面的第一种可能的实施方式中,计算设备可根据m个像素点对的二维坐标,确定待检测对象在图像坐标系下的三维坐标,其中,待检测对象在图像坐标系下的三维坐标包括待检测对象在根据第一图像建立的坐标系的二维坐标和深度值。进一步地,计算设备根据双目摄像头的焦距和图像坐标系下原点相对于摄像坐标系的原点的偏移量,将待检测对象在图像坐标系下的三维坐标转换为待检测对象在摄像坐标系下的三维坐标。结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,计算设备根据m个像素点对的二维坐标、双目摄像头的基线和焦距,计算m个像素点对中每个像素点对的深度值,该像素点对的二维坐标包括像素点对位于第一图像中的一个像素点的二维坐标和像素点对位于第二图像中的另一个像素点的二维坐标。计算设备根据m个像素点对中每个像素点对的深度值,确定第一像素点,其中,第一像素点的深度值不超过第一预设值,该第一预设值具体可为系统自定义设置的,例如用户设置的经验值,或者根据一些列统计数据统计获得的数值等。其中,该待检测对象在图像坐标系下的三维坐标包括该第一像素点在图像坐标系下的三维坐标。结合第一方面的第一种或第二种可能的实施方式,在第一方面的第三种可能的实施方式中,第一像素点的深度值具体不超过平均深度值与第二预设值之和,该平均深度值为对m个像素点对中每个像素点对的深度值求取的平均值。该第二预设值具体可为系统自定义设置的数值,可选地,该第二预设值可为深度标准差,该深度标准差具体为对m个像素点对中每个像素点对的深度值求取的标准差。结合第一方面的第二种或第三种可能的实施方式,在第一方面的第四种可能的实施方式中,计算设备根据预设插值算法对第一像素点插值,获得第一插值像素点,该第一插值像素点在图像坐标系下的三维坐标包括在待检测对象在图像坐标系下的三维坐标之内,即是待检测对象在图像坐标系下的三维坐标包括第一插值像素点在图像坐标下的三维坐标。结合第一方面,或第一方面的第一种至第四种中任一种可能的实施方式,在第一方面的第五种可能的实施方式中,该合并点云数据还包括第二插值像素点在激光点云数据所在坐标系下的三维坐标,其中,该第二插值像素点具体为计算设备采用预设插值算法对激光点云数据以及转换的待检测对象的激光点云数据所在坐标系下的数据插值,获得的像素点。结合第一方面,或第一方面的第一种至第五种中的任一种可能的实施方式中,双目图像为利用双目图像的畸变参数和外参矩阵对双目摄像头采集的图像进行处理后获得的图像。第二方面,本发明实施例提供了一种计算设备,所述装置包括用于执行如上第一方面或第一方面的任意可能的实施方式中所描述的方法的功能模块或单元。第三方面,本发明实施例提供了一种计算设备,包括:处理器,存储器,通信接口和总线;处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法。第四方面,提供了一种计算机非瞬态(non-transitory)存储介质,所述计算机非瞬态存储介质存储了用于对象检测的程序代码。所述程序代码包括用于执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法的指令。第五方面,提供了一种芯片产品,以执行上述第一方面或第一方面的任意可能的实施方式中的方法。本发明在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。图1a-图1b是本发明实施例提供的两种可能的网络框架示意图。图2是本发明实施例提供的一种对象检测方法的流程示意图。图3是本发明实施例提供的一种双目摄像头拍摄的场景示意图。图4是本发明实施例提供的一种矫正后的双目图像的示意图。图5是本发明实施例提供的一种双目图像中待检测对象的对象区域的示意图。图6是本发明实施例提供的一种双目图像的对象区域中像素点对的示意图。图7a是本发明实施例提供的一种深度值计算的示意图。图7b是本发明实施例提供的一种不同坐标系下的特征像素点的示意图。图8是本发明实施例提供的一种关于摄像坐标系和激光雷达坐标系的场景示意图。图9是本发明实施例提供的一种合并点云数据的示意图。图10是本发明实施例提供的一种合并点云数据聚类的示意图。图11是本发明实施例提供的一种对象检测装置的结构示意图。图12是本发明实施例提供的一种计算设备的结构示意图。具体实施方式下面结合附图,对本发明的实施例进行描述。为解决现有技术中存在的对象检测的准确度不高、或者对象检测难以实现等问题,本发明提出一种对象检测方法、所述方法适用的网络框架以及相关设备。首先,参见图1a是本发明实施例提供的一种可能的网络框架示意图。如图1a,该网络框架中包括车辆100、双目摄像单元102、激光雷达103以及计算设备104。其中,双目摄像单元102用于采集双目图像,该双目摄像单元可包括两个摄像单元,例如左目摄像单元和右目摄像单元。其中,左目摄像单元采集的图像可称为左目图像,右目摄像单元采集的图像可称为右目图像。在实际应用中,双目摄像单元中包括的任一摄像单元具体可为以下中的任一项:行车记录仪、摄像头、摄像装置、相机或者其他具有摄像功能的设备。该双目摄像单元具体可部署在以下设备中的任一个或多个中:车辆100、计算设备104或者其他设备(例如手机、电脑等)。这里图示以双目摄像单元部署在车辆100中为例,并不构成限定。激光雷达103用于对待检测对象进行扫描和检测,以获得待检测对象的激光点云数据。其中,该激光点云数据是指利用激光雷达扫描待检测对象获得的点云数据,该点云数据以点的形式记录,每个点包括有一个三维坐标,该三维坐标除了用于描述该点的几何位置之外,还可有深度信息等等,本发明对此不做限定。计算设备104用于获取双目图像,基于该双目图像获得图像中待检测对象的视觉点云数据,即将图像中待检测对象的像素点的三维坐标转换为和激光点云数据相同坐标下的数据。进而,计算设备104可基于该视觉点云数据,可选地还可结合待检测对象的激光点云数据实现待检测对象的检测和识别。关于如何实现待检测对象的检测和识别,具体在本发明下文详述。在实际应用中,计算设备104可部署在车辆100上使用,也可单独部署(具体在如下图1b实例中详述),本发明不做限定。这里图示以计算设备104部署在车辆100中为例示出。该计算设备包括但不限于以下中的任一项:手机、平板电脑(tablepersonalcomputer)、个人数字助理(personaldigitalassistant,pda)、移动上网装置(mobileinternetdevice,mid)、可穿戴式设备(wearabledevice)、车载设备以及其他支持和网络通信的设备等。需要说明的是,本发明适用的场景包括但不限于自动驾驶领域、障碍物检测领域以及其他任何需要进行对象检测的场景。车辆100中安装(或部署)有传感器,用于采集该传感器关联的传感数据。该传感器包括但不限于激光雷达、全球定位系统(globalpositioningsystem,gps)等等。以传感器为激光雷达传感器为例,车辆100可调用激光雷达传感器对待检测对象进行扫描,以获得该待检测对象的激光点云数据。可选地,车辆100可将采集的待检测对象的激光点云数据发送给计算设备104,便于计算设备104基于该激光点云数据实现待检测对象的检测和识别。关于激光点云数据具体可参见前述实施例中的相关阐述,这里不再赘述。该待检测对象为系统自定义设置的,例如其可包括但不限于车辆、人、小狗、树木、建筑物、杯子或者其他对象等。可选地,车辆100中还部署有该双目摄像单元,关于双目摄像单元具体可参见前述实施例中的相关阐述,这里不再赘述。关于车辆100中部署的各个设备或元件,其部署方式和部署位置,本发明并不做限定。如图1a中,以双目摄像单元102为例,该双目摄像单元102具体可部署在车辆100外部,图示中双目摄像单元102部署在车辆天窗的外部。可选地,双目摄像单元的安装角度也可根据用户实际需求或用户喜好自定义设置,本发明不做限定。在实际应用中,车辆100可包括但不限于卡车、货车、火车、小轿车、摩托车、越野车、农用车、或者其他交通工具或设备。本发明实施例中,车辆100、双目摄像单元102以及计算设备104中的任意两个设备可采用有线通信技术或者无线通信技术实现设备间的网络通信。其中,该有线通信技术可以是指两个设备之间通过网线或光纤等方式通信。该无线通信技术包括但不限于全球移动通讯系统(globalsystemformobilecommunications,gsm),通用分组无线服务(generalpacketradioservice,gprs),码分多址接入(codedivisionmultipleaccess,cdma),宽带码分多址(widebandcodedivisionmultipleaccess,wcdma),时分码分多址(time-divisioncodedivisionmultipleaccess,td-scdma),长期演进(longtermevolution,lte)、无线局域网(wirelesslocalareanetworks,wlan)(如无线保真(wirelessfidelity,wi-fi)网络)、蓝牙(bluetooth,bt)、全球导航卫星系统(globalnavigationsatellitesystem,gnss)、调频(frequencymodulation,fm),近距离无线通信技术(nearfieldcommunication,nfc)以及红外技术(infrared,ir)等等。请参见图1b,是本发明实施例提供的另一种可能的网络框架示意图。该网络框架中包括双目摄像单元202以及计算设备204。其中,双目摄像单元202部署在本地的终端设备206中,该终端设备包括但不限于车辆、手机、平板电脑(tablepersonalcomputer)、个人数字助理(personaldigitalassistant,pda)、移动上网装置(mobileinternetdevice,mid)、可穿戴式设备(wearabledevice)以及其他支持和网络通信的设备。计算设备204部署在云端网络侧,例如图示部署在云端服务器中。计算设备204通过网络与部署双目摄像单元202的终端设备相互通信,以获取双目摄像单元202采集的双目图像,进而实现图像中待检测对象的检测和识别。在计算设备完成待检测对象的识别后,可获得待检测对象的识别结果。可选地,计算设备可通过网络将该待检测对象识别结果发送给终端设备,便于终端设备获知该待检测对象的识别结果。关于本发明实施例中未描述或未示出的内容,可具体参见前述图1a所述实施例中的相关阐述,这里不再赘述。基于前述实施例,下面阐述本发明涉及的对象检测方法。请参见图2,是本发明实施例提供的一种对象检测方法的流程示意图。如图2所示的对象检测方法包括如下实施步骤:步骤s201、计算设备获取双目图像,该双目图像为通过双目摄像头采集的包括第一图像和第二图像在内的图像。本发明中,计算设备可通过调用自身设备安装的双目摄像头,或者调用其他设备中的双目摄像头采集双目图像,该双目图像包括第一图像和第二图像。当第一图像为左目图像时,第二图像为右目图像。当第一图像为右目图像时,第二图像为左目图像。该左目图像是指利用双目摄像头中位于左侧的摄像头(即左目摄像头)拍摄获得的图像。右目图像是指利用双目摄像头中位于右侧的摄像头(即右目摄像头)拍摄获得的图像。参见图3示出一种双目摄像头摄像的场景示意图。如图3中,由于双目摄像头各自的拍摄视角不同,因此双目摄像头拍摄同一物体获得的双目图像也存在差异。如图所示,左目摄像头a拍摄获得左目图像a,右目摄像头b拍摄获得右目图像b。可选地,该双目图像可为经过预处理后的图像。具体的,计算设备可对双目摄像头采集的双目图像进行预处理,该预处理包括但不限于去畸变处理、平移处理、旋转处理或者其他用于矫正图像的处理等。例如,计算设备利用双目摄像头的畸变参数对采集的双目图像进行去畸变处理。可选地,计算设备还可利用双目摄像头的外参矩阵(外参数)对双目图像进行矫正,使得矫正后的双目图像的对极线共线。其中,外参矩阵表示左目摄像头和右目摄像头之间的相对姿势,其具体用于调整由于相对姿势的差异对双目图像带来的影响。参见如图4示出一种矫正后的双目图像的示意图。如图4所示,矫正后的双目图像中包括第一图像和第二图像。第一图像上的三条对极线分别为i0、i1和i2。第二图像上的三条对极线分别为i'0、i1'和i'2。其中,如图所示i0和i'0处于同一条直线上(即i0和i'0共线)、i1和i1'处于同一条直线上、i2和i'2处于同一条直线上。步骤s202、计算设备采用预设的对象检测算法对双目图像中的待检测对象进行检测和识别,以获得双目图像中的对象区域。该对象区域为待检测对象在双目图像中所占的图像区域。具体的,计算设备可采用第一对象检测算法对第一图像中的待检测对象进行检测和识别,以获得待检测对象在第一图像中所占的图像区域,即对象区域。相应地,计算设备可采用第二对象检测算法对第二图像中的待检测对象进行检测和识别,以获得待检测对象在第二图像中所占的图像区域,即对象区域。其中,第一对象检测算法和第二对象检测算法均为系统自定义设置的对象检测算法,用于检测和识别待检测对象。它们可以相同,也可不相同,本发明不做限定。该对象检测算法包括但不限于以下中的任一项或多项的组合:卷积神经网络(convolutionalneuralnetworks,cnn)、基于区域的卷积神经网络(region-basedconvolutionalneuralnetworks,rcnn)、一瞥神经网络(youonlylookonce,yolo)、基于单个深层神经网络的对象检测(singleshotmultiboxdetector,ssd)、深度前馈神经网络(deepfeedforward,dff)以及递归神经网络(recurrentnetwork,rnn)、或其他用于对象检测的算法等。举例来说,假设对象检测算法为ssd算法。计算设备在进行对象区域识别时,可将包括第一图像和第二图像在内的双目图像分别作为ssd的输入,利用ssd识别第一图像中待检测图像所在的图像区域即为第一图像中的对象区域。相应地,利用ssd识别的第二图像中待检测图像所在的图像区域即为第二图像中的对象区域。可选地,在计算设备利用对象检测算法识别出图像中待检测对象所在的对象区域后,还可利用预设框标出该对象区域,以展示给用户查看。该预设框可为系统自定义设置的,例如根据用户需求或实际爱好设置的,其形状并不做限定,例如该预设框可为以下中的任一项:矩形、菱形以及圆等等。其中,本发明针对待检测对象的数量并不做限定。当该待检测对象的数量有多个时,则该待检测对象所在的对象区域同样有多个。请参见图5示出一种双目图像中待检测对象所在的对象区域的示意图。如图5中,计算设备利用对象检测算法识别出双目图像中的第一图像中包括3个待检测对象,分别为待检测对象1-3。如图用矩形框出了3个待检测对象各自所在的对象区域,分别为:区域a、区域b以及区域c。具体的,待检测对象1位于第一图像中的对象区域为区域a,待检测对象2位于第一图像中的对象区域为区域b,待检测对象3位于第一图像中的对象区域为区域c。同样地,计算设备识别双目图像中的第二图像中包括3个待检测对象,如图用矩形框示出了3个待检测对象各自所在的对象区域,分别为:区域a’、区域b’以及区域c’。可选地,在计算设备识别到双目图像中待检测对象所在的对象区域后,若待检测对象的数量有n个时,则双目图像中待检测对象所在的对象区域同样有n个,n为正整数。进一步地,计算设备还可对第一图像中的n个待检测对象各自的对象区域和第二图像中的n个待检测对象各自的对象区域进行匹配,以获得双目图像的n个对象区域对。其中,每个对象区域对中包括同一待检测对象在第一图像中所在的对象区域和该待检测对象在第二图像中所在的对象区域。每个对象区域对可用同一标签信息标识,该标签信息用于标识同一待检测对象位于双目图像中的对象区域。其具体可为待检测对象的名称、编号以及字母符号等等,本发明并不做限定。例如引用上述图5的例子,图5中包括有3个对象区域对。具体的,区域a和区域a’组成一个对象区域对,即是待检测对象1分别位于双目图像中的图像区域。区域b和区域b’组成一个对象区域对,即是待检测对象2分别位于双目图像中的图像区域。区域c和区域c’组成一个对象区域对,即是待检测对象3分别位于双目图像中的图像区域。在计算设备匹配获得双目图像的n个对象区域对后,计算设备可执行如下s203的步骤:对n个对象区域对中每个对象区域对下的每个对象区域进行特征提取,以获得双目图像的对象区域中各自的特征像素点。本发明下文以n=1(一个待检测对象和一个对象区域对)为例进行相关内容的阐述。步骤s203、计算设备对双目图像的对象区域进行特征提取,以获得双目图像的对象区域中各自的特征像素点。即获得第一图像的对象区域中的特征像素点和第二图像的对象区域中的特征像素点。具体的,计算设备可采用第一特征提取算法对第一图像的对象区域进行特征提取,以获得该第一图像的对象区域中的特征像素点。同样地,计算设备采用第二特征提取算法对第二图像的对象区域进行特征提取,以获得该第二图像的对象区域中的特征像素点。该特征像素点的数量并不做限定,其具体可为一个或多个。在实际应用中,对象区域中的特征像素点通常为两个及以上。其中,第一特征提取算法和第二特征提取算法均为系统自定义设置的,用于图像的特征提取,它们可以相同,也可不相同,本发明并不做限定。该特征提取算法包括但不限于以下中的任一项或多项的组合:面向简要特征(orientedbrief,orb)提取算法、方向梯度直方图特征(histogramoforientedgradient,hog)提取算法、局部二值模式特征(localbinarypattern,lbp)提取算法以及haar特征提取算法、或者其他用于图像特征提取的算法等。步骤s204、计算设备根据双目图像的对象区域中的特征像素点,确定m个像素点对。该m个像素点对为对待检测对象所在的对象区域采样获得的像素点对,每个像素点对包括两个像素点,一个像素点来自第一图像,另一个来自第二图像,且每个像素点对的像素点分别对应第一图像和第二图像中的对象区域的相同特征。即是,每个像素点对中包括第一图像的对象区域中的参考像素点和第二图像的对象区域中与该参考像素点对应的映射像素点,该参考像素点和映射像素点均为对象区域中的特征像素点。计算设备在获得双目图像的对象区域各自的特征像素点后,可进一步确定出m个像素点对,每个像素点对包括同一位置对应在第一图像和第二图像(双目图像)中各自所在的特征像素点。也即是,每个像素点包括第一图像的对象区域中的参考像素点和第二图像的对象区域中与该参考像素点对应的映射像素点,该参考像素点和映射像素点相互对应,具有相同的图像特征,且均为特征提取后获得的特征像素点。具体的,计算设备可以双目图像中的任一图像的对象区域中所包括的一特征像素点为参考像素点,寻找该参考像素点对应在另一图像的对象区域中的映射像素点,进而将该参考像素点和该映射像素点组成一个像素点对。例如,计算设备可将第一图像的对象区域中的任一特征像素点作为参考像素点,从第二图像的对象区域中寻找/计算出与该参考像素点对应位置所在的映射像素点。相应地,计算设备可采用上述像素点对确定原理,从双目图像的对象区域中确定出m个像素点对,m为正整数。具体实现中,计算设备可采用预设距离算法,以参考像素点为基准,从第二图像的对象区域中查找出与该参考像素点距离最小的像素点作为该参考像素点对应的映射像素点,所述预设距离算法包括但不限于汉明距离、欧式距离以及余弦距离算法等等。以汉明距离算法为例,计算设备可采用汉明距离算法,计算参考像素点和第二图像的对象区域中各特征像素点对应的汉明编码,然后计算各特征像素点对应的汉明编码与参考像素点的汉明编码之间的距离大小,从各特征像素点中选取出距离最小的一个特征像素点作为该参考像素点对应的映射像素点。示例性地,如图6示出双目图像的对象区域中像素点对的示意图。如图6示出3个像素点对,具体包括像素点对1、像素点对2以及像素点对3。其中,像素点对1包括参考像素点1以及映射像素点1’(图示分别为1和1’),其中,映射像素点1’具体为位于第一图像的对象区域中的参考像素点1对应在第二图像的对象区域中所在的像素点,或者参考像素点1具体为位于第二图像的对象区域中的映射像素点1’对应在第一图像的对象区域中所在的像素点。换句话说,参考像素点1以及映射像素点1’相互对应。像素点对2包括参考像素点2和映射像素点2’,像素点对3包括参考像素点3和映射像素点3’,关于像素点对2和像素点对3具体可参见前述像素点对1的相关阐述,每个像素点对中包括的两个像素点在位置上相互一一对应,这里不再赘述。步骤s205、计算设备根据m个像素点对的二维坐标,计算m个像素点对中每个像素点对的深度值。该像素点对的二维坐标包括像素点对位于第一图像中的一个像素点的二维坐标和像素点对位于第二图像中的另一像素点的二维坐标,也即是本发明上文所述的参考像素点的二维坐标和映射像素点的二维坐标。计算设备根据每个像素点对中的特征像素点各自对应在双目图像中的二维坐标,计算该像素点对的深度值,具体可为该像素点对中任一特征像素点的深度值,该特征像素点具体可为参考像素点或映射像素点。具体的,计算设备可分别获取像素点对中的参考像素点位于第一图像中的二维坐标、映射像素点位于第二图像中的二维坐标。进而根据获取的该像素点对中参考像素点的二维坐标和映射像素点的二维坐标,计算该像素点对的深度值。在实际应用中,由于矫正后的双目图像的对极线共线,因此针对每个像素对中包括的参考像素点和映射像素点各自的二维坐标而言,它们的纵坐标相同,横坐标不同。例如图7a所示,双目摄像头各自的中心点分别为如图所示的ol和or。ol与or之间的距离b称为基线距离。参考像素点pl的二维坐标为(xl,yl),映射像素点pr的二维坐标为(xr,yr),其中yl=yr。相应地,计算设备可采用如下公式(1)计算获得该像素点对的深度值d(具体可为像素点对中特征像素点的深度值),该深度值表示特征像素点对应在真实世界中的p点和双目摄像头之间的距离。其中,d表示深度值。f表示双目摄像头的焦距。b表示双目摄像头中左目摄像头的中心和右目摄像头的中心之间的距离,也可称基线距离,具体如图7a所示的olor。可选地,若像素点对中的特征像素点(具体可为参考像素点或映射像素点)的二维坐标为位于区域坐标系下的二维坐标,该区域坐标系为在双目图像的对象区域中建立的坐标系,并非在双目图像中建立的图像坐标系。相应地,在计算特征像素点的深度值之前,计算设备还需将区域坐标系下的二维坐标转换为图像坐标系下的二维坐标。便于计算设备直接依据像素点对中特征像素点位于图像坐标系下的二维坐标,即特征像素点对应位于双目图像中的二维坐标,来计算该特征像素点的深度值。举例来说,如图7b示出了像素点对中某特征像素点分别位于区域坐标系和图像坐标系下的二维坐标的示意图。当该特征像素点为参考像素点时,图7b示出了参考像素点位于第一图像(即图像坐标系xoy)下的二维坐标以及位于第一图像的对象区域(即区域坐标系x'o'y')下的二维坐标。当该特征像素点为映射像素点时,图7b具体示出了映射像素点位于第二图像(图像坐标系)下的二维坐标以及位于第二图像的对象区域(区域坐标系)下的二维坐标。如图7b中,特征像素点位于区域坐标系x'o'y'下的二维坐标为(x’,y’)。该区域坐标系中原点o'(0,0)位于图像坐标系xoy下的二维坐标为(x0,y0)。相应地,该特征像素点位于图像坐标系xoy下的二维坐标,也即是该特征像素点对应在双目图像中的二维坐标为(x,y)。其中,x=x0+x',y=y0+y'。步骤s206、计算设备根据m个像素点对中每个像素点对的深度值,确定待检测对象的视觉点云数据。计算设备获得m个像素点对中每个像素点对的深度值后,可结合该像素点对的二维坐标,从而获得该m个像素点对中各自所包括的特征像素点的三维坐标。当像素点对中包括的特征像素点为参考像素点时,计算设备可根据像素点对中的参考像素点的深度值,以及该参考像素点对应在第一图像中的二维坐标,获得该像素点对中参考像素点的三维坐标。当像素点对中包括的特征像素点为映射像素点时,计算设备可根据像素点对中的映射像素点的深度值,并结合该映射像素点对应在第二图像中的二维坐标,获得该像素点对中映射像素点的三维坐标。举例来说,以一像素点对中的参考像素点为例,该参考像素点的深度值为d、该参考像素点位于第一图像中的二维坐标为(x1,y1),则该参考像素点的三维坐标具体为(x1,y1,d)。进一步地,计算设备可根据m个像素点对各自所包括的特征像素点的三维坐标,确定待检测对象的视觉点云数据。具体存在以下几种实施方式。第一种,在不考虑计算精度以及计算量的情况下,计算设备可直接将m个像素点对各自所包括的特征像素点的三维坐标,作为待检测对象的视觉点云数据。具体的,为保证对象检测的准确性,需保证视觉点云数据和激光点云数据均为同一坐标系下的点云数据。因此,当m个像素点对各自所包括的特征像素点的三维坐标所在的坐标系和激光点云数据对应的坐标系不同时,需将m个像素点对各自所包括的特征像素点的三维坐标转换为与激光点云数据相同坐标系下对应的三维坐标,进而将转换后的三维坐标作为待检测对象的视觉点云数据。举例来说,以任一像素点对中的特征像素点为参考像素点为例,该任一像素点对中参考像素点的三维坐标为(x1,y1,d),其具体表示该参考像素点对应位于第一图像中(即图像坐标系xoy)的三维坐标。由于该参考像素点的三维坐标所在的图像坐标系xoy和激光点云数据对应所在的激光雷达坐标系不同,因此计算设备需将参考像素点的三维坐标转换为激光雷达坐标系下的三维坐标,即是转换为与激光点云数据相同坐标系下的三维坐标。该激光雷达坐标系具体为激光点云数据采集时的参考坐标系。请参见图8示出摄像坐标系和激光雷达坐标系的场景示意图。该摄像坐标系为以双目摄像头中的任一摄像头为中心,在空间中建立的坐标系。这里图中示出以左目摄像头的中心为原点,创建的摄像坐标系o”-x”y”z”。具体实现时,计算设备可利用双目摄像头的内参矩阵(也可称为内参数)计算该参考像素点对应在摄像坐标系o”-x”y”z”下的三维坐标(x2,y2,z2),具体如下公式(2)示出(x2,y2,z2)的计算公式。其中,内参矩阵为fx为双目摄像头在x”方向上的焦距。fy为双目摄像头在y”方向上的焦距。cx为图像坐标系中的原点o相对于摄像坐标系的原点o”在x”方向上的偏移量。cy为图像坐标系中的原点o相对于摄像坐标系的原点o”在y”方向上的偏移量。进一步地,计算设备可将参考像素点对应在摄像坐标系o”-x”y”z”下的三维坐标(x2,y2,z2),转换为激光雷达坐标系o”'-x”'y”'z”'下的三维坐标(x3,y3,z3)。也就是,计算设备将该参考像素点位于第一图像(图像坐标系)中的三维坐标(x1,y1,d),转换为与激光雷达数据相同坐标下的三维坐标(x3,y3,z3)。例如,参见图8所示的场景图,计算设备可根据摄像坐标系o”-x”y”z”和激光雷达坐标系o”'-x”'y”'z”'之间的相对姿态,计算摄像坐标系到激光雷达坐标系的变换矩阵to”o”。相应地,计算设备可采用如下公式(3),将参考像素点对应在摄像坐标系下的三维坐标(x2,y2,z2)转换为激光雷达坐标系下的三维坐标(x3,y3,z3)。第二种,在考虑计算精度和计算量的情况下,计算设备可对m个像素点对各自所包括的特征像素点进行筛选,以获得筛选像素点。进一步地,计算设备可根据筛选像素点,确定能作为视觉点云数据对应的第一像素点,进而将第一像素点的三维坐标作为待检测对象的视觉点云数据。具体的,计算设备可将满足预设条件的特征像素点保留,并作为筛选像素点,将不满足预设条件的特征像素点剔除。该预设条件为系统自定义设置的,用于筛选特征像素点。例如,该预设条件具体可为特征像素点的深度值不超过第一预设值,该第一预设值为系统自定义设置的,例如根据用户经验设置的经验值,或者根据一些列数据统计获得的数值等。可选地,该第一预设值具体可为平均深度和第二预设值之和,该平均深度值具体是指对m个像素点对中每个像素点对的深度值求取的平均值。第二预设值具体可为系统自定义设置的。可选地,该第二预设值具体可为预设标准差,该预设标准差具体是指对m个像素点对中每个像素点对的深度值求取的标准差。进一步地,计算设备可将筛选像素点作为第一像素点。可选地,当筛选像素点的数量较少,例如小于或等于第一预设数量。为保证对象检测的准确性,计算设备可采用第一预设插值算法对筛选像素点进行插值,以获得一个或多个第一插值像素点。相应地,计算设备可将筛选像素点以及第一插值像素点一同作为第一像素点。进而将第一像素点的三维坐标作为待检测对象的视觉点云数据。该第一像素点的数量并不做限定,这里可为多个。其中,第一预设数量为系统自定义设置的正整数,例如根据用户经验或实际需求设置的等。第一预设插值算法具体为系统自定义设置的算法,用于像素点的插值。例如,计算设备可根据两个筛选像素点各自的三维坐标,采用插值算法计算获得插值像素点的三维坐标,从而获得该插值像素点。该插值算法包括但不限于以下中的任一项:拉格朗日(lagrange)插值算法、牛顿(newton)插值算法、分段线性插值算法、非线性插值算法、分段三次埃尔米特插值算法以及样条插值算法等。可选地,当第一像素点的三维坐标不为激光雷达坐标系下的三维坐标,计算设备可第一像素点的三维坐标转换为与激光点云数据相同坐标系下(即激光雷达坐标系)第二像素点的三维坐标。进而将转换后的第二像素点的三维坐标作为待检测对象的视觉点云数据。关于三维坐标的转换具体可参见前述第一种实施例中的相关阐述,这里不再赘述。可选地,计算设备在获得激光雷达坐标系下第二像素点的三维坐标后,如果第二像素点的数量较少,例如数量小于或等于第二预设数量。则计算设备可采用第二预设插值算法对第二像素点进行插值,以获得一个或多个第二插值像素点。由于第二像素点的三维坐标为激光雷达坐标系下的三维坐标,则第二插值像素点的三维坐标同样为激光雷达坐标系下的三维坐标。因此,计算设备可直接将第二插值像素点的三维坐标和第二像素点的三维坐标一同作为待检测对象的视觉点云数据。其中,第二预设数量同样为系统自定义设置的,其与上文的第一预设数量可以相同,也可不同,本发明并不做限定。第二预设插值算法也可为系统自定义设置的算法,用于像素点的插值,其具体可参见前述关于第一预设插值算法的相关阐述,这里不做赘述。第一预设插值算法和第二预设插值算法可以相同,也可不相同,本发明并不做限定。在实际应用中,为保证对象检测的准确性,视觉点云数据中包括的像素点的数量通常大于或等于第三预设数量,该第三预设数量可为经过一系列统计数据统计获得的,例如200等。步骤s207、计算设备根据待检测对象的视觉点云数据和待检测对象的激光点云数据,确定待检测对象。其中,激光点云数据为通过激光雷达扫描待检测对象获得的数据。该视觉点云数据和激光点云数据均为同一坐标系下的三维坐标数据(也可简称为三维数据)。计算设备可将待检测对象的视觉点云数据和激光点云数据合并生成视觉-激光点云数据(也可称为合并点云数据)。进而采用预设点云分割算法对生成的合并点云数据中的待检测对象进行检测和识别,以获得该待检测对象。其中,激光点云数据是指预先利用激光雷达对待检测对象进行扫描获得的数据该数据是基于激光雷达坐标系下采集的数据,具体可参见前述图8所示。预设点云分割算法为系统自定义设置的,用于点云数据的聚类和识别。该点云分割算法包括但不限于欧式点云分割、夹角余弦点云分割、k-means点云分割、或者其他用于实现点云数据聚类和识别的算法。具体的,计算设备获取待检测对象的视觉点云数据和激光点云数据后,依据该视觉点云数据和激光点云数据生成合并点云数据(即上文的视觉-激光点云数据)。该待检测对象的数量并不做限定,其可为一个或多个。请参见图9示出一种可能的合并点云数据的示意图。如图9中,实心点数据表示视觉点云数据,空心点数据表示激光点云数据。进一步地,计算设备利用点云分割算法对合并点云数据进行聚类,以获得每个待检测对象各自的聚类点云数据。然后,计算设备对每个待检测对象的聚类点云数据进行轮廓特征提取,以识别获得该聚类点云数据对应的待检测对象。例如,以点云分割算法为欧式点云分割算法为例,计算设备可将欧式距离小于或等于预设距离的点云数据聚类在一起,作为一个待检测对象的聚类点云数据。进而对该待检测对象的聚类点云数据进行轮廓提取,以获得该聚类点云数所描绘的待检测对象的轮廓,进而获知该待检测对象。该待检测对象具体可包括但不限于以下中的任一项:车辆、人、小狗、树木、建筑物以及杯子等。请参见图10示出一种合并点云数据聚类的示意图。图10中,具体示出一个车辆的聚类点云数据,计算设备在获得车辆的聚类点云数据后,可对聚类点云数据对应所在的矩形框进行测量,例如该矩阵框的高度和宽度满足预设车辆的外形尺寸,则可确定该聚类点云数据对应的待检测对象为车辆。该预设车辆的外形尺寸具体可为系统自定义设置的,例如根据用户经验设置的等。通过实施本发明实施例,能够解决现有技术中存在的对象检测精确度不高、或者难以实现对象检测等问题,本发明提出一种基于视觉点云数据和激光点云数据混合的对象检测方案,能提高对象检测的精确度。结合上文图1a-图10所述实施例中的相关描述,下面介绍本发明适用的相关装置。请参见图11是本发明实施例提供的一种对象检测装置的结构示意图。该对象检测装置600包括通信模块602和处理模块604。其中,处理模块604可用于对对象检测装置600的动作进行控制和管理。例如,处理模块604用于执行图2中的步骤s201-步骤s207,和/或用于执行文本所描述的技术的其他内容。通信模块602用于与其他模块或设备进行通信,例如,通信模块602和其他设备通信,以获得其他设备的双目摄像头采集的双目图像等。可选地,该对象检测装置600还可包括存储模块606。该存储模块606用于存储负载均衡装置600的程序代码和数据,例如存储用于对象检测的程序代码。处理模块604用于调用该存储模块606中的程序代码以实现如上图2所述实施例中的部分或全部实施步骤,和/或用于执行文本所描述的技术的其他内容步骤。其中,处理模块604可以是处理器或控制器,例如可以是中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块602可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如通信模块与处理模块之间的接口、负载均衡装置与用户设备之间的接口等。存储模块606可以是存储器,或者其他用于提供存储功能的服务或模块。当处理模块604为处理器,通信模块602为通信接口,存储模块606为存储器时,本发明实施例所涉及对象检测装置可以为图12所示的对象检测装置(也可称为计算设备)。请参见图12所示,计算设备700包括一个或多个处理器701、通信接口702和存储器703,处理器701、通信接口702和存储器703可通过总线或者其它方式连接,本发明实施例以通过总线704连接为例。其中:处理器701可以由一个或者多个通用处理器构成,例如中央处理器(centralprocessingunit,cpu)。处理器701可用于运行相关的程序代码中以下任一项或多项功能模块的程序:通信模块、处理模块以及存储模块等。也就是说,处理器701执行程序代码可以实现通信模块以及处理模块等功能模块中的任一项或多项的功能。其中,关于所述通信模块以及处理模块具体可参见前述实施例中的相关阐述。通信接口702可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/设备进行通信。例如,本发明实施例中通信接口702具体可用于接收其他设备发送的双目图像等。存储器703可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器703还可以包括上述种类的存储器的组合。存储器703可用于存储一组程序代码,以便于处理器701调用存储器703中存储的程序代码以实现本发明实施例中涉及的通信模块和/或处理模块的功能。需要说明的,图10或图11仅仅是本申请实施例的一种可能的实现方式,实际应用中,负载均衡装置还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述图2所述实施例中的相关阐述,这里不再赘述。本发明实施例还提供一种计算机非瞬态存储介质,所述计算机非瞬态存储介质中存储有指令,当其在处理器上运行时,图2所示的方法流程得以实现。本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图2所示的方法流程得以实现。结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(readonlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablerom,eprom)、电可擦可编程只读存储器(electricallyeprom,eeprom)、寄存器、硬盘、移动硬盘、只读光盘(cd-rom)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1