Machine Vision 浅谈

从刚毕业开始到现在,一直在学习视觉相关的知识,不知不觉,已经五个月过去了,以前总觉得娱乐、休息的时间过得很快,没想到工作的时候,时间好像也过得蛮快的!来回想一下,这五个月,都学到了啥。

毕业后来到公司,开始了视觉的学习。说实话刚开始确实有点懵,对视觉也是没啥概念,Tony跟我说让我学习视觉方面的知识,刚开始觉得视觉挺高大上的,也没想那么多,就像公司同事们说的那句话一样,先猛chacha地干了再说!最开始,从概念上了解视觉开始,需要先知道,视觉,它是什么?我想,现在我应该能大概回答一下这个问题了。视觉,简单来说,就是给机器装上眼睛,让机器代替我们人眼去看。这是在网上看到的一个对机器视觉很通俗的解释,我觉得视觉不仅仅是要代替我们去看,在某种程度上来说,它还要代替我们去思考(虽然它的“思想”都是我们给的),是我们的思想的载体!从本质上来说,机器视觉最核心的还是图像处理,虽然光源、镜头、相机这些硬件设备也很重要,但是对图像的最终处理才代表了视觉的水平!不过我现在的工作,倒用不着去研究那些高深的图像处理算法(这个活儿目前中国人基本没有做得好的),我要做的是,在视觉算法库的基础上做二次开发,比如halcon、visionPro、OpenCV、SCI,能用好这些库,做好公司的视觉软件,就OK了!

好了,下一个问题,视觉能干什么?视觉能干的事情就太多了,各行各业,都能看到视觉的身影,汽车、激光、人脸识别、印刷、AOI、追踪定位......总的说来,视觉的应用有四大类:定位、检测、测量、识别。具体到我们激光行业的话,四大类应用都有涉及,目前的话,我们主要是定位、测量、检测。

接下来,就是视觉系统的组成。分为硬件和软件两部分。硬件:光源、镜头、相机、图像采集卡;软件:视觉处理软件。常用光源的种类有:条形光源、环形光源、同轴光源、点光源、线形光源、背光源,当然还可以针对具体的项目定制非标光源;镜头的种类主要是根据焦距来分的,有广角镜头(焦距<50mm),远距镜头(焦距>50mm),远心镜头(景深打、视野小);相机的分类就比较复杂一点,根据芯片的类型分,有数字相机和模拟相机;根据成像的颜色分可分为黑白相机和彩色相机;根据产品运动状态,选择线阵相机或者面阵相机;根据芯片材料的不同,分为CCD和CMOS;最近还听到一种分类方式,是根据相机的快门的曝光方式分的,分为全局相机和卷帘相机。最后就是软件了,最终的成型的视觉软件就不说了,肯定每个公司或者领域都有自己独特的视觉软件,但是所依赖的算法库也就只有几种:halcon、visionPro、OpenCV、MATLAB;

再就是设备的选型,要说这个的话还得好好整理下,在这里就不细说了,大概就是:

1.光源的打光方式,这是设备选型和项目评估中最重要也最复杂的一个环节,虽然去了OPT几天,但是也就看到了个皮毛;

2.镜头的选型相对来说比较简单,只需要考虑焦距,工作距离,芯片的尺寸、畸变、景深、分辨率的大小以及和相机的接口;

3.相机的选型需要考虑的参数就会多一点,分辨率、帧率、视野大小、物体运动状态、芯片尺寸、与镜头的接口、相机输出的接口、采集图像的颜色等;

4.软件的选择会比较灵活一点,根据不同的项目、不同的精度要求、可以选择不同的软件,达到最高的性价比。

最后就来说说视觉设备的主要供应商,其实这部分我接触的供应商虽然有一些,但是可能功课做得不够,对各个供应商的优势及劣势,还不能很好地把握,这也是以后工作中需要注意的一个地方。

1.光源的供应商:OPT,锐视、CCS、KKIMAC;其中,CCS是日本的一个企业,他们是最早做光源的;KKIMAC也是日本的公司,他们的优势主要是点光源和一些小光源做得比较好;OPT是国内最大的光源公司,光源的质量上有保障;锐视也是在东莞的一家做光源的公司,它们的产品性价比比较高;

2.镜头的供应商:据我所知,主要有映美精和凌云,还有一些做相机的企业大部分都会有自己的镜头,映美精和凌云的产品接触得不多,也不是很了解,后续再补充;

3.相机的供应商:康耐视、基恩士、Basler、大华、灰点、MV、CIS......康耐视是美国的的公司,他们的相机很贵,但是是品牌,稳定性等各方面都比较好,在高精度的项目中可以使用;基恩士主要是智能相机,就是将他们的处理软件集成到相机中去了,用户使用起来会很方便,但确实也很贵,用户能做的工作相对来说就不是很多了,不太适合我们;其他的相机没怎么接触过,以后再说吧;

4.软件的选型:主要还是根据项目来,一般的项目,精度要求不高的项目,就用国内一些视觉公司自己开发的开发包就能处理了;但是如果是高精度的、复杂的项目还是要用国外的算法库,像halcon和visionPro。

总结下来,发现对以前的知识还是有些遗忘,也发现了之前的学习盲点,比如:视觉设备的供应商以及他们各自的强项,这可能是由于之前在学习选型的时候重点放在了用参数来选型,忽略了不同的供应商提供的不同的产品这一块;接下来的工作首先是用SCI算法库基于QT开发视觉界面;在应用阶段还要继续设备选型、打光的深入学习;然后基于halcon以及visionPro的算法库的视觉界面的开发;再后面可能就是基于OpenCV来开发自己的算法库,集成封装成界面!

原文地址:https://www.cnblogs.com/sx-software-zys/p/10049774.html

时间: 2024-08-03 13:47:26

Machine Vision 浅谈的相关文章

浅谈流形学习(转)

http://blog.pluskid.org/?p=533 总觉得即使是“浅谈”两个字,还是让这个标题有些过大了,更何况我自己也才刚刚接触这么一个领域.不过懒得想其他标题了,想起来要扯一下这个话题,也是因为和朋友聊起我自己最近在做的方向.Manifold Learning 或者仅仅 Manifold 本身通常就听起来颇有些深奥的感觉,不过如果并不是想要进行严格的理论推导的话,也可以从许多直观的例子得到一些感性的认识,正好我也就借这个机会来简单地谈一下这个话题吧,或者说至少是我到目前为止对这它的

【转载】浅谈深度学习(Deep Learning)的基本思想和方法

浅谈深度学习(Deep Learning)的基本思想和方法 分类: 机器学习 信息抽取 Deep Learning2013-01-07 22:18 25010人阅读 评论(11) 收藏 举报 深度学习(Deep Learning),又叫Unsupervised Feature Learning或者Feature Learning,是目前非常热的一个研究主题. 本文将主要介绍Deep Learning的基本思想和常用的方法. 一. 什么是Deep Learning? 实际生活中,人们为了解决一个问

浅谈深度学习中潜藏的稀疏表达

浅谈深度学习中潜藏的稀疏表达 “王杨卢骆当时体,轻薄为文哂未休. 尔曹身与名俱灭,不废江河万古流.” — 唐 杜甫<戏为六绝句>(其二) [不要为我为啥放这首在开头,千人千面千理解吧] 深度学习:概述和一孔之见 深度学习(DL),或说深度神经网络(DNN), 作为传统机器学习中神经网络(NN).感知机(perceptron)模型的扩展延伸,正掀起铺天盖地的热潮.DNN火箭般的研究速度,在短短数年内带来了能“读懂”照片内容的图像识别系统,能和人对话到毫无PS痕迹的语音助手,能击败围棋世界冠军.引

浅谈产业界与学术界的合作研究(转)

[编者注:原文可参阅: http://blog.sciencenet.cn/blog-414166-795432.html ] 最近网络上有一个流传甚广的微故事:"某企业引进了一条香皂包装线,结果发现经常会有空盒流过.厂长聘请一个博士后花了200 万设计出一个全自动分检系统.一个乡镇企业遇到了同样的问题,民工花90 元买了一台大电扇放在生产线旁,一有空盒经过便会吹走."这个微故事不断出现在笔者的视线中,想必在网络上得到了公众的认可.引起了共鸣,所以大家争相转发.平心而论,大多数人的内心

浅谈流形学习

转载自:http://blog.pluskid.org/?p=533 总觉得即使是“浅谈”两个字,还是让这个标题有些过大了,更何况我自己也才刚刚接触这么一个领域.不过懒得想其他标题了,想起来要扯一下这个话题,也是因为和朋友聊起我自己最近在做的方向.Manifold Learning 或者仅仅 Manifold 本身通常就听起来颇有些深奥的感觉,不过如果并不是想要进行严格的理论推导的话,也可以从许多直观的例子得到一些感性的认识,正好我也就借这个机会来简单地谈一下这个话题吧,或者说至少是我到目前为止

【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

ASP.NET MVC系列文章 原文地址:https://www.cnblogs.com/wangjiming/p/6275854.html [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈AS

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化

浅谈——页面静态化

现在互联网发展越来越迅速,对网站的性能要求越来越高,也就是如何应对高并发量.像12306需要应付上亿人同时来抢票,淘宝双十一--所以,如何提高网站的性能,是做网站都需要考虑的. 首先网站性能优化的方面有很多:1,使用缓存,最传统的一级二级缓存:2,将服务和数据库分开,使用不同的服务器,分工更加明确,效率更加高:3,分布式,提供多台服务器,利用反向代理服务器nginx进行反向代理,将请求分散开来:4,数据库的读写分离,不同的数据库,将读操作和写操作分开,并实时同步即可:5,分布式缓存,使用memc

单页应用SEO浅谈

单页应用SEO浅谈 前言 单页应用(Single Page Application)越来越受web开发者欢迎,单页应用的体验可以模拟原生应用,一次开发,多端兼容.单页应用并不是一个全新发明的技术,而是随着互联网的发展,满足用户体验的一种综合技术. SEO 一直以来,搜索引擎优化(SEO)是开发者容易忽略的部分.SEO是针对搜索(Google.百度.雅虎搜索等)在技术细节上的优化,例如语义.搜索关键词与内容相关性.收录量.搜索排名等.SEO也是同行.市场竞争常用的的营销手段.Google.百度的搜