做了一年的图像识别开发,我的小思考
Posted 中为总体人分享汇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了做了一年的图像识别开发,我的小思考相关的知识,希望对你有一定的参考价值。
时光飞逝,转眼间我来到总体室工作快要一年了,在这一年里我收获了很多。其中对于图像识别开发业务方面,我大体有了一些了解,接下来详细说说自己的一些想法。
定性选择模型类别
1
当选择了某项任务之后,就需要去定性到底是采用深度学习中目标检测类模型,还是语义分割类模型。语义分割模型从本质上讲是对像素进行分类,与目标检测相比难度要小一些,但它依赖于更加细致的像素级标注。一般具有连续性的物体适合利用语义分割模型,单个独立的个体适合利用目标检测模型。
选择具体模型
2
当决定了采用哪类模型,接下来要去选择的是哪个具体的模型。模型到底是选择新的还是选择旧的,也是需要抉择的一点。新模型往往具有更高的识别效果,但未经过时间的检验,而且一旦遇到bug很难去借鉴别人的解决方法,旧模型效果相对一般,但应用风险较小一些。
调整模型的不同模块
3
当决定了采用哪个具体的模型,就需要根据实际的应用,去调整模型的不同模块。比如选择怎么样的骨干网络,如果项目对识别效果要求较高,可以采用较深的骨干网络,如果对实时性要求较高,可以采用较浅的骨干网络。还有针对Loss损失函数的选择,包括交叉熵,focal loss,iou loss,Diou loss等。另外如果数据量较少,还需要考虑去扩展模型的图像增强模块,这也是一种简单粗暴且可以实现提高模型效果的方式。
模型部署
4
当算法开发完成之后,就需要考虑模型的具体部署。因为目前深度学习模型大多都是在python平台下开发完成的,而软件组部署的时候是c++平台,这时候就需要利用pytorch或者tensorflow等框架提供的c接口对模型进行转换。此外,因为有的模型存在前处理和后处理的情况,而这些代码都是python写的,这个时候需要考虑自己去写相应的c++代码,还是去混合编程调用python代码。
以上梳理了下自己对于深度学习图像识别开发工作的一些想法。我认识到自己作为新人,接下来还有很多的东西需要去学习,还有很多的地方需要去改进,努力去提升自己的工作能力依旧是重中之重。
以上是关于做了一年的图像识别开发,我的小思考的主要内容,如果未能解决你的问题,请参考以下文章