Meta passthrough API page geupdate

Heel benieuwd hoe ver de mogelijkheden gaan zijn voor de passthrough van de Meta quest.

TLDR:
eind van het jaar komen er veel mogelijkheden voor developers om het camera beeld te gaan gebruiken. Voor zowel object recognition, maar de developers krijgen ook toegang tot de camera feed. Hoe ver we kunnen gaan moet nog blijken…

En publieke waarden? Dat gaat nog interessant worden.

Benieuwd naar jullie 2 cents!

Source:
https://www.meta.com/en-gb/help/quest/511837681585017

1 like

Eerste voorbeeld al online: https://www.linkedin.com/posts/tks-yoshinaga_augmentedreality-mixedreality-virtualreality-ugcPost-7306690299454439424-Aavr

(met dank aan @Hizirwan voor de link)

We hebben hier vandaag een aantal samples geprobeerd, en zijn nu bezig met het design voor sommige features in onze huidige projecten.

In de basis krijgt unity een WebCamTexture binnen, precies zoals het ook werkt met Andere Webcam / Android camera toepassingen. Het enige is dat Meta nogal een bult aan extra utility helpers toevoegd, dus onze vragen zijn nog:

  1. Hoe makkelijk werkt het zonder al die extra Meta SDK features
  2. Hoe makkelijk werkt het bij een Cross-Platform OpenXR based applicatie
  3. Hoe makkelijk is het met andere packages als OpenCV te combineren?

In theory allemaal mogelijk, maar in de praktijk zal het nog wel voor wat verassingen kunnen zorgen.

Het is al door iemand uitgeprobeerd, en OpenCV werkt met de Quest3 voor accurate marker tracking:

TakashiYoshinaga/QuestArUcoMarkerTracking

Voor mensen die liever de OpenXR & Unity XR Interaction Toolkit gebruiken dan de OVRCamera, dit werkt ook zonder problemen. SkarredGhost heeft een goede “from scratch” tutorial die hier mee kan helpen.

Ben je bij de volgende developer network meeting op 15/4? Zo ja, eventueel heel kort iets vertellen over de eerste ervaringen ermee?

Ik was wel van plan om te komen, kort onze eerste ervaringen delen moet wel lukken.

Voorkeur/voorstel voor een vorm? 10 minuten en een paar slides? Of liever op een andere manier?

Ik denk dat ik mijn eigen Quest 3 mee neem en een van de sample (of een van onze eigen) Unity Projects open om een korte demo te geven en te laten zien dat het best makkelijk op te zetten is.

10 minuten moet genoeg zijn om de basis info over te dragen.

1 like

We hebben hier bij het Visualisatielab van de UvA iets geprobeerd met de passthrough op de Quest in combinatie met Apriltags. Het resultaat was verrassend stabiel.

We hebben een korte demo gemaakt om te laten zien wat er mogelijk is:
Video van AprilTags in passthrough VR

Gemaakt met Unity, een custom JNI brug met de AprilTag library. Niet perfect - vooral de performance van de AprilTag herkenning laat nog wat te wensen over, maar zeker bruikbaar – en een mooie basis om verder op te bouwen. Als iemand interesse heeft in details of ervaringen wil uitwisselen: laat het vooral weten.

2 likes

Tof om te zien dat het zo stabiel draait.

Is het een constante check? Ik kan me voorstellen dat er veel te optimizen is als na de eerste check de update iedere x updates draait, en alleen de positie aanpast als de positie/rotatie
significant veranderd.

Het is inderdaad een constante check die ik op een andere thread laat draaien. Hiermee zorg ik er in iedergeval voor dat de Update loop van Unity niet in de weg gezeten word.

Er valt inderdaad een hoop te winnen bij het niet verplaatsen van de AprilTag omdat dan gewoon de IMU/SLAM locatie van de Quest zelf voor de matching zorgt na de eerste plaatsing.

Het beeld laten verwerken door de AprilTag library (een C library) is het gene wat veel tijd kost - en alleen dat proces levert een nieuwe pose op. Naast een beeld met een kleinere resolutie aanleveren en een andere tag familie gebruiken heb ik nog niet heel diep gekeken naar het optimaliseren van die code. Ik kan mij voorstellen dat er een hele wereld is van mensen die hier al mee bezig zijn geweest.

Een ander ding waar je mee te maken krijgt is dat er een latency in de beelden zit die je binnen krijgt via de passthrough API of zoals ze zelf zeggen:

Unity’s WebCamTexture implementation does not support image timestamps, leading to slight misalignments (approximately 40-60ms delay) between the captured feed and real-world events.

Omdat ik toch al een native plugin gebruik voor de AprilTag vraag ik mij af of ik niet gewoon meteen de passthrough camera in native Android code kan opvragen. Volgens mij is het antwoord ja — maar daar zou ik naar moeten kijken.

Ik denk dat er een hoop te halen valt in performance optimalisatie en ik zie niet in waarom je het uiteindelijk niet real time zou kunnen maken.

Ik ben nu vooral geintreseerd in de toepassingen hiervan. Naast mijn eigen interesse in dit gebruiken voor het tracken/debuggen van robots zijn er vast een hele hoop toepassingen te bedenken in gaming, user interaction, etc.

Een ander punt is dat de AprilTags erg lelijk zijn — nu heb ik in het verleden een paper gelezen van Mustafa Doga Dogan die ermee bezig was dit achter IR plastic te verbergen en dit heb ik succesvol na kunnen maken met IR FLIR camera’s. Ik probeerde ditzelfde met de Quest passthrough camera’s, maar ik heb het idee dat er een IR filter over de passthrough camera zit. Volgens mij zit er ook een IR camera op de brillen voor handtracking — wellicht kan ik die inzetten voor dit doel?

Kortom, een hoop spannende dingen die gedaan kunnen worden nu ze eindelijk de passthrough API open hebben gezet.