Slide 1

Slide 1 text

LiDARが変えたARの距離感 株式会社ZOZO
 グローバルプロダクト開発本部
 ZOZOFIT開発部 
 渡邊 魁優 Copyright © ZOZO, Inc. 1

Slide 2

Slide 2 text

© ZOZO, Inc. 株式会社ZOZO ZOZOFIT開発部 iOSエンジニア 渡邊 魁優 2024年 4月 株式会社ZOZO入社 同年 5月 計測プラットフォーム開発本部に配属 2026年 1月 グローバルプロダクト開発本部に配属 ZOZOFITの開発に携わっています! 今日は大阪から来ました! 2

Slide 3

Slide 3 text

© ZOZO, Inc. 3 計測 ● カメラを使って物の長さやサイズを測ることがで きるアプリ ● iPhoneに元から入っているアプリ ● iPhone12以降のProシリーズとそれ以外とでは、 少し違いがある

Slide 4

Slide 4 text

© ZOZO, Inc. 4 iPhone 14 の場合 ● 計測前に様々な角度から物体をキャプチャす る儀式が必要

Slide 5

Slide 5 text

© ZOZO, Inc. 5 iPhone 15 Pro の場合 ● 起動後すぐに計測可能

Slide 6

Slide 6 text

© ZOZO, Inc. 6 これらの違いの理由 iPhone 14 の場合 LiDARが搭載されていない Visual-Inertial Odometryと呼ばれる技術を用いて二次元画像から計測している。 -> 距離や高さを測るために物体をあらゆる角度からキャプチャする必要がある https://developer.apple.com/documentation/arkit/managing-session-life-cycle-and-tracking-quality iPhone 15 Pro の場合 LiDARスキャナを用いて周囲の物体や空間への距離を素早く測定 -> 実測なためすぐに計測可能 https://developer.apple.com/documentation/ARKit/visualizing-and-interacting-with-a-reconstructed-scene

Slide 7

Slide 7 text

© ZOZO, Inc. 7 LiDAR関連のAPIについて Depth LiDAR由来の Depthを取得可能 Confidence 取得したDepth データがどれだけ 信用できるか

Slide 8

Slide 8 text

© ZOZO, Inc. 8 Depth API let config = ARWorldTrackingConfiguration() config.frameSemantics.insert(.sceneDepth) arView.session.run(config, options: [.resetTracking]) これでLiDARを有効にし、下のようにARFrameのsceneDepthからDepthデータが取得可能。 guard let depthMap = frame.sceneDepth?.depthMap else { return }

Slide 9

Slide 9 text

© ZOZO, Inc. 9 Depth API ● 近づいたり離れたりすると、取得している距離 が変化している

Slide 10

Slide 10 text

© ZOZO, Inc. 10 Confidence API こちらもARFrameのsceneDepthから、High, Medium, Lowの3段階で信頼度が取得可能。 guard let confidenceMap = frame.sceneDepth?.confidenceMap else { return }

Slide 11

Slide 11 text

© ZOZO, Inc. 11 Confidence API ● 鏡ではConfidenceがLowになっている

Slide 12

Slide 12 text

No content