CN115272275A - 基于rgb-d相机及神经网络模型的托盘、障碍物检测定位系统和方法 - Google Patents
基于rgb-d相机及神经网络模型的托盘、障碍物检测定位系统和方法 Download PDFInfo
- Publication number
- CN115272275A CN115272275A CN202210958236.0A CN202210958236A CN115272275A CN 115272275 A CN115272275 A CN 115272275A CN 202210958236 A CN202210958236 A CN 202210958236A CN 115272275 A CN115272275 A CN 115272275A
- Authority
- CN
- China
- Prior art keywords
- rgb
- image
- target
- detection
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Abstract
本发明的基于RGB‑D相机及神经网络模型的托盘、障碍物检测定位系统和方法,其中定位系统包括:RGB‑D相机系统;集成计算板卡,包括CPU及NPU;CPU及NPU用于运行相应的图像处理及目标检测算法,根据输入的应用场景深度图像和RGB图像计算被检测目标的空间位置和姿态信息。本发明的定位方法包括:采集包含待检测目标的环境深度图像和RGB图像;进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取。本发明的技术方案使用RGB‑D图像作为增强检测手段,可应用于自动驾驶叉车、AGV小车、堆垛车、无人牵引车、无人驾驶矿卡以及其他移动机器人的托盘检测定位,障碍物检测定位等场景。
Description
技术领域
本发明涉及移动机器人领域,尤其涉及一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统和方法。
背景技术
随着计算机软硬件技术的不断提升,各类机器学习算法在人工智能、大数据、自动驾驶等领域大放异彩,尤其以深度神经网络算法最为突出。在AI技术发展以及智能制造发展规划落实的双重作用推动下,传统工业机器人领域也逐渐朝着更高效、更灵活、更智能的方向发展,并取得了较大进展,但在工业视觉领域,传统视觉算法仍占据主流位置,AI视觉算法仍处于持续发展初期。其中托盘、障碍物的检测定位系统在工业移动机器人领域有着重要的应用。当前研究的主要方向是通过机器视觉来实现该系统,通过检索已公开的相关专利发现,在视觉传感器方面,大部分系统采用结构光或者TOF深度相机作为唯一数据输入源,此类相机自带红外激光发射装置,可以在黑暗及弱光照环境下正常工作,但受激光发射功率以及滤光片性能的限制,在户外强光环境下,不可避免的会受到一定范围波长的环境光线干扰,进而出现测量精度降低,噪点增多,识别率下降的情况;有的虽然使用了 RGB-D类的传感器,但受限于传统视觉算法处理效率低下、处理过程复杂、处理设备算力要求高等情形,无法很好的融合处理两种类型的图像;在视觉处理算法具体实现方面,大部分系统采用的算法都是基于点云轮廓提取加轮廓匹配或者点云平面分割加矩形匹配的方式来完成对目标的检测定位。由于需要进行轮廓提取匹配,此类算法对输入点云数据边缘细节要求较高,抗干扰能力差;此外直接处理全帧点云数据会产生极大的运算量,要保证运行速度则要求算法软件运行在算力较大的计算平台,例如X86架构的计算平台,与之对应的硬件设备很难做到小型化,这导致了此类算法局限于理论研究阶段,难以直接落实到生产应用当中去。针对以上存在的问题,本发明提出一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统和方法。
发明内容
本发明的目的是提出一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统和方法。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,包括:
RGB-D相机系统,包括深度相机模块及RGB相机模块,深度相机模块用于环境深度信息采集,RGB相机模块用于环境纹理色彩信息采集;
集成计算板卡,包括CPU、存储器、MIPI控制器、数据缓存器及 NPU;
深度相机模块及RGB相机模块分别通过MIPI接口连接到集成计算板卡上,MIPI控制器用于控制深度相机模块及RGB相机模块采集环境深度图像和RGB图像,并将数据缓存至集成板卡的数据缓存器; CPU及NPU用于运行相应的图像处理及目标检测算法,根据输入的应用场景深度图像和RGB图像计算被检测目标的空间位置和姿态信息。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,其中,还包括与集成计算板卡连接的应用接口系统,用于为上层应用软件提供设备控制、参数设置、位姿数据接收的功能接口,包括NET、CAN、UART数据传输接口。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,其中,集成计算板卡包括:
图像采集功能模块,用于通过MIPI控制器控制深度相机模块及 RGB相机模块采集环境深度图像和RGB图像,并将数据缓存至集成板卡的数据缓存区;
图像预处理模块,用于执行从缓存区读取图像和以及预处理操作;
目标检测模块,用于通过NPU进行检测模型加载、模型推理运算操作;
数据融合处理模块,用于对不同模型的目标检测结果进行融合;
点云处理模块,用于进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,包括如下步骤:
采集包含待检测目标的环境深度图像和RGB图像;
读取图像和进行预处理操作;
通过NPU进行检测模型加载、模型推理运算操作;
对不同模型的目标检测结果进行融合;
进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,其中,包括如下步骤:
步骤1、对RGB-D相机系统进行参数配置、图像采集初始化设置,对各功能模块进行初始化设置;
步骤2、根据目标检测功能模块的配置信息,从存储器中加载所需要的神经网络检测模型;
步骤3、由图像采集功能模块通过MIPI控制器向深度相机模块及 RGB相机模块发送图像采集指令,并开始接收环境深度图像和RGB图像,接收完毕后将数据缓存至集成板卡的数据缓存区;
步骤4、由图像预处理模块从数据缓存区读取图像数据,分别对深度图像以及RGB图像进行预处理;
步骤5、由神经网络模型推理模块对输入的图像矩阵进行前向推理运算,得出目标初步检测结果;
步骤6、由数据融合处理模块对深度图检测模型和RGB图检测模型输出的检测结果进行融合得到被检测目标的最终检测结果;
步骤7、计算目标区域点云数据,进行双边滤波,边缘提取、离散点去除预处理操作,再通过点云坐标均值计算求取目标3D位置,通过对点云进行平面提取求取目标姿态数据,最终得到被检测目标的位置及姿态数据。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,其中,对深度图像以及RGB图像进行预处理包括:
将图像分辨率调整为神经网络模型支持的输入大小;
将图像数据用像素矩阵表示;
对像素矩阵进行归一化操作。
本发明的技术方案使用RGB-D图像作为增强检测手段,解决在户外强光环境下,受环境光线干扰,深度图出现测量精度降低,噪点增多,导致算法识别率下降的问题;使用基于神经网络模型的AI视觉算法对托盘、障碍物等目标进行检测,解决传统视觉算法处理效率低下、处理过程复杂、对处理设备算力要求高等问题,软件系统具有较高的运行效率及测量精度;采用嵌入式集成计算板卡,使用集成NPU的嵌入式集成计算板卡,极大程度降低了硬件设备的体积、生产制造成本以及安装部署难度;可广泛应用于自动驾驶叉车、AGV小车、堆垛车、无人牵引车、无人驾驶矿卡以及其他移动机器人的托盘检测定位,障碍物检测定位等场景。
附图说明
图1是本发明基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统的框架图;
图2是本发明基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统的结构示意图;
图3是本发明基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法的实施流程图;
图4是本发明基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统的神经网络结构图;
图5是本发明基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法的目标检测结果示意图。
具体实施方式
如图2所示,本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,包括:
RGB-D相机系统1,包括深度相机模块及RGB相机模块,深度相机模块用于环境深度信息采集,RGB相机模块用于环境纹理色彩信息采集;
集成计算板卡2,包括CPU、存储器、MIPI控制器、数据缓存器及NPU;
深度相机模块及RGB相机模块分别通过MIPI接口连接到集成计算板卡上,MIPI控制器用于控制深度相机模块及RGB相机模块采集环境深度图像和RGB图像,并将数据缓存至集成板卡的数据缓存器; CPU及NPU用于运行相应的图像处理及目标检测算法,根据输入的应用场景深度图像和RGB图像计算被检测目标的空间位置和姿态信息。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,其中,还包括与集成计算板卡连接的应用接口系统,用于为上层应用软件提供设备控制、参数设置、位姿数据接收的功能接口,包括NET、CAN、UART数据传输接口。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,其中,集成计算板卡包括:
图像采集功能模块,用于通过MIPI控制器控制深度相机模块及 RGB相机模块采集环境深度图像和RGB图像,并将数据缓存至集成板卡的数据缓存区;
图像预处理模块,用于执行从缓存区读取图像和以及预处理操作;
目标检测模块,用于通过NPU进行检测模型加载、模型推理运算操作;
数据融合处理模块,用于对不同模型的目标检测结果进行融合;
点云处理模块,用于进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,包括如下步骤:
采集包含待检测目标的环境深度图像和RGB图像;
读取图像和进行预处理操作;
通过NPU进行检测模型加载、模型推理运算操作;
对不同模型的目标检测结果进行融合;
进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,其中,包括如下步骤:
步骤1、对RGB-D相机系统进行参数配置、图像采集初始化设置,对各功能模块进行初始化设置;
步骤2、根据目标检测功能模块的配置信息,从存储器中加载所需要的神经网络检测模型;
步骤3、由图像采集功能模块通过MIPI控制器向深度相机模块及 RGB相机模块发送图像采集指令,并开始接收环境深度图像和RGB图像,接收完毕后将数据缓存至集成板卡的数据缓存区;
步骤4、由图像预处理模块从数据缓存区读取图像数据,分别对深度图像以及RGB图像进行预处理;
步骤5、由神经网络模型推理模块对输入的图像矩阵进行前向推理运算,得出目标初步检测结果;
步骤6、由数据融合处理模块对深度图检测模型和RGB图检测模型输出的检测结果进行融合得到被检测目标的最终检测结果;
步骤7、计算目标区域点云数据,进行双边滤波,边缘提取、离散点去除预处理操作,再通过点云坐标均值计算求取目标3D位置,通过对点云进行平面提取求取目标姿态数据,最终得到被检测目标的位置及姿态数据。
本发明的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,其中,对深度图像以及RGB图像进行预处理包括:
将图像分辨率调整为神经网络模型支持的输入大小;
将图像数据用像素矩阵表示;
对像素矩阵进行归一化操作。
本发明的技术方案使用RGB-D图像作为增强检测手段,解决在户外强光环境下,受环境光线干扰,深度图出现测量精度降低,噪点增多,导致算法识别率下降的问题;使用基于神经网络模型的AI视觉算法对托盘、障碍物等目标进行检测,解决传统视觉算法处理效率低下、处理过程复杂、对处理设备算力要求高等问题,软件系统具有较高的运行效率及测量精度;采用嵌入式集成计算板卡,使用集成NPU的嵌入式集成计算板卡,极大程度降低了硬件设备的体积、生产制造成本以及安装部署难度;可广泛应用于自动驾驶叉车、AGV小车、堆垛车、无人牵引车、无人驾驶矿卡以及其他移动机器人的托盘检测定位,障碍物检测定位等场景。
根据本发明的其中一个方面,本发明提供了一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,所述系统包括:
一个RGB-D相机系统,该系统包含深度相机模块及RGB相机模块,其中深度相机模块用于环境深度信息采集,RGB相机模块用于环境纹理色彩信息采集,二者都是通过MIPI接口连接到集成板卡上,由集成板卡的MIPI控制器统一控制,控制器发送数据采集信号即可控制两个相机模块实时采集深度图像和RGB图像;
一个集成计算板卡系统,主要用于运行各软件模块:首先由图像采集功能模块通过MIPI控制器控制深度相机模块及RGB相机模块采集环境深度图像和RGB图像,并将数据缓存至集成板卡的数据缓存区;接着由图像预处理模块执行从缓存区读取图像和以及预处理操作;再由目标检测模块通过NPU进行检测模型加载、模型推理运算等操作;接着由数据融合处理模块对不同模型的目标检测结果进行融合;最后由点云处理模块进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取等操作。
一套应用接口系统,其主要功能是为上层应用软件提供设备控制、参数设置、位姿数据接收等功能接口,上层软件可通过设备控制控制接口完成设备启停、设备状态查询、设备功能切换等操作;可通过参数设置接口,完成相机参数设置、算法参数设置等操作;可通过位姿数据接口获取目标位置姿态和数据。此外在硬件连接层面,本发明提供了NET、CAN、UART等多种类型数据传输接口,满足不同上位机需求。
进一步的,本发明可以利用集成计算板卡所携带的神经网络处理器NPU,进行神经网络模型加载和推理运算,极大提高了目标检测算法的运行效率。
进一步的,RGB-D相机系统可根据使用场景需求配置为如下工作模式:深度图采集、RGB图采集、深度图RGB图同时采集;系统可根据使用场景需求加载如下神经网络模型:深度图检测模型、RGB图检测模型、深度图检测模型RGB图检测模型同时加载;系统可根据使用场景需求配置为如下目标检测模式:托盘检测、障碍物检测、托盘障碍物同时检测。
根据本发明的另外一个方面,本发明还提供了一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,所述方法包括如下步骤:
步骤1、系统对RGB-D相机系统进行参数配置、图像采集初始化设置;对各功能模块进行初始化设置;
步骤2、根据目标检测功能模块配置信息,从存储器中加载所需要的神经网络检测模型,NPU具备提供模型加载和模型推理运算两大功能,我们只需要将预先训练好的模型存入数据集成板卡的数据存储器中并在软件中调用模型加载接口即可完成模型加载工作,其中神经网络模型获取的基本步骤如下:1.设计神经网络结构,参见图4;2. 采集足够数量的图像数据,具体数量需要根据具体使用场景以及模型训练效果而定,一般针对一种特定目标数据集中包含该目标的图像数量应当不少于300张;3.利用图像标注工具并对数据集进行目标标注,即在图像中框选出目标所在区域,并最终制作为训练和验证用数据集。其中可选标注工具很多,只要能按照统一的格式标注即可,本发明用到的标注工具为LABELIMG;4.先利用训练集对神经网络进行训练得到基础模型,再利用验证集进行模型验证,若验证效果不理想,按照模型训练原则适当调整训练参数,再次训练即可得到最终模型文件;5.通过上层应用接口将得到的模型文件预先导入集成板卡存储器;
步骤3、由图像采集功能模块通过MIPI控制器向深度相机模块及 RGB相机模块发送图像采集指令,并开始接收环境深度图像和RGB图像,接收完毕后将数据缓存至集成板卡的数据缓存区;
步骤4、由图像预处理模块从数据缓存区读取图像数据,分别对深度图像以及RGB图像进行预处理:首先将图像分辨率调整为神经网络模型支持的输入大小,典型值为416×416,将图像数据用像素矩阵表示,最后对像素矩阵进行归一化操作,所用的公式如下:
其中Xn表示归一化后的像素值,Xi表示归一化前的像素值,Xmin表示当前图像所有像素值中的最小值,Xmax表示当前图像所有像素值中的最大值;
步骤5、由神经网络模型推理模块对输入的图像矩阵进行前向推理运算,前向推理运算即神经网络模型对数据的运算过程,本发明使用的神经网络模型基于Yolo检测网络模型,并对其进行了一定的简化和调整,在尽可能不影响检测性能的前提下,减少网络层数、优化部分单元结构及对模型进行整形量化处理,从而降低了算力消耗,可以在嵌入式NPU上实时运行,网络组成单元包含卷积层、残差层、上采样层等,具体结构参见图4,输入图像矩阵经过2次卷积运算得到大小为 104×104的特征图,再经过3次残差网络运算和1次卷积运算得到大小为13×13的特征图;接着通过预测层运算即可得到包含多个目标检测结果的数据列表,其中目标检测结果数据格式为[C,R(x,y,w,h)],C 表示目标置信度,R(x,y,w,h)表示目标区域矩形框,其中矩形框R 的参数(x,y)表示左上角顶点的图像坐标,参数(w,h)分别表示矩形框的宽度和高度;最后选择最大C值对应的目标检测数据作为最终输出结果[Cmax,R(x,y,w,h)max];检测结果如图5所示;
步骤6、由数据融合处理模块对深度图检测模型和RGB图检测模型输出的检测结果进行融合;其中深度图检测模型及RGB图检测模型经由步骤5推理计算得出的目标检测结果分别用 [Cdepth,R(x,y,w,h)depth]以及[Crgb,R(x,y,w,h)rgb]表示,
设融合结果为[Cfusion,R(x,y,w,h)fusion],参考目标置信度阈值为 Ct,将两个检测结果置信度Cdepth及Crgb分别与指定阈值Ct比较,若 Cdepth和Crgb均小于Ct,则目标检测失败,返回步骤3;若Cdepth大于Ct且Crgb小于Ct,则直接取深度图模型检测结果为融合结果,即:
[Cfusion,R(x,y,w,h)fusion]=[Cdepth,R(x,y,w,h)depth]
若Cdepth小于Ct且Crgb大于Ct,则直接取RGB图检测模型检测结果为融合结果,即:
[Cfusion,R(x,y,w,h)fusion]=[Crgb,R(x,y,w,h)rgb]
若Cdepth和Crgb均大于Ct,则取二者均值为融合结果,即:
步骤7、计算R(x,y,w,h)fusion矩形区域对应的3D点云数据,其中用到的3D坐标点计算公式如下:
上式中,(x,y,z)表示当前点三维空间坐标;(px,py)表示当前点的像素坐标;d为当前点的深度值;(fx,fy,cx,cy)表示相机的内参矩阵。将所有点3D坐标计算完成即可得到该区域完整点云数据,表示为:[P(x,y,z)],接着对该点云数据进行双边滤波,去除部分离散点,再求点云数据均值即可得出检测目标的3D坐标Pmean(x,y,z),计算公式如下:
上式中,Pi(x,y,z)表示点云[P(x,y,z)]中序号为i的点,n表示点云包含点的数量。进一步的采用RANSAC算法对目标点云进行平面提取确定目标姿态,RANSAC(随机采样一致)算法是从一组含有外点的数据中正确估计数学模型参数的迭代算法,算法实现步骤如下:
1.从点云中随机选取3个点;
2.由这3个点组成一个平面;
3.依次计算其他点到该平面的距离,如果小于设定阈值T,则认为该点属于此平面;
4.如果同一个平面的点超过n个,就保存下该平面,并将处在这个平面上的点都标记为已匹配;
5.迭代N次后找到的平面小于n个点,或者未标记的点数小于3,则终止;
6.从所求的平面当中选择n最大的平面作为目标参考平面,该平面的法向量即为目标姿态,用四元数表示为:Q(w,x,y,z),其中w表示四元数实部参数,x、y、z为四元数的虚部参数;
综合上述所求3D位置及姿态信息,即可得到目标位姿数据:[Pmean(x,y,z),Q(w,x,y,z)]。
参见图1和图3所示,本实例提供了一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,包括:
一个RGB-D相机系统,该系统包含深度相机模块及RGB相机模块,其中深度相机模块用于环境深度信息采集,RGB相机模块用于环境纹理色彩信息采集,二者都是通过MIPI接口连接到集成板卡上,由集成板卡的MIPI控制器统一控制,控制器发送数据采集信号即可控制两个相机模块实时采集深度图像和RGB图像;
一个集成计算板卡系统,主要用于运行各软件模块:首先由图像采集功能模块通过MIPI控制器控制深度相机模块及RGB相机模块采集环境深度图像和RGB图像,并将数据缓存至集成板卡的数据缓存区;接着由图像预处理模块执行从缓存区读取图像和以及预处理操作;再由目标检测模块通过NPU进行检测模型加载、模型推理运算等操作;接着由数据融合处理模块对不同模型的目标检测结果进行融合;最后由点云处理模块进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取等操作。
一套应用接口系统,其主要功能是为上层应用软件提供设备控制、参数设置、位姿数据接收等功能接口,上层软件可通过设备控制控制接口完成设备启停、设备状态查询、设备功能切换等操作;可通过参数设置接口,完成相机参数设置、算法参数设置等操作;可通过位姿数据接口获取目标位置姿态和数据。此外在硬件连接层面,本发明提供了NET、CAN、UART等多种类型数据传输接口,满足不同上位机需求。
进一步的,RGB-D相机需要根据使用场景需求配置为如下工作模式:深度图采集、RGB图采集、深度图RGB图同时采集;一般情况下设置为深度图RGB图同时采集模式,极少数不需要RGB图像辅助或者RGB图像效果不明显的场景可配置为深度图采集模式;
进一步的,系统可根据使用场景需求加载如下神经网络模型:深度图检测模型、RGB图检测模型、深度图检测模型RGB图检测模型同时加载;配置模式和RGB-D相机配置模式对应即可,如RGB-D相机模式配置为深度图RGB图同时采集模式,则应该选择深度图检测模型 RGB图检测模型同时加载;
进一步的,系统可根据使用场景需求配置为如下目标检测模式: 托盘检测、障碍物检测、托盘障碍物同时检测,此项根据移动机器人具体功能需求选择即可;
参见图3所示,本实例提供了一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,包括:
步骤1,系统对RGB-D相机系统进行参数配置、图像采集初始化设置;对各功能模块进行初始化设置;
步骤2,根据目标检测功能模块配置信息,从存储器中加载所需要的神经网络检测模型,NPU具备提供模型加载和模型推理运算两大功能,我们只需要将预先训练好的模型存入数据集成板卡的数据存储器中并在软件中调用模型加载接口即可完成模型加载工作,其中神经网络模型获取的基本步骤如下:
1.设计神经网络结构,参见图4;
2.采集足够数量的图像数据,具体数量需要根据具体使用场景以及模型训练效果而定,一般针对一种特定目标数据集中包含该目标的图像数量应当不少于300张;
3.利用图像标注工具并对数据集进行目标标注,即在图像中框选出目标所在区域,并最终制作为训练和验证用数据集。其中可选标注工具很多,只要能按照统一的格式标注即可,本发明用到的标注工具为LABELIMG;
4.先利用训练集对神经网络进行训练得到基础模型,再利用验证集进行模型验证,若验证效果不理想,按照模型训练原则适当调整训练参数,再次训练即可得到最终模型文件;
5.通过上层应用接口将得到的模型文件预先导入集成板卡存储器;
步骤3,由图像采集功能模块通过MIPI控制器向深度相机模块及RGB相机模块发送图像采集指令,并开始接收环境深度图像和RGB 图像,接收完毕后将数据缓存至集成板卡的数据缓存区;
步骤4,由图像预处理模块从数据缓存区读取图像数据,分别对深度图像以及RGB图像进行预处理:首先将图像分辨率调整为神经网络模型支持的输入大小,典型值为416*416,将图像数据用像素矩阵表示,最后对像素矩阵进行归一化操作,所用的公式如下:
其中Xn表示归一化后的像素值,Xi表示归一化前的像素值,Xmin表示当前图像所有像素值中的最小值,Xmax表示当前图像所有像素值中的最大值;
步骤5,由神经网络模型推理模块对输入的图像矩阵进行前向推理运算,前向推理运算即神经网络模型对数据的运算过程,本发明使用的神经网络模型基于Yolo检测网络模型,并对其进行了一定的简化和调整,在尽可能不影响检测性能的前提下,减少网络层数、优化部分单元结构及对模型进行整形量化处理,从而降低了算力消耗,可以在嵌入式NPU上实时运行,网络组成单元包含卷积层、残差层、上采样层等,具体结构参见图4,输入图像矩阵经过2次卷积运算得到大小为 104×104的特征图,再经过3次残差网络运算和1次卷积运算得到大小为13×13的特征图;接着通过预测层运算即可得到包含多个目标检测结果的数据列表,其中目标检测结果数据格式为[C,R(x,y,w,h)],C 表示目标置信度,R(x,y,w,h)表示目标区域矩形框,其中矩形框R 的参数(x,y)表示左上角顶点的图像坐标,参数(w,h)分别表示矩形框的宽度和高度;最后选择最大C值对应的目标检测数据作为最终输出结果[Cmax,R(x,y,w,h)max];检测结果如图5所示;
步骤6,由数据融合处理模块对深度图检测模型和RGB图检测模型输出的检测结果进行融合;其中深度图检测模型及RGB图检测模型经由步骤5推理计算得出的目标检测结果分别用 [Cdepth,R(x,y,w,h)depth]以及[Crgb,R(x,y,w,h)rgb]表示,设融合结果为[Cfusion,R(x,y,w,h)fusion],参考目标置信度阈值为Ct,将两个检测结果置信度Cdepth及Crgb分别与指定阈值Ct比较,若Cdepth和Crgb均小于 Ct,则目标检测失败,返回步骤3;若Cdepth大于Ct且Crgb小于Ct,则直接取深度图模型检测结果为融合结果,即:
[Cfusion,R(x,y,w,h)fusion]=[Cdepth,R(x,y,w,h)depth]
若Cdepth小于Ct且Crgb大于Ct,则直接取RGB图检测模型检测结果为融合结果,即:
[Cfusion,R(x,y,w,h)fusion]=[Crgb,R(x,y,w,h)rgb]
若Cdepth和Crgb均大于Ct,则取二者均值为融合结果,即:
步骤7,计算R(x,y,w,h)fusion矩形区域对应的3D点云数据,其中用到的3D坐标点计算公式如下:
上式中,(x,y,z)表示当前点三维空间坐标;(px,py)表示当前点的像素坐标;d为当前点的深度值;(fx,fy,cx,cy)表示相机的内参矩阵。将所有点3D坐标计算完成即可得到该区域完整点云数据,表示为:[P(x,y,z)],接着对该点云数据进行双边滤波,去除部分离散点,再求点云数据均值即可得出检测目标的3D坐标Pmean(x,y,z),计算公式如下:
上式中,Pi(x,y,z)表示点云[P(x,y,z)]中序号为i的点,n表示点云包含点的数量。进一步的采用RANSAC算法对目标点云进行平面提取确定目标姿态,RANSAC(随机采样一致)算法是从一组含有外点的数据中正确估计数学模型参数的迭代算法,算法实现步骤如下:
1.从点云中随机选取3个点;
2.由这3个点组成一个平面;
3.依次计算其他点到该平面的距离,如果小于设定阈值T,则认为该点属于此平面;
4.如果同一个平面的点超过n个,就保存下该平面,并将处在这个平面上的点都标记为已匹配;
5.迭代N次后找到的平面小于n个点,或者未标记的点数小于3,则终止;
6.从所求的平面当中选择n最大的平面作为目标参考平面,该平面的法向量即为目标姿态,用四元数表示为:Q(w,x,y,z),其中w表示四元数实部参数,x、y、z为四元数的虚部参数;
综合上述所求3D位置及姿态信息,即可得到目标位姿数据:[Pmean(x,y,z),Q(w,x,y,z)]。
上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (6)
1.一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,其特征在于,包括:
RGB-D相机系统,包括深度相机模块及RGB相机模块,深度相机模块用于环境深度信息采集,RGB相机模块用于环境纹理色彩信息采集;
集成计算板卡,包括CPU、存储器、MIPI控制器、数据缓存器及NPU;
深度相机模块及RGB相机模块分别通过MIPI接口连接到集成计算板卡上,MIPI控制器用于控制深度相机模块及RGB相机模块采集环境深度图像和RGB图像,并将数据缓存至集成板卡的数据缓存器;CPU及NPU用于运行相应的图像处理及目标检测算法,根据输入的应用场景深度图像和RGB图像计算被检测目标的空间位置和姿态信息。
2.根据权利要求1所述的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,其特征在于,还包括与集成计算板卡连接的应用接口系统,用于为上层应用软件提供设备控制、参数设置、位姿数据接收的功能接口,包括NET、CAN、UART数据传输接口。
3.根据权利要求1所述的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位系统,其特征在于,集成计算板卡包括:
图像采集功能模块,用于通过MIPI控制器控制深度相机模块及RGB相机模块采集环境深度图像和RGB图像,并将数据缓存至集成板卡的数据缓存区;
图像预处理模块,用于执行从缓存区读取图像和以及预处理操作;
目标检测模块,用于通过NPU进行检测模型加载、模型推理运算操作;
数据融合处理模块,用于对不同模型的目标检测结果进行融合;
点云处理模块,用于进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取。
4.一种基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,其特征在于,包括如下步骤:
采集包含待检测目标的环境深度图像和RGB图像;
读取图像和进行预处理操作;
通过NPU进行检测模型加载、模型推理运算操作;
对不同模型的目标检测结果进行融合;
进行目标区域点云滤波、边缘提取、目标空间位置姿态信息求取。
5.根据权利要求4所述的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,其特征在于,包括如下步骤:
步骤 1、对RGB-D相机系统进行参数配置、图像采集初始化设置,对各功能模块进行初始化设置;
步骤 2、根据目标检测功能模块的配置信息,从存储器中加载所需要的神经网络检测模型;
步骤 3、由图像采集功能模块通过MIPI控制器向深度相机模块及RGB相机模块发送图像采集指令,并开始接收环境深度图像和RGB图像,接收完毕后将数据缓存至集成板卡的数据缓存区;
步骤 4、由图像预处理模块从数据缓存区读取图像数据,分别对深度图像以及RGB图像进行预处理;
步骤 5、由神经网络模型推理模块对输入的图像矩阵进行前向推理运算,得出目标初步检测结果;
步骤 6、由数据融合处理模块对深度图检测模型和RGB图检测模型输出的检测结果进行融合得到被检测目标的最终检测结果;
步骤 7、计算目标区域点云数据,进行双边滤波,边缘提取、离散点去除预处理操作,再通过点云坐标均值计算求取目标3D位置,通过对点云进行平面提取求取目标姿态数据,最终得到被检测目标的位置及姿态数据。
6.根据权利要求5所述的基于RGB-D相机及神经网络模型的托盘、障碍物检测定位方法,其特征在于,对深度图像以及RGB图像进行预处理包括:
将图像分辨率调整为神经网络模型支持的输入大小;
将图像数据用像素矩阵表示;
对像素矩阵进行归一化操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210958236.0A CN115272275A (zh) | 2022-08-10 | 2022-08-10 | 基于rgb-d相机及神经网络模型的托盘、障碍物检测定位系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210958236.0A CN115272275A (zh) | 2022-08-10 | 2022-08-10 | 基于rgb-d相机及神经网络模型的托盘、障碍物检测定位系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115272275A true CN115272275A (zh) | 2022-11-01 |
Family
ID=83750027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210958236.0A Pending CN115272275A (zh) | 2022-08-10 | 2022-08-10 | 基于rgb-d相机及神经网络模型的托盘、障碍物检测定位系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115272275A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115546202A (zh) * | 2022-11-23 | 2022-12-30 | 青岛中德智能技术研究院 | 一种用于无人叉车的托盘检测与定位方法 |
-
2022
- 2022-08-10 CN CN202210958236.0A patent/CN115272275A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115546202A (zh) * | 2022-11-23 | 2022-12-30 | 青岛中德智能技术研究院 | 一种用于无人叉车的托盘检测与定位方法 |
CN115546202B (zh) * | 2022-11-23 | 2023-03-03 | 青岛中德智能技术研究院 | 一种用于无人叉车的托盘检测与定位方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10810456B2 (en) | Apparatus and methods for saliency detection based on color occurrence analysis | |
CN110796063B (zh) | 用于检测车位的方法、装置、设备、存储介质以及车辆 | |
CN110163930A (zh) | 车道线生成方法、装置、设备、系统及可读存储介质 | |
CN112017240B (zh) | 一种面向无人叉车的托盘识别定位方法 | |
CN110874100A (zh) | 用于使用视觉稀疏地图进行自主导航的系统和方法 | |
CN110969655A (zh) | 用于检测车位的方法、装置、设备、存储介质以及车辆 | |
CN113108771B (zh) | 一种基于闭环直接稀疏视觉里程计的移动位姿估计方法 | |
CN114683290B (zh) | 一种足式机器人位姿优化的方法,装置以及存储介质 | |
WO2024087962A1 (zh) | 车厢姿态识别系统、方法、电子设备及存储介质 | |
WO2023116667A1 (zh) | 一种充电设备以及控制机械臂充电的方法 | |
CN115272275A (zh) | 基于rgb-d相机及神经网络模型的托盘、障碍物检测定位系统和方法 | |
CN112967340A (zh) | 同时定位和地图构建方法、装置、电子设备及存储介质 | |
CN115147488A (zh) | 一种基于密集预测的工件位姿估计方法与抓取系统 | |
CN112767478B (zh) | 一种基于表观指导的六自由度位姿估计方法 | |
CN113553943A (zh) | 目标实时检测方法以及装置、存储介质、电子装置 | |
CN113052907A (zh) | 一种动态环境移动机器人的定位方法 | |
WO2023202062A1 (zh) | 基于图像识别的目标对接方法、终端设备及其介质 | |
CN112655021A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN116863371A (zh) | 一种基于深度学习的agv叉车货物托盘位姿识别方法 | |
CN108921852B (zh) | 基于视差与平面拟合的双分支室外非结构化地形分割网络 | |
CN111915727A (zh) | 基于深度学习的agv新型slam系统 | |
CN115446846A (zh) | 一种基于条码识别的图书盘点机器人 | |
CN114693865A (zh) | 数据处理方法及相关装置 | |
CN117437369A (zh) | 地图构建方法、装置、存储介质、电子设备及车辆 | |
Chiu et al. | Design of and research on the robot arm recovery grasping system based on machine vision |
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 |