流程:
- 专业老师
- 排名
- 视觉 rm
- 当前 robopocket 和 intel 使用经验
- 擅长技术
- 感兴趣
你好,面试官!我是方俊杰,上海交通大学电子信息专业研一学生,师从卢策吾教授,目前的研究方向是具身智能与计算机视觉。
本科阶段我就读于上海交大信息工程专业,GPA 3.89,专业排名前20%。在计算机视觉和机器人视觉方面,我有丰富的实战经历。大学期间我担 任交大RoboMaster战队视觉部部长,带领团队连续两年获得全国总冠军。在这过程中,我深度参与了基于OpenCV的传统视觉算法开发,包括轮 廓提取、几何约束、图像滤波和特征点匹配;同时手写了C++坐标变换器、EKF滤波器和梯度下降等底层数学库,解决了困扰队伍多年的运动建 模难题。
目前我的研究聚焦于具身智能中的视觉感知与策略学习。在RoboPocket项目中,我利用手机AR实现了机器人策略的在线微调,通过边缘计算和 时空同步技术,让用户无需实体机器人就能实时观察并修正机器人行为。此外,我还有Intel RealSense深度相机的应用经验,开发过视觉引导 的跟随与抓取系统。
我熟练掌握C++和Python,熟悉ROS/ROS2、PyTorch和TensorRT等框架。本科期间我也获得了ICPC银奖、CCPC金奖等算法竞赛荣誉,具备扎实的 算法基础。
我对贵司的计算机视觉方向非常感兴趣,希望能将我的视觉算法能力和机器人经验应用到实际产品中。谢谢!
- 请简述经典的特征点检测与描述子(如SIFT, ORB)的原理。它们在视觉SLAM或三维重建中起什么作用?
- SIFT: 先找?尺度空间关键点,然后关键点邻域的梯度分布生成描述子。适合光照变化
- ORB: FAST (圆圈16方向) 做角点检测,再用 BRIEF 做二进制描述子
- 提供观测约束
- 什么是相机的内参和外参?如何通过标定获取它们?
- ok
- 立体视觉如何恢复深度信息?其精度受哪些因素影响?
- 视差。三角测量. 距离,分辨率,标定,同步
- 请描述目标检测任务中Two-stage(如Faster R-CNN)和One-stage(如YOLO)方法的区别和各自优势。
- two stage: 先生成候选框 (?RPN 方法)
- 多目标跟踪(MOT)的主要挑战是什么?常见的跟踪框架是怎样的?
- 身份混乱
- kalman filter 预测
- 为无人机设计一个基于视觉的“跟拍”功能,需要哪些核心的CV算法模块?简述其工作流程。 ◦ 追问:在跟拍过程中,如果目标被短暂遮挡(如经过一棵树),跟踪器应该如何设计才能实现稳定、不跟丢?
- 你了解深度学习模型压缩和加速的技术吗?(如剪枝、量化、知识蒸馏)
- 删小权重 ; 加 L1 让权重变小 ; 门控
- 如何构建和清洗一个用于训练无人机视觉任务的数据集?有什么特别需要注意的地方?
- 统一规范,比如遮挡目标
- 注意类别太少的,目标小的,图像太接近的
- 当CV算法在仿真环境中表现良好,但在真实场景中性能下降时,可能的原因有哪些?如何解决?
- 纹理,物理,传感器,太完美,多样性,延迟
- 你认为在无人机和机器人领域,未来几年计算机视觉最有价值的研究和应用方向是什么?
面试官介绍业务:阿里本地生活,底层通用cv能力团队,赋能下游各个业务方,图像AIGC生成加工,图像理解,多模态,b端给商家做图像工具,生图,c端做图文生成,广告营销图像生成
自我介绍
? YoloV12
- 加入 attention
- ? 通常用transformer模型就大了。yolov12如何保持轻量且需要数据集不太大?
- 没有 VIT,不是全局注意力,用了 Area attention(区域内部 attn)
- 降低 MLP ratio (in -> hidden -> out 这里的 hidden / in)
- 使用 flash attn
讲一个比较有亮点的项目
- RoboPocket
改进有多少是数据带来的,有多少是模型带来的?
- 都有很多
假如类别数很多的话,还用anchor based方法吗
- 类别数很多则每个位置 anchor 很多
- 可以 query based
除了YOLO系列,transformer模型有了解吗?DETR(detection transformer)系列与YOLO系列相比有什么优势?
- 就是 query based
- 优势 不需要 anchor & 全局建模 & 一个目标一个预测避免重复框
DINO模型有了解吗?DINO后续也有很多改进?
- 可视化可以 attention map, k-means, patch 相似度
- v2 数据集更强
- v3 数据集更强,加了一个 gram anchoring
除了检测的视觉相关的其它任务你还了解什么?
在做视觉任务时经常用到上采样和下采样,上采样通常用什么来做?插值和转置卷积两种方法有什么差异?有什么经验?插值更快
- 差值,反卷积
- 反卷积可学习(卷积核 W),(双线性)插值更平滑,反卷积容易伪影
其它方向有了解吗?如分割,生成,分类
AIGC原理?扩散模型?局部重绘如何实现,过程?
- 掩码 mask=1
- 对原图 latent 加噪到某个中间步,开始 conditioned 去噪
backbone熟悉哪些?
- cnn: efficientnet (更省参数, ?MBConv ?SE 模块)
- clip, dino, siglip
Transformer 能够直接用encoder去提取特征吗?比如VIT的话还需要结合一个CNN的backbone然后再进行encode-decode这个过程?需要吗?VIT如何结合CNN?为什么要用CNN来提取特征?VIT不用CNN,用patch不就好了?
- transformer encoder 就是层层 encoder block
- 用 CNN 的原因是它对局部结构有更强归纳偏置,比如边缘、纹理、角点这类局部模式,CNN 更容易学到(需要数据更少)
- dec-only 仅用于 lang
1# encoder-decoder2src = embed(ori_tokens) # 原文3memory = encoder(src) # 编码原文4
5tgt = embed(res_tokens) # 已翻译部分6hidden = decoder(tgt, memory) # 看res_tokens + ori_tokens7next_token = head(hidden[:, -1]) # 预测下一个翻译token8
9# decoder-only(把原文和已翻译内容拼一起)10x = concat(11 [SRC] + ori_tokens + [SEP] + res_tokens12)13x = embed(x)14hidden = decoder(x, causal_mask=True) # 只能看前面15next_token = head(hidden[:, -1]) # 预测下一个翻译token场景题:一盘菜。需要打标,表示菜品本身和容器是否完整的,识别商家的图像主体是否是完整的。可以打标完整和不完整,二分类,也可以打标完整度,比较难标