想不到一个机器视觉项目能让一个软件公司的老板如此揪心!在七个月前我认识的一个软件公司的老板找到我,说他们有个机器视觉项目问我有没有兴趣参与开发,于是我就答应了。后来,经过两个月的开发,我负责的模块就完工了,但是,七个月过去了,他的项目还没有验收,于是打电话跟我诉苦,这是咋回事呢?

打开网易新闻 查看精彩图片

这个机器视觉项目是给一家整机组装厂做的机箱包装和机箱螺钉检测的。其实就是检测包装上的喷涂是否完整以及机箱上的螺钉是否都有打上。

以为很简单的项目

看似很简单的要求吧?这个软件公司的老板原定花一个月的时间安装机器视觉辅助设备,比如说机械设备、CCD相机、上位机等。同步进行的有上位机软件开发和视觉算法开发部分,总耗时原定约两个月。

我在两个月后完成了上位机架构和部分视觉检测算法后,原以为很快这个项目就可以验收了,但是谁知道一耗就是大半年,原本以为很简单的项目,其实很折腾!

原定的检测项目有外包装喷涂缺陷检测、机箱螺钉检测,其实,外包装喷涂检测这部分比较顺利,但是让人难办的是机箱螺钉检测。

因为是在客户原来的产品流水线上做扩展检测,所以留给我们设计的自由度就不太高了。

而难点主要是打光效果不固定,原因是客户的产品在流水线上的角度不固定,上下左右容易偏移,这就导致了光打在螺钉的位置上可能螺钉体现得不明显。

其实,这通过视觉算法的一些特殊判断就可以解决问题。

如果您对视觉打光不太了解的话,打个比方,就好比您拿一个手电筒照射一个物体,如果这个物体反光比较厉害的话,那么这个物体的整个轮廓可能都会被反光成白色。然后,我们再根据反光的形状、面积来判断这个物体即可。

但是,客户那边的打光效果可能有时候只能反一半的光。

这种情况下,其实只要其他反光元件的面积都小于这个物体的最小反光面积或者大于这个物体的最高反光面积其实也很好办。

这就是我最开始两个月内所做的事情,对我来说简直太容易了。

情况不断

但是,在我离开这个项目以后,找我做项目的老板又跑来跟我说,客户那边生产的产品又多出来一个型号,误检率一下就高了不少。

我一看新型号的螺钉,后面加了一个金属背板,这个金属背板也反光,且金属背板的面积跟螺钉几乎是一样的。

这会导致什么结果呢?假设这个型号没有打螺钉,光有金属背板,可能视觉算法也会把这个金属背板也当作螺钉,导致“过杀”。

所谓“过杀”在视觉行业里,其实就是代表着明明是不合格产品,却没有检测出来的意思。

没办法,我只能又重新写了一套算法来解决这个问题。

但是,让我没想到的是,接下来的几个月,这种情况连续出现了将近十次!

什么概念呢?其实就是客户生产的产品型号超过了十个,每个型号螺钉的状况都不一样。

面对这样的情况,有的可以通过修改现有算法达到兼容的目的,但有的只能重新写一套算法。

别说这个软件公司的老板累,我也被折腾得够呛!

最后,我们还是准备使用深度学习模型来解决客户那边产品型号多变的问题。但是,可见的未来还是需要花上好几个月去喂数据。

而且,即使是使用深度学习模型,也不能做到很高的精准率,但是可以保持在一定的水平,不至于像现在这么累,尤其是到最后可以使用深度学习模型和传统视觉算法结合的方式来提高检测精准率。

开始,我就跟这个老板提议说最好使用深度学习模型,但是他觉得需要喂数据,还不如直接用传统视觉算法来得快。现在想想,肠子都悔青了!

项目肯定亏了

到目前为止,这个项目肯定是亏的了,我帮这个老板干了两个月,工资拿了将近3万,他手下有个程序员配合我开发,工资应该不高,大概1万出头,另外,客户现场还有一个工程师,专门负责安装设备和配合我们调试软件的,加班挺多的,工资也算1万吧。

七个月,这个老板两个员工工资就14万了,加上我的总共17万。而这个老板也有很长时间泡在客户那,我就算人员成本总共20万吧。

客户那边的上位机不算多,总共也就三台上位机,机械、CCD、上位机等其他杂七杂八的设备,我就算他6万的成本吧。

做这个项目,目前为止已经搭进去26万了!

我问这个老板,这个项目他收了客户多少钱,他苦笑一声没回答?我就套他话,从50万慢慢往下降,降到35万的时候他还说没有。这样一来,我想这个项目他肯定得亏个底朝天了!

每次我俩电话沟通项目的事情,他总要跟我吐槽,一聊就是个把小时,我跟我媳妇谈恋爱的时候都没跟他这么腻歪过!可想而知,他的压力有多大!

结语

有人会问:“当初项目合同怎么约定的就怎么来啊!合同之外的情况要额外收费!”

其实,这个问题我也问过这个老板,他也很无奈,因为前期客户支付的项目款很少,如果严格按照合同办事,客户即使违约要撤掉项目,这个老板也是亏得。而继续做下去,亏得反而少一些。

也就是说,现在这个项目他只能硬着头皮做下去了!

我当初劝过这个老板,尽量不要接非标机器视觉的项目,现在他算是知道原因了!这里面的坑,可能只有行内人才深有体会,以上的事情,就是一个活生生的例子!