自動駕駛/機器人 SLAM算法 面經1
歡迎關注公眾號:內推君SIR,加微信:neituijunsir 加入自動駕駛交流群
Case 1
一面
項目相關
1、簡歷中的項目相關問題,項目是三維重建相關的,深度學習的深度估計
2、具體細節(jié)上,網(wǎng)絡結構、loss設計、數(shù)據(jù)、訓練泛化效果
3、非公共區(qū)域如何處理、精度如何保證
基礎:
1、非線性優(yōu)化
2、視覺slam基礎
場景題:
1、只有相機的情況下,采用深度學習的方案,如何實現(xiàn)高精度、強泛化的模型效果
2、cnn,不做三維了,做其他方向,怎么準備
二面
簡歷中的項目相關問題
基礎:
三維相關:
1、雙目立體匹配,哪些方案
2、sgbm,全稱,g是如何實現(xiàn)的,什么算法原理
3、kinectfusion等等開源三維重建框架,有沒有玩過,看過
深度學習相關:
1、cnn 基礎架構哪些,cnn總體可以分為哪兩類任務
2、l1 l2 loss 優(yōu)缺點、原因、l1 l2正則化,優(yōu)點,原因,如何在pytorch代碼里面實現(xiàn)
3、交叉熵loss,代碼,二分類問題
4、多l(xiāng)oss加和,如何實現(xiàn)自適應權重調節(jié)
5、transformer
6、目前的模型是在什么上面跑的,tensorRT搞沒搞過,有沒有用c++載入過模型,模型太大怎么辦,網(wǎng)絡結構怎么調
7、輕量級網(wǎng)絡架構哪些,mobilenet知不知道
slam相關:
1、E矩陣 F矩陣,全稱,至少需要幾對點來計算,自由度、矩陣的秩
2、什么情況下無法正確計算E矩陣,為什么
3、ransac,ransac特殊形式
4、pnp問題,至少需要幾對點,為什么很少的點就可以計算了,還需要那么多匹配對
5、orbslam相關,orbslam流程,fast關鍵點、brief描述子、旋轉不變性、怎么實現(xiàn)三角化
6、5的1/3次方怎么算,只有加減乘除
7、非線性優(yōu)化、牛頓法、高斯牛頓法、區(qū)別,各是幾階的,本質區(qū)別
Case 2
一面
1、簡歷中的項目相關問題,項目思想,展開討論
2、選一個最熟悉的開源框架講講
3、當你寫B(tài)A的時候, 如果發(fā)現(xiàn)問題,你一般怎么debug
4、ORBSLAM還有什么改進的空間除了回環(huán)檢測之外,orbslam怎么消除累計誤差
二面
1、項目中的code
2、講一下lamda函數(shù)
3、虛函數(shù)表
4、兩道代碼題,一道是用類來實現(xiàn)一個計時器。另一道是動態(tài)規(guī)劃題。
5、根據(jù)編程中的知識點問一些問題,類的生存周期,類的內存儲存在哪?
Case 3
1、自我介紹
2、寫一個梯度下降法求解a^2=b的算法題
3、簡歷中的項目相關問題,尤其探討了深度學習相關的知識在檢測和分割領域的應用
4、ORB-SLAM2單目的初始化,VINS-MONO的初始化。主要涉及到一些基礎知識的問答
Case 4
1、詳細講一下cartographer的流程?
2、在無人機上跑的時候計算平臺是什么樣的,carto在上面跑的時候的資源占用
3、你的3DSLAM主要用在什么上面?
4、在無人機上做和在車上做有什么區(qū)別?
5、簡歷上說熟悉loam,lego-loam,說說loam和lego-loam的區(qū)別
6、兩步L-M和loam的一步有什么區(qū)別?
7、你說lego-loam回環(huán)比較簡單,你有了解過什么更好的嗎?
8、IMU和激光融合做的算法有沒有了解
9、IMU和激光雷達緊耦合的開源項目有沒有了解?
10、IMU預積分有沒有了解
11、激光雷達怎么判斷適合你的使用的,即選型,你會看那些參數(shù)?
12、假如讓你用EKF做IMU和激光雷達的融合怎么做?
13、簡歷上說熟悉非線性優(yōu)化G-N/L-M,平時主要用那種
14、調的庫還是自己寫的?
15、L-M跟G-N有什么區(qū)別?
16、看你也有用ceres庫,huber是怎么設置的?
17、說說項目,EKF怎么調參的,調完有什么感想、心得
Case 5
一面
1、簡歷中的項目相關問題
2、光流原理
3、矩陣求逆的復雜度?矩陣分解有哪些方法,復雜度是多少?工程上哪種方法最通用,為什么?
4、H和F矩陣的自由度。
5、IMU預積分了解嗎?
6、MLE和MAP的關系。
二面
1、三道代碼題,hashmap,動態(tài)規(guī)劃相關。
2、C++11如何有效防止內存泄露
3、智能指針,weak_ptr講一下
4、array和數(shù)組有什么區(qū)別?
5、C++如何高效管理動態(tài)內存(關于這個問題我真的很迷)
三面
1、簡歷中的項目相關問題。
2、opencv、eigen、PCL庫了解嗎?PCL庫里bug挺多,你說說有哪些bug。
3、ORBSLAM的代碼有哪些需要改進的地方?
4、BA中,海塞矩陣的求逆有哪些可以加速的方法,除了邊緣化和GPU,有哪些數(shù)值計算的方式能夠加速?
5、ceres庫的自動求解雅克比的原理?
6、ROS中,node屬于多進程,如何把兩個node放在一個進程中?
Case 6
一面
1、長廊問題怎么辦?
2、為什要選用yolo這個模型?
3、動態(tài)SLAM的思路?與基礎矩陣分割相比有什么區(qū)別?什么是三角剖分?與深度學習方法相比的優(yōu)勢?
4、霍夫變換的原理?單應矩陣為什么只有8個自由度?
5、RANSAC
6、ORBSLAM的初始化步驟
7、怎么用H的稀疏性加速?
8、滑動窗口中的邊緣化?
9、R的性質,李群
二面
1、純代碼面,手撕兩道編程題。記得其中一道與flood fill類似。
2、git的基本原理以及相關操作
3、還有一些C++基本知識
三面
1、PnP求解最少需要幾個點?(4個,3個求解,1個驗證)只有一個點的自由度是多少?兩個點呢?
2、二維碼恢復相對位置,六個自由度,哪個自由度上對噪聲比較敏感?
3、怎么用EKF融合多傳感器信息?
4、單目視覺如何測量深度?
5、相機內參K的單位。
6、如何通過光流一致性剔除動態(tài)物體?
Case 7
一面
1、簡歷中的項目相關問題,多傳感器融合了解嗎?
2、跑過哪些開源算法,是否做過對比,各有什么優(yōu)劣?
3、對于光照明暗變化、動態(tài)場景,視覺SLAM如何去解決?
4、視覺SLAM的行業(yè)應用有哪些,闡述一下語義SLAM的未來應用優(yōu)勢與劣勢?
二面
1、做了哪些項目,問得非常細,會摳項目的細節(jié)問。
2、你做的項目未來還有什么改進點?
3、一道編程題,位運算相關。
Case 8
一面
1、簡歷中的項目相關問題
2、ORBSLAM的哪個部分最耗時?后端H矩陣求解的算法復雜度是多少?如何去加速后端求解?
3、如何求解線性方程Ax=b?SVD和QR分解哪個更快?
二面
1、ORBSLAM怎么克服尺度漂移問題?回環(huán)原理講一下,要估計哪些量?
2、做了一道題,嵌入式編程相關,設計位運算。
3、嵌入式方面,DRAM和SRAM的區(qū)別,速度差多少?
4、因為項目用了TX2,問到TX2有哪些模塊?
自動駕駛/機器人? 招聘? 城市:北京/ 上海/廣州/ 深圳/ 杭州/ 南京/ 蘇州 /成都/ 武漢/長沙 /寧波/合肥/重慶