本科毕设论文——基于Kinect的拖拉机防撞系统

基于Kinect的拖拉机防撞系统
电子信息科学与技术专业学生 sukeysun

摘要:随着智能车辆技术的发展,智能导航定位和实时车载监控等技术被更多的应用到日常生活照。在农业领域上,车辆自主感知道路环境并制定实时避障策略还存在不足,特别是在农田,因为人员高强度劳动和环境复杂等因素,智能拖拉机自动驾驶对田间劳动人员造成一定的安全隐患本文针对田间行驶的拖拉机,提出了一个基于低成本Kinect2.0 摄像头的拖拉机防撞系统设计。首先用Kinect2.0采集移动人体目标的深度图像和骨骼信息并进行卡尔曼滤波处理;再计算出人相对于拖拉机的相对速度等基本避障参数;最后根据这些避障参数制定相应的避障策略,实现智能拖拉机在遇到人员时安全避险。
关键词:拖拉机;Kinect2.0;卡尔曼滤波;防撞
Tractor Collision Avoidance System Based on Kinect
Student majoring in Electronic Information Science and Technology Name Sun Yubo
Tutor Name Lu Wei
Abstract: With the development of the intelligent transportation system, such technologies as intelligent navigation and real-time vehicle monitoring are increasingly applied to people's daily life. There are still some limations on the perception of the road environment or the real-time obstacle avoidance, especially in the field of agriculture. Due to the high-intensity labor and environmental complexity and other factors, self-driving tractors may pose some threats on the labors working on the field. Therefore, for the tractors driving in the field, this paper put forward a tractor collision avoidance system design based on a low-cost Kinect2.0 camera. Firstly, Kinect2.0 is used to collect the depth image and skeleton information of the targeted human body and then these datum are carry processed through Kalman filter. Secondly, the basic obstacle avoidance parameters like the relative speed between the tractor and the targeted human are calculated. Finally, according to these obstacle avoidance parameters, this system can achieve intelligent tractors avoiding the labors in front of them and therefore guarantee the safety.
Key words: tractor; Kinect2.0; Kalman filter; collision

引言
农业机械的智能化和机械化为我国带来了农作物的快速增产,不仅弱化了有限的土地资源与快速增长人口之间的矛盾,还为农民带来了收入的增加[1]。实时检测并识别障碍是智能拖拉机安全操作的关键,其主要有以下几种技术支持:机器视觉,雷达技术,GPS技术,红外技术,超声波技术以及多传感器融合技术[2]。
1.国内外发展现状
1.1 国外现状
中国虽是农业大国,但智能农业的发展水平却相对落后于欧美等国家。2010年,Bakker, Asselt, Bontsema等人提出的玉米田除草机器人通过拖拉机引导系统分别记录初始路径和播种路径位置(A-B线)。再将(A-B线)引入现有的自动进料器,从而生成拖拉机行走路线图,提高导航精度并且达到避障效果[3]。2011年,Takaibarawid等人通过使用RTK-GPS和IMU作为自主导航传感器,并以不同的速度对履带式拖拉机进行试验,其横向误差为1cm到3cm[4]。同年,Noguchi等人使用二维激光扫描仪作为传感器,放置于拖拉机前段以获取相关距离与角度。当激光扫描仪在设定的扫描范围内检测到前方有障碍物时,导航程序立刻命令拖拉机停止[5]。然而虽然激光扫描仪有相对较高的精度,其造价对于农民来说却是昂贵的。Gomez-Gil, San-Jose-Gonzalez, Nicolas-Alonso等人通过基于EMG的HMI来引导拖拉机,检测四个状态下司机的肌肉情况:眼睛向右看后下巴打开,眼睛向右看后下巴闭合,眼睛向左看后下巴打开和眼睛向右看后下巴闭合。并通过对比手动避障和自动避障的精度,得出了该方法与手动避障具有几乎相同精度的结论[6]。2012年,Yang 等人采用Lucas-Kanade光流检测方法在全景图像中检测人类,并进行3D重建,使用平方差方法来获取人的具体位置从而达到避障预警的效果[7]。然而其检测方法仅在白天的限定条件下才可以完成。2013年,Kraus, Kayacan, De Baerdemaeker等人提出了基于模型预测控制的拖拉机自主避障方法,模拟拖拉机潮湿和颠簸的行驶轨迹,在线识别滑动参数已使拖拉机进行纵向或者侧向行驶,从而达到避障效果[8]。2016年,ZhangNoguchi 等人将每个拖拉机简化成一个矩形区域,将路径规划,控制转向等参数发送到拖拉机的ECU上,拖拉机从ECU上接受反馈信息以及阅读来自客户端/服务器的命令,从而达到实时避障的效果[9]。同年,Ball等人介绍了一种基于视觉障碍物的检测技术。基于低廉的全球定位技术和惯性导航技术,完成了障碍物检测和视觉辅导的无碰撞路径规划[10]。其智能拖拉机装备如图1-1所示。Ramezani, ZakiDizaji, Masoudi等人则将单个摄像头安装在拖拉机前方,将采集到的RGB图像转化成审图图像,然后将该图像划分区域,并删除不必要的区域。之后使用幅度梯度函数来检测物体的边缘,从背景中分割对象以获取行人的图像。其实验方法在早中晚不同的照明条件下进行,其测量结果最后与基于定向梯度方法和级联方法的直方图进行对比,得出该实验方法具有良好的人体障碍物识别效果[11]。

