海康威视算法岗校招笔试题(含答案与解析)_第1页
海康威视算法岗校招笔试题(含答案与解析)_第2页
海康威视算法岗校招笔试题(含答案与解析)_第3页
海康威视算法岗校招笔试题(含答案与解析)_第4页
海康威视算法岗校招笔试题(含答案与解析)_第5页
已阅读5页,还剩4页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

海康威视算法岗校招笔试题(含答案与解析)适用岗位:图像算法工程师、AI算法工程师(CV方向)。试卷结构:单选15题(每题3分,共45分)、多选5题(每题5分,共25分,少选得一半分、错选不得分)、简答2题(每题10分,共20分)、编程1题(10分),满分100分,建议限时90分钟。考点侧重:传统图像处理、机器学习、深度学习、数据结构与C++基础,以及面向安防监控业务的CV评价指标。一、单项选择题(每题3分,共45分)以下滤波算子中最适合去除图像椒盐噪声的是

A.中值滤波B.高斯滤波C.均值滤波D.双边滤波

答案:A

解析:椒盐噪声属黑白点状脉冲噪声。中值滤波取邻域中值,能有效抑制脉冲噪声且边缘保留较好;高斯与均值滤波会模糊边缘;双边滤波主要用于保边平滑,不针对脉冲噪声。目标检测中衡量检测器漏检情况的核心指标是

A.精确率(Precision)B.召回率(Recall)C.FPPID.F1值

答案:B

解析:召回率等于被检出的真实目标占全部真实目标的比例,召回越低漏检越多;精确率反映误检程度,FPPI是单图误检数,为安防场景常用指标。在不增加参数量的前提下扩大感受野的卷积是

A.分组卷积B.深度可分离卷积C.空洞卷积(扩张卷积)D.转置卷积

答案:C

解析:空洞卷积通过在卷积核中插入空洞(设置扩张率)扩大感受野,权重数量不变;深度可分离卷积用于降低参数量;转置卷积用于上采样。二分查找的适用条件是

A.无序链表B.任意数组C.二叉树D.有序且支持随机访问的数组

答案:D

解析:二分查找依赖有序性与随机访问能力,下标取值需为O(1);链表无法随机访问,不能使用二分。主要用于图像边缘梯度提取的算子是

A.SobelB.Gamma变换C.直方图均衡D.高斯模糊

答案:A

解析:Sobel算子分别计算x、y方向梯度以提取边缘;Gamma变换与直方图均衡属灰度增强,高斯模糊用于平滑。分类任务中,交叉熵损失相比均方误差的主要优势是

A.二阶收敛更快B.梯度不易饱和,与sigmoid、softmax配合更好C.计算量更小D.不受异常值影响

答案:B

解析:均方误差在sigmoid输出接近0或1时梯度极小,易出现梯度饱和;交叉熵的梯度与误差成正比,收敛更快,是分类任务的标准损失。批归一化(BatchNormalization)层在推理阶段使用的是

A.当前batch的均值与方差B.每张图单独计算的均值与方差C.训练时累计的全局均值与方差D.仅可学习的仿射参数,不使用统计量

答案:C

解析:训练阶段用当前batch统计量并滑动平均更新全局统计;推理阶段固定使用训练累积的均值与方差,不再依赖batch。下列排序算法中,稳定且适合海量数据外排序的是

A.快速排序B.堆排序C.希尔排序D.归并排序

答案:D

解析:归并排序稳定,复杂度O(nlogn),可分块处理,适合磁盘外排序;快速排序与堆排序均不稳定。处理样本不均衡(安防场景负样本远多于正样本)时,做法错误的是

A.直接删除全部负样本B.对少数类过采样C.对多数类欠采样D.加大损失中正样本的权重

答案:A

解析:删除全部负样本会使模型失去区分能力,属错误做法;其余三项均为常用均衡策略。栈与队列的本质区别是

A.存储结构B.进出规则C.空间复杂度D.遍历方式

答案:B

解析:栈为后进先出(LIFO),队列为先进先出(FIFO),差别在于元素的进出次序。图像直方图均衡化的作用是

A.去除噪声B.检测边缘C.拉伸动态范围,提升对比度D.图像锐化

答案:C

解析:直方图均衡将灰度分布拉平,提升低对比度图像的可视效果,常用于监控暗光场景。Sigmoid函数的输出范围是

A.[−1,1]B.[0,+∞)C.(−∞,+∞)D.(0,1)

答案:D

解析:tanh输出范围为(−1,1);sigmoid形如1/(1+e的−x次幂),输出落在(0,1)区间。对KL散度(相对熵)描述正确的是

A.两个分布的差异,且不具对称性B.两个分布的距离,满足距离公理C.向量的余弦相似度D.均方误差

答案:A

解析:KL(P‖Q)与KL(Q‖P)一般不相等,因此不是严格意义上的距离;常用于衡量分布差异,自监督学习与知识蒸馏中高频使用。深度可分离卷积(MobileNet采用)分为哪两步

A.标准卷积加BNB.逐通道卷积(Depthwise)加逐点卷积(Pointwise)C.空洞卷积加1×1卷积D.转置卷积加池化

答案:B

解析:逐通道卷积中每个卷积核只处理一个通道;逐点卷积用1×1卷积融合通道信息,从而大幅降低参数量与计算量。C++中constchar*p与char*constp的正确描述是

A.前者指针不可改,后者指向内容不可改B.两者完全等价C.前者指向内容不可改,后者指针本身不可改D.两者都不能修改内容

答案:C

