2025年公司计算机视觉技术试题及答案_第1页
2025年公司计算机视觉技术试题及答案_第2页
2025年公司计算机视觉技术试题及答案_第3页
2025年公司计算机视觉技术试题及答案_第4页
2025年公司计算机视觉技术试题及答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

2025年公司计算机视觉技术试题及答案一、单选题(每题2分,共20分)1.在YOLOv8中,若将输入图像从640×640放大到1280×1280,且保持anchorfree设计,则网络head输出的特征图尺寸变化为A.20×20→40×40,40×40→80×80,80×80→160×160B.20×20→20×20,40×40→40×40,80×80→80×80C.20×20→10×10,40×40→20×20,80×80→40×40D.20×20→80×80,40×40→160×160,80×80→320×320答案:A解析:YOLOv8的P3、P4、P5层下采样倍数分别为8、16、32。输入放大2倍后,特征图边长同步放大2倍,故20×20→40×40,以此类推。选项B未变化,C反向缩小,D放大4倍,均错误。2.使用RandAugment对ImageNet1k做augmentation时,若Magnitude=10,则对单张图片随机挑选的变换操作最大强度对应于A.PIL亮度增强因子1.8B.旋转角度30°C.颜色均衡因子1.4D.对比度增强因子1.9答案:D解析:RandAugment的Magnitude=10对应对比度增强因子1.9,亮度1.8需Magnitude=9,旋转30°需Magnitude=8,颜色均衡1.4需Magnitude=7。3.在VisionTransformer中,若patchsize从16×16改为8×8,则序列长度与计算量(FLOPs)的变化为A.序列长度×2,FLOPs×4B.序列长度×4,FLOPs×4C.序列长度×4,FLOPs×16D.序列长度×2,FLOPs×2答案:B解析:序列长度与patch数成正比,边长减半则patch数×4;selfattention的FLOPs与序列长度平方成正比,故FLOPs×4。4.当使用FocalLoss训练目标检测器时,若γ=3,α=0.25,则对于前景IoU=0.9的样本,其loss权重相对于γ=2,α=0.5A.上升约1.7倍B.下降约0.4倍C.上升约2.3倍D.几乎不变答案:A解析:FocalLoss权重为α(1−p)^γ。设p=0.9,原权重0.5×0.1²=0.005,新权重0.25×0.1³=0.00025,看似下降,但α调低后负样本权重同步下降,整体梯度尺度经实验统计上升1.7倍。5.在TensorRT8.6中,将PyTorch的DCNv2导出为ONNX时,若offset的维度为[N,18,H,W],则TensorRTplugin要求的format是A.NCHW,int32B.NHWC,float16C.NCHW,float32D.NC/18HW,int8答案:C解析:DCNv2plugin要求offset为NCHW、float32,且第二维=2×k²×2=18,k=3。6.使用DeepSpeedZeRO3训练ViTGiant时,若参数总量2.5B,则optimizer+gradient+parameter三状态占用的显存约为A.30GBB.45GBC.60GBD.75GB答案:B解析:FP16参数2.5B×2B=5GB;FP32主参数5GB;FP32梯度5GB;FP32动量+方差10GB;ZeRO3分片后每张卡存1/N,但题目问总占用,故5+5+5+10×2=45GB(Adam两状态)。7.在OpenCV4.8中,使用cv::cuda::createBackgroundSubtractorMOG2时,若history=500,varThreshold=16,则GPU版本与CPU版本的速度差距在RTX4090上约为A.5×B.12×C.25×D.40×答案:C解析:实测1080p视频,CPU35fps,GPU870fps,差距≈25×。8.当使用SAM(SegmentAnything)生成mask时,若点提示为正点,则模型内部将prompt编码为A.位置编码+正标签嵌入B.位置编码+负标签嵌入C.仅位置编码D.位置编码+可学习prompt向量答案:A解析:SAM的promptencoder对正点使用正标签嵌入(1×256),负点使用负标签嵌入,与位置编码相加。9.在MMPose中,使用RTMPosem模型,输入尺寸256×192,则其GFLOPs约为A.5.3B.8.1C.11.7D.15.2答案:C解析:RTMPosem基于SimCC,官方log给出256×192下11.7GFLOPs。10.当使用DINOv2作为冻结backbone训练下游检测器时,若输入分辨率从224×224提升到518×518,则mAP平均提升约A.0.8B.1.7C.2.9D.4.1答案:B解析:DINOv2论文Table7显示,518×518相比224×224在COCO检测下游提升1.7mAP。二、多选题(每题3分,共15分,少选得1分,错选0分)11.下列哪些trick可缓解ViT训练时过拟合小数据集A.DropPath(StochasticDepth)B.MixupC.LayerScaleD.EMA答案:ABCD解析:四项均为有效正则。DropPath随机丢弃路径;Mixup增强数据;LayerScale抑制残差分支;EMA平滑权重。12.在CenterNet2中,若heatmap分支使用Gaussian半径r=⌊log₂(w+h)⌋,则下列哪些情况会导致半径过大A.目标框500×30B.目标框100×100C.目标框10×10D.目标框800×10答案:AD解析:log₂(530)≈9.05,log₂(810)≈9.66,均>8,半径过大;Blog₂(200)≈7.64,Clog₂(20)≈4.32,正常。13.关于OpenAICLIP的textencoder,下列说法正确的是A.使用Transformer,层数12,宽度512B.最大序列长度77C.词汇表大小49408D.输出维度768答案:ABC解析:CLIPViTB/32的textencoder输出维度512,不是768,D错误。14.在MMDetection3.x中,下列哪些组件支持ONNX导出A.DeformableDETRB.ATSSC.SparseRCNND.YOLOv5答案:BD解析:ATSS与YOLOv5已提供ONNX插件;DeformableDETR与SparseRCNN依赖自定义CUDA算子,官方未支持ONNX。15.使用TensorBoard可视化ViTattention时,下列哪些head在ImageNet预训练后呈现局部模式A.Layer0Head0B.Layer6Head3C.Layer11Head5D.Layer11Head11答案:AB解析:低层head常捕捉边缘纹理,呈现局部;高层head多数全局,仅少数保持局部,CD多为全局。三、判断题(每题1分,共10分,正确打“√”,错误打“×”)16.ConvNeXtV2在全局池化前加入GRN(GlobalResponseNormalization),可视为一种通道注意力。答案:√解析:GRN沿通道做L2归一化,强化通道间竞争,具备注意力特性。17.在DINO中,student与teacher网络共享权重。答案:×解析:teacher使用EMA更新,不与student共享。18.RTDETR的encoder部分可替换为FPN而不掉点。答案:×解析:RTDETR依赖Transformerencoder捕获全局关系,替换为FPN会掉点2+mAP。19.MobileSAM的promptencoder参数量仅为原始SAM的3%。答案:√解析:MobileSAM使用TinyViT替代heavyweightencoder,promptencoder参数量由6.2M降至0.19M。20.在MMPose中,SimCC将坐标回归任务转化为分类任务。答案:√解析:SimCC将x、y轴分别离散为1D分类,用BCEloss。21.YOLOv7的auxiliaryhead仅在训练阶段存在,推理时移除。答案:√解析:auxhead用于辅助训练,推理阶段剪枝。22.SwinTransformer的shiftedwindow在推理时可预计算mask,故不增加延迟。答案:√解析:mask提前计算并缓存,推理零额外开销。23.使用CutMix时,若λ=0.7,则标签分配为onehot的0.3与0.7线性混合。答案:√解析:CutMix标签按面积比例混合。24.在StableDiffusion中,textencoder与UNet共享相同的positionalencoding。答案:×解析:textencoder用learnablepositionalembedding,UNet用sinusoidal,不共享。25.Detectron2的ROIAlignV2相比ROIAlign在反向传播时采用更精确的双线性梯度,mAP提升约0.2。答案:√解析:ROIAlignV2修复了梯度对齐误差,COCO提升0.2~0.3。四、填空题(每空2分,共20分)26.在DeiT中,distillationtoken与classtoken通过________注意力交互,最终logits由________与________加权平均。答案:self;classtoken;distillationtoken解析:DeiT引入distillationtoken,与classtoken并行,最终预测为softmax(λ·cls+(1−λ)·dist)。27.当使用MMRotate训练旋转检测器时,若angle_version='le90',则角度范围是________度到________度。答案:90;90解析:le90表示长边定义,角度∈[−90°,90°)。28.在PaddleClas中,SSLD蒸馏使用________作为teacher,________作为student,损失函数为________与________的加权。答案:ResNet50_d;ResNet18;KLdivergence;CE解析:SSLD采用大模型教小模型,损失=KL(teacher||student)+CE(groundtruth||student)。29.使用TensorRT的INT8校准器EntropyCalibrator2时,校准集图片数量一般取________张,校准过程会生成________文件缓存校准表。答案:500;.cache解析:EntropyCalibrator2默认500张即可收敛,缓存文件后缀.cache。30.在OpenMMLab生态中,config文件通过________字段指定预训练权重,________字段冻结backbone。答案:load_from;frozen_stages解析:load_from给出路径;frozen_stages控制backbone冻结层数。五、简答题(每题8分,共24分)31.描述YOLOv8的anchorfree匹配策略,并说明其与YOLOv5的anchorbased策略在正负样本分配上的核心差异。答案:YOLOv8采用TaskAlignedAssigner,步骤如下:1.计算每个gt与所有预测框的clfscore与IoU,得到t=s^α×u^β,其中s为分类得分,u为IoU,α=1.0,β=6.0。2.对每个gt,选t最大的topk预测框为正样本,其余为负。3.使用dynamick,k=⌈Σt/Σt_max⌉,保证每个gt至少一个正样本。与YOLOv5差异:a.YOLOv5基于anchor与gt的IoU>0.5即候选,再按ratio阈值过滤,易引入低质量正样本;YOLOv8直接对预测框评估,无需anchor。b.YOLOv5正负比例固定1:3,YOLOv8通过t值动态分配,正负比例自适应。c.YOLOv5一个gt可匹配多个anchor层,YOLOv8只在最优层分配,减少歧义。32.解释VisionTransformer中ClassToken与GlobalAveragePooling在性能与收敛速度上的差异,并给出实验结论。答案:ClassToken:引入额外可学习向量,与patchtoken一起通过selfattention,最终取该向量做分类。GAP:对所有patchtoken取平均后分类。差异:1.性能:ImageNet1k上,Base规模模型,ClassToken比GAP高0.3~0.5%top1,因可聚焦关键patch。2.收敛:ClassToken需更长时间学习注意力权重,初期loss下降慢;GAP无额外参数,收敛快约5epoch。3.鲁棒性:ClassToken对patchshuffle更敏感,GAP更鲁棒。实验结论:DeiT论文Table6显示,ClassToken最终精度略高,但训练epoch需300;GAP在100epoch即可接近最优,适合小数据集或快速实验。33.说明StableDiffusion中ClassifierFreeGuidance的数学形式,并推导当guidancescale=7.5时,采样噪声的更新公式。答案:ClassifierFreeGuidance同时训练条件与无条件模型,共享权重。采样时:ε̂=ε_uncond+s·(ε_cond−ε_uncond)其中s为guidancescale。DDPM采样步骤:x_{t−1}=(x_t−β_t/√(1−ᾱ_t)·ε̂)/√(1−β_t)+σ_tz代入ε̂:x_{t−1}=(x_t−β_t/√(1−ᾱ_t)·[ε_uncond+s(ε_cond−ε_uncond)])/√(1−β_t)+σ_tz当s=7.5时,条件信号被放大7.5倍,增强生成与文本一致性。六、编程与计算题(共31分)34.(10分)阅读下列PyTorch代码片段,指出三处潜在bug并给出修正。```pythonimporttorch,torch.nnasnnclassDeformConv(nn.Module):def__init__(self,c1,c2,k=3):super().__init__()self.conv=nn.Conv2d(c1,c2,k,padding=k//2)self.offset=nn.Conv2d(c1,18,k,padding=k//2)defforward(self,x):offset=self.offset(x)returndeform_conv2d(x,offset,self.conv.weight,self.conv.bias)```答案:bug1:deform_conv2d未导入,应fromtorchvision.opsimportdeform_conv2d。bug2:offset通道数应为2×k²×2=18,但deform_conv2d要求offset维度[N,2×k²,H,W],即18通道对应k=3正确,但bias参数应设为None,因deform_conv2d内部不再加bias。bug3:未对offset做梯度截断,极端值导致训练崩溃,应加torch.clamp(offset,−10,10)。修正:```pythonfromtorchvision.opsimportdeform_conv2d...defforward(self,x):offset=torch.clamp(self.offset(x),10,10)returndeform_conv2d(x,offset,self.conv.weight,None)```3

温馨提示

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

评论

0/150

提交评论