マツダ高精度地図エンジニア面接体験記:SLAM・点群処理・地図構築の完全評価

自動運転著者: BeautyResume チーム

2年のSLAM経験、マツダの3回の技術面接の詳細な振り返り:一次面接はSLAM基礎と特徴抽出、二次面接は点群処理と地図構築、三次面接はプロジェクト深掘りとオンラインマッピング、出題問題まとめとアドバイス付き

背景紹介

私はある自動運転会社で2年間SLAMエンジニアとして働き、主に高精度地図構築と自己位置推定を担当していました。マツダはずっと憧れていた会社です。量産車での高精度地図応用が非常に成熟しており、マツダの技術的雰囲気も良いと評判でした。今年の4月、高精度地図エンジニアの募集を見てすぐに応募しました。

正直なところ、この面接の準備には大きなプレッシャーを感じていました。マツダの高精度地図はオフラインマッピングだけでなく、オンラインマッピングや地図更新も含んでおり、これらは以前あまり触れていない分野でした。3週間近くかけて、SLAM基礎、点群処理、地図構築、オンラインマッピングの知識ポイントをすべて復習し、特にLOAMシリーズ、Cartographer、HD Map構築フローを重点的に学びました。

面接プロセスは3回の技術面接で構成されていました。以下、各ラウンドの詳細を振り返ります。

面接プロセスの振り返り

一次面接:SLAM基礎+特徴抽出

一次面接は落ち着いた雰囲気のエンジニアで、自己位置推定・マッピングチームの方でした。自己紹介の後、すぐにSLAM基礎の質問が始まりました。

1. SLAMについての理解を教えてください?フロントエンドとバックエンドはそれぞれ何をしますか?

SLAMの核心的な問題は、ロボットの姿勢を推定しながら同時に環境マップを構築することだと答えました。フロントエンドはデータ関連付けを担当し、センサーデータから特徴を抽出しフレーム間の対応関係を構築します。特徴抽出とマッチングが含まれます。バックエンドは状態推定を担当し、フロントエンドの観測制約に基づいて姿勢とマップを最適化します。フィルタリングとグラフ最適化の2つの方法があります。

2. 特徴点法と直接法の長所と短所は?

特徴点法の利点は照度変化にロバストでマッチング精度が高いこと、短所は特徴抽出とマッチングに時間がかかり、低テクスチャ領域で失敗しやすいことだと答えました。直接法の利点は特徴抽出が不要で高速、低テクスチャ領域でも動作すること、短所は照度変化に敏感で、良い初期値が必要で、カメラキャリブレーションの要件が高いことです。

3. LiDAR SLAMの特徴抽出は視覚SLAMとどう違いますか?

LiDAR SLAMの特徴抽出は主に幾何特徴に基づいており、エッジ点や平面点などがあると答えました。LOAMはエッジ点と平面点を抽出してそれぞれマッチングを行い、エッジ点は線特徴に、平面点は面特徴に対応します。視覚SLAMと異なり、LiDAR特徴は記述子を必要とせず、幾何的属性(曲率、法線ベクトル)だけで区別できます。またLiDAR点群の密度は不均一(近くは密、遠くは疎)で、範囲正規化処理が必要です。

4. LOAMのエッジ点と平面点はどう抽出しますか?

LOAMは各スキャンライン上の点に対して曲率を計算すると答えました。曲率の大きい点をエッジ点候補、曲率の小さい点を平面点候補とします。その後非極大値抑制を行い、各局所領域で曲率が最大の点のみをエッジ点、曲率が最小の点のみを平面点として保持します。また遮蔽された点やスキャンラインに平行な点など、信頼性の低い点も除去されます。

5. SLAMにおいてループクロージャ検出はなぜ重要ですか?どのようにやっていますか?

ループクロージャ検出は蓄積ドリフトを除去する鍵だと答えました。ループクロージャ検出がないと、SLAMの軌跡は時間とともにドリフトし続け、マップも不正確になります。私たちはScan Contextベースのループクロージャ検出方法を使用しています。各フレームの点群を2D記述子にエンコードし、記述子マッチングで候補ループを見つけ、ICPで検証します。Scan Contextの利点は回転不変性が良く、計算速度が速いことです。

6. グラフ最適化のロバストカーネル関数には何がありますか?なぜ必要ですか?

ロバストカーネル関数は外れ値を処理するためのものだと答えました。一般的なものにはHuberカーネル、Cauchyカーネル、DCSカーネルなどがあります。ロバストカーネルがないと、1つの外れ値の二乗誤差項が非常に大きくなり、最適化結果に深刻な影響を与えます。Huberカーネルは小さな誤差に対しては二次項を維持し、大きな誤差に対しては一次項に低下させます。Cauchyカーネルはより積極的で、大きな誤差の抑制が強いです。実際にはHuberカーネルを多く使用しています。外れ値を抑制しながらインライアへの影響が小さいからです。

一次面接は約1時間でした。面接官は非常に詳細な質問をし、特にLOAMの特徴抽出について。幸い以前LOAMのコードを手書きしたことがあったので、比較的スムーズに答えられました。

二次面接:点群処理+地図構築

二次面接はシニアエンジニアで、最初から点群処理と地図構築について質問されました。

1. 点群レジストレーションの方法には何がありますか?ICPの原理と変種は?

点群レジストレーションは粗レジストレーションと精密レジストレーションに分けられると答えました。粗レジストレーションは特徴マッチングやランダムサンプリング(RANSAC、FGRなど)で初期変換を取得します。精密レジストレーションの古典的な方法はICPです。ICPの原理は最近点探索と変換推定を交互に行い収束するまで続けることです。ICPの変種にはPoint-to-Plane ICP(点対点距離の代わりに点対面距離を使用、収束が速い)、Generalized ICP(点対点と点対面を組み合わせ)、NDT(正規分布変換で点群を表現し確率レジストレーション)などがあります。

2. 大規模点群マップはどう管理しますか?

ブロック管理戦略を使用していると答えました。大マップを複数のサブマップに分割し、各サブマップを独立して最適化し、グローバルでグラフ最適化を行います。ストレージでは八分木やKD木で空間インデックスを作成し、クエリ時には現在の領域付近のサブマップのみをロードします。また点群にはボクセルフィルタリングによるダウンサンプリングを行い、ストレージと計算量を削減します。

3. 高精度地図にはどの要素が含まれますか?構築フローはどうなっていますか?

高精度地図には主に車線、道路境界、交通標識、信号機、路面標示などの意味要素と、道路の幾何情報(曲率、勾配、標高)が含まれると答えました。構築フローは:まず複数回の点群と画像データを収集し、点群レジストレーションと融合でグローバル点群マップを生成し、点群から意味要素を抽出し、最後に人工品質検査と修正を行います。

4. 車線抽出はどうやりますか?

車線抽出には2つのアプローチがあると答えました:点群からの抽出(まず地面分割、その後地面点群でクラスタリングとフィッティング)と画像からの抽出(意味分割ネットワークで車線ピクセルを検出し、カメラキャリブレーションに基づいて3D空間に投影)。実際には融合アプローチを使用しています。画像検出が意味情報を提供し、点群が正確な幾何情報を提供し、両者を融合して高品質な車線を得ます。

5. マップの精度はどう保証しますか?

精度保証は主に3つの側面に依存すると答えました:第一に、収集時に高精度IMU+RTK GNSSを使用して軌跡精度を保証すること。第二に、複数回のデータ融合で単一回のランダム誤差を除去すること。第三に、後処理でグローバルグラフ最適化を行い蓄積ドリフトを除去すること。最終的なマップの絶対精度は10cm以内、相対精度は5cm以内に達しています。

6. マップ更新の頻度はどう決めますか?マップの変化はどう検出しますか?

マップ更新頻度は道路変化の頻度と自動運転システムのマップ適時性の要件に依存すると答えました。現在は四半期更新ですが、主要エリアは月次更新を行っています。変化検出は主に新規収集データと既存マップの比較に依存し、差異が閾値を超えた場合、変化領域としてマークします。具体的な方法は、新しい点群とマップをレジストレーションし、差異点群を計算し、クラスタ分析で実際の変化かノイズかを判断します。

二次面接は約1時間10分でした。面接官は地図構築のフローについて非常に詳細な質問をし、特に車線抽出とマップ更新について。答えはまずまずでしたが、いくつかの詳細には確信がありませんでした。

三次面接:プロジェクト深掘り+オンラインマッピング

三次面接はマッピングチームのテックリードで、とても話しやすい方で、面接は技術討論のようでした。

まず最も複雑なプロジェクトについて話すよう求められ、市街地道路での高精度地図構築プロジェクトについて説明しました。その後、深掘りが始まりました:

1. マッピングプロセスで直面した最大の課題は何ですか?

最大の課題は動的障害物の処理だと答えました。市街地道路には多数の車両と歩行者がおり、これらの動的物体が点群マップを汚染し、マップ品質を低下させます。私たちの解決策は、点群レジストレーションの前に動的物体除去を行うことです。3D検出モデルで車両と歩行者を識別し、対応する点群を除去してからレジストレーションを行います。しかし、この方法は完璧ではなく、遠くの小さな物体は検出できず、ノイズが残ることがあります。

2. オンラインマッピングとオフラインマッピングの違いは?オンラインマッピングの特別な課題は?

オフラインマッピングはデータ収集後にオフィスで処理し、グローバル最適化や複数回融合で精度を保証すると答えました。オンラインマッピングは車載でリアルタイムに局所マップを構築し、計算リソースが限られており、グローバル最適化はできず、局所スライディングウィンドウ最適化のみ可能です。オンラインマッピングの特別な課題は3つあります:第一に計算制約で、限られた時間内に完了する必要があること。第二に高遅延要件で、マップがリアルタイムで利用可能でなければならないこと。第三にグローバル情報がないため、局所マップにドリフトが生じる可能性があることです。

3. オンラインマッピングの車載展開はどうやりますか?

軽量SLAMソリューションを使用していると答えました。フロントエンドは特徴点法(計算量削減)、バックエンドはスライディングウィンドウ最適化(最適化変数の数を制御)、ループクロージャ検出は軽量なScan Contextを使用しています。SLAMモジュール全体はOrinプラットフォームで30Hzで動作します。マップ出力は局所BEVマップで、範囲は約200m×200m、車線、道路境界などの要素を含みます。

4. オンラインマッピングとオフラインマップはどう連携しますか?

オンラインマッピングはオフラインマップの補完だと答えました。通常、車両はオフライン高精度地図を使用してナビゲーションします。マップと実際の環境の不一致が検出された場合(道路工事、一時封鎖など)、オンラインマッピングがリアルタイムで局所マップを構築し、オフラインマップの対応領域を上書きします。オフラインマップが更新されたら、オフラインマップに切り替えます。このアプローチの利点は、オフラインマップの高精度とオンラインマッピングのリアルタイム性の両方を持つことです。

5. 高精度地図の将来の発展方向は何だと思いますか?

2つの方向があると思いますと答えました:第一に、静的マップから動的マップへ。道路の静的構造だけでなく、リアルタイムの交通状態(渋滞、事故など)も含むこと。第二に、手動制作から自動制作へ。現在、高精度地図の制作には大量の手作業が必要ですが、将来的にはAIで手作業を大幅に削減したいと考えています。また、BEV知覚の発展に伴い、一部の企業はリアルタイム知覚で高精度地図を代替する「マップレス」アプローチを探求し始めていますが、L4レベルでは高精度地図は依然として必要だと考えています。

三次面接は1時間以上でした。面接官はオンラインマッピングに特に興味があり、車載展開の詳細について多くの質問をしました。最後に質問があるか聞かれ、マツダのオンラインマッピングにおける最新の進捗について尋ねると、NeRFマッピングと意味SLAMに関するいくつかの取り組みについて話してくれました。とても興味深い内容でした。

出題問題まとめ

SLAM基礎:

1. SLAMのフロントエンドとバックエンドはそれぞれ何をしますか?

2. 特徴点法と直接法の長所と短所?

3. LiDAR SLAMと視覚SLAMの特徴抽出の違い?

4. LOAMのエッジ点と平面点の抽出方法?

5. ループクロージャ検出の重要性と実装方法?

6. グラフ最適化のロバストカーネル関数?

点群処理:

7. 点群レジストレーション方法とICPの原理及び変種?

8. 大規模点群マップの管理戦略?

地図構築:

9. 高精度地図の要素と構築フロー?

10. 車線抽出の方法?

11. マップ精度の保証方法?

12. マップ更新頻度と変化検出?

オンラインマッピング:

13. 動的障害物がマッピングに与える影響と処理?

14. オンラインマッピングとオフラインマッピングの違いと課題?

15. オンラインマッピングの車載展開ソリューション?

16. オンラインマッピングとオフラインマップの連携?

17. 高精度地図の将来の発展方向?

アドバイス

1. SLAMの基礎をしっかり固める:特徴抽出、状態推定、ループクロージャ検出、グラフ最適化などの核心概念を明確に説明できなければなりません。面接官は基礎概念から徐々に深掘りします。

2. 点群処理が重要:ICPとその変種、点群フィルタリング、動的物体除去は頻出トピックです。古典的な論文とコードを確認してください。

3. 高精度地図の完全なフローを理解する:データ収集からマップ公開まで、各ステップを明確に理解し、特に車線抽出やマップ更新などの実際の工学的問題に注意してください。

4. オンラインマッピングはボーナス:オンラインマッピングの課題と車載展開ソリューションを明確に説明できれば、面接官は非常に興味を持ちます。これは現在の業界のホットトピックだからです。

5. 業界のトレンドをフォローする:マップレスvsマップありの議論、NeRFマッピング、意味SLAMなどの最先端の方向性について、自分の考えを持ってください。

6. 準備期間は3週間を推奨:2年程度のSLAM/マッピング経験があれば、3週間の集中的な準備で十分です。SLAM基礎、点群処理、地図構築の3つの方向を重点的に復習してください。

FAQ

Q:マツダの高精度地図ポジションの面接難易度は?

A:全体として中程度からやや上です。一次は基礎重視、二次は工学的実践、三次はシステム設計と最先端の思考に焦点を当てています。SLAMの基礎とマッピングプロジェクトの経験があれば、対応できるはずです。

Q:面接官のスタイルは?

A:3人の面接官はすべて専門的でした。一次は厳格、二次は実践的、三次は技術討論に近いスタイルでした。全体的な雰囲気は良く、故意に困らせることはありませんでした。

Q:SLAMコードを手書きする必要がありますか?

A:手書きコードは求められませんでしたが、コード実装の詳細は聞かれました。ICPの反復プロセスやグラフ最適化のH行列の構築など。主要アルゴリズムの疑似コードを書けるようにしておくことをお勧めします。

Q:給与はどのくらいですか?

A:高精度地図エンジニアのベース給与は約500-750万円の範囲で、マツダには株式もあり、全体のパッケージは悪くありません。

Q:面接結果はどのくらいで出ますか?

A:一次面接後5日で二次面接の通知、二次面接後4日で三次面接の通知、三次面接後1週間でオファーを受け取りました。

#自動運転#HD Mapping#SLAM#点群処理#在线建图#Interview Experience