图1-1 基于视觉的避障拖拉机
1.2 国内现状
在我国国内,虽然智能农业技术的起步晚于国外的发达国家,但在多年的努力下,也已取得良好的成果。1986年,清华大学的何克忠教授团队,结合激光雷达,CCD二维彩色摄像机实现了智能车辆在行驶过程中的自主避障功能。90年代初,吉林大学就开始研发智能车辆,其JUITV型号的智能车辆已发展到第四代。其最新一代的智能车辆结合3D激光成像仪,利用多传感器融合的技术,实现了道路识别的功能。1999年,沈明霞和李询结合发射电路,接收电路,技术电路,双稳电路,报警电路,以及数字式超声笔防撞雷达达到车辆避障效果[12]。近些年来,智能拖来及的自主避障功能取得了新的突破。2015年,薛龙和马蓉为研究拖拉机自动驾驶,提出了基于嵌入式智能终端和多线程的实时监控软件系统,该方法最终的测量误差的绝对平局值为9.7cm[13]。同年,宋春月研究了GPS导航技术,硬件上采用S3C2440为核心处理器,通过角度传感器完成了前轮转角的测量,软件上了开发了嵌入式用户界面,完成了拖拉机的直线方向的避障仿真[14]。2016年,石翔通过GPS获取拖拉机行驶前方的障碍物信息,通过卡尔曼滤波分别对静态下和动态下的前轮转角进行滤波,再基于纯追踪模糊跟踪算法,分别在室内室外进行检测,完成拖拉机直线路径跟踪实验[15]。同年,谭德权, 蒋蘋, 罗亚辉和胡文武针对履带式拖拉机,采用双源激光法对障碍物进行定位,并根据拖拉机实时速度控制系统完成对拖拉机点火和熄火的控制,达到避障的效果。该方法的有效范围为100m内[16]。

1.3主要研究内容以及拟解决方案
1.3.1 研究内容
农作物生长环境复杂,驾驶员在行驶拖拉机的过程中,如果出现疲劳驾驶,将会导致拖拉机田间工作的安全隐患。相比于其他传感器,机器视觉探测范围广,信息量大,可对较大物体进行识别,且满足实时性。本文研究对象为在田野上行驶的拖拉机,因此需要传感器具有良好的探测范围,且出于对人隐私权的保护,在识别人体时只需要提取骨骼信息。同时出于对近距离物体位置的测定以及预算成本的考虑,故选用微软推出的Kinect2.0作为机器视觉传感器,并在VS2015的平台上对其进行开发。

1.3.2拟解决方案
本防撞系统需要解决的数据处理问题有数据获取,数据预处理以及数据融合。再基于处理过后的数据获取避障参数,并制定相应的防撞策略,其技术路线图如下所示:

图1-2 技术路线图

