連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ by 本山 要

JJUG CCC 2022 Spring
採択
2022/06/19 16:00〜
Track C (#jjug_ccc_c)
Sponsor Session (Video:40min + Live:10min)
Intermediate Architecture Youtube公開予定 メディア取材可 BeginnerSpeaker

連続画像処理による位置情報計算を支えるマイクロサービスアーキテクチャ

kanamexx_ 本山 要 kanamexx_
3

プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: BeginnerSpeaker
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Spring / Cloud / JVM / DevOps / Tools / Method / Community / Database / Others]: Others
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes
メディア取材可否 / Can you respond to the interview? [Yes or No]: Yes

概要 / Abstract:
本セッションではマイクロサービスアーキテクチャの実装事例をご紹介します。テーマは連続画像の非同期型リアルタイム処理です。
ざっくりといえばカメラを搭載したお掃除ロボットをイメージして下さい。お掃除ロボットは自動で部屋を動き回り掃除してくれる代物ですが、壁や家具にぶつかることがありますよね。「画像処理を組み入れることで壁にぶつからないル●バを実現する」というのが今回の骨子です。

ロボットが部屋の風景を高頻度にカメラで撮影してサーバーに送信します。サーバーは受信した画像をイイ感じに捌いて、現在の位置情報を計算してロボットに障害物を回避するよう指示を出します。
将来の機能拡張やスケールアウトを考慮し、マイクロサービスアーキテクチャーを採用しました。
実装では画像処理のような重い処理をほぼリアルタイムにこなすための工夫をいくつも凝らしています。
今回のプロジェクトで得られたノウハウの一部を共有します。