2021年1月23日 机器视觉与计算机视觉技术

如何利用开源软件开发机器人视觉系统?

机器人视觉应用程序可以带来一系列复杂的需求,但开源库可以为几乎所有需求提供解决方案。开发人员可以找到从基本的图像处理和对象识别再到运动规划和避免碰撞的开源软件包 。另外,还有有一些关键的开源图像处理软件包,可以帮助开发人员实现复杂的机器人系统。

在可用的开源软件包中,OpenCV可能是使用最广泛、功能最丰富的。OpenCV分发版实现了超过2500种算法,通过一系列模块处理图像处理需求,其中包括以下内容:

core,定义所有其他模块使用的基本数据结构和函数;

imgproc,提供图像处理功能,包括线性和非线性图像滤波、几何图像变换、颜色空间转换、直方图等;

video,支持运动估计,背景减法和对象跟踪算法;

calib3d,提供基本几何算法,摄像机校准,物体姿态估计等;

features2d,提供特征检测器,描述符和描述符匹配;

objdetect,提供对象和预定义类实例的检测;

OpenCV使用c++编写,支持c++、Python、Java和Matlab接口,支持Windows、Linux、Android和Mac OS。OpenCV除了支持单指令、多数据(SIMD)指令集外,还通过GPU模块为许多功能提供基于cuda的GPU加速,通过ocl模块提供OpenCL加速。最近发布的OpenCV 4.0带来了许多性能改进和功能,包括流行的Kinect融合算法的实现。

就其功能而言,OpenCV可能需要一个学习过程,这超出了希望使用机器人视觉快速移动的开发人员的耐心。对于这些开发人员,基于python的SimpleCV也可能是个不错的选择。SimpleCV构建于OpenCV之上,它提供了高级机器人视觉开发人员所需的功能,但也提供了一个可访问的框架,帮助经验较少的开发人员使用简单的Python函数调用来探索基本的机器视觉功能。例如,开发人员可以使用SimpleCV image类中的一个简单内置方法(下面清单中的img. binalize())快速实现常用的函数,比如图像阈值化,最后显示如图1所示的结果。

from SimpleCV import Image, Color, Display   
# Make a function that does a half and half image. def halfsies(left,right):     
result = left     
# crop the right image to be just the right side.     crop   = right.crop(right.width/2.0,0,right.width/2.0,right.height)     # now paste the crop on the left image.     
result = result.blit(crop,(left.width/2,0))     
# return the results.     
return result
# Load an image from imgur.
img = Image('http://i.imgur.com/lfAeZ4n.png') # binarize the image using a threshold of 90
# and invert the results.
output = img.binarize(90).invert()
# create the side by side image.
result = halfsies(img,output)
# show the resulting image.
result.show()
# save the results to a file.
result.save('juniperbinary.png')
图1.上面列出的Python代码的结果(来源:SimpleCV)

除了基本的图像处理功能外,OpenCV和SimpleCV还实现了许多高级图像处理算法,机器人系统需要处理对象或在物理环境中安全运行。在许多这些计算中使用的基本数据结构之一是点云 – 表示对象的多维数据点的集合(图2)。从相机获取,对象的点云用于基本的机器人操作,例如对象识别,对齐和拟合。对于使用点云,点云库(PCL)[源代码]实现了过滤,拟合,关键点提取,分割等算法。

图2.基本环面的点云数据集。
Banner
Related Posts

工业机器视觉应用有必要使用边缘计算吗?

2019年12月17日

2019年12月17日

伴随着机器视觉技术的快速发展,在提高制造商产品质量水平的同时加快生产效率,可以说拥有巨大的潜力。这项技术的影响范围也在不断地扩大,各种新的应用注定会在我们的日常生活中发挥更大的作用。

用于柔性显示器的缺陷检测系统

2019年5月10日

2019年5月10日

韩国国家计量院开发了一种用于自由曲面显示器(包括柔性显示器)的缺陷检测技术,该技术将帮助显示器制造商用在制造过程中通过拍摄的一张图像来检测缺陷。