1.基于Win10系统,VSCommunity2015搭建适合Kinect2.0的开发的软件平台,将Kinect2.0安装到拖拉机横梁上方,搭建测试平台。
2.用Kinect2.0获取深度数据,并将其保存至数据库中。
3.描述人体25个关节点,并用BodyFrameReader获取其3D位置及方向,并将人体25个关节画出来。
4.骨骼数据进行基于视频流的预处理。
5.将获取的深度2D数据与人体骨骼3D数据融合。
6.编写基于多线程的延时函数,获取相隔一秒的人体质心位置,从而获取人相对于拖拉机的速度及方向。
7.获取避障参数。
8.制定基于相对速度和避障参数的防撞方案。

1.4可行性分析
在农业生产中,拖拉机作为播种、耕种、运输等方面重要的交通工具,被广泛地使用。然而在拖拉机行驶过程中,如果驾驶员疲劳驾驶或者注意力不集中,在田间行驶拖拉机的过程中不能轻易识别出被农作物遮挡住的人,难免碰撞到前方在田地里务农的人,从而造成不可挽回的财产乃至生命的重大损失。而将智能车辆自主避障的技术应用到农业生产所需的拖拉机上,不仅可以规避财产以及生命的损失,还顺应了时代的发展以及人们的需求,有着重要的研究意义和应用价值。
相比于其他摄像头,Kinect2.0有相对较低的造价和良好的功能,可降低智能车辆技术在农业领域的经济负担,并提高农业领域的智能化。
本防撞系统,即使人前方有农作物或者树木的遮盖,也可以及时对人体进行识别,并进行相应的预警处理,从而降低不必要的生命与财产的损失。

1.5论文结构
本文将从以下几个部分介绍:
1.介绍国内外发展现状,本文研究内容及拟解决方案;
2.介绍Kinect2.0以及常发金冠拖拉机的基本信息;
3.介绍采取的彩×××像信息以及经过基于视频流滤波后的人体骨骼信息,并对这两种信息进行融合;
4.介绍避障策略以及实验结果;
5.进行课题总结。
2.避障平台介绍
2.1 Kinect2.0简介
三维环境的捕捉在许多应用领域都有应用。诸如激光扫描,立体视觉或以三角测量为基础的系统等各种各样的科技,使捕捉三维环境和目标具有更广泛的可能性。考虑到价格和计算时间等方面,近期RGB-D相机为用户提供了更好的选择。2014年,微软公司发布了一个新型传感器,适用于Windows v2的传感器,该传感器即是Kinect2.0,其依赖的技术为飞行时间准则(TOF)[17]。Kinect2.0由一个彩色摄像头,一个红外/深度摄像头和四个麦克风阵列组成。彩色摄像机可以捕获到1920x1080像素分辨率的彩色信息,而红外/深度摄像机用来获取实时深度图和512*424像素分辨率的红外数据。其视野范围为水平70度和垂直60度。

图2-1 Kinect2.0

由微软提供的技术规格规定,Kinect2.0的有效测量范围是0.5m到4.5m。为了确保开发者和研发者对该传感器的使用,微软官方的SDK2.0可从网上下载。不仅提供了开发程序,还提供了为个人开发所能使用的一系列的函数或者样本代码。

2.2 Kinect2.0测距原理
Kinect2.0使用光学飞行时间(TOF)技术测量距离如图2-2。通过传输脉冲之间的时间延迟来获取深度信息。而发射器和接收信号之间的被测量的相移可替换直接测量运行时间。在这种情况下,传感器和捕捉目标之间的估计距离取决于确定相移:如公式:
(2.1)
其中,f=调制频率
c=光速

图2-2 TOF测距原理图
2.3 Kinect2.0 成像原理
Kinect2.0由红发射器发射雷射光,透过光栅投射至测量空间。测量空间中的粗糙物体在反射后会形成随机的散斑,再通过红外摄影机记录空间中的每个散斑,通过晶片的计算便得到三维图像。Kinect2.0的三维坐标系为右手螺旋坐标系,如下所示:

图2-3 成像坐标系

