原创:王稳钺
资料来源:二可
有很多对计算机视觉方向竞聘者对于CV面试过程当中需要具备哪些技能不太了解,本文主要介绍计算机视觉面试中主要的考核技术点。
1. CV算法岗的总体能力需求
首先CV的应用领域非常广泛。比如无人车,其中会需要车道线的检测等;比如利用GAN来实现老照片修复、美颜等。现在还有一些比较前沿的应用——元宇宙,其实在之前被称为虚拟现实领域,它背后其实隐藏着大量的理论。比如虚拟的物体,它如何能够像真实物体一样,定在某一位置,不随着设备的移动而移动,其实这背后是非常复杂的数学原理,需要实时地去计算它的相对位置。还比如与虚拟场景的交互,这就需要非常准确地去定位到指尖的位置点。其实现在的大趋势是人们已经不再满足于应用在二维场景当中,而是希望可以应用在三维场景当中。
已经下定决心或者有打算在CV领域深耕的话,那么可能会有一定的疑惑,就像CV有这么多的应用,怎么可能能够把它全部掌握呢?其实答案就是没有可能。所以在面试过程当中究竟会碰到什么样的问题呢?实际上对于算法岗的要求,尤其是关于面试的部分,主要是四门“功课”。这四门功课中第一门是传统AI。传统AI比较重要的是分工具考察。下图中打勾的部分是一定要完全掌握的。其中KNN和NN是不一样的东西,都需要掌握。SVM这部分打了半勾,面试当中是直接考代码层面的话是基本没有出现过的,可以稍微忽略代码,但是文字层面、数学层面要能掌握最好。
完全掌握包含着三重含义。首先,需要做到语文层面的文字描述,比如KMeans是什么,如何做的,一步步的需要用文字描述出来。第二重含义就是需要把文字的内容幻化成数学的部分。比如一些数学公式必须知道,比如Linear regression中的损失函数,BP中二次方程的求导,sigmoid求导等。虽然现阶段如果不是涉及到那种最内核的写工具的职务的话,一般情况下咱们是不用自己去写这部分的,但是它作为这个行业的基本功是属于敲门砖性质的。虽然可能不用,但是不代表你不能不会,所以这部分也是需要掌握的。所以数学是第二个层面。第三个层面是要有能力根据数学公式或者根据文字描述,无论前两个层面怎么样编排,能够写出代码。