深度学习在产品缺陷检测中面临的考验

2019年12月13日

2019年12月13日

人工智能(AI)的发展促使数很多公司投资于深度学习软件,对于视觉行业来说是个好兆头,因为需要在技术上实现飞跃。但是,对于采购或投资相关产品的的用户而言,重要的是要了解如何正确地评估深度学习软件可用性 ,以及它们如何工作的。

基于相机和激光传感器的车顶视觉检测系统

2019年4月24日

2019年4月24日

像多单元高速列车这样的现代轨道车辆需要定期进行检查维护,以确保最车辆的安全稳定运行,增加使用寿命并最大限度地减少列车的磨损

深度学习在机器视觉系统中的应用详解

2019年4月24日

2019年4月24日

随着机器视觉技术的不断发展,系统在不需要计算机编程的情况下也可以具有分析和分类对象的能力。而人工智能(AI)和深度学习是推动机器视觉发展的重要技术手段。

表面缺陷检测系统方案实施的七个步骤

2019年5月24日

2019年5月24日

表面缺陷检测系统主要以相机成像和图像处理技术为主,配置合适的相机和光源可以使被检测物体凸显表面缺陷或特征,使其检测系统能够实时、准确的对物体表面缺陷进行检测。

改善机器视觉系统的十大方法

2018年8月9日

2018年8月9日

机器视觉是一个新兴领域,如果设置正确,可以减少过程效率低下。任何使用机器视觉作为机器人引导或检查的设施都应重视这一领域,以寻求可能的改进。

工业相机调研凸显嵌入式趋势

2019年3月27日

2019年3月27日

据一项专业调查显示,机器视觉行业正凸显出向嵌入式视觉和模块化发展的趋势。制造商们看到了嵌入式视觉解决方案在汽车和基础设施应用方面的巨大潜能。

涂布纺织品皮革表面缺陷检测解决方案

2019年7月2日

2019年7月2日

本文详细地介绍了基于自适应视觉算法的表面缺陷检测的应用原理及实际案例。同时以涂布、纺织品和皮革等类似行业的实际案例验证了该原理的可行性和实用性。介绍了能应用于涂布、印刷、涂布、塑料、橡胶、薄膜及皮革等缺陷检测的通用解决方案。

智能高光谱成像与食品安全的未来

2020年3月9日

2020年3月9日

智能高光谱成像技术有望快速准确地检测病原体、异物以及产品的新鲜度和损伤。

短波红外成像技术与原理

2019年7月25日

2019年7月25日

短波红外(SWIR)的范围占据了电磁频谱略高于近红外。在1050到2500纳米之间——短波红外范围远远超出了标准硅基成像传感器的探测能力。

机器视觉相机类型以及接口标准详解

2018年8月9日

2018年8月9日

随着成像技术的进步,相机及其接口的类型不断演变,以满足大量应用的需求。对于检测和分析至关重要的半导体,电子,生物技术,装配和制造行业中的机器视觉应用而言,使用最好的相机系统来完成手头的任务对于获得最佳图像质量至关重要。

工程点扩展函数(E-PSF)技术可以实现高精度3D成像

2019年7月10日

2019年7月10日

工程点扩散功能(E-PSF)技术以光学相位板的形式发展,将使制造商能够满足对超精密物体成像不断增长的需求。

科创板|天准科技:中国机器视觉第一梯队企业

2019年6月2日

2019年6月2日

2019年5月27日,上交所决定将于6月5日召开第1次审议会议,审议深圳微芯生物、安集微电子科技、苏州天准科技3家企业的发行上市申请。

3D视觉检测的未来:光度立体技术

2019年6月12日

2019年6月12日

利用3D表面定向,特别是它对反射光的影响,工业应用的光度立体产生对比度图像,突出了局部3D表面变化。

Comments
发表评论

电子邮件地址不会被公开。 必填项已用*标注