2.4 软件开发平台
本文基于Kinect2.0的拖拉机防撞系统在微软发布的Visio Studio Community 2015上操作,计算机语言为C#。在实验过程中,为更直观地看出数据处理效果,寻找适合该系统的滤波算法,同时结合Matlab2012进行图像分析,以及效果对比。用Matlab2012分析得到适合的预处理算法后,将该算法运用到Visio Studio Community 2015上,获取基于视频流的实时滤波数据,以获取有效的避障参数并制定适合的避障策略。
3.数据处理与图像融合
3.1数据获取
Kinect2.0为用户提供三种有效信息,分别为深度数据、彩色数据、音频数据,为骨骼追踪、身份识别和语音识别的处理过程提供原始数据流。本文中需获取的数据分别为深度数据,人体骨骼数据。获取的深度图像如图3-1:

图3-1 深度图像
然而在从深度图像中识别人体,进行骨骼追踪的过程中,Kinect2.0会面临一系列的干扰背景,如书桌,椅子,书架等。而从背景中提取人体的过程就是从噪声中提取有用信息的过程。首先分析接近Kinect2.0红外/深度摄像头的区域,由其是呈现“大”字的区域,对其进行深度图像像素逐点扫描。再通过计算机图形视觉技术如边缘检测、噪声阈值处理等方法来对人体特征点分类[18]。之后,通过约定字节编码,将被追踪到的“大”字玩家周围建立“分割遮罩”,将上文中提到的干扰背景剔除后,即可得到用户的深度图像区域。最后将每个用户ID数据转换成RGBQUAD数据,规定用户ID区域所用颜色,则其他区域即为另一种颜色,从而完成将人体深度图像的抠图。接下来需进一步获取人体骨骼数据。Kinect2.0通过机器学习,根据骨骼关节图(图3-2)对人体25个关节进行快速识别分类,完成骨骼三维建模。

图3-2 骨骼关节图

在允许的延时范围内,快速构建人体25个关节需要注意以下问题:
1.激光散斑测距的采样精度;
2.红外/深度摄像头的分辨率;
3.允许延时范围内的骨骼构建。
最终完成人体骨骼构图,如图3.3

图3-3 骨骼构架图
3.2数据预处理
然而由图3-3可得,当人体的关节点出现重合或被物体遮挡的情况时,画出的骨骼图像会抖动,因此需对其进行预处理。常见的骨骼预处理方法有平滑滤波,指数滤波以及卡尔曼滤波。
为更直观地对比滤波效果,本文将38s内的动态骨骼三维数据A保存到excel表格中,并导入Matlab软件上,进行滤波效果分析。为便于观察,该38s内,人基本保持静止状态。图3-4为其未进行滤波的原始图。

图3-4原始图像

平滑滤波就是用窗口长度为5的移动平均滤波器对三维数据A进行处理,再返回与A大小相同的向量AA。其计算方法如公式3.1,滤波效果图如图3-5:

图3-5 平滑滤波图像

1960年Kalman提出了卡尔曼滤波,其在航空、导航等多个领域中都有使用[19]。滤波其实是指信号在处理和变化的过程。滤波的本质就是根据用户的自己需求,将信号中没用的部分去除或者减弱,将自己需要的有用信号部分进行放大增强。也就是说,需要将抖动带来的不必要信息去除,并放大有用的关节位置信息。在动态数据处理的过程中,卡尔曼滤波有相对较好的预处理效果。
卡尔曼滤波方程可通过输入输出观测数据,进行最优估计算法,由于观测数据中包括系统中的噪声干扰,所以最优估计也可看作是滤波过程[20] 。在高斯分布干扰的情况下,如果测量均方误差最小,测量值的抖动最小,也就最平滑。卡尔曼滤波的动态模型主要由卡尔曼状态方程和卡尔曼观测方程组成,分别为:
卡尔曼状态方程:
(3.2)
其中, 为时刻到时刻的状态转移矩阵;
为系统噪声矩阵;
为系统噪声矢量。
卡尔曼观测方程为:
(3.3)
其中:为k时刻的测量矩阵;
为k时刻的量测噪声矢量。
而方程(3.2)、(3.3)中的,需满足以下条件:
=, (3.4) (3.5) (3.6)
其中,称为动态噪声协方差阵;
,称为量测噪声协方差阵。
由上述方程可得,离散卡尔曼滤波方程如下:
(1)在(k-1)时刻得到,根据公式(3.2),可以得到在k时刻时状态的预测方程:
(3.7)
(2)相应的预测的均方误差方差为:
= (3.8)
(3)滤波增益方程为:
(3.9)
(4)由实际k时刻测量值所获得的状态估计方程为:
(3.10)
(5)估计均方误差方程:
(3.11)
方程(3.2)为动态系统的状态模型,方程(3.7)至方程(3.11)即为它的卡尔曼滤波基本方程。只需要给定卡尔曼滤波的初值以及,就可以根据k时刻的观测方程递推计算出在k时刻的状态估计。其算法方程如图(3.6)所示:

