最近是刚刚工作的一个月,遇到了不少问题,也学会了不少做事情的道理。
我接手的任务是 二维码检测加速,实现从CPU 检测到 GPU 检测,之前的同事选择的是opencv的自己的二维码检测。
Opencv采用的是(SSD + SR + Zxing), 但是官方的检测效果,检测速度不尽如人意。
- Opencv这套方案的逻辑控制,也有自己的可取之处,我来回忆一下:
- 图像宽高任意一边小于20,则认为结果是不可信赖的,返回报错。
- 待续。
我在工作之中犯的错有:
- 我遇到问题,在没有一个明确行得通的方案的时候,没有像其他同事咨询,其实公司是有自己的工具库的。
- 遇到问题的时候,要明确自己的目的性:是工作第一? 还是学习第一?当然是工作第一,先完成工作任务再去深入学习。
- 遇到需要自己测试性能的时候,想好自己要怎样去测试,最好给自己制定一个详细的方案,要不然,测试的过程中,就像一个电子在做无规则运动,短时间内靠近不了原子核。
总结自己做的尝试:
- 将SSD二维码检测模型使用tensorRT,转到GPU运行。
- 尝试使用github的, tensorRT_Pro.
- 尝试使用tensorRT官方的 sample_SSD
- 尝试使用公司的 trtmodel 转换工具,使用公司的trt推理工具。
- Cmake 是一个问题,看代码的时候,看到Cmake老是看不懂,最近要好好学习一下。
- 看我接手的项目代码的时候,对里面很多宏定义不熟悉,不会使用 宏进行DEBUG.
- 对传统视觉中的opencv的一些操作不熟悉。比如:抠图,cvtColor, convertTo();
总结以后应该怎样做:
- 遇到问题,先分析清楚,确定一个可行的方案(和前辈共同确定)。
- 制定方案、并且实施的时候,遇到不会的咨询同事和领导,先跑通再想优化的事情。
- 以解决问题为第一要义,不能在过度沉迷于某一个知识点。要记录,事后进行学习。