面试分享!猿辅导计算机视觉算法工程师一面
来源:投稿 作者:LSC
编辑:学姐
总共时长45分钟,首先是自我介绍,然后开始面试。
1.旋转数组[1,2,3,4,5,6,7]--->[5,6,7,1,2,3,4],找出k是否存在一个旋转数组中,旋转数组一开始是有序的。
二分:
2.字符串a,能不能在1步内(增加、删除、修改)变成字符串b,都只含有小写字母,但是不能改变原来a b各个字符的顺序
Eg:a=”abcdfgd” b=”abcdffd” yes
a=”bbiiom” b=”abiion” no
a=”ccaabb” b=”aabbcc” no
法1: 动态规划 编辑距离
法2: 直接判断:
(1)先判断两个字符串的长度相差是否大于1,是no,否继续
(2)统计每个字符串中每个字母的个数,再计算相同字母每个字符串的差,用字典来统计,一旦有差大于1,是no,否继续
(3)如果两个字符串等长,遍历两个字符串,是否存在超过1相同位置的值不同的,是no,否yes,不一样长的话,遍历,如果相同位置不同,长的指针向后移动,再次字符不相同就是no,否则yes。
3.介绍项目
主要介绍项目的数据、任务、模型、参数、优化和结果。
4.为什么这个项目要用到光照数据增强,为什么选择yolov5模型
因为我项目的数据收到光照这个因素的影响比较大,所以特地进行数据增强,增加模型的泛化性。
5.熟悉OCR算法吗?比较了解的有哪些?
对CRNN比较熟悉,入门ocr必学的经典算法。
CRNN=CNN+RNN+CTC,不用先对单个文字进行切割,而是将文本识别转化为时序依赖的序列学习问题,就是基于图像的序列识别,使用 CTC 损失,把从循环层获取的一系列标签分布转换成最终的标签序列。
此外还有SVTR,是PaddleOCR的PP-OCRv3的主要模型, 模型小, 效果好,主要就是利用Transformer替代了RNN, 得益于self-attention机制, 这样面对不规则文本图像的时候应该有更好的信息抽取能力, 可以更好的抽取有序后验概率矩阵。
6.常用的ocr框架
PaddleOCR和mmocr框架,这两个都是当下最流行的ocr框架,两种框架的文本检测和识别的代码结构相似,PaddleOCR更全面,我使用频率较高,支持多种语言文本,mmocr对中文支持行较差,总的来说准确率大体都差不多。
久违的分享一下面试经验,希望可以给还在找工作的同学一点帮助~
另外关注“学姐带你玩AI”公众号
回复“简历”可以免费领取300+简历模板&算法工程师万能简历公式!