图3-6 卡尔曼滤波算法流程图
根据介绍的卡尔曼滤波方法,骨骼关节点卡尔曼滤波算法的仿真实验过程主要分为了三部分:(1)Kinect2.0测量到的骨骼关节三维坐标数据为原始数据,为了更直观地看出处理效果,将数据导入Matlab中进行分析。(2)建立卡尔曼滤波方程,编写卡尔曼滤波仿真程序,对接收到的原始数据进行卡尔曼滤波处理。(3)对滤波过后的数据进行处理。其滤波处理效果如图3-7所示:

图3-7 卡尔曼滤波图像

经过Matlab的验证分析,可得到以下结论:平滑滤波虽起到了一定的滤波效果,却仍出现微小抖动,为更好的消除抖动时带来的不必要信息,本文最终选用卡尔曼滤波对骨骼关节位置进行滤波。实时滤波效果在VS2015平台上的结果显示如下:

a b
图3-8 实时骨骼滤波对比图: a.滤波前的图片;b.滤波后的图片

3.3图像融合
深度数据是每像素为一个16位short的二维数据。而骨骼数据为包含25个关节位置三维数据。二维数据可精确表示空间位置之间的关系,用于定量分析[21] 。而骨骼三维数据包含了骨骼关节点的方向,位置,可通过该数据进行关节改变角度,幅度等参数的分析。为了得到更详细,多元,直观的数据,需要将描绘出的骨骼关节图叠加到采集的深度图像中,进行数据融合。深度二维数据与骨骼三维数据融合的具体步骤如下:
1.打开多种帧: DepthFrame, BodyIndex, Body;
2.创建图像生成器,并将彩色框图和骨骼框图比例调整为1:1;
3.定义数组和位图:存放彩×××像的字节数组的长度=帧宽度帧高度每个像素占用的字节数,位图初始化:宽度,高度,96.0表示分辨率,像素格式,blue,green,red,alpha,共32位;
4.将骨骼帧,深度帧分别拷贝到数组,数组写到位图;
5.通过调用MapSpacePointToDepthPoint将骨骼坐标转化为彩×××像坐标,再转化为屏幕坐标。
其流程图如下:

图3:9 数据融合流程图

融合后的图像如图3-10:

图3-10 数据融合图

4.避障策略设计与实现
4.1 获取避障参数
本文的避障参数为人骨骼关节点的位置,以及制定人和拖拉机在XOZ平面上的最大尺寸包围框,以确保在拖拉机预警执行过程中,人与拖拉机可以保持一定的安全距离,最后获取人与拖拉机行驶的相对速度,
4.1.1 获取骨骼关节点位置
设在Kinect2.0测量范围内有一点A,其距离摄像头的距离为,由Kinect内部规定可得点A在空间中的实际位置为[22]:
(4.1)
其中,H=3.5rad;
K=12.36cm;
O=3.7cm;
L=1.18rad。
求出实际位置d(cm)后,就可以获得点A的坐标矢量设A为其投影坐标,则其三维坐标可由公式(4.2)计算:

                                         (4.2)  

其中,;


4.1.2 获取包围框参数
在拖拉机行驶过程中,需要明确在XOZ平面上,人与拖拉机最大尺寸的包围框,以此确保人与拖拉机保持相对安全的距离。
首先获取拖拉机包围框,已知常发金冠拖拉机的基本参数如表4.1所示,将Kinect2.0放置于拖拉机的横梁中心,其包围框确立公式如(4.3):
表4.1 常发金冠拖拉机参数
常发金冠拖拉机参数 数值(cm)
宽()
横梁中心到车头的距离) 1700
1500
(4.3)
其中,N1,N2分别为X轴,Z轴拖拉机包围框的扩展因子;
,分别为扩展后的边长;
,分别为包围框X轴方向的左半边长和右半边长;
其次,再获取人体的包围框。由公式(4.2)可获取人体25个关节的三维坐标,由于Kinect2.0的安装位置距离车头有1.5m,在检测并显示在Z轴方向,人距离拖拉机的位置时,需要减去这一段固有距离。之后用排序法得到人体关节在X 轴,Z轴的最大位置,最小位置,分别记为,则人体包围框确立公式如下:
(4.4)
其中,,分别为X轴,Z轴的人体包围框的扩展因子;
、分别为人体包围框X轴的最大值和最小值;
、分别为人体包围框X轴的最大值和最小值。

4.1.3 获取相对速度
要计算出人相对于拖拉机的行驶速度,需将运动的人看作是一个质点,分析其从位置到的运动过程。参考文献[23]选择有效地跟踪行人的头部位置,但行人的头部不是最稳定的追踪目标。这是由于人头部的偏转和旋转会造成不必要的数据抖动。由其是当速度过快(>1.4m/s)时[24],选取人体的肩部可以更加稳定一些。因此A点的位置由当前时刻人的左肩(position1),右肩(position2)以及脊椎中心(position3)位置确定,最终得到的位置如公式(4.5)
(4.5)
则人与拖拉机的相对速度

(4.6)

4.2 避障策略
由于Kinect2.0安装在拖拉机正前方横梁中心,故避障策略只考虑人在拖拉机前方时的状态如图4-1,不考虑拖拉机倒车时的状态。

图4-1 避障情况

已知拖拉机在田间缓慢行驶的制动距离为0.5m到1m,人行驶速度低于拖拉机行驶速度。规定人当前时刻位置为,下一时刻位置为;当前时刻拖拉机在X轴包围框坐标值分别为 ,,下一时刻包围框坐标值分别为 ,;Z轴正方向当前时刻拖拉机包围框坐标值为,下一时刻坐标值为;当前时刻人在X轴包围框的坐标最大值和最小值分别为、,下一时刻包围框坐标值,;当前时刻人在Z轴包围框的坐标最大值和最小值分别为、;参考坐标系为以Kinect2.0的红外/深度摄像头为中心的右手螺旋坐标系,即拖拉机行驶方向为Z轴正方向,Kinect2.0左侧为X轴正方向,上方为Y轴正方向。由于Kinect2.0检测人体骨骼的深度范围在0.5m到4.5m,且在Z轴方向,测得人体包围框与拖拉机包围框的距离等于人与摄像头的距离减去摄像头距离拖拉机包围框的距离。又考虑到拖拉机在田间行驶的最大制动距离为1m,故本避障策略预警的必要条件为人与拖拉机相距1m到2m。
本系统的避障策略按照以下三种情况进行讨论:
1.当行人当前时刻和下一时刻都在拖拉机包围框的范围内时,该情况在XOZ平面的二维图像如图4-2所示:

图4-2 避障情况1(平面图)

在X轴方向,如果当前时刻和下一时刻人的包围框一直在拖拉机包围框(蓝色虚线)内,即<<,如果人与拖拉机之间在Z轴上的距离差为1m到3m之间,拖拉机防撞系统预警:立即停止;如果人与拖拉机之间的距离差在Z轴上为2m以上,则拖拉机可以继续行驶。
2.当行人当前时刻不在拖拉机包围框内,而下一刻在包围框内时,该情况在XOZ平面的二维图像如图(4-3)所示:

图4-3 避障情况2(平面图)

在X轴方向,如果当前时刻人的包围框不在拖拉机包围框内,即或者,而下一时刻在拖拉机包围框内,即<<。同样地,如果人与拖拉机之间在Z轴上的距离差为1m到2m之间,拖拉机防撞系统预警:立即停止;如果人与拖拉机之间的距离差在Z轴上为2m以上,则拖拉机可以继续行驶。
3.当行人下一刻不在包围框内时,该情况在XOZ平面的二维图像如图4-4所示:

图4-4 避障情况3(平面图)

在X轴方向,人在下一时刻也不在拖拉机包围框内,或者,即人的运动状态是偏离拖拉机行驶方向,则在拖拉机保持直行的情况下,不启动预警系统,拖拉机直行。
以上三种情况的避障方案可由流程图如图4-5所示:

图4-5 避障流程图

4.3 实验结果

在获取避障参数并明确避障策略之后,本拖拉机防撞系统在南京农业大学工学院进行实际检测。主要检测人在不同的位置,不同的姿态时,本防撞系统的预警状态。其检测环境由Kinect2.0拍摄,如图4-6:

图4-6 检测环境

本系统由拖拉机的电瓶经过逆变器成220v后,给电脑和kinect2.0供电,其安装成果如图4-7所示:

图4-7 Kinect2.0安装图

分别检测在Kinect2.0的识别范围内,模拟插秧播种时人的坐立状态,弯腰状态,站立状态和预警状况,其实验结果如下所示:

a.

b.

c.
d.

e.

e.
f.

g
图4-8 实验结果:a.坐立状态;b.弯腰状态;c.站立状态1;
d.站立状态2;e.站立状态3;f.无人状态;g.夜间测试

 表4.1 状态检测

状态 光照 (m/s) 深度距离(m) 骨骼识别状态 实际预警状态
坐立
弯腰
站立1
站立2
站立3(有遮挡)
无人状态
坐立 光照充足
光照充足
光照充足
光照充足
光照充足
光照充足
夜间 -0.0007093996
-0.06668031
-0.8409945
0.003467858
0.001958132

-6.988645 1.233494
1.521136
1.626469
2.551911
2.127553

1.099358 可识别
可识别
可识别
可识别
可识别
不可识别
可识别 停止
停止
停止
前进
前进
前进
停止

由上述图表可得,本系统实现了拖拉机的防撞预警功能,但有着一定的条件,如下:
表4.2 避障系统限定条件
识别条件 识别范围
识别深度距离
识别水平范围
识别垂直范围
光照 1m到4.5m
70度
60度

5.课题总结
智能交通技术在人们的日常生活中越来越常见,其适用范围也逐步扩大到农业领域。本文设计的基于Kinect2.0的拖拉机防撞系统,不仅应用到了微软市场上提供的最新科技,还提出了一个低成本高效率的实时解决方案。由于微软为推行Kinect2.0传感器而调整技术,深度测量比Kinect1.0取得了更高的准确度。除此之外,由于在捕捉深度图像上的测距上,也呈现了一个更好的措施。使得小目标物体也可以取得更准确的检测。彩×××片的质量也得到了提高。在避障前期准备工作中,本系统分别获取了二维深度数据和三维人体骨骼数据,并对两种数据进行信息融合,以取得更加丰富直观地信息。之后根据人与拖拉机的相对速度以及避障参数制定相应的避障方案,已达到拖拉机行驶过程中及时预警的目的。
本系统采用低成本的Kinect2.0摄像头,相比于其他视觉传感器,对于农业工作者来说,其价格具有一定的价格优势。此外,本系统可预警正在行驶的拖拉机,从而避免驾驶员疲劳驾驶时出现事故,从而保障了田间工作者的安全,在一定程度上缓解了农机安全隐患。
但如果要更好地应用到真实环境中,本系统仍然存在不足:
首先,Kinect2.0传感器对开发平台的要求较为苛刻,如必须在Win8或8.1配备的USB3接口。需要的额外电源输入限制了如SLAM应用的移动。
其次,Kinect2.0虽然对光照不太敏感,即使在晴天,也可以获得相应数据。然而,需要应用到一些滤波器来克服噪声影响,获取有效信息。本文通过对比平滑滤波和卡尔曼滤波,最终得出卡尔曼滤波对动态数据有更好的去除噪声和消除抖动效果。但由于滤波过程中会带来一定的延时,这使实时的拖拉机防撞系统来说存在指令滞后的缺陷。
最后,本系统的防撞对象是行走中的人,当农作物遮挡人的时候,人体的深度信息和骨骼信息难以被检测到。下一步应考虑在仅能识别出人脸或者肩部以上部位的时候,能对人体进行三维重建,以获取有效的信息。

转载于:https://blog.51cto.com/13544350/2052749

  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值