才刚把网上下载的手写数字识别的代码跑通,老板就说可以了可以了,赶紧把甲方”越快越好“的视觉项目做完,反正都是处理图像,一样的。然后就赶鸭子上架了。。。
当我们遇到一个新的人工智能应用项目需求的时候,总是希望能够找到一个类似的项目可以直接用。但是又不确定旧的项目能不能直接用于现在新的项目。尤其是只有刚刚跑通了计算机视觉识别领域入门的手写数字识别代码。那么,在这个基础上,怎么才能更快新的项目呢?
我们可以通过类比法采用三个步骤来分析这个事情,第一个步骤是找两个项目拟解决问题的相同点;第二个步骤找两个项目的不同点;第三个步骤是定义验证版本,做好预期管理。
下面我们举个例子说明,能跑通了手写数字识别的代码之后,怎么样以它为起点用它来完成手写汉字识别以及动作识别的任务以及如何评估可行性。下面的分析只是举例分析思路,而不是特定针对手写汉字和动作识别的研究。
第一个任务用于手写汉字的识别。
步骤一,分析相同点:数字识别和手写汉字识别都是属于图像分类问题,原则上用于手写数字识别的代码可以用于手写汉字的识别。
步骤二,分析不同点:(1)数字识别是0~9一共10类别,而手写汉字的类别很多。所以你要根据自己要识别手写汉字的类别数量,把最后的那个分类层数量改掉。(2)汉字的结构比手写数字复杂,所以浅层的CNN可能在手写数字里面表现就不错,很容易达到98%以上的准确率。但是在汉字里面可能你需要更深的网络才能够实现更好的识别效果。
步骤三,定义验证版本:(1)汉字的类别数量太多,先选择十几个常见字,看看效果如何;(2)找开源的数据集,如果没有,也不知道需要多少训练数据需要多少,就每个类别找少量,十几二十个都行,逐步尝试,根据结果决定新增多少训练数据;(3)构建一个测试集,给老板一个合理的预期,告诉老板先以这个测试集的指标为准,以免老板默认模型做出来啥样的手写字都能识别。
第二个问题是人体行为识别。
分析方法和上面手写汉字识别是一样的,但以这个人体行为识别为例作为分析的目的在于要对需求有一个明确的界定,做好老板的预期管理。
虽然人体行为识别同样也是分类问题。但是人体行为识别也包括两种情况,一种是从静态的图像里面识别出行为。另外一种是从动态的视频里面识别出行为。
从静态的图像里面识别出行为,同样是属于对图像的分类问题。可以用识别手写数字的CNN网络来实现。要注意的问题和前面所说的用于识别手写汉字的问题是一样的。
对于从动态的视频里面识别出行为,那用于识别手写数字的CNN网络是不能够实现的。
下次老板再赶鸭子上架,你就可以按上面分析方法三个步骤让自己更快上手新的项目,同时避免搞不清水有多深掉进坑里。
如果连手写数字识别代码都跑不通就被老板赶鸭子上架了,那怎么办?这个问题我们下次再说。
领取专属 10元无门槛券
私享最新 技术干货