一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

3D视觉无人车监视系统及相应无人车的制作方法

2022-05-06 06:49:21 来源:中国专利 TAG:

3d视觉无人车监视系统及相应无人车
技术领域
1.本技术涉及图像处理领域,尤其涉及一种3d视觉无人车监视系统。本技术还涉及3d视觉无人车监视系统中所使用的无人车。


背景技术:

2.无人车一部分功能是无人驾驶,还有一部分可以采集无人车周围的环境信息,发送到远端供远端的操作人员参考。在无人车建图时,需要人工遥控无人车运动进行建图,任何环境感知的错误将会对远端的操作人员造成负面影响,而传统的单个摄像头形成的2d视频无法给远端操作人员足够的深度信息。
3.传统的立体成像技术包括了红绿立体技术、图像交叉反转技术以及偏振图像技术。
4.红绿立体技术是用户佩戴左右镜片为红色和绿色的眼镜,导致人的视觉形成立体效果,其缺点是用户看到的图像失真,因为红绿颜色的原因,左右眼镜看到的图像明暗也不一致。
5.偏振图像技术是图像通过左右偏振镜片投射到人眼中,形成立体效果。这种技术要求眼镜与屏幕要保持一定的角度,当眼镜偏离规定的角度,无法形成立体效果。例如,当使用者左右转头时,偏振眼镜将失去立体成像效果。
6.图像交叉反转技术要求显示器与快门式3d眼镜同步,当显示器显示左画面时,3d眼镜的右镜片关闭,反之,左镜片关闭,以此方法,使得人的视觉感知到立体图像。然而,由于每一时刻只有一个镜片允许图像进入,左右眼睛在每一时刻只能看到一张图片,通过3d眼镜形成的立体图像的亮度比实际双眼观测到的环境亮度要小,导致立体图像会经常偏暗,不易被感知。


技术实现要素:

