以前一直在实验室,接触的是图像的算法部分,至于是机器视觉还是计算机视觉傻傻分不清楚,也没有细分的必要,后来实习进入工业界,发现还是有必要把机器视觉单独拿出来,给他一个名分,同时整理一下自己对机器视觉的认识。
"机器视觉",即采用机器代替人眼来做测量和判断。
,然后将该图像传送至处理单元,通过数字化处理,根据像素分布和亮度、颜色等信息,来进行尺寸、形状、颜色等的判别。进而根据判别的结果来控制现场的设备动作。现在工业上主要用来装配定位,产品识别,尺寸测量,质量检测等方面。
机器视觉特点:
1、机器视觉是一项综合技术,其中包括数字图像处理技术,机械工程技术,控制技术,电光源 照明技术,光学成像技术,传感器技术,模拟与数字视频技术,计算机硬件技术,人机接口技术 等这些技术在机器视觉中式并列关系,相互协调 应用才能构成一个成功的工业机器视觉应用系统。
2、机器视觉更强调实用性,要求能够适应工业生产中恶劣的环境,要有合理的性价比,要有通用的工业接口,能够由普通工作来操作,有较高的容错能力和安全性,不会破坏工业产品,必须有较强的通用性和可移植性。
3、对机器视觉工程师来说,不仅要具有研究数学理论和编制计算机软件的能力,更需要的是光、机、电一体化的综合能力。
4、机器视觉更强调实时性,要求高速度和高精度,因而计算机视觉和数字图像处理中的许多技术目前还难以应用于机器视觉,他们的发展速度远远超过其在工业生产中的实际应用速度。
以下是实习经历的体会:
1,算法不是全部
在工业运用当中,机器视觉系统设计是一个庞大的工程,它包括硬件选择,比如相机,镜头,采集卡,光源,PC或者FPGA,DSP之类;确定打光方案;算法设计。而在学校里面,学习的大部分是图像处理相关知识,针对给定的图像,设计合理算法,尽可能从算法上上解决问题,以为算法厉害了就万事大吉。而在工业上,则试图通过硬件选择和合理的打光来输出理想的图像,为算法设计提供最大方便,有时候,算法变得不那么重要,巧妙的打光可以化解大部分难题。所以想要在机器视觉方面有所作为不仅需要熟悉算法,更是要积累硬件,打光方面的经验。
2,解决疑难杂症
在学校实验室里验证新的算法的时候,我们总是试图找到某些理想的条件,比如一致性好的图片,特征明显的样本,来证明我们的算法能够很好地解决一类问题,一些疑难杂症被不自觉的屏蔽了。但是在工业运用时,主要需要解决的是就是疑难杂症,通过合理的打光,针对理想的输入图像,简单的算法就能搞定,但是对于不友好的图像,比如,图像的边缘处,对比度低的地方,当然不能不自觉的屏蔽掉,大部分时间都在想办法处理这些疑难杂症。
3,简单可靠省时
在学校里,总是爱给老的算法加上一些新鲜的成分,使他它变得更时髦,哪怕时间开销蹭蹭往上涨;对于一些简单问题,也喜欢用复杂的方法解决,表现出腻害的样子。但在工业上,这些都行不通了,我能说实习六个月,一个团队所有的工作,一个一点都不LOW的工程,算法工作的核心就是-----阈值,这个阈值看上去很简单,其实不然,能够保证在极端的情况下满足生产的要求,阈值也是巨大的生产力。工业上算法的选择都是权衡利弊的考虑,既要有效,又要时间开销小,不存在完美的算法,大部分的选择都是折中的结果,将简单算法的潜力发挥到极致,解决问题才是根本。