最近又来了很多师弟都在埋头搞图像,但都理不清头绪,迫于导师交待的任务纷纷求教。这里我总结了点经验,或者说育儿手册:
A、图像识别就像在教小孩辩物,要向他解释目标的主要特征;
(尽量用他知道的特征,否则还需要解释每个特征的定义)
例如识别矩形,那么可以告诉他 矩形由4条直线段组成(因为他学过hough变换),相交的线段彼此垂直(斜率互为负倒数)……
B、有时感觉特征太多则退而求其次,解释目标与视野中其他对象的区别就好;
例如识别车辆,你需要教他什么是车。
如果场景中只有车辆在动,那么只要告诉他“会动的就是车辆”,这样子只要解释什么是“动”这个特征,或者什么是“不动”也就是“静止”或者“没有变化”(考虑给他借本“帧差法”教材,或者进阶的“光流法”)他就懂了,至少在当前场景下正确……
C、另外这个小孩目前数学(客观)学的好,语文(主观)特别差,为了让他学习得更有效率,最好用数学去描述,免得还要先给他补习语文;
还是车辆识别,如果场景非常单调,只有一色的地面跟车,那么你会说“那就是车”。
“那”这个词解释非常麻烦,还需要配合指定方向。你可以换个说法,就是“他看到的物体就是车”,这样你只要解释什么是“物体”,比如物体有“形状”也就是有“轮廓”(边缘检测的话他会很多方法sobel、canny不要太基础)。
D、他会非常听话,但也非常较真,或者特别敏感;
例如,你觉得视野里只有地面跟车,但他能发现很多细小的“物体”,比如地上的小石头、车的阴影。你可以让他不敏感(模糊或者说滤波,eg. 均值、中值、高斯,并规定亮度的阈值);再保险一些,你还可能告诉它只有“大”的物体才是车。“大”这个词比较模糊,所幸补习起来不太难——因为“大”是相对的,如果不想再解释什么是“小石头”的话,你最好给他一个已知的参照物,比如他的“视野范围”,最后你跟他说“占了你视野1/3的那个物体就是车”……
E、他可以有一些基础,但多数情况是在某个领域\场景下我们必须从零教起;
因此我们需要耐心与信任,因为他是个天才;也因为他是个天才,如果他做错了,唯一的可能就是我们教的不对,幸运的是我们可以一次次重来。
F、其实不止是图像识别,机器学习甚至人工智能,我们都可以把电脑看成一个乖孩子……
你可以通过一些描述/特征去教他,也可以利用训练让他自己摸索——告诉他的越多,他所认识到的越接近真相(但这样我们往往很难知道他对真相的认知/解释是否真的跟我们完全一样,甚至他可能从另一个角度给出一个当前足够自洽的真相)。