7.本发明提供一种3d视觉无人车监视系统及相应无人车,其能够实现无人车周围环境的3d感知并增强无人车采集的图像的对比度及亮度,使得在形成立体图像时,可以达到实际双眼观测到的环境亮度,确保操作人员与无人车的交互质量。
8.在本发明的第一方面,提供一种3d视觉无人车监视系统,所述系统包括无人车、远端电脑和快门式3d眼镜,所述无人车包括本地电脑、至少一组左和右摄像头,每一摄像头分别与所述本地电脑通信,所述本地电脑与所述远端电脑通信,所述远端电脑与所述3d眼镜通信,所述远端电脑包括显示器,其中,
9.所述本地电脑包括:
[0010]-亮度增强模块,用于增强至少一组左和右摄像头采集的图像的亮度;
[0011]-图像发送模块,用于将亮度增强的左、右摄像头图像按照先后顺序发送到所述远端电脑;
[0012]
所述远端电脑包括:
[0013]-图像接收模块,用于按照先后顺序接收亮度增强的左、右摄像头图像;
[0014]-图像显示模块,用于在每接收到两帧图像时,将图像以交叉反转技术在所述显示器上显示;
[0015]
其中所述3d眼镜的左镜片或右镜片与所述显示器同步显示相应的左摄像头图像或者右摄像头图像。
[0016]
在本发明的第二方面,提供一种无人车,所述无人车包括本地电脑、至少一组左和右摄像头,每一摄像头分别与所述本地电脑通信,所述本地电脑配置成与远端电脑通信,其中,
[0017]
所述本地电脑包括:
[0018]-亮度增强模块,用于增强至少一组左和右摄像头采集的图像的亮度;
[0019]-图像发送模块,用于将亮度增强的左、右摄像头图像按照先后顺序发送到远端电脑。
[0020]
按照本发明,通过包括无人车、远端电脑和快门式3d眼镜,无人车包括本地电脑和至少一组左和右摄像头,本地电脑包括亮度增强模块和图像发送模块,远端电脑包括图像接收模块和图像显示模块,在每接收到两帧图像时,将图像以交叉反转技术在显示器上显示,3d眼镜的左镜片或右镜片与显示器同步显示相应的左摄像头图像或者右摄像头图像,可向远端操作人员提供3d视频从而使其获得足够的深度信息,同时由于显示的图像的亮度进行了增强,使得在形成立体图像时,可以达到实际双眼观测到的环境亮度,不会影响对环境的感知。
[0021]
本发明应用图像交叉反转原理,利用常规摄像头、显示器以及快门式3d眼镜,使无人车周围的现场视觉信息,以立体的形式呈现给远端的操作人员,以帮助操作人员以融入式、真实感觉的方式与远端的环境进行交互,从而更加精准地操作无人车。
[0022]
结合附图阅读本发明实施方式的详细描述后,本发明的其它特点和优点将变得更加清楚。
附图说明
[0023]
图1为根据本发明的3d视觉无人车监视系统的一实施例的示意图;
[0024]
图2为激光测距的示意图;
[0025]
图3为根据本发明的无人车的一实施例的示意图。
[0026]
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
[0027]
下面参照附图对本发明的实施方式和实施例进行详细说明。
[0028]
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
[0029]
图1示出了根据本发明的3d视觉无人车监视系统的一优选实施例的示意图。
[0030]
3d视觉无人车监视系统包括无人车1、远端电脑2和快门式3d眼镜3,无人车1包括本地电脑1-1、一组左摄像头1-2和右摄像头1-3,左和右摄像头分别本地电脑1-1通信,本地
电脑1-1与远端电脑2通信,远端电脑2与3d眼镜通信3,远端电脑2包括显示器2-1如高刷新率(例如大于120hz)显示器。
[0031]
左和右摄像头可为并排设置的两个常规摄像头,左、右摄像头的镜头中心的距离约为人眼间距。左和右摄像头在无人车1工作过程中采集无人车周围环境的图像。
[0032]
在实施例中,本地电脑包括:
[0033]-灰度图转化模块,用于将左和右摄像头采集的彩色图像分别转化为灰度图像,从而减少后续传输例如无线传输图像时对网络带宽的要求;
[0034]-图像压缩模块,用于压缩灰度图像的大小,该处理同样可减少后续传输例如无线传输图像时对网络带宽的要求;
[0035]-亮度增强模块,用于增强左和右摄像头采集的图像的亮度;
[0036]-图像发送模块,用于将亮度增强的左、右摄像头图像按照先后顺序发送到所述远端电脑。
[0037]
在实施例中,灰度图转化模块可采用本领域已知的任何适当的方法进行彩色图像向灰度图像的转化,如加权平均法、最大最小平均法、平均法等。
[0038]
例如,可采用加权平均法。设定一副图像为i,i(x,y)为图像的某一个像素,这个像素在图像中的坐标位置为横坐标x、纵坐标y。这个像素由3个通道值叠加而成,分别为红色通道值r(x,y)、绿色通道值g(x,y)和蓝色通道值b(x,y),可以用以下公式将这个像素转化为灰度像素:
[0039]
i(x,y)g=0.2989*r(x,y) 0.5870*g(x,y) 0.1140*b(x,y)
[0040]
其中,i(x,y)g为图像i在(x,y)点的灰度值。
[0041]
当然,如果左和右摄像头采集到的图像本身即为灰度图像,则无需进行灰度图转化。
[0042]
在实施例中,图像压缩模块可通过首先将灰度空域图像转化为频域图像,然后采用量化矩阵对频域图像进行量化处理,去除频域图像中的高频数据,最后将量化处理过的频域图像重新转化为空域图像,实现图像高频细节的去除,从而达到压缩图像的目的。
[0043]
例如,通过离散余弦变换,将灰度空间域图像转化为频域图像。
[0044]
以一个8
×
8的矩阵为例,
[0045]
[0046]
经过离散余弦变换之后,
[0047][0048]
经过离散余弦变换,低频数据也就是相邻像素值变化缓慢的数据在频域矩阵的左上方,高频数据也就是变化剧烈的地方在频域矩阵的右下方。
[0049]
这时,我们就可以采取不同的量化矩阵,达到去除部分高频细节的目的。
[0050]
c(x,y)=round(d(x,y)/q(x,y))
[0051]
其中,q为量化矩阵,c为量化后的矩阵,矩阵d与矩阵q的对应元素相除然后四舍五入,得到矩阵c。
[0052]
例如,使用
[0053][0054]
得到矩阵c:
[0055][0056]
这里可以看到右下角部分很多像素值在量化之后变为0,从而达到去除部分高频细节、压缩图像的目的。
[0057]
所使用的量化矩阵q可根据想要达到的去除高频细节/压缩的效果进行选择或设计,例如,可从图像专家组建议的量化矩阵中进行选择。远端的3d图像接收者可以根据自己的需要手动调节压缩比例然后发送给无人车端。例如,远端操作者希望图像为原始大小的50%,因而将数字0.5发送给无人车端,无人车的本地电脑接收指令,根据压缩比例选择量化矩阵而将原始图像压缩50%,然后发送压缩后的图像给远端的3d图像接收者。在实际应用中,摄像头采集的一幅图的图像大小例如可从400k压缩到50-70k,大大降低了对本地电脑与远端电脑之间的通信带宽的要求。
[0058]
在实施例中,亮度增强模块可通过下述处理增强图像的亮度和对比度:
[0059]
首先将压缩的图像分割成网格状。
[0060]
任何针对每一个网格,计算像素的直方图分布。
[0061]
可设置一个对比度门限,来保证整体图像亮度不会过于明亮而影响后续的特征点提取。
[0062]
在每一个网格对应的直方图分布中,根据对比度门限的要求,调整下面的累加概率密度函数所构成的映像函数,转化所有的点的亮度,以满足对比度门限要求。
[0063]
每一个网格都有一个直方图分布,假设在网格i直方图中存在10个纵向高度不等的区间,通过设置一个高度门限即对比度门限(在直方图中,每一个区间的纵向高度是这个区间的像素数量,所有区间的像素数目之和就是整个图片的像素数量,对比度门限就是人工设置的某个区间能够容纳的最大像素数量),高于这个高度门限的所有像素将会被尝试均匀地分配到其它的区间,具体方式是改变对应像素的灰度值,以符合某个区间的要求,这样既保证所有区间小于直方图门限,又保证各个区间的累加概率密度值,尽量形成一条斜线。
[0064]inew
(x,y)=round[{cdf(x,y)-cdf
min
}/{1-cdf
min
}*l]
[0065]
其中,i
new
为转化后坐标为(x,y)点的亮度;cdf为累加概率密度;cdf
min
为所有计算出的cdf中的最小值;l为直方图中灰度级个数。
[0066]
由于相邻网格的亮度范围在调整累加概率密度函数之后,变得不连续,我们采用双线性插值的方法,来保证相邻网格的亮度不会差异过大。例如,一个像素点,它的近邻网
格可能最多有三个,加上它本身所在的网格,一共是四个网格,我们使用四个网格所属的映射函数,分别计算这个像素点的亮度,然后使用双线性插值的方法,给出这个像素的最终亮度。
[0067]
在其它实施例中,亮度增强模块也可采取任何其它适当的亮度增强技术增强图像亮度,例如本领域已知的基于视网膜皮层的图像增强方式、基于高斯过程的图像增强方式、基于深度学习的图像增强方式等。
[0068]
在其它实施例中,本地电脑可以不包括灰度图转化模块和图像压缩模块中的任何一个或二者。在实施例中,也可先进行图像压缩处理,然后再进行灰度图转化处理。
[0069]
在实施例中,本地电脑上建立socket通讯端口a。可以使用linux下自带的socket库函数来初始化一个socket端口a,这个socket端口可以接收任何地址发送的连接请求,端口号是8888。远端电脑建立对应的socket端口b,同样可利用linux自带的socket库函数初始化一个socket端口b,端口号同样是8888。当端口a收到端口b的请求后,两个端口自动进行连接。端口a和端口b会各自创建一个指针,用来处理两个端口之间的通信以及数据传输。图像发送模块将增强的左、右灰度图像按照先后顺序,从通讯端口a发送到通讯端口b。左摄像头的增强灰度图会首先发送,在发送完毕之后,右摄像头的增强灰度图开始发送。之后,左、右摄像头的图像循环交叉发送到端口b。
[0070]
在其它实施例中,也可采用不同于socket端口传输的方法进行图像传输,因为实际的远程互联,也可以不只是wifi的局域网,可能是两台电脑在不同的网络中互联,或者通过数据流量互联,进行图像传输。
[0071]
在实施例中,远端电脑2包括:
[0072]-图像接收模块,用于按照先后顺序接收亮度增强的左、右摄像头图像;
[0073]-图像显示模块,用于在每接收到两帧图像时,将图像以交叉反转技术在所述显示器上显示。
[0074]
在采用socket端口传输的情形下,远端的端口b收到第一帧图像后,会保存在变量a中,接收到的第二帧会保存到变量b中。变量a和变量b中保存的图像会在下一步用来进行立体显示。在端口b收到新的两帧图像后,新的两帧会再次分别保存到变量a和变量b中,然后再次被使用进行立体显示。此过程一直循环。远端电脑每接收到两帧图像,即左、右图像,将图像以交叉反转技术在显示器上显示。
[0075]
换言之,每收到两帧图像后,首先将两帧图像放在显存后端缓冲中,然后使用opengl自带的交换缓冲函数,依次显示左摄像头增强图像和右摄像头增强图像。如果有新的两帧图像,新的两帧依然会首先放到显存的后端缓冲中,然后交换缓冲进行立体显示。此过程一直循环。
[0076]
3d眼镜的左镜片或者右镜片,会与显示器同步显示相应的左摄像头灰度图或者右摄像头灰度图。例如当显示器显示左图时,3d眼镜的右边镜片全黑,反之亦然,以便形成3d显示效果。从而,远端的操作人员,可以在3d的感知环境下,进行各种远程操作。
[0077]
在实施例中,远端电脑也可将接收到的灰度图转化为彩色图后进行显示。
[0078]
在其它实施例中,远端电脑亦可包括如上所述的图像压缩模块,以对接收到的图像进行进一步压缩,从而提高后续处理速度。例如,远端操作者希望图像为原始大小的50%,将压缩比例0.5输入到远端电脑,远端电脑根据从无人车处的本地电脑接收到的图像
的当前压缩比例和压缩比例0.5,计算出需要额外压缩的比例,最终达到图像压缩为原始图像的50%的效果。
[0079]
在其它实施例中,无人车的本地电脑可将左和右摄像头采集的图像直接传给远端操作者的远端电脑,而远端电脑亦可包括如上所述的灰度图转化模块和/或图像压缩模块,以提高后续处理速度。例如,远端操作者希望图像为原始大小的50%,将压缩比例0.5输入到远端电脑,远端电脑将从无人车处的本地电脑接收到的图像压缩为原始图像的50%。
[0080]
在其它实施例中,无人车可包括2组、3组或4组左和右摄像头。例如,上面所述的一组左和右摄像头朝向无人车正前方,而另外放置1-3组左和右摄像头分别朝向无人车的左侧、右侧和后方,每组摄像头均包含左和右摄像头且均可按上述模式发送数据到远端大脑。在该情形下,远端操作人员可以自由切换无人车前后左右四个方向中任一方向的3d图像。显示器上可默认显示朝向前方的3d图像,触发前后左右四个方向的键盘数字例如分别为1、2、3、4。当操作人员敲击键盘数字2,将显示后方的3d图像,而其它三个方向的将不显示。敲击其它数字,那么相应方向的3d图像会显示,而其它方向的将不显示。
[0081]
在实施例中,无人车1还包括安装在左或右摄像头上方的激光光源1-4,激光光源投射激光到远方。在该情形下,本地电脑还包括距离计算模块,用于根据激光光源1-4的投射位置信息计算激光光源到激光光源所投射光点的距离,远端电脑2的图像显示子模块还在显示器上显示激光光源到激光光源所投射光点的距离信息,用于辅助测量摄像头到激光光源投射点的距离,从数据的角度让用户知道距离信息,增强远端操作人员的环境深度信息的感知。
[0082]
在此以激光光源1-4安装在左摄像头1-2上方为例进行说明。激光光源的朝向和摄像头的朝向保持一致。这样远端的操作人员结合3d感知和单点激光测距,会大致知道距离前方障碍的信息。当两个摄像头同时向左或者同时向右时,激光光源同步移动,这样远端的操控者也会对他所看到的场景中障碍的距离,有个粗略的感知。在垂直方向上,激光光源的轴线和摄像头的轴线形成的平面和两个摄像头的轴线形成的平面垂直。
[0083]
在无人车包括2组以上左和右摄像头的情形下,每一组左和右摄像头中的左或右摄像头上方均可设置一如上所述的激光光源。
[0084]
图2示出了激光测距的示意图,其中h为激光光源纵向轴心到左摄像头的中心距离,d为激光光源到直射形成的光点的距离。h与d之间的关系为:h=(d k)tan(α),α为d k与h形成的角度,k为左摄像头透镜到摄像头前表面的距离,α=(np-1)*rp rc。其中,np为从一幅图像中,光点到图像中心的像素数目a,因为光点是图像中的最亮点,所以光点的灰度值是图像中所有像素中的最大值,通过找到图像的最大灰度值,就可以确定光点在图像中的坐标。rp为像素数目a中,以左摄像头透镜中心为原点,平均每两个相邻像素间距的弧度。rc为误差补偿。
[0085]
由于试验时d,h,k和np可以通过测量获得,经过多次的实验测试,rp,rc的值也可以通过公式h=(d k)tan[(np-1)*rp rc]计算出来。例如:
[0086]
h1=(d1 k)tan[(np1-1)*rp rc]
[0087]
h2=(d2 k)tan[(np2-1)*rp rc]
[0088]