解析:constchar*p表示指向的字符为常量,不能通过*p修改内容,但p可以改指向其他地址;char*constp表示指针p本身为常量,不能再赋值,但可通过p修改所指内容。二、多项选择题(每题5分,共25分)属于图像锐化或梯度算子的有

A.SobelB.LaplacianC.PrewittD.均值滤波

答案:ABC

解析:均值滤波属平滑处理,会削弱边缘,其余三项均为梯度或拉普拉斯类算子。可以缓解过拟合的操作有

A.DropoutB.数据增强C.无限增加训练轮次(epoch)D.L2正则

答案:ABD

解析:持续增加训练轮次会让模型进一步拟合噪声,反而加重过拟合。属于一阶段(One-stage)检测器的有

A.YOLO系列B.SSDC.FasterR-CNND.RetinaNet

答案:ABD

解析:FasterR-CNN为两阶段结构,先由RPN生成候选框,再由检测头分类回归。属于池化层作用的有

A.降维并减少计算量B.提供一定平移不变性C.扩大感受野D.增加可学习参数

答案:ABC

解析:池化层不含可学习参数,不会增加参数量。海康安防场景常见的图像预处理操作包括

A.去畸变B.白平衡C.伽马校正D.直方图均衡

答案:ABCD

解析:以上四项均在监控相机的ISP处理链路中作为常规环节出现。三、简答题(每题10分,共20分)第1题直方图均衡化与高频加强(锐化)的操作顺序对结果有无影响参考答案:有影响,顺序不同结果不同。工程上一般先做直方图均衡,再做锐化。先均衡后锐化:均衡先拉伸灰度、拉开对比度,随后锐化提取边缘,细节更清晰;不足是均衡会同步放大噪声,锐化后噪声也会被增强。先锐化后均衡:锐化先引入灰度跳变,随后的全局均衡会重新拉伸灰度,削弱锐化带来的边缘增强效果,锐化收益被抵消。补充经验:暗光监控场景常见方案为先降噪、再均衡、最后适度锐化,避免噪声被连续放大。第2题对比学习(自监督表征学习)的原理、正负样本构造与损失函数原理:不使用人工标注标签,而是从样本自身构造监督信号,学习对下游任务有用的图像特征;核心思想是让相似样本的特征彼此靠近、不相似样本的特征相互推远。正负样本构造(CV常用做法)正样本:同一张原图经不同数据增强(随机裁剪、翻转、颜色抖动)得到的两个视图负样本:同一batch内其他不同原图的增强视图损失函数:主流采用InfoNCE损失,形式为在正样本相似度指数项与全部负样本相似度指数项之和之间取比值后取负对数,其中相似度一般采用余弦相似度,温度系数τ用于控制分布的平滑程度。python

InfoNCE损失形式

L=-log(exp(sim(q,k_+)/tau)

/(exp(sim(q,k_+)/tau)+sum_over_negativesexp(sim(q,k_-)/tau)))应用:在安防场景中用于无标注监控图像的预训练,可提升下游检测与分类效果。四、编程题(10分)题目描述迷宫由n行m列字符组成:井号代表墙体不可通行,点号代表空地,S为起点,F为出口。迷宫中有k个必须按顺序触碰的石头:走到石头相邻的格子即可触碰该石头;必须按顺序全部触碰完成后,出口F才可以通行。求从S到F的最短步数。移动限上下左右四个方向,一步一格,输入坐标从1开始编号。输入输出示例输入

353

#....

####.

FS...

11

23

22对应输出为17。解题思路状态设计:在普通迷宫BFS的基础上增加“已完成石头数”维度,状态记为(x,y,t),其中t取值0到k,表示已按顺序触碰前t个石头触碰判定:从当前格走一步到邻格时,若邻格与第t+1个石头曼哈顿距离为1,则视为触碰成功,状态推进为t+1;题干要求“走到相邻格子即可触碰”,因此判定的是邻接关系,而非踩到石头所在格结束条件:仅当t等于k且位于出口格时到达终点;否则出口不可通行正确性:每一层BFS对应相同步数,首次到达目标状态即为最短步数;状态空间为n×m×(k+1),复杂度为O(n·m·k)参考代码(Python)python

迷宫BFS参考实现

importsys

fromcollectionsimportdeque

defmain():

data=sys.stdin.read().split()

ifnotdata:

return

ptr=0

n,m,k=int(data[ptr]),int(data[ptr+1]),int(data[ptr+2])

ptr+=3

grid=[]

sx=sy=fx=fy=-1

foriinrange(n):

line=data[ptr]

ptr+=1

grid.append(line)

forj,chinenumerate(line):

ifch=='S':

sx,sy=i,j

elifch=='F':

fx,fy=i,j

targets=[]

for_inrange(k):

x,y=int(data[ptr])-1,int(data[ptr+1])-1

ptr+=2

targets.append((x,y))

dirs=[(-1,0),(1,0),(0,-1),(0,1)]

INF=float('inf')

#dist[i][j][t]:走到(i,j),已完成前t个石头的触碰所需最少步数

dist=[[[INF]*(k+1)for_inrange(m)]for_inrange(n)]

dist[sx][sy][0]=0

q=deque([(sx,sy,0)])

whileq:

x,y,cur=q.popleft()

d=dist[x][y][cur]

ifcur==kand(x,y)==(fx,fy):

print(d)

return

fordx,dyindirs:

nx,ny=x+dx,y+dy

ifnot(0<=nx<nand0<=ny<m):

continue

ifgrid[nx][ny]=='#':

continue

nxt=cur

#走到石头相邻格即视为触碰该石头,触碰后进入下一个目标

ifcur<k:

tx,ty=targets[cur]

ifabs(nx-tx)+abs(ny-ty)==1:

nxt=cur+1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论