一、 机器视觉产品分布
本章节简单的为大家介绍一下机器视觉行业都有哪些产品,不论你是做什么岗位,工作内容一定是会映射到产品上的,你的工作内容,也一定是和产品相关的。
我们本章节,就为大家介绍一下各种产品的用途,地位,涉及的技术栈,以及这个产品会涉及哪些岗位。
节 1.01 工业相机
工业相机是机器视觉行业必不可少的硬件设备。每一个检测工位,都会有若干个工业相机进行检测,每一个机器视觉软件,都必然需要对工业相机进行二次开发,将工业相机接入到自己的软件中。
因此学会工业相机的使用以及二次开发,是每个机器视觉入门者绕不开的内容,为此,我专门开发了【重明:海康工业相机二次开发】这门课程,大家可以点击链接了解:https://www.roundvision.cc/softwaredevelopment/qt/chongming/
重明:海康工业相机二次开发:QT/C++软件开发_哔哩哔哩_bilibili
图表 四‑1工业相机渲染图
国内自研工业相机的公司,仅有几家,例如海康机器人、华睿科技、埃科光电、度申科技等等。所以如果你想从事工业相机研发相关的工作,就可以去这些公司。不要去外企,因为外企是不招研发的,你去外企basler之类的公司,只能做技术支持销售之类的,无法接触核心技术。
需要区分的是,国内有很多公司号称自研,但其实他们的相机只是贴标的相机,也就是花钱从自研相机的公司定制换个标,这类公司肯定是没有相机研发岗位的。
工业相机是软硬件一体的,涉及大量的工作岗位,列举如下:
- 嵌入式硬件设计:工业相机的硬件电路设计,一定是需要嵌入式硬件工程师的
- 嵌入式软件开发:嵌入式软开大家一定不陌生,工业相机同样需要嵌入式软开,其负责编写工业相机内部的固件系统。
- 机械结构设计:整个工业相机的外壳,都是需要机械工程师设计,并打样生产的。但是一般不会有专门的工业相机结构设计这个岗位,这只会是机械结构设计工程师的一小部分工作。
- SDK软件开发:在固件和客户端之间,还有一层就是工业相机SDK,开发工业相机SDK需要熟悉TCP通信以及各种通信协议,还需要熟悉工业相机的GenICam协议。这是有专门的SDK开发岗位的。
- 客户端软件开发:每个品牌的工业相机,都会有自己的客户端软件,例如海康机器人的MVS,客户端软件同样需要单独的桌面软件开发岗位。技术栈一般是C#/WPF或者C++/QT。
- 工业相机二次开发:在工业相机被第三方公司使用时,第三方公司需要基于SDK进行二次开发,这个工作一般需要第三方公司自己的C++后端软开工程师负责。
了解了上面的内容,你就可以清晰的认识到自己想从事什么岗位工作了。
需要一提的是,虽然我们上面介绍的是工业相机,但行业内有大量各种变种、各种类型、各种特化的相机,它们本质和涉及的工作岗位都是一样的。
例如海康机器人的智能相机,各种3D结构光相机,各种3D轮廓仪,热成像相机,多元传感器测量系统,这些都是一样的。
图表 四‑2基恩士的3D轮廓仪
节 1.02 光源以及光源控制器
光源以及光源控制器其实是有非常多的品类的,国内自研光源和控制器的公司有奥普特、维视制造等公司。这类产品主要涉及嵌入式和结构设计。
- 机械结构设计工程师:主要设计光源外壳、控制器外壳结构等。
- 嵌入式硬件设计:主要开发光源自身的控制板和光源控制器的控制板。
- 嵌入式软件开发:主要负责光源控制器的嵌入式软件算法开发。
和相机一样,中国很多公司其实都是打着自研的牌子,但其实他们都是经销售或者系统集成商,他们本身公司是不养光源和控制器的研发工程师的。
节 1.03 机器视觉算法平台
国内最为知名的机器视觉算法平台就是VisionMaster了,对标国外的有halcon、康耐视的VisionPro、基恩士的KV-Studio等等。但是VisionMaster作为国产自研软件,肯定更符合国人思维,例如拖拉拽的界面、无需编程、强大集成等等。
当下机器视觉通用软件是行业发展的趋势,对企业来说也能更加节省成本。对于从业者来说,机器视觉通用软件是机器视觉行业最具技术的产品之一,参与其相关开发工作对个人职业发展有很大帮助。
以VisionMaster为例介绍平台软开涉及的岗位:
- 前端软件开发:大型软件开发是分前后端的,前端主要负责界面和交互逻辑,VM的前端开发岗一般使用C#/WPF进行开发。
- 后端软件开发:算法的集成、相机二次开发、通信功能、后端模块框架等等这些都属于后端软件开发的工作,一般使用C++。
- 算法开发:VM集成的算法是由专门的算法开发人员开发并封装为动态库,供软件开发人员调用。
- UIUE设计:大部分小公司是不会有界面UI设计的,都是开发者自己进行界面的设计,一般会很难看。少部分公司会有专门的UI设计和UE交互设计工程师,为软件进行外观和交互设计。
- SDK工程师:VM同样支持二次开发,因此也会对外提供用于二次开发的SDK,这就需要专门的SDK开发工程师。
图表 四‑3康耐视的VisionPro软件
通用平台软件是靠卖加密狗盈利的,一个付费软件想在一台电脑上使用,就需要给电脑插入软件对应的加密狗(类似U盘,插到电脑USB口),加密狗类似一把锁,只有插入这把锁,你的软件才可以正常使用。
如果你有十个电脑,你就需要十个加密狗。对比VisionPro万元起步甚至几万一个的加密狗,海康机器人VM千元的加密狗价格具有很强的竞争力。
节 1.04 客户端软件
目前我认为,客户端软件开发是机器视觉行业最舒服的岗位之一了。以工业相机的客户端软件开发者来说,他只需要对接内部需求就可以了,例如产品经理像将客户端更易用一些,或者升级下功能。他不需要关心现场使用的实际应用。自然也不需要出差。
而客户端相比机器视觉算法平台,开发难度又小很多。所以如果想要躺平的话,找一个客户端开发的工作是再好不过了。
客户端开发岗位也属于机器视觉软件开发的范畴,很多公司都会有相关岗位。例如海康机器人、华睿科技、埃科光电这些自研相机的公司,它必然就需要有自己的客户端软开工程师。同样的道理,任何机器视觉行业的产品,大多都需要配合一个客户端软件,所以大多也都会有专门的客户端开发岗位。
图 四‑1华睿科技的EasyID客户端软件
节 1.05 深度学习平台
深度学习在机器视觉行业已经有广泛应用了,随之而来的就是行业内有很多涉及深度学习的工作岗位。为了进一步抢占市场,各个公司都推出了自己的深度学习软件,这类分两种:
- 深度学习检测软件:例如阿丘科技的AIDI软件,就是深度学习通用检测软件,基于深度学习实现缺陷检测、定位、分类等工作。而其它一些平台型软件,例如VisionMaster,也内置了很多深度学习工具。
- 深度学习标注训练一体化软件:因为深度学习需要进行大量标注工作,所以国内很多公司也推出了深度学习训练软件,例如halcon的MVTec Deep Learning Tool,海康机器人的VisionTrain,汇川视觉的Finovision等软件,都是这一类型。
参与这类产品开发也很有发展前途。需要掌握软件开发和深度学习一体化技术栈。
图 四‑2halcon的MVTec Deep Learning Tool软件
节 1.06 上位机软件
机器视觉行业有大量的上位机软件开发需求和岗位,例如先导智能公司。上位机的工作内容可以总结如下,所有上位机的开发需求莫非如是:
虽然各种产线工艺各不相同,但基本流程大多是:扫码枪扫码,然后设备工作,加工完毕之后上传到MES系统。其中设备工作这一步骤,就是上位机对PCL或者单片机数据的读写控制。
上位机开发技术栈是较为固定的,且并不需要考虑大型的软件架构问题。因为工作性质,上位机软开工程师也会需要在开发完毕之后出差,现场调试软件保证运行没有问题。
所使用的技术栈,一般是C#/Winform,或者C#/wpf,以及C++/Qt。
在此安利一下我出品的【探歌:C#上位机企业级实战项目】:
探歌:C#上位机企业实战项目教程_哔哩哔哩_bilibili
节 1.07 MES系统
MES 系统即制造执行系统(Manufacturing Execution System),它是一套面向制造企业车间执行层的生产信息化管理系统。
MES会根据生产计划和实际生产情况,对生产任务进行合理安排和调度,确保生产的高效进行。并实时监控生产过程中的各项参数和状态,如设备运行状态、生产进度、质量数据等,及时发现问题并进行处理。同时会采集生产过程中的各种数据,如生产数量、生产时间、设备运行参数等,并对这些数据进行分析,为生产决策提供依据。
我们的上位机软件,就是向下对接PCL或者单片机设备,向上对接MES系统。所以学习如何通过HTTP通信和MES进行数据传输,也是上位机开发必备技能之一。
图 四‑3网图-MES系统截图
节 1.08 专机
一定要区分出专机和第4.03节的通用机器视觉平台软件的区别。
通用平台型软件,例如VisionMaster,目标是以一个软件,通过用户的自定义配置,能够适配大部分的机器视觉应用场景。而专机呢,则是专门应对某个特定生产线的特定工序环节的应用场景,专机只能专用。
举个例子,我们以凌云光技术股份有限公司为例,在它的官网,https://www.lusterinc.com/,我们可以找到显示屏点灯检测这个产品,截图如下:
图 四‑4凌云光的显示屏点灯检测专机
这个就是典型的专机,显示屏点灯检测专机,就是等手机或平板等电子产品生产完毕后,将手机屏幕点亮,通过视觉检测来检查屏幕是否存在瑕疵。
专机一般都会配合自己公司编写的对应的专机视觉检测软件使用,例如显示屏点灯检测专机,就会搭载AOI专机软件,进行视觉检测。
专机是机器视觉行业一个典型产品,除了提到的凌云光,像先导智能、利元亨、天准科技、矩子科技等等,都有自己代表性的专机产品。专机主要涉及岗位如下:
- 机械结构设计工程师:负责设计专机的机械结构,类似于机械的非标设计工程师。
- 专机软件开发工程师:进行专机软件开发和算法集成,同时开发工业相机、通信等等功能。
- 专机算法开发工程师:主要负责开发专用的AOI算法。
- 调试工程师:专机公司在我们前面提到的机器视觉产业链中,类似于中游系统集成商,它的专机卖给客户后,会有调试工程师负责专机的调试。
暂无评论内容