[0089]
hn=(dn k)tan[(npn-1)*rp rc]
[0090]
移动摄像头,那么可以通过测量得到多组{d,h,k,np},由于只有rp和rc两个变量,所以两组值,就可以求得rp和rc。为减小测量误差,我们可将8组值分成4对,分别计算出4组rp和rc,然后所有的rp求出平均值,所有的rc求出平均值,为最终的rp和rc。因而,在实际测量的时候,由于h,rp,rc,np,k已知,就可以根据上面的公式算出d。
[0091]
图3示出了根据本发明的无人车的一实施例的示意图。无人车1包括本地电脑1-1、一组左摄像头1-2和右摄像头1-3,每一摄像头分别与本地电脑通信,本地电脑配置成与远端电脑通信。
[0092]
在实施例中,本地电脑包括:亮度增强模块,用于增强左和右摄像头采集的图像的亮度;图像发送模块,用于将亮度增强的左、右摄像头图像按照先后顺序发送到远端电脑。
[0093]
在实施例中,亮度增强模块包括:分割子模块,用于将待处理的图像分割成网格状;计算子模块,用于针对每一个网格,计算像素的直方图分布;调整子模块,用于在每一个网格对应的直方图分布中,调整累加概率密度函数所构成的映像函数,转化所有的点的亮度,以满足对比度门限要求;确定子模块,用于对于每一像素点,使用其所在网格以及近邻网格所属的映射函数计算其亮度,并基于计算得到的多个亮度确定其最终亮度。
[0094]
在实施例中,本地电脑还可包括灰度图转化模块,用于将左和右摄像头采集的彩色图像分别转化为灰度图像。
[0095]
在实施例中,本地电脑还可包括图像压缩模块,用于压缩所述灰度图像的大小。
[0096]
在实施例中,图像压缩模块包括:空频转化子模块,用于将待处理的空域图像转化为频域图像;量化处理子模块,用于采用量化矩阵对所述频域图像进行量化处理,去除频域图像中的高频数据;频空转化子模块,用于将量化处理过的频域图像转化为空域图像。
[0097]
在实施例中,无人车还可包括安装在左或右摄像头上方的激光光源1-4。在该情形下,本地电脑还包括距离计算模块,用于根据激光光源的投射位置信息计算激光光源到激光光源所投射光点的距离。
[0098]
无人车的各个模块和子模块的细节可参考上面结合3d视觉无人车监视系统的实施例所述,在此不再赘述。
[0099]
在此所述的多个不同实施方式或者其特定特征、结构或特性可在本发明的一个或多个实施方式中适当组合。另外,在某些情形下,只要适当,流程图中和/或流水处理描述的步骤顺序可修改,并不必须精确按照所描述的顺序执行。另外,本发明的多个不同方面可使用软件、硬件、固件或者其组合和/或执行所述功能的其它计算机实施的模块或装置进行实施。本发明的软件实施可包括保存在计算机可读介质中并由一个或多个处理器执行的可执行代码。计算机可读介质可包括计算机硬盘驱动器、rom、ram、闪存、便携计算机存储介质如cd-rom、dvd-rom、闪盘驱动器和/或具有通用串行总线(usb)接口的其它装置,和/或任何其它适当的有形或非短暂计算机可读介质或可执行代码可保存于其上并由处理器执行的计算机存储器。本发明可结合任何适当的操作系统使用。
[0100]
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。
[0101]
前面说明了本发明的一些优选实施例,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。本领域技术人员可以在本发明技术构思的启发和不脱离本发明内容的基础上对本发明做出各种变型和修改,这些变型或修改仍落入本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献