Toutes les parties de ce que vous demandez sont théoriquement possibles , mais a) pour plusieurs parties, il n'y a pas d'API intégrée pour faire des choses pour vous, et b) vous êtes-vous signer probablement un more difficult problem than you think. Ce que vous avez probablement avec votre intégration Core ML est un classificateur d'image, car c'est ce que font la plupart des modèles ML faciles à trouver. classification d'images répond à une question: « quel est ce une image? »
Qu'est-ce que vous cherchez implique au moins deux questions supplémentaires:
- « Étant donné que cette image a été classé comme contenant (un objet spécifique), où dans l'image en 2D est cet objet? »
- « Compte tenu de la position d'un objet détecté dans l'image vidéo 2D, où est dans l'espace 3D suivis par Arkit? »
La question 1 est assez raisonnable. Il existe des modèles qui effectuent à la fois la classification et la détection (emplacement/limites dans une image) dans la communauté ML. Probablement le plus connu est YOLO - here’s a blog post about using it with Core ML.
La question 2 est la partie «équipe de recherche et cinq ans». Vous remarquerez dans les papiers YOLO qu'il ne vous donne que des boîtes de délimitation grossières pour les objets détectés - c'est-à-dire qu'il fonctionne dans l'espace d'image 2D, et non dans la reconstruction de scène 3D.
Pour vraiment connaître la forme, ou même la délimitation 3D d'un objet, il faut intégrer la détection d'objet à la reconstruction de la scène. Par exemple, si un objet a une certaine hauteur dans l'image 2D, regardez-vous un objet 3D qui est grand avec une petite empreinte, ou un objet qui est long et bas, reculant dans la distance? Une telle intégration nécessiterait de démonter le fonctionnement interne d'ARKit, ce que personne d'autre qu'Apple ne peut faire, ou de recréer un ARKit à partir de zéro.
Il se peut cependant que vous ayez quelques hypothèses à formuler pour obtenir des estimations très approximatives de la forme 3D à partir d'un cadre de délimitation 2D. Par exemple, si vous effectuez des tests d'impact AR sur les coins inférieurs d'une boîte et constatez qu'ils se trouvent sur un plan horizontal, vous pouvez deviner que la hauteur 2D de la boîte est proportionnelle à la hauteur 3D de l'objet, et que l'empreinte sur l'avion est proportionnelle à la largeur de la boîte. Vous devrez faire des recherches et des tests pour voir si des suppositions comme celles-là sont valables, en particulier dans les cas d'utilisation couverts par votre application.