WWDC23 Meet Object Capture for iOS

更新於 發佈於 閱讀時間約 9 分鐘
New Zealand - Greenpoint Ship Graveyard

New Zealand - Greenpoint Ship Graveyard

觀看 WWDC23 Meet Object Capture for iOS 筆記

Object Capture recap


先拍攝各種角度的照片,再透過 Mac 的 Object Capture API,經過幾分鐘轉換,最後變成 3D 模型

raw-image


然而現在可以直接透過 iPhone 直接做到這些事情

raw-image
raw-image
raw-image


但需要花到好幾分鐘的時間,上面的範例預計就要15分鐘才生成,最後產出 USDZ 格式的模型。

Sample code →  Scanning objects using Object Capture

另外也可參考 WWDC 24 Discover area mode for Object Capture


More objects with LiDAR


原本的 Object Capture 系統在面對足夠紋理細節的物體,表現最佳

raw-image


但在 23 年 Apple 也進一步升級,使用了 LiDAR 掃瞄器,對一些紋理不足的物體進行重構,所以更好掃描了。

raw-image


Challenging objects

避免表面反光、透明或包含纖細結構的物體進行建模

  • Reflective
  • Transparent
  • Too-thin structures


Guided capture


Apple 建議盡可能用多種角度拍攝圖像


Automatic capture

raw-image

提供一個刻度圓盤來輔助拍攝


Capture feedback

  • Light

拍攝前確保環境有良好的照明,以便獲得準確的顏色,太暗會跳出提醒

raw-image


  • Speed

要緩慢而流暢繞物體移動,保持穩定,防止出現模糊的影像,過快的移動也會有提醒

raw-image


  • Distance

保持適當的距離,使物體在取景匡內的位置恰到好處,太近或太遠也會提醒

raw-image


  • Field of view

固定好機位,假如移動到視窗太遠的地方也會被提醒

raw-image



Flipping objects

適合翻轉:

  • 翻轉不宜變形,例如石頭
  • 紋理豐富的物體也推薦進行翻轉

不適合翻轉:

  • 容易因為移動而變形,像是 Pizza 就不那麼適合了
  • 有對稱或重複紋理的物體,這樣可能對系統產生誤導
  • 此外無紋理的物體在 Object Capture 系統中難以實現,因為通常都需要足夠的紋理,來縫合不同區塊
raw-image


Flippable

Apple 也有提供 API 來確保物體是否有足夠的紋理支持翻轉拍攝

  • 3 orientations: 推薦三種方向進行掃描,以便獲取各種角度的圖像
  • Diffuse lights: 最好使用漫射光進行照明,以最大程度減少物體表面的反光及陰影
  • Visual overlap: 在多輪掃描中使影像重疊也很重要,所以當次與下次的掃描,某些影像應該要重複重疊

Non-flippable

  • 3 heights: 若物體真的不能翻轉,Apple 建議從三種不同高度進行拍攝,以獲取不同角度
  • Textured background: 拍攝無紋理物體時,建議使用有紋理的背景,使主體顯得突出

Supported devices on iOS

  • iPhone 12 Pro and laster with LiDAR sensor
  • iPad Pro 2021 and later with LiDAR sensor


iOS API


raw-image

從剛剛的 demo 得知,我們使用 Object Capture 有兩個步驟

  1. 影像捕捉
  2. 模型重建

Image Capture API

影像捕捉 API 分為兩部分

  • ObjectCaptureSession
    在捕獲的過程中觀察和控制狀態工作流
  • ObjectCaptureView (SwiftUI)
    展示拍攝素材,並基於 session 狀態,自動調整它所呈現的 UI 元素
    而使用 ObjectCaptureView,它是不帶任何 2D 文本或按鍵,讓我們可以自定義 View 的外觀,並更輕鬆整合到現有的 App 中


Object Capture states

raw-image
raw-image

因為他是 reference type,推薦將 session 以持久狀態存儲在基於真實數據模型中,直到 session 完成。


raw-image

透過 ObjectCaptrueSession.start(imageDirectory:configuration:) ,先決定將捕捉的圖像儲存在何處,或透過 ObjectCaptureSession.Confoguration.checkpointDirectory 來檢查目錄

raw-image

再來使用 ZStack 包著 ObjectCaptureView(session:) 並把剛剛準備的 session 傳入就可以使用了,而且他附帶著對準的輔助視窗,輔助我們將物體放置框框內


raw-image

我們可以透過 session.state 來判斷是否到 .ready 的狀態,是的話可以呈現一顆按鈕,來提供開始掃描物體的功能(使用 session.startDetecting() )

raw-image


在 demo 中,還有一個 Reset button,可以讓我們從狀態 Detecting 返回 Ready

raw-image


raw-image

假如狀態切到 .detecting ,表示我們偵測到物體,此時我們就可以開始拍攝(使用 session.startCapturing()


raw-image

為了讓掃描得更準,Apple 推薦進行三輪掃描

所以接下來有兩條路可以走

第一,取決是否要翻轉物體,這樣就可以拍攝到前次沒拍到的部分,例如物體底部,此狀況可以 call beginNewScanPassAfterFlip()

raw-image


第二,不想要翻轉拍攝物體,但可以選擇不同的高度拍攝,這時可以 call beginNewScanPass() ,這時會重置捕捉刻度盤,但 session 會處於拍攝狀態

raw-image


raw-image

再來,三輪拍攝都結束後,會觸發 session.userCompletedScanPass 可以出現按鈕讓 user 呼叫 session.finish()


raw-image

然後 session 會等待數據進行存儲,存完後就會自動移至 Completed


raw-image

但也有可能遇到儲存失敗,此時就需要重新生成 session

Point Cloud view

raw-image

透過 ObjectCapturePointCloudView(session:) ,可以展示剛剛拍攝的物體,而且點擊互動,進行各種角度預覽。


最後拍攝完建立模型

raw-image

細節可以參考 WWDC 21 Create 3D models with Object Capture


Detail level on iOS

raw-image

為了讓手機端可以生成模型和預覽優化,所以在 iOS 上支持簡化這一細節等級,重建的模型包含漫反射、環境光遮蔽和髮線的紋路映射,均為異動設備顯示而設計


假如產生更多細節紋路,還是要把圖像傳到 Mac 上建立

也可以透過 Mac 再加入拍攝細節

raw-image

其他細節要參考 WWDC 23 Meet Reality Composer Pro

甚至有可能不需要寫任何 code,因為 Object Capture 已經整合到了新 macOS App,就是 Reality Composer Pro


Reconstruction enhancements


Increased performance on Mac: 目前已大大提升 Mac 上模型質量和重建速度

Estimated processing time: 還提供預計重建時間

Pose output: 位姿輸出,可以要求每幅圖像的高質量位姿,每項位姿都包含了拍攝該圖片時預計的相機位置和朝向

raw-image
raw-image


Custom detail level: 自定義細節等級

raw-image


參考


https://developer.apple.com/videos/play/wwdc2023/10191/

留言
avatar-img
留言分享你的想法!
avatar-img
CHENGYANG的沙龍
0會員
7內容數
CHENGYANG的沙龍的其他內容
2025/01/09
觀看 WWDC23 Write Swift macros 筆記 Overview Apple 一開始提出一個範例,把計算的過程顯示成字串,用一個 tuple 組合起來,但這種方式很明顯,有個大缺點,就是容易有人為疏失,導致錯誤發生,還無法用 compiler 檢查字串是否相等於左邊的算數。
Thumbnail
2025/01/09
觀看 WWDC23 Write Swift macros 筆記 Overview Apple 一開始提出一個範例,把計算的過程顯示成字串,用一個 tuple 組合起來,但這種方式很明顯,有個大缺點,就是容易有人為疏失,導致錯誤發生,還無法用 compiler 檢查字串是否相等於左邊的算數。
Thumbnail
2024/12/08
前言 常在寫 leet code 的朋友應該都知道,除了解出題目很重要,還有時間複雜度以及空間複雜度的問題,若能更理解時間複雜度,然後優化解法,就可以讓寫程式的基本底子更上一層樓,以下簡單介紹常見的時間複雜度以及演算法。 除了時間複雜度,也會順便簡單說明相關東西,如下: 相關演算法
Thumbnail
2024/12/08
前言 常在寫 leet code 的朋友應該都知道,除了解出題目很重要,還有時間複雜度以及空間複雜度的問題,若能更理解時間複雜度,然後優化解法,就可以讓寫程式的基本底子更上一層樓,以下簡單介紹常見的時間複雜度以及演算法。 除了時間複雜度,也會順便簡單說明相關東西,如下: 相關演算法
Thumbnail
2024/11/10
Why macros? 最早能從一些 protocol 發現這個特性(Derived protocol conformance),例如 Codable 這樣就可以避免寫重複樣版的程式碼 其實目前在 Swift 中已經有大量的例子,我們開發者只需要寫一些簡單的語法,編譯器就會自動生成一段複
Thumbnail
2024/11/10
Why macros? 最早能從一些 protocol 發現這個特性(Derived protocol conformance),例如 Codable 這樣就可以避免寫重複樣版的程式碼 其實目前在 Swift 中已經有大量的例子,我們開發者只需要寫一些簡單的語法,編譯器就會自動生成一段複
Thumbnail
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
本文作者:Hamburger 蘋果一年會有兩場大的發表會,一場是 6 月舉辦的開發者大會 (WWDC),是軟體更新的發表會,而 9 月舉辦的 Apple Event 則是硬體發表會,發表果粉期待的新硬體產品。早期會有一些硬體產品可能跟不上 9 月發表會的時程,因此會在 10 / 11
Thumbnail
本文作者:Hamburger 蘋果一年會有兩場大的發表會,一場是 6 月舉辦的開發者大會 (WWDC),是軟體更新的發表會,而 9 月舉辦的 Apple Event 則是硬體發表會,發表果粉期待的新硬體產品。早期會有一些硬體產品可能跟不上 9 月發表會的時程,因此會在 10 / 11
Thumbnail
蘋果已於 WWDC 大會中推出了其 AI 技術 Apple Intelligence,新功能預計會在 9 月 iPhone 16 系列發售後一同推出,不過初期 Apple Intelligence 僅支援美式英語,且僅為 Beta 版。但即便如此,大摩仍看好 Apple Intelligence
Thumbnail
蘋果已於 WWDC 大會中推出了其 AI 技術 Apple Intelligence,新功能預計會在 9 月 iPhone 16 系列發售後一同推出,不過初期 Apple Intelligence 僅支援美式英語,且僅為 Beta 版。但即便如此,大摩仍看好 Apple Intelligence
Thumbnail
本文介紹了 Apple WWDC 2024 發佈會的新應用與技術,包括 AI 相機功能、供應鏈影響和6月FOMC點陣圖解析,並分析了對市場的影響以及結論。文章涉及的主要英文關鍵字有:WWDC 2024, Apple, AI camera, supply chain, FOMC.
Thumbnail
本文介紹了 Apple WWDC 2024 發佈會的新應用與技術,包括 AI 相機功能、供應鏈影響和6月FOMC點陣圖解析,並分析了對市場的影響以及結論。文章涉及的主要英文關鍵字有:WWDC 2024, Apple, AI camera, supply chain, FOMC.
Thumbnail
观看了苹果的WWDC 2024发布会,在视频的1小时06分18秒处,苹果公司介绍了他们最新的人工智能技术——Apple Intelligence。虽然我还没有体验过这项技术,但从视频中展示的内容来看,这无疑是一项值得人们深深忧虑的技术。
Thumbnail
观看了苹果的WWDC 2024发布会,在视频的1小时06分18秒处,苹果公司介绍了他们最新的人工智能技术——Apple Intelligence。虽然我还没有体验过这项技术,但从视频中展示的内容来看,这无疑是一项值得人们深深忧虑的技术。
Thumbnail
蘋果WWDC發布會在每一年都能吸引全球的目光。今年,在銷量不及預期的背景下,這場科技盛宴再次拉開帷幕,全球消費者見證iOS 18、iPadOS 18、macOS Sequoia等一系列重磅系統更新的亮相。
Thumbnail
蘋果WWDC發布會在每一年都能吸引全球的目光。今年,在銷量不及預期的背景下,這場科技盛宴再次拉開帷幕,全球消費者見證iOS 18、iPadOS 18、macOS Sequoia等一系列重磅系統更新的亮相。
Thumbnail
Apple在10日舉行的全球開發者大會(WWDC),將最新的「蘋果智慧」(Apple Intelligence)融入包括Siri在內的一系列app,並宣稱將與OpenAI結盟 ,未來將準備與ChatGPT整合,Apple當天股價不漲反跌1.91%,但不少機構分析師對於Apple終將趕上AI浪潮...
Thumbnail
Apple在10日舉行的全球開發者大會(WWDC),將最新的「蘋果智慧」(Apple Intelligence)融入包括Siri在內的一系列app,並宣稱將與OpenAI結盟 ,未來將準備與ChatGPT整合,Apple當天股價不漲反跌1.91%,但不少機構分析師對於Apple終將趕上AI浪潮...
Thumbnail
每年的 Apple 全球開發者大會 (WWDC)都是科技界矚目的盛事,蘋果公司利用這個平台與全球開發者分享最新的軟硬件技術。今年的 WWDC 2024 以「Action packed 猛料全加載」為主題,推出了一系列令人興奮的新功能和升級。讓我們一起來看看今年的重點亮點吧!
Thumbnail
每年的 Apple 全球開發者大會 (WWDC)都是科技界矚目的盛事,蘋果公司利用這個平台與全球開發者分享最新的軟硬件技術。今年的 WWDC 2024 以「Action packed 猛料全加載」為主題,推出了一系列令人興奮的新功能和升級。讓我們一起來看看今年的重點亮點吧!
Thumbnail
華為的2023秋季新品發布會已落下帷幕,這場盛會引起了投資者的高度關注。然而,值得注意的是,本次發布會在某些方面出奇制勝,引起了廣泛的討論。
Thumbnail
華為的2023秋季新品發布會已落下帷幕,這場盛會引起了投資者的高度關注。然而,值得注意的是,本次發布會在某些方面出奇制勝,引起了廣泛的討論。
Thumbnail
標題的年份真的沒打錯(汗) 文章重發OP的同時,藉此重新探討蘋果的產品策略:軟硬體重度整合/銀髮族對應/精品平價化,並一瞥台灣接下來的機會和命運,以及最後的銅鋰鋅惡搞。 持續為下一篇累積能量。
Thumbnail
標題的年份真的沒打錯(汗) 文章重發OP的同時,藉此重新探討蘋果的產品策略:軟硬體重度整合/銀髮族對應/精品平價化,並一瞥台灣接下來的機會和命運,以及最後的銅鋰鋅惡搞。 持續為下一篇累積能量。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News