[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112051853A - 基于机器视觉的智能避障系统及方法 - Google Patents

基于机器视觉的智能避障系统及方法 Download PDF

Info

Publication number
CN112051853A
CN112051853A CN202010986659.4A CN202010986659A CN112051853A CN 112051853 A CN112051853 A CN 112051853A CN 202010986659 A CN202010986659 A CN 202010986659A CN 112051853 A CN112051853 A CN 112051853A
Authority
CN
China
Prior art keywords
image
camera
coordinate system
matching
coordinates
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.)
Granted
Application number
CN202010986659.4A
Other languages
English (en)
Other versions
CN112051853B (zh
Inventor
谢金宝
李紫玉
殷楠楠
林木深
赵楠
陈小威
李双庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongkedaxin Technology Group Co ltd
Original Assignee
Harbin University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin University of Science and Technology filed Critical Harbin University of Science and Technology
Priority to CN202010986659.4A priority Critical patent/CN112051853B/zh
Publication of CN112051853A publication Critical patent/CN112051853A/zh
Application granted granted Critical
Publication of CN112051853B publication Critical patent/CN112051853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Electromagnetism (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Processing (AREA)

Abstract

本发明涉是一种基于机器视觉的智能避障系统及方法,尤其涉及基于机器视觉的智能避障旅行箱(小车),属于智能机器人技术领域,目的是解决现有技术中智能跟随旅行箱无法紧急避障,自动行走过程不便捷、不够智能的问题,本发明包括机器硬件驱动和软件数据处理两部分;机器硬件驱动包括于单片机、驱动板和摄像机;软件数据处理包括图像获取模块、摄像机标定模块、图像处理模块和机器视觉实现模块,图像处理自动识别目标实现自动跟随功能,实现自动避障,识别障碍物,使得智能旅行箱(小车)更加便捷,极大地减轻人们出行的负担。

Description

基于机器视觉的智能避障系统及方法
技术领域
本发明涉是一种基于机器视觉的智能避障系统及方法,尤其涉及基于机器视觉的智能避障旅行箱(小车),属于智能机器人技术领域。
背景技术
人们研究制造移动机器人的目的,是代替人类从事货物搬运、卫生清洁、军事侦查、危险环境监测等枯燥或危险的工作。其中引领行业翘楚的智能无人驾驶汽车是一个集合了环境监测、路径规划、自动控制、辅助驾驶等功能机电一体化控制系统。
移动机器人在行进过程中会遇到障碍物使其脱离工作状态,障碍物不但包括原料、工件、机械设备、建筑物等静态的物体,还有可能是随机出现在移动机器人行进道路上的人类活动。如果无法及时避开,不但会影响移动机器人的工作状态,严重的还会造成人员伤亡或损坏移动机器人,造成无法挽回的损失。由此可见研究机器人如何探测、识别障碍物并合理规划路线,避开障碍物是移动机器人设计制造领域的一个重要内容。
目前市场上应用相对较为广泛的是一种载人的旅行箱,这种加强版的行李箱重达15磅,有一个小电池,充一次电可以载两个成人运行37英里。整个构造包括了电动踏板车,行李箱被安装在了踏板车上。此外还给其装配了GPS系统及防盗报警系统。本设计与其主要区别在于质量轻盈,构造简单,不具备载人能力。因此相比于此产品的多功能性,本设计主打便携功能,避免了因为多功能带来的多重量,高耗能的问题,且相比之下更加保证了个人安全。且考虑到路上行人的安全以及便于操控,给本产品设置速度为正常人步行的速度,低速低耗能使其工作时间大大提升。
新型的便携式旅行箱,类似市场上已有的骑行旅行箱。主要区别是使用简单,功能简易,节能环保。主要针对行李箱过重时难于携带的问题。这项设计以电为动力,内含蓄电池,可实现旅行箱自动行走,由人手操控方向,旅行箱也可自动跟踪主人行走,操作简单。
近两年已经有很多家公司开始研发和制造智能跟随旅行箱,它能够随时的跟在自己主人的身后。对于智能旅行箱方面国内外研究较对较少,此外关于旅行箱的改造设计集中在箱体材料、个性化设计等方面,在旅行箱的智能化方面还有很大的提升空间,目前市场上已经有一些厂商开始研发智能旅行箱,但是大部分只处于实验室研发阶段,产品大多都是概念产品。
发明内容
为了解决现有技术中智能跟随旅行箱无法紧急避障,自动行走过程不便捷、不够智能的问题,本发明提出一种基于机器视觉的智能避障系统及方法;
本发明的具体方案如下:
方案一:基于机器视觉的智能避障系统分为机器硬件驱动和软件数据处理两部分;
机器硬件驱动包括于单片机、驱动板和摄像机;
其中单片机负责软件程序的运行从而控制驱动板下发驱动命令;驱动板负责整个系统的各项配置的电路连接和信号传输;摄像机负责采集图像信息;
软件数据处理包括图像获取模块、摄像机标定模块、图像处理模块和机器视觉实现模块
图像获取模块负责获取摄像机图像并进行坐标系建立;
摄像机标定模块负责根据摄像机参数进行坐标系标定;
图像处理模块用于消除图像噪声,对图像特征进行提取以及边缘检测;
机器视觉实现模块负责处理标定的立体图像并实现智能避障。
进一步地,所述的单片机是树莓派3B+单片机,通过电路引脚连接在所述的驱动板上;
所述的驱动板为L298N驱动集成电路板;
所述的摄像机设置至少两个摄像机,一并安装在所述的驱动板上。
方案二:基于机器视觉的智能避障方法,是基于上述的系统为基础而实现的,具体方法步骤如下:
步骤一,通过所述的摄像机标定模块进行机器双目视觉测距及三维重建,利用摄像机成像模型建立4个坐标系;
步骤二,所述的摄像机标定模块通过摄像机拍摄的图像,建立摄像机成像模型,对光学成像进行简化,然后对摄像机进行标定,完成客观世界坐标系在摄像机像平面坐标系中的建立;
步骤三,通过所述的图像处理模块完成去除图像噪声、图像特征提取和图像边缘检测;
步骤四,通过所述的机器视觉实现模块实现预处理图像滤波,立体匹配形成视差图后进行再滤波最终实现智能避障。
进一步地,在步骤一中所述的摄像机标定模块建立坐标系的过程,采用如下步骤:
步骤一一,建立客观世界坐标系,以现实世界中的坐标系统,用X轴表示横坐标表示左右,用Y轴表示纵坐标表示上下,用Z轴表示深度坐标表示距离,通过客观世界坐标系定义摄像机拍摄物体的实际位置;
步骤一二,建立摄像机坐标系,定义摄像机镜头的光学中心定为坐标原点,横向以X轴表示,纵向以Y轴表示,以摄像机的光学轴为Z轴,建立的摄像机的坐标系;
步骤一三,建立像平面坐标系,通过摄像机拍摄到的照片的二维坐标,用x’y’为坐标轴表示,是客观世界坐标系在摄像机坐标系上的平面投影,像平面坐标系与摄像机坐标系平行且分别重合;
步骤一四,建立计算机图像坐标系统,即计算机内部数字图像所用的坐标系;
摄像机拍摄的照片经过处理后转化为数字图像,再将数字图像保存在计算机中,将像平面坐标经过平移和图像旋转方式转换,即坐标平移变换和旋转变换,形成计算机图像坐标。
进一步地,所述的坐标平移变换和旋转变换的具体矩阵变换方式为:
方式a,平移矩阵:
用平移量(X0,Y0,Z0)将具有坐标为(X,Y,Z)的点平移到新的位置,矩阵为:
Figure BDA0002689500140000031
方式b,旋转矩阵:
设坐标系内一点A绕Z轴顺时针旋转γ角度,由A点转至A’点,矩阵为:
Figure BDA0002689500140000041
摄像机坐标系统的xy平面与像平面坐标沿光学轴Z轴重合,像平面坐标系的中心原点与镜头的光学中心重合,坐标是(0,0,f),f是镜头的焦距,假设摄像机坐标系统X,Y,Z与世界坐标系统x,y,z平行,设(X,Y,Z)是三维立体空间中点W的世界坐标,利用相似三角形公式进行变换得到:
Figure BDA0002689500140000042
Figure BDA0002689500140000043
上述两个公式,在X和Y前面出现添加“-”号后就实现图像坐标点反转,由此可得到三维立体物体在摄像机投影后的图像平面坐标:
Figure BDA0002689500140000044
Figure BDA0002689500140000045
通过求解上式的逆变换,得到平面坐标:
Figure BDA0002689500140000046
Figure BDA0002689500140000047
进一步地,步骤二中所述的摄像机标定模块将摄像机通过建立摄像机成像模型,具体标定步骤如下:
步骤二一,建立平面网络标定模板,用双镜头同步相机对标定模板拍照,利用摄像机从不同角度拍摄模板从而采集图像;
步骤二二,从图像中获取标定控制点,对其采集的图像进行处理,找出标定模板特征点的像平面坐标,利用对应点的几何坐标,建立世界坐标与摄像机坐标的关系;
步骤二三,通过坐标系的关系求取摄像机的外部和内部参数,以国际棋盘作为标定模板,通过测量可以得到棋盘上各点相对坐标,然后用双镜头同步摄像机从不同角度拍摄标定模版,得到多幅成对的标定模版图,通过对采集的图像进行处理,检测图像中黑白方格交点的坐标,对这些交点的坐标进行计算,即可求得摄像机的参数;
步骤二四,通过最小方差公式求出偏转系数,根据非线性规划求出最终的迭代结果,得到偏转系数与畸变系数,在标定过程中要注意摄像头的对焦,在图像中要保证棋盘占比至少超过50%,在模板量为16组时取得最较精确的标定结果,
步骤二五,根据以上建立的摄像机模型,计算机图像坐标系内的二维图像坐标点矢量用m=[u,v]T表示,世界坐标系内的三维空间坐标点表示为M=[X,Y,Z]T,其中齐次变量表示形式分别为
Figure BDA0002689500140000051
根据摄像机成像模型得到:
Figure BDA0002689500140000052
其中[R,T]是外参矩阵,由上述的平移矩阵和旋转矩阵组成;K是内参矩阵,表现形式为:
Figure BDA0002689500140000053
对上式计算即可得到摄像机内外参数。
进一步地,在步骤三中所述的图像处理模块包括去除图像噪声、图像特征提取和图像边缘检测,具体步骤如下:
步骤三一,去除图像噪声对应的滤波方式采用中值滤波,具体算法如下:
先在图像中取一个小窗口G,在窗口G中,图像像素点(x,y)的灰度值由f(x,y)表示,则滤波窗口的中值滤波器定义为:
f(x,y)=MED{f(x,y)}(x,y)∈G
步骤三二,特征提取是建对每个像素点进行匹配运算,符合特征方程要求的像素点将会被统一提取,并且确定像素点所属特征,在对摄像机进行标定的同时,对图像中棋盘的黑白交叉点进行识别,利用特征方程把这些点提取出来,并根据其不同属性存放在不同子集中;
步骤三三,通过图像边缘的判断依据,对图像边缘进行检测并切割,图像边缘判断依据如下:
(1)阶梯形边缘,表现为相邻两像素点间灰度值发生跃变,猛然增高或降低;
(2)屋顶形边缘,表现为在一个区域的像素灰度值逐渐上升又逐渐下降的现象;
(3)线性边缘,表现为在一个区域内,像素灰度值从一个级别先发生跃变,然后又恢复原来级别。
进一步地,步骤四中所述的机器视觉实现模块包含Opencv BM算法,处理已经标定的立体图像的步骤如下:
步骤四一,对两个经标定矫正的图像进行并行计算,再将其灰度化,使图像亮度归一化并加强图像纹理,防止因亮度不同一而造成比对误差,其算法是:
在水平轴方向,进行Sobel运算,加强水平方向的图像纹理,同时对两幅图像的亮度、对比度进行归一化计算,消除因两个摄像机参数设置不同、拍摄角度造成的亮度误差引起的图像亮度差异,移动窗口遍历整个图像,最后得到两张滤波后图像,然后用于下一步匹配;
步骤四二,立体匹配,沿着图像的水平极线多路并行计算,用SAD算法进行匹配搜索,以生成视差图,绝对误差和算法,具体算法如下:
设A(x,y)是大小为m*n的基准图,B(x,y)是M*N的对准图,且A>B,在(a)中找到与(b)匹配的区域,
在基准图A中,以(i,j)为左上角,取M*N大小的子图,将其与对准图B进行匹配,从基准图左上角到右下角逐帧比对,在所有的子图中,若能找到一个子图与对准图B相似且其相似度大于匹配值,则匹配成功;
由公式得,绝对误差和D(i,j)越小,表明子图与对准图越相似,遍历整个基准图找到最小的D(i,j)得到匹配的子图位置,SAD算法的匹配值测度公式如下:
Figure BDA0002689500140000071
对于每个左图像的特征,在右图像找到最佳匹配校正后,那么右边的图片匹配的位置与左边的图片共线,如果有足够的检测纹理特性,在位于右侧的相机视图中,可以找到匹配的位置和视差匹配的位置相对于左摄像机的距离;
步骤四三,再滤波是指在立体匹配之后的又一滤波过程,当绝对误差和小于设定阈值时算作一个有效匹配点,当绝对误差和的值过大时,则认为该点匹配失败,从而预防虚匹配,部分区域因距离原因无法匹配时输出匹配失效值,表示距离过远;
得到视差后,通过视差与深度的关系求客观世界的距离,为了得到客观世界的距离,根据平行双目视觉的几何关系,得到视差和客观深度的关系式,如下:
depth=(f*baseline)/disp
上式中,depth表示客观世界深度;f表示归一化的焦距;baseline是两个相机光心之间的距离,称作基线距离;disp是图像视差值,由已知量算出客观世界深度值。
本发明的有益效果体现在:
1.图像处理自动识别目标实现自动跟随功能。自动避障,识别障碍物。
2.本项目实现离线检测和在线学习模块,首先人为的选定目标,通过TLD计算,保存一定数量的跟踪上的图像的数据参数作为离线训练样本。当开启小车电源时,通过脚本运行TLD算法,自动读取离线训练完成的第一帧图像的参数进行对TLD系统的初始化。只对最近邻的图像片和方差值进行保存,减小模型的占用空间,使得存储和加载目标模型的时间大大缩短。
3本项目利用时间与可信度编写算法,从模型中取出最不具备代表性的正图像片和负图像片,并限制正负图像片的数量在20张,从而减少最近邻计算和匹配的目标模型中的图像片,减小计算量以及占中的运行内存。
4.本项目通过距离聚类算法,将远离目标的图像框排除,在目标附近的图像框进行聚类,综合出新的目标框,并用最近邻重新评估,使得分类器的分类效果更加准确。
5.本项目使用CUDA多线程并行计算技术进行算法优化,将原来在CPU上串行计算算法改写成并行计算,提高算法的运行速度,缩短了运行时间。
附图说明
图1是整体系统软件流程示意图;
图2是智能跟随旅行箱控制系统软件流程图;
图3是摄像机图像标定流程图;
图4是投影成像坐标系模型图;
图5是棋盘标定模板示意图;
图6是中值滤波流程图;
图7是图像立体匹配对应图;
图8是虚拟地图动态避障示意图;
图9是软件系统算法整体流程图;
图10是TLD算法流程示意图;
图11是虚拟机服务端网络环境示意图;
图12是tk1网络客户端网络环境示意图。
具体实施方式
结合附图1-12说明本实施方式的各项实施例,基于机器视觉的智能避障系统及方法的具体实施方式如下:
具体实施方式一:该系统由机器硬件驱动和软件数据处理两部分,机器硬件驱动包括于单片机、驱动板和摄像机,软件数据处理包括图像获取模块、摄像机标定模块、图像处理模块和机器视觉实现模块。
所述的单片机采用树莓派3B+单片机,所述的摄像机设置至少两个摄像机,单片机以及摄像机通过电路引脚连接在L298N驱动集成电路板上。
具体实施方式二:基于实施方式一中描述的系统构成,基于机器视觉的智能避障系统的具体实施方法如下:
步骤一,通过摄像机标定模块进行机器双目视觉测距及三维重建,利用摄像机成像模型建立4个坐标系;
步骤二,摄像机标定模块将摄像机通过建立摄像机成像模型,对光学成像进行简化,然后对摄像机进行标定,完成客观世界坐标系在摄像机像平面坐标系中的建立;
步骤三,利用图像处理模块完成去除图像噪声、图像特征提取和图像边缘检测;
步骤四,机器视觉实现模块实现预处理图像滤波,立体匹配形成视差图后进行再滤波最终实现智能避障。
具体实施方式三:除具体实施方式二步骤一中描述的实施方法,还可细化为建立坐标系及矩阵变换的过程,实施步骤如下:
进行机器双目视觉测距及三维重建,首先必须对摄像机成像模型进行研究,我们使用的摄像机成像模型一般有4个坐标系统:
(1)客观世界坐标系:现实世界中的坐标系统(用X轴表示横坐标,即左右,用Y轴表示纵坐标,即上下,用Z轴表示深度坐标,即距离),世界坐标系统表达了客观世界中物体的实际位置。
(2)摄像机坐标系:将摄像机镜头的光学中心定为坐标原点,横向仍以X轴表示,纵向以Y轴表示,以摄像机的光学轴(即焦距或景深)为Z轴,建立的摄像机的坐标系统。
(3)像平面坐标系:就是摄像机拍摄到的照片的二维坐标(用x’y’为坐标轴表示)。它是客观世界坐标系在摄像机坐标系上的平面投影。像平面坐标系与摄像机坐标系平行且分别重合。
(4)计算机图像坐标系统:计算机内部数字图像所用的坐标系统。
摄像机拍摄的照片经过处理后转化为数字图像,要将数字图像保存在计算机中,必须将像平面坐标经过平移、图像旋转和尺度变换等方式转换成为计算机图像坐标。
在本次设计中使用了坐标平移变换,使用矩阵表现形式如下:
a.平移矩阵
用平移量(X0,Y0,Z0)将具有坐标为(X,Y,Z)的点平移到新的位置。矩阵形式为:
Figure BDA0002689500140000101
b.旋转矩阵
设坐标系内一点A绕Z轴顺时针旋转γ角度。由A点转至A’点,矩阵为:
Figure BDA0002689500140000102
空间点与其在摄像机中成像点之间的关系公式如图4所示,摄像机坐标系统的xy平面与像平面坐标沿光学轴Z轴重合。像平面坐标系的中心原点与镜头的光学中心光学中心重合,坐标是(0,0,f),f是镜头的焦距。我们假设摄像机坐标系统X,Y,Z与世界坐标系统x,y,z平行。设(X,Y,Z)是三维立体空间中点W的世界坐标,利用相似三角形公式进行变换可以得到:
Figure BDA0002689500140000103
Figure BDA0002689500140000104
式(3-3)、(3-4)中,在X和Y前面出现添加“-”号后就实现了图像像点反转。由式(3-3)、(3-4)可得到三维立体物体在摄像机投影后的图像平面坐标:
Figure BDA0002689500140000105
Figure BDA0002689500140000106
通过求解上式(3-5)和(3-6)的逆变换,可以得到:
Figure BDA0002689500140000107
Figure BDA0002689500140000108
具体实施方式四:除具体实施方式二步骤二中描述的实施方法,该实施步骤还可细化为:每台摄像机的内外参数都不相同,而在以上关系模型中必须事先已知摄像机参数,摄像机参数不准确会造成图像畸变,摄像机参数可以通过实施例计算出来,求取摄像机参数的过程称就是摄像机标定。
摄像机不同其几何参数和成像模型也不同,我们通过建立摄像机成像模型,对光学成像进行简化。然后对摄像机进行标定以确定客观世界坐标系在摄像机像平面坐标系中的表示方法。
标定过程:
(1)设置标定模板,用双镜头同步相机对标定模板拍照,采集图像;
(2)对其采集的图像进行处理,找出标定模板特征点的像平面坐标;
(3)利用对应点的几何坐标,建立世界坐标与摄像机坐标的关系,从而求取摄像机的外部和内部参数。摄像机标定是机器双目视觉系统建立的重要步骤,如果标定不准则会使误差增大,影响三维重建的精度和准确度。
通过标定计算求取出的摄像机的内、外参数,结合双目视差原理进行计算就可以实现世界坐标与摄像机坐标的转换。本次实施例使用张正友标定法,其具有对设备要求不髙而且操作起来比较容易,精度更髙、稳定性更好的优点。为求简单,我们使用国际棋盘作为标定模版,如图5,通过测量可以得到棋盘上各点相对坐标。然后用双镜头同步摄像机从不同角度拍摄标定模版,得到多幅成对的标定模版图。通过对采集的图像进行处理,检测图像中黑白方格交点的坐标。对这些交点的坐标进行计算,即可求得摄像机的参数。然后通过最小方差公式求出偏转系数。最后,根据非线性规划求出最终的迭代结果,得到偏转系数与畸变系数。在标定过程中要注意摄像头的对焦,在图像中要保证棋盘占比至少超过50%,根据实施例,在模板量为16组时取得最较精确的标定结果,标定流程如图3所示。
根据以上建立的摄像机模型,计算机图像坐标系内的二维图像坐标点矢量用m=[u,v]T表示,世界坐标系内的三维空间坐标点表示为M=[X,Y,Z]T。它们的齐次变量表示形式分别为
Figure BDA0002689500140000111
根据摄像机成像模型可以得到:
Figure BDA0002689500140000112
其中[R,T]是外参矩阵,由上文提及的平移矩阵和旋转矩阵组成;K是内参矩阵,表现形式为:
Figure BDA0002689500140000121
对上式计算即可得到摄像机内外参数。
具体实施方式五:图像处理是指在计算机中,图像是由一个个像素值组成的像素序列,像素值因色彩制式不同使得色彩表现不同。图像处理即是指利用计算机对像素序列进行计算处理。图像处理技术可以用来消除图像噪声,增强图像质量,增强特征信息,或对图像进行分割、拼接等;本实施例中图像处理过程包括以下三个部分:
A.图像去噪:
通常因为摄像头质量、成像元件质量等因素,在图像拍摄过程中会有部分对原图像信息产生干扰的信息或无用信息,这些干扰信息和无用信息称为噪声。在图像数字化或传输的过程中也会产生噪声为了不使原来图像信息受损或去除无用信息,就需要消除图像的噪声。在数字图像处理中,主要涉及的噪声有高斯噪声和椒盐噪声,相对应的滤波方式有维纳滤波和中值滤波:
(1)维纳滤波是先根据图像局部方差调整出最佳滤波器,相对于其他滤波方式,它可以最好的保留图像边缘部分,它对于高斯噪声和白噪声的滤波效果有明显效果。因为算法复杂,所以对图像的处理时间也较长。
(2)中值滤波由均值滤波发展而来,它是一种非线性平滑滤波器。故名思义,它的滤波方式是保留图像的中值部分,去除过大和过小像素值,对于椒盐噪声的过滤效果显著。它有着算法简单高效的特点。双目摄像头因为成像元件质量的原因,产生许多椒盐噪声,针对本次实施例中的椒盐噪声,采用中值滤波进行去噪。中值滤波具体算法如下:
先在图像中取一个小窗口G,在窗口G中,图像像素点(x,y)的灰度值由f(x,y)表示,则滤波窗口的中值滤波器可以定义为:
f(x,y)=MED{f(x,y)}(x,y)∈G
中值滤波流程与效果如图6所示。
B.特征提取:
在图像中,有一些点或区域具有一些特征性,在作图像处理分析时具有特殊意义,在对图像信息进行解析时,经常会发现图像中有些像素点、连续的区域或者物体边缘可以与图像中其他部分区别开来,这些像素点、区域和边缘称作图像特征。特征提取是指建立特征方程,对每个像素点进行匹配运算,符合特征方程要求的像素点将会被统一提取,并且确定像素点所属特征。在摄像机标定和建立视差图的时候都会使用到特征提取方法。在对摄像机进行标定的时候,对图像中棋盘的黑白交叉点进行识别,利用特征方程把这些点提取出来,并根据其不同属性存放在不同子集中。常用到的图像特征有:颜色特征、纹理特征、形状特征、空间关系特征。
(1)颜色特征:反映了图像上的景物不同的颜色特性。通常在进行图像处理时,颜色特征表现为像素点的色彩。在确定对象的局部特征的时候,往往因为图像同一区域色彩近似、面积偏小而造成特征提取失败。同时当图像色彩复杂,像素数据量较大时,也会出现误检。一般使用颜色直方图作为颜色特征的表达方法。其具有不受图像移动、旋转、缩放等变化影响的优点,缺点是不能表达空间颜色位置信息,不能单独使用颜色特征对图像中具体事物的具体特征进行分析。
(2)纹理特征:纹理特征是用来描述景物的表面性质的一种特征。能够表现物体的表面高低、平整度、纹路等性质,也就是客观世界中物体的材质质感。纹理特征有着和颜色特征类似的性质,不易受运动的影响。但是对于光照、形变等影响较大,所以在障碍物检测方面一般不将纹理特征作为研究对象。
(3)形状特征:形状特征是双目视觉障碍识别中使用到的重要特征,形状特征能有助于还原障碍物立体模型。基于形状特征可以有效的检索图像中的目标区域,寻找障碍物。形状特征一般边缘和区域来表示。边缘反映图像中物体的轮廓信息,对于物体类型信息的检测具有重要作用,区域反映图像中物体的大小。两者结合就能反映出图像中物体的具体样貌。再结合双目立体视觉,形状特征就可以还原物体的立体模型,让机器视觉达到类人眼的程度。它能反映图像高层次信息,但因计算量大,导致反应时间较慢,对于复杂的环境会使计算量更大,占用内存,会增加特征提取的难度。且随物体的运动旋转,特征量会随之改变。目前的算法还未达到完美应用的程度。
(4)空间关系特征:在双目视觉中,空间关系特征可以表达多个障碍物的地理位置与他们之间的相对位置关系,为后续的避障策略提供障碍物定位和距离信息。绝对空间位置是指在空间坐标系中,确定出每个目标物的精确坐标,从而计算它们之间的空间关系。相对空间位置是指物体与物体之间的相对方位。空间关系特征具有增强图像内容的描述区分功能,但是当图像被旋转、放大和缩小等处理后,空间关系的结果也随之改变,缺乏稳定性。因此,在实际的应用中,使用空间关系特征表达图像特征的时候还需要和其他特征配合使用。在双目视觉障碍检测系统中,因为双目视觉可以提供深度信息,所以空间关系特征易于得出。而在单目系统中,此特征的提取就变的十分困难。空间关系特征也具有不稳定的缺点,需要配合其他特征关系共同作用才能达到特征提取的目的要求。
C.边缘检测
图像边缘也是图像中最重要的信息,边缘有着不随观测视角的改变而发生形态变化的特点,利用边缘可以计算物体形状特征,对图像进行分割,提取感兴趣区域,可作为图像分割的前提条件,亦是机器学习中的必要条件。常用的识别模式中,边缘在图像中以线条形式表现,当线条两边的灰度值差别较大,或有一个灰度跃变的过程,在这种情况下一般即检测为边缘。在双目立体匹配中,边缘信息可以作为很好的特征点。边缘检测的过程包括滤波、增强、检测、定位。
常见的图像边缘有:
(1)阶梯形边缘:表现为相邻两像素点间灰度值发生跃变,猛然增高或降低;
(2)屋顶形边缘:表现为在一个区域的像素灰度值逐渐上升又逐渐下降的现象;
(3)线性边缘:表现为在一个区域内,像素灰度值从一个级别先发生跃变,然后又恢复原来级别。
需要对图像中某一特定的感兴趣的部分进行区域化的研究分析,此时需要将图像通过边缘特征进行分割处理,再提取出感兴趣的部分。这一过程就叫做图像分割。根据感兴趣的区域又可将图像分割方法主要有三种:按边缘分割法、按形状分割法、按阈值分割法,因此本实施方式采用图像分割技术。
具体实施方式六:具体实施方式二步骤四中,采用的算法实质是Opencv BM算法,主要包括:
(1)预处理滤波:对两个经标定矫正的图像进行并行计算,再将其灰度化,使图像亮度归一化并加强图像纹理,防止因亮度不同一而造成比对误差;
(2)立体匹配:沿着图像的水平极线多路并行计算,用SAD算法进行匹配搜索,以生成视差图。
(3)再滤波:立体匹配成功之后的又一滤波过程,去除坏的匹配点,预防虚匹配,进而处理已经标定的立体图像;
该过程可细化为:
S1预处理滤波:
先对两个经标定矫正的图像进行并行计算,再将其灰度化,使图像亮度归一化并加强图像纹理。其算法是:
在水平轴方向,进行Sobel运算,加强水平方向的图像纹理,同时对两幅图像的亮度、对比度进行归一化计算,消除因两个摄像机参数设置不同、拍摄角度造成的亮度误差引起的图像亮度差异(计算图像亮度梯度的近似值,然后归一化)。移动窗口遍历整个图像。最后得到两张滤波后图像,然后用于下一步匹配。
S2立体匹配:
即沿着图像的水平极线多路并行计算,用SAD算法进行匹配搜索,计算结果,生成视差图。
绝对误差和算法(简称SAD算法)具体算法如下:
设A(x,y)是大小为m*n的基准图像,B(x,y)是M*N的对准图像,且A>B,分别如图7所示,其中左为(a),右为(b),匹配的目的是:在(a)中找到与(b)匹配的区域(方框所示)。
在基准图A中,以(i,j)为左上角,取M*N大小的子图,将其与对准图B进行匹配;从基准图左上角到右下角逐帧比对,在所有的子图中,若能找到一个子图与对准图B相似且其相似度大于匹配值,则匹配成功。
SAD算法的匹配值测度公式如下。由公式得,绝对误差和D(i,j)越小,表明子图与对准图越相似,故遍历整个基准图只要找到最小的D(i,j)就可得到能匹配的子图位置。
Figure BDA0002689500140000161
对于每个左图像的特征,在右图像找到最佳匹配校正后,那么右边的图片匹配的位置与左边的图片共线,如果有足够的检测纹理特性,在位于右侧的相机视图中,可以找到匹配的位置和视差匹配的位置相对于左摄像机的距离。
S3再滤波:
是指在立体匹配之后的又一滤波过程,当绝对误差和小于设定阈值时才算作一个有效匹配点,当绝对误差和的值过大时,则认为该点匹配失败,预防虚匹配。部分区域因距离原因无法匹配时输出匹配失效值即表示距离过远。
S4由视差获取深度图:
得到了视差,就可以通过视差与深度的关系求客观世界的距离。为了得到客观世界的距离,可以根据平行双目视觉的几何关系(相似三角形),得到视差和客观深度的关系式,如下:
depth=(f*baseline)/disp
上式中,depth表示客观世界深度;f表示归一化的焦距;baseline是两个相机光心之间的距离,称作基线距离;disp是图像视差值。等式后面的均已知,深度值即可算出。
具体实施方式七:除上述实施方式一至六的实施过程,本实施例还可以通过设置实体为智能跟随旅行箱,通过上述智能避障系统设计和现有硬件设备的搭建实施完成,具体实施过程如下:
选择TLD跟踪算法实现对目标的检测与跟踪,使用python3编程语言在OpenCV软件平台实现TLD算法进行验证分析。
软件环境为Ubuntu18.04+opencv4.0。服务器端位于局域网内,配置为Ubuntu18.04 64位操作系统,intel core i5,8G内存。EAIDK-310作为客户端,采用电脑网卡作为数据传输媒介,使用传输端口为8000,以二进制形式实时的将图片传送到服务器端。
智能跟随旅行箱除了具备跟踪功能外,智能跟随旅行箱还具有报警功能,报警装置通过安装在旅行箱底部的红外传感器实现,当旅行箱离地距离达到20c时,发出报警信号。
自动避障功能,使用超声波传感器,能够实时感知附近环境变化情况,聪明地避开周围的障碍物。即使在避免障碍的过程中落后,COWAROBOT R1也会加速回到你的身旁。
视觉跟踪系统硬件:
视觉跟踪系统平台由NVIDIA TK1嵌入式平台、电源模块、intel 5260无线传输模块以及摄像头模块组成。图1显示智能小车的整体结构,由于本设计中,利用摄像头和复杂的TLD算法对图像进行实时的采集与长时间识别跟踪,计算量、存储量和速度都存在一些压力。为此采用NVIDIA TK1超级嵌入式平台。结合CPU计算能力强和GPU并行化计算的特点,混合编程提高跟踪系统的计算能力及保证系统的实时性的要求。将得到的数据通过无线传输模块发送到局域网中,达到监控的效果。
视觉跟踪系统软件算法架构:
本设计的视觉跟踪系统的软件pigtail包括跟踪算法平台和基于P2P模型的C/S服务器平台。本设计系统采用NVIDIA定制的ubuntu 14.04系统,打在ROS自治系统简化数据和日志的输出。TLD视觉跟踪算法主要是基于linux c++及Nvidia cuda平台编写,调用opencv库简化编程,调用GPU核心并行化编程提高计算速度。对于服务器平台,在视觉系统下,我们采用精灵进程实时读取指定路径下数据,然后进行der编码然后传输到上为机,上位机接受后解码及显示。
1)USB摄像头:通过opencv编程接口,实时的从环境采集图像并且送入跟踪系统中。
2)TLD跟踪算法:第一帧时,通过读取离线训练好的参数,送入到系统中进行初始化。第二帧及第二帧以后,通过跟踪,检测,学习模块互相影响,互相牵制,得到鲁棒性高的跟踪结果。
3)GPU优化TLD跟踪算法的方差分类器:由于算法的自身限制,在每帧进入检测其前,要进行25个尺度的扫描,此中会生成近30W个patch,然后每个patch要进如级联的检测器,并且对于第一个方差分类器,要大量的申请空间与频繁的计算,我们将充分利用NVIDIATK1的双核芯的GPU特点,做并行化计算替代计算能力强的但对于数据量大的数据慢的特点的CPU。经过结果显示,速度有显著提高。
4)通过长时间的跟踪,模板库的数据会异常的大,而嵌入式内存有限,故通过采用滚动数组的方法,把数据量限制在30个以内。当满足30个样本库的时候,将10个模板作为长期跟踪基础,新跟踪到的模板数据从后往前更新剩余20个模板数据。当目标长时间从复杂的环境运行下,突然回到最初的环境,我们可以从10个模板取出数据,进行tacking模块的目标更新,保证数据继续有效的跟踪。
5)建模电机方向及转速:根据TLD算法的前后两帧的位置,计算电机移动的方向与图像坐标放大缩小方向计算电机速度。
6)串口通信模块:根据TLD算法的跟踪结果与建模的结果,通过串口发送到底层stm32进行控制电机模块。
7)服务器客户端模块:运用socket网络编程技术,通过TCP/IP协议,编写基于P2P模型的服务器及客户端程序。同时将客户端服务器做成精灵进程,实时的向指定路径读取与写入数据。
8)Der编码:der编码能保证数据的完整传输,打破不同平台不兼容或读写格式不同的瓶颈,提高传输的准确性。客户端读取到数据后进行der编码传输,然后服务端,接受数据,再der解码,利用opencv实时的显示输出。
机器人小车系统由视觉处理系统、底层小车控制系统和基于P2P模型的服务器客户端模型组成。视觉处理系统通过运用复杂可靠的TLD跟踪算法替代简单跟踪算法,提供了鲁棒性较高的跟踪系统,同时采用GPU的CUDA平台对算法进行优化,提高跟踪系统的实时性。底层小车控制平台为小车提供移动性能,本设计采用麦克纳姆全向轮,不仅使得小车的控制简单可靠,而且方便上层视觉跟踪部分的系统建模。利用基于P2P模型服务器客户端实时读取与输出到上位机,能够实时的检测物体的跟踪状态。
本项目中使用机器人小车模拟智能跟随旅行箱,小车控制系统平台由车体机械框架、主控制器电路板和直流电机驱动电路组成。图4-1中显示了小车控制系统平台的各部分电路在小车整体结构中的位置。主控制器使用的是意法半导体(ST)公司的STM32F429单片机的开发板电路。小车系统控制平台主要包含开发板电路通用输入/输出IO接口电路、电源电路、测速编码器接口电路、红外传感器模块接口电路以及驱动麦克纳姆轮的四个直流电机驱动电路的接口电路等。在本设计中的直流电机驱动电路采用脉宽调制驱动方式,具体使用H桥驱动电路来驱动四轮小车的直流电机。
小车控制的软件设计,其流程如图2所示。给小车上电后,对外设串口、定时器、红外模块配置进行初始化。初始化后,STM32检测是否有红外中断信号输入。若有信号,则小车移动方向有障碍物,执行相应程序,远离障碍。当没有障碍时,STM32等待串口中断,若有中断,则说明有上层有命令传过来。对命令分析并判断小车将要运动的状态,然后设置小车的运动状态,同时启动定时器和PID控制器,定时器每10ms中断来计算PID输出的数值作为PWM的脉宽输出,从而调速来达到目标速度。若没有串口命令,则小车一直等待。
本设计的视觉跟踪系统的软件pigtail包括跟踪算法平台和基于P2P模型的C/S服务器平台。本设计系统采用NVIDIA定制的ubuntu 14.04系统,ROS自治系统简化数据和日志的输出。TLD视觉跟踪算法主要是基于linux c++及Nvidia cuda平台编写,调用opencv库简化编程,调用GPU核心并行化编程提高计算速度。对于服务器平台,在视觉系统下,采用精灵进程实时读取指定路径下数据,然后进行der编码并传输到上位机。上位机接受后解码及显示。软件技术路线图如图9所示,
TLD算法主要由追踪、检测和学习3个部分组成,TLD算法的运行流程图流程图如图1所示。用第一帧图像中手动圈定需要跟踪的目标物体对跟踪模块、检测模块进行初始化操作,从第二帧图像开始,跟踪、检测和学习3个模块互相补充,不断的对错误进行评估,从而实现目标在发生形变或被遮挡的情况下仍然能准确追踪的效果。
跟踪模块采用中值流跟踪法(MedianFlow),该算法本质上是基于前后误差估计(forward-backward error)的金字塔LK光流法。其基本原理为:在上一帧的目标框中选择若干个像素点作为特征点,利用金字塔LK光流法在下一帧中寻找上一帧的特征点在当前帧中的对应位置,然后将这若干个特征点在相邻两帧之间的位移变换进行排序,得到位移变化的中值,将小于中值的50%的特征点作为下一帧的特征点,并依次进行下去,从而实现动态更新特征点的目的。跟踪器是用于跟踪连续帧间的运动,只有在物体始终可见时跟踪器才会有效,跟踪器根据物体在前一帧已知的位置估计在当前帧的位置,同时在估计过程中产生一条目标运动的轨迹作为学习模块的正样本。
检测模块是将方差滤波器、集合分类器以及最近邻分类器级联。方差滤波器是计算图像片像素灰度值的方差,将方差小于原始图像片方差一半的样本标记为负;集合分类器是利用随机森林的形式,对图像片中任意选取的两点进行亮度值的比较,若A点的亮度大于B点的亮度,则特征值记为1,否则记为0,每选择一对新位置,就是一个新的特征值,随机森林的每个节点就是对一对像素点的比较。最近邻分类器是通过设定阈值对新样本进行相对相似度的计算,大于设定的阈值则认为是正样本。通过对每一帧的图像进行全面扫描,找到与目标物体相似的所有外观的位置,从检测产生的结果中生成正样本和负样本,传到学习模块。学习模块采用一种半监督的机器学习算法P-N学习(P-NLearning),根据追踪模块和检测模块产生的正负样本,使用P专家(P-expert)检出漏检(正样本误分为负样本)的正样本,使用N专家(N-expert)改正误检(负样本误分为正样本)的正样本。由于每一帧图像内物体最多只可能出现在一个位置,且相邻帧间物体的运动是连续的,所以连续帧的位置可以构成一条较平滑的轨迹。P专家的作用是寻找数据在时间上的结构性,它利用追踪器的结果预测物体在狋+1帧的位置。如果这个位置(包围框)被检测器分类为负P专家就把这个位置改为正。也就是说P专家要保证物体在连续帧上出现的位置可以构成连续的轨迹;N专家的作用是寻找数据在空间上的结构性,它把检测器产生的和P专家产生的所有正样本进行比较,选择出一个最可信的位置,保证物体最多只出现在一个位置上,把这个位置作为TLD算法的追踪结果。同时这个位置也用来重新初始体跟踪测试。
下面图中分别为对KFC、csrt、medionflow、MOSSE、MIL、BOOSTING、TLD等几种跟踪器的验证。
在实验环境下,选择一本书作为跟踪目标,通过离线训练目标,得到目标样本参数,保存在文档里,本试验通过tld跟踪算法对目标进行离线训练,在线跟踪,实时传输到上位机进行查看。服务器位于局域网内,配置为ubuntu 64位操作系统,intel core i7-4710HQ CPU@2.5GHz,8G内存,IP地址为192.168.92.134,虚拟机服务端网络环境如图11所示。
Nvidia tegra k1本子作为客户端,实施例中是采用有线网络模块,通过Tcp/ip协议族的tcp协议和实现p2p的服务器模型,实时读取内存图片,往目标ip地址192.168.92.134,8000端口上实时传输数据图片,图片数据时以二进制传输的。客户端网络环境如图12所示。
服务端通过接受客户端传输过来的数据,实时的保存与显示,实施例中我们分别展示了离线训练目标,Tacking的跟踪目标框,即有绿框前景的目标,绿点表示通过跟踪算法跟踪上的,白点表示没有跟踪上的目标数据。通过综合模块(Tacking和detecting模块的综合)综合得到的目标物体,最终通过聚类得到的目标结果。通过跟踪系统,我们得到匹配的模板数据,该数据是由我们的跟踪模块和检测器模块的综合得到的正样本数据结果,我们将图像转成灰度图,并且通过仿射变换得到15X15的图像片并且保存起来。
以上实施例只是对本专利的示例性说明,并不限定它的保护范围,本领域技术人员还可以对其局部进行改变,只要没有超出本专利的精神实质,都在本专利的保护范围内。

Claims (8)

1.基于机器视觉的智能避障系统,其特征在于:该系统分为机器硬件驱动和软件数据处理两部分;
机器硬件驱动包括于单片机、驱动板和摄像机;
其中单片机负责软件程序的运行从而控制驱动板下发驱动命令;驱动板负责整个系统的各项配置的电路连接和信号传输;摄像机负责采集图像信息;
软件数据处理包括图像获取模块、摄像机标定模块、图像处理模块和机器视觉实现模块
图像获取模块负责获取摄像机图像并进行坐标系建立;
摄像机标定模块负责根据摄像机参数进行坐标系标定;
图像处理模块用于消除图像噪声,对图像特征进行提取以及边缘检测;
机器视觉实现模块负责处理标定的立体图像并实现智能避障。
2.根据权利要求1所述的基于机器视觉的智能避障系统,其特征在于:所述的单片机是树莓派3B+单片机,通过电路引脚连接在所述的驱动板上;
所述的驱动板为L298N驱动集成电路板;
所述的摄像机设置至少两个摄像机,一并安装在所述的驱动板上。
3.基于机器视觉的智能避障方法,是基于权利要求1-2中任一一项所述的系统为基础而实现的,其特征在于:具体方法步骤如下:
步骤一,通过所述的摄像机标定模块进行机器双目视觉测距及三维重建,利用摄像机成像模型建立4个坐标系;
步骤二,所述的摄像机标定模块通过摄像机拍摄的图像,建立摄像机成像模型,对光学成像进行简化,然后对摄像机进行标定,完成客观世界坐标系在摄像机像平面坐标系中的建立;
步骤三,通过所述的图像处理模块完成去除图像噪声、图像特征提取和图像边缘检测;
步骤四,通过所述的机器视觉实现模块实现预处理图像滤波,立体匹配形成视差图后进行再滤波最终实现智能避障。
4.根据权利要求3所述的基于机器视觉的智能避障方法,其特征在于:在步骤一中所述的摄像机标定模块建立坐标系的过程,采用如下步骤:
步骤一一,建立客观世界坐标系,以现实世界中的坐标系统,用X轴表示横坐标表示左右,用Y轴表示纵坐标表示上下,用Z轴表示深度坐标表示距离,通过客观世界坐标系定义摄像机拍摄物体的实际位置;
步骤一二,建立摄像机坐标系,定义摄像机镜头的光学中心定为坐标原点,横向以X轴表示,纵向以Y轴表示,以摄像机的光学轴为Z轴,建立的摄像机的坐标系;
步骤一三,建立像平面坐标系,通过摄像机拍摄到的照片的二维坐标,用x’y’为坐标轴表示,是客观世界坐标系在摄像机坐标系上的平面投影,像平面坐标系与摄像机坐标系平行且分别重合;
步骤一四,建立计算机图像坐标系统,即计算机内部数字图像所用的坐标系;
摄像机拍摄的照片经过处理后转化为数字图像,再将数字图像保存在计算机中,将像平面坐标经过平移和图像旋转方式转换,即坐标平移变换和旋转变换,形成计算机图像坐标。
5.根据权利要求4所述的基于机器视觉的智能避障方法,其特征在于:所述的坐标平移变换和旋转变换的具体矩阵变换方式为:
方式a,平移矩阵:
用平移量(X0,Y0,Z0)将具有坐标为(X,Y,Z)的点平移到新的位置,矩阵为:
Figure FDA0002689500130000021
方式b,旋转矩阵:
设坐标系内一点A绕Z轴顺时针旋转γ角度,由A点转至A’点,矩阵为:
Figure FDA0002689500130000022
摄像机坐标系统的xy平面与像平面坐标沿光学轴Z轴重合,像平面坐标系的中心原点与镜头的光学中心重合,坐标是(0,0,f),f是镜头的焦距,假设摄像机坐标系统X,Y,Z与世界坐标系统x,y,z平行,设(X,Y,Z)是三维立体空间中点W的世界坐标,利用相似三角形公式进行变换得到:
Figure FDA0002689500130000023
Figure FDA0002689500130000024
上述两个公式,在X和Y前面出现添加“-”号后就实现图像坐标点反转,由此可得到三维立体物体在摄像机投影后的图像平面坐标:
Figure FDA0002689500130000031
Figure FDA0002689500130000032
通过求解上式的逆变换,得到平面坐标:
Figure FDA0002689500130000033
Figure FDA0002689500130000034
6.根据权利要求5所述的基于机器视觉的智能避障方法,其特征在于:步骤二中所述的摄像机标定模块将摄像机通过建立摄像机成像模型,具体标定步骤如下:
步骤二一,建立平面网络标定模板,用双镜头同步相机对标定模板拍照,利用摄像机从不同角度拍摄模板从而采集图像;
步骤二二,从图像中获取标定控制点,对其采集的图像进行处理,找出标定模板特征点的像平面坐标,利用对应点的几何坐标,建立世界坐标与摄像机坐标的关系;
步骤二三,通过坐标系的关系求取摄像机的外部和内部参数,以国际棋盘作为标定模板,通过测量可以得到棋盘上各点相对坐标,然后用双镜头同步摄像机从不同角度拍摄标定模版,得到多幅成对的标定模版图,通过对采集的图像进行处理,检测图像中黑白方格交点的坐标,对这些交点的坐标进行计算,即可求得摄像机的参数;
步骤二四,通过最小方差公式求出偏转系数,根据非线性规划求出最终的迭代结果,得到偏转系数与畸变系数,在标定过程中要注意摄像头的对焦,在图像中要保证棋盘占比至少超过50%,在模板量为16组时取得最较精确的标定结果,
步骤二五,根据以上建立的摄像机模型,计算机图像坐标系内的二维图像坐标点矢量用m=[u,v]T表示,世界坐标系内的三维空间坐标点表示为M=[X,Y,Z]T,其中齐次变量表示形式分别为
Figure FDA0002689500130000035
根据摄像机成像模型得到:
Figure FDA0002689500130000036
其中[R,T]是外参矩阵,由上述的平移矩阵和旋转矩阵组成;K是内参矩阵,表现形式为:
Figure FDA0002689500130000041
对上式计算即可得到摄像机内外参数。
7.根据权利要求6所述的基于机器视觉的智能避障方法,其特征在于:在步骤三中所述的图像处理模块包括去除图像噪声、图像特征提取和图像边缘检测,具体步骤如下:
步骤三一,去除图像噪声对应的滤波方式采用中值滤波,具体算法如下:
先在图像中取一个小窗口G,在窗口G中,图像像素点(x,y)的灰度值由f(x,y)表示,则滤波窗口的中值滤波器定义为:
f(x,y)=MED{f(x,y)}(x,y)∈G
步骤三二,特征提取是对每个像素点进行匹配运算,符合特征方程要求的像素点将会被统一提取,并且确定像素点所属特征,在对摄像机进行标定的同时,对图像中棋盘的黑白交叉点进行识别,利用特征方程把这些点提取出来,并根据其不同属性存放在不同子集中;
步骤三三,通过图像边缘的判断依据,对图像边缘进行检测并切割,图像边缘判断依据如下:
(1)阶梯形边缘,表现为相邻两像素点间灰度值发生跃变,猛然增高或降低;
(2)屋顶形边缘,表现为在一个区域的像素灰度值逐渐上升又逐渐下降的现象;
(3)线性边缘,表现为在一个区域内,像素灰度值从一个级别先发生跃变,然后又恢复原来级别。
8.根据权利要求7所述的基于机器视觉的智能避障方法,其特征在于:步骤四中所述的机器视觉实现模块包含Opencv BM算法,处理已经标定的立体图像的步骤如下:
步骤四一,对两个经标定矫正的图像进行并行计算,再将其灰度化,使图像亮度归一化并加强图像纹理,防止因亮度不同一而造成比对误差,其算法是:
在水平轴方向,进行Sobel运算,加强水平方向的图像纹理,同时对两幅图像的亮度、对比度进行归一化计算,消除因两个摄像机参数设置不同、拍摄角度造成的亮度误差引起的图像亮度差异,移动窗口遍历整个图像,最后得到两张滤波后图像,然后用于下一步匹配;
步骤四二,立体匹配,沿着图像的水平极线多路并行计算,用SAD算法进行匹配搜索,以生成视差图,绝对误差和算法,具体算法如下:
设A(x,y)是大小为m*n的基准图,B(x,y)是M*N的对准图,且A>B,在(a)中找到与(b)匹配的区域,
在基准图A中,以(i,j)为左上角,取M*N大小的子图,将其与对准图B进行匹配,从基准图左上角到右下角逐帧比对,在所有的子图中,若能找到一个子图与对准图B相似且其相似度大于匹配值,则匹配成功;
由公式得,绝对误差和D(i,j)越小,表明子图与对准图越相似,遍历整个基准图找到最小的D(i,j)得到匹配的子图位置,SAD算法的匹配值测度公式如下:
Figure FDA0002689500130000051
对于每个左图像的特征,在右图像找到最佳匹配校正后,那么右边的图片匹配的位置与左边的图片共线,如果有足够的检测纹理特性,在位于右侧的相机视图中,可以找到匹配的位置和视差匹配的位置相对于左摄像机的距离;
步骤四三,再滤波是指在立体匹配之后的又一滤波过程,当绝对误差和小于设定阈值时算作一个有效匹配点,当绝对误差和的值过大时,则认为该点匹配失败,从而预防虚匹配,部分区域因距离原因无法匹配时输出匹配失效值,表示距离过远;
得到视差后,通过视差与深度的关系求客观世界的距离,为了得到客观世界的距离,根据平行双目视觉的几何关系,得到视差和客观深度的关系式,如下:
depth=(f*baseline)/disp
上式中,depth表示客观世界深度;f表示归一化的焦距;baseline是两个相机光心之间的距离,称作基线距离;disp是图像视差值,由已知量算出客观世界深度值。
CN202010986659.4A 2020-09-18 2020-09-18 基于机器视觉的智能避障系统及方法 Active CN112051853B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010986659.4A CN112051853B (zh) 2020-09-18 2020-09-18 基于机器视觉的智能避障系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010986659.4A CN112051853B (zh) 2020-09-18 2020-09-18 基于机器视觉的智能避障系统及方法

Publications (2)

Publication Number Publication Date
CN112051853A true CN112051853A (zh) 2020-12-08
CN112051853B CN112051853B (zh) 2023-04-07

Family

ID=73603376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010986659.4A Active CN112051853B (zh) 2020-09-18 2020-09-18 基于机器视觉的智能避障系统及方法

Country Status (1)

Country Link
CN (1) CN112051853B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112884848A (zh) * 2021-03-05 2021-06-01 河北工业大学 一种基于双目视觉的智能天车控制系统、方法、终端
CN113044026A (zh) * 2021-04-02 2021-06-29 哈尔滨理工大学 一种基于磁悬浮轮胎的室内环境监测机器人
CN113140011A (zh) * 2021-05-18 2021-07-20 烟台艾睿光电科技有限公司 一种红外热成像单目视觉测距方法及相关组件
CN113657152A (zh) * 2021-07-07 2021-11-16 国网江苏省电力有限公司电力科学研究院 一种课堂学生行为识别系统构建方法
CN113763451A (zh) * 2021-09-23 2021-12-07 重庆邮电大学 一种智能车双目视觉深度测量的递阶搜索方法
CN114821114A (zh) * 2022-03-28 2022-07-29 南京业恒达智能系统股份有限公司 一种基于视觉系统的坡口切割机器人图像处理方法
CN114993542A (zh) * 2022-05-23 2022-09-02 东南大学 一种基于单触点软体视觉的触滑觉集成式传感器
CN115640059A (zh) * 2022-12-14 2023-01-24 清华大学 自动驾驶操作系统、电子设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102175222A (zh) * 2011-03-04 2011-09-07 南开大学 基于立体视觉的吊车避障系统
US20120185094A1 (en) * 2010-05-20 2012-07-19 Irobot Corporation Mobile Human Interface Robot
CN102902271A (zh) * 2012-10-23 2013-01-30 上海大学 基于双目视觉的机器人目标识别与抓取系统及方法
CN103413313A (zh) * 2013-08-19 2013-11-27 国家电网公司 基于电力机器人的双目视觉导航系统及方法
CN103559703A (zh) * 2013-10-08 2014-02-05 中南大学 基于双目视觉的起重机障碍物监测及预警方法及系统
US20150314443A1 (en) * 2014-04-30 2015-11-05 Shenzhen Mercury Optoelectronics Research Institute Visual-based obstacle detection method and apparatus for mobile robot
US20170094897A1 (en) * 2014-03-31 2017-04-06 Irobot Corporation Autonomous Mobile Robot
CN108205315A (zh) * 2016-12-19 2018-06-26 广东技术师范学院 一种基于双目视觉的机器人自动导航方法
CN109947093A (zh) * 2019-01-24 2019-06-28 广东工业大学 一种基于双目视觉的智能避障算法
CN110110702A (zh) * 2019-05-20 2019-08-09 哈尔滨理工大学 一种基于改进ssd目标检测网络的无人机规避算法
CN110231013A (zh) * 2019-05-08 2019-09-13 哈尔滨理工大学 一种基于双目视觉的车前行人检测与人车距离获取方法
CN111624997A (zh) * 2020-05-12 2020-09-04 珠海市一微半导体有限公司 基于tof摄像模块的机器人控制方法、系统及机器人

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120185094A1 (en) * 2010-05-20 2012-07-19 Irobot Corporation Mobile Human Interface Robot
CN102175222A (zh) * 2011-03-04 2011-09-07 南开大学 基于立体视觉的吊车避障系统
CN102902271A (zh) * 2012-10-23 2013-01-30 上海大学 基于双目视觉的机器人目标识别与抓取系统及方法
CN103413313A (zh) * 2013-08-19 2013-11-27 国家电网公司 基于电力机器人的双目视觉导航系统及方法
CN103559703A (zh) * 2013-10-08 2014-02-05 中南大学 基于双目视觉的起重机障碍物监测及预警方法及系统
US20170094897A1 (en) * 2014-03-31 2017-04-06 Irobot Corporation Autonomous Mobile Robot
US20150314443A1 (en) * 2014-04-30 2015-11-05 Shenzhen Mercury Optoelectronics Research Institute Visual-based obstacle detection method and apparatus for mobile robot
CN108205315A (zh) * 2016-12-19 2018-06-26 广东技术师范学院 一种基于双目视觉的机器人自动导航方法
CN109947093A (zh) * 2019-01-24 2019-06-28 广东工业大学 一种基于双目视觉的智能避障算法
CN110231013A (zh) * 2019-05-08 2019-09-13 哈尔滨理工大学 一种基于双目视觉的车前行人检测与人车距离获取方法
CN110110702A (zh) * 2019-05-20 2019-08-09 哈尔滨理工大学 一种基于改进ssd目标检测网络的无人机规避算法
CN111624997A (zh) * 2020-05-12 2020-09-04 珠海市一微半导体有限公司 基于tof摄像模块的机器人控制方法、系统及机器人

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
T. W. YANG: "Moving Target Tracking and Measurement with a Binocular Vision System" *
张海波,等: "基于双目立体视觉的图像匹配与三维重建", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *
王铮,等: "基于双目视觉的AGV障碍物检测与避障", 《计算机集成制造系统》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112884848A (zh) * 2021-03-05 2021-06-01 河北工业大学 一种基于双目视觉的智能天车控制系统、方法、终端
CN113044026A (zh) * 2021-04-02 2021-06-29 哈尔滨理工大学 一种基于磁悬浮轮胎的室内环境监测机器人
CN113140011A (zh) * 2021-05-18 2021-07-20 烟台艾睿光电科技有限公司 一种红外热成像单目视觉测距方法及相关组件
CN113140011B (zh) * 2021-05-18 2022-09-06 烟台艾睿光电科技有限公司 一种红外热成像单目视觉测距方法及相关组件
CN113657152A (zh) * 2021-07-07 2021-11-16 国网江苏省电力有限公司电力科学研究院 一种课堂学生行为识别系统构建方法
CN113763451B (zh) * 2021-09-23 2024-01-02 重庆邮电大学 一种智能车双目视觉深度测量的递阶搜索方法
CN113763451A (zh) * 2021-09-23 2021-12-07 重庆邮电大学 一种智能车双目视觉深度测量的递阶搜索方法
CN114821114A (zh) * 2022-03-28 2022-07-29 南京业恒达智能系统股份有限公司 一种基于视觉系统的坡口切割机器人图像处理方法
CN114821114B (zh) * 2022-03-28 2024-04-30 南京业恒达智能系统有限公司 一种基于视觉系统的坡口切割机器人图像处理方法
CN114993542A (zh) * 2022-05-23 2022-09-02 东南大学 一种基于单触点软体视觉的触滑觉集成式传感器
CN114993542B (zh) * 2022-05-23 2023-12-08 东南大学 一种基于单触点软体视觉的触滑觉集成式传感器
CN115640059B (zh) * 2022-12-14 2023-05-30 清华大学 自动驾驶操作系统、电子设备及存储介质
CN115640059A (zh) * 2022-12-14 2023-01-24 清华大学 自动驾驶操作系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN112051853B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN112051853B (zh) 基于机器视觉的智能避障系统及方法
Kazerouni et al. A survey of state-of-the-art on visual SLAM
Ozgunalp et al. Multiple lane detection algorithm based on novel dense vanishing point estimation
CN105825173B (zh) 通用道路和车道检测系统与方法
CN102774325B (zh) 一种后视倒车辅助系统和形成后视障碍图像的方法
CN110070615A (zh) 一种基于多相机协同的全景视觉slam方法
Zhou et al. Moving object detection and segmentation in urban environments from a moving platform
CN110109457A (zh) 一种智能语音导盲机器人控制方法及控制系统
CN113568435B (zh) 一种基于无人机自主飞行态势感知趋势的分析方法与系统
CN107677274B (zh) 基于双目视觉的无人机自主着陆导航信息实时解算方法
US7747106B2 (en) Method and system for filtering, registering, and matching 2.5D normal maps
CN104700414A (zh) 一种基于车载双目相机的前方道路行人快速测距方法
CN106871906B (zh) 一种盲人导航方法、装置及终端设备
CN109816698A (zh) 基于尺度自适应核相关滤波的无人机视觉目标跟踪方法
CN111862673A (zh) 基于顶视图的停车场车辆自定位及地图构建方法
Koschan What is new in computational stereo since 1989: A survey on current stereo papers
Boroson et al. 3D keypoint repeatability for heterogeneous multi-robot SLAM
CN109035307A (zh) 基于自然光双目视觉的设定区域目标追踪方法及系统
JP2022080303A (ja) オプティカルフローを用いたライダー位置推定
Suto Real-time lane line tracking algorithm to mini vehicles
CN116403191A (zh) 一种基于单目视觉的三维车辆跟踪方法、装置和电子设备
CN108510544A (zh) 一种基于特征聚类的光条定位方法
CN109166136B (zh) 移动机器人基于单目视觉传感器的目标对象跟随方法
CN110197104B (zh) 基于车辆的测距方法及装置
KR20110073924A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20241029

Address after: 150000 floor 4, building 1, No. 469, Xianfeng Road, Nangang concentration area, economic development zone, Harbin, Heilongjiang Province

Patentee after: Zhongkedaxin Technology Group Co.,Ltd.

Country or region after: China

Address before: 150080 No. 52, Xuefu Road, Nangang District, Heilongjiang, Harbin

Patentee before: HARBIN University OF SCIENCE AND TECHNOLOGY

Country or region before: China