进入机器视觉后,发现开发和使用过程中总是存在各种bug导致系统不稳定,所以总结为教训,切记不要犯!
设置明确的边界条件
机器视觉或者说目前的人工智能还没有实现完全的智能化,所以在生产实践中更好的办法是在特定的条件下开发特定的算法,并将算法框定在一个明确的范围内,那么算法就会变得更加鲁棒,否则就会脆弱的。如果应用某个有远见的人,这个算法就会很弱。在此基础上,仔细迭代地拓展算法的适用场景和范围是明智的。不考虑具体的应用场景、没有明确的边界条件、没有前提假设来设计算法是新手常犯的错误,应该避免。
给任何参数一个明确的物理意义
由于机器视觉的处理结果与实际物理环境密切相关,参数作为设计算法时的重要变量,必须赋予其实际物理意义并合理化。有时根据经验设置的参数值可能只适用于一定的物理尺度,当环境发生变化时,这样的参数就会失效,而且这样的问题往往不容易被发现,给算法带来不稳定。虽然在调试深度学习时,有些参数确实是根据经验而无法解释的,但在设计传统算法时仍然必须遵循这个原则。
按照软件工程原则开发
这个规则不仅适用于机器视觉软件,也适用于其他软件和其他非软件工程项目的开发。我在新秀赛季经常犯的错误就是在短时间内不断地在原有算法的基础上添加大量函数,试图省时省事(有时是紧急或必要的事情!) ,并没有对各个功能模块进行单元测试。开发完成后,直接进行组合测试。这样的测试效率低且不完整,将来还会暴露出各种bug。按照软件工程原理进行开发,有节奏的开发将带你走出新手村。
注意现场
机器视觉是一门与领域结合非常紧密的学科或工作。与计算机视觉相比,机器视觉需要高度的稳定性。因此,需要充分积累现场经验。它与领域结合往往会带来算法的简化和稳定性,带来开发效率的提高,网站是一个宝库。积累经验,提升自己。具体实例等待机器视觉人士现场体验。
提高创造力
经验和创造力是驱动机器视觉能力的两驾马车。如果只是经验的增长,无法灵活应对未来的各种任务,在智能机器视觉的道路上走不远。提高创造力的关键是涉猎和思考。不断涉猎大量的相关知识。头脑中各种信息的碰撞产生创作灵感,思考如何将其运用到实践中,对于提高创造力大有裨益。
编辑:黄飞
上一篇
虹科科技有限公司(虹科网络)