與你的要求的所有部件在理論上是可能的,但一)幾個部分,沒有集成API爲你做的事情,和b)你可能會簽署了自己的more difficult problem than you think。
大概你的核心ML整合是一個圖像分類器,因爲這是大多數容易找到的ML模型。圖像分類回答一個問題:「這是什麼的照片嗎?」
你在找什麼涉及至少兩個額外的問題:
- 「鑑於這一形象已經被列爲含(一些特定對象),其中2D圖像在是對象?」
- ‘鑑於2D影像,它在哪裏通過ARKit跟蹤的3D空間中檢測到的對象的位置?’
問題1非常合理。有ML模型可以在ML社區中進行分類和檢測(圖像中的位置/邊界)。最有名的可能是YOLO - here’s a blog post about using it with Core ML。
問題2是「研究團隊和五年」的一部分。在YOLO的論文中您會注意到,它只會爲檢測到的對象提供粗糙的邊界框 - 也就是說,它在2D圖像空間中工作,而不是進行3D場景重建。
要真正瞭解物體的形狀,甚至是物體的3D邊界框,意味着將物體檢測與場景重建相結合。例如,如果一個物體在二維圖像中具有一定的高度,您是否正在查看一個高度較小,面積較小或長而低的三維物體,並退回距離?這種整合需要拆分ARKit的內部工作,蘋果公司以外的任何人都無法做到,或者從頭開始重新創建ARKit。儘管如此,可能會有一些假設可以從2D邊界框中獲得對3D形狀的非常粗略的估計。例如,如果您在盒子的下角進行AR打擊測試並發現它們位於水平面上,則可以猜測盒子的2D高度與對象的3D高度成比例,並且它的飛機上的佔地面積與箱子的寬度成正比。你必須做一些研究和測試,看看是否會出現這樣的假設,特別是在你的應用覆蓋的任何用例中。