Berechne Kamera-Parameter und HandEyeCalibration

9

Ich versuche ein altes Augmented-Reality-Projekt zu portieren, das auf dem Meta-Framework für eine andere durchsichtige HMD basiert.

Ursache metaio wird von Apple gekauft, die Dokumentation ist verfügbar und die Unterstützung ist sehr begrenzt und dieses neue HMD wird nicht sofort unterstützt.

Neben der Kamerakalibrierung / Handaugekalibrierung funktioniert bereits alles.

Ich habe bereits eine Projektionsmatrix P berechnet (mit SPAAM ), die die Punkte im Kamerakoordinatensystem transformiert der Bildschirm (Getestet durch benutzerdefiniertes Rendering). Leider kann ich die Projektionsmatrix nicht direkt in metaio einstellen, sondern muss die Kameraparameter und Hand Eye-Kalibrierung für das Rendering separat einstellen.

Daher habe ich die extrinsischen und intrinsischen Kameraparameter aus der Projektionsmatrix P extrahiert, wie hier hier beschrieben.

Aber diese funktionieren nicht richtig, wenn sie eingestellt sind. Das Ergebnis scheint nicht vollständig zu sein, da die wiedergegebene Skalierung korrekt zu sein scheint und der manuell gemessene Abstand zwischen Kamera und Auge etwa 126 mm beträgt (Translation auf der x-Achse).

Projektionsmatrix P:

Intrinsics (Auflösung: 1280 x 720):

Extrinsik (hec?):

Ich denke, dass mir ein zusätzlicher Schritt fehlt, den ich nicht kenne. Ich schätze jede Idee und Hilfe.

Zusätzliche Informationen:

  • metaio verwendet rechtshändige Koordinatensysteme mit einer Kamera, die in negativer Richtung z axis, x nach rechts und y nach oben
  • schaut
  • metaio documentaion für Handauge-Kalibrierungsstatus: Transformation von Kamera zu Augen- (Anzeige-) Koordinaten
  • Da der Übersetzungsteil von HEC auf der x-Achse positiv sein muss (Kamera ist auf der rechten Seite der HMD), nehme ich an, dass die Transformation von Auge zu Kamera spezifiziert ist?
user2479595 06.03.2017, 11:04
quelle

1 Antwort

2

Invertiert Metaio automatisch Ihre Matrizen für Sie? Wenn nicht, könnte das dein Problem sein. Da y = 0 in der Computergrafik oben auf dem Bildschirm ist, haben viele dieser Bild / Kamera-Verarbeitungs-Apps die Option, die Transformationsmatrix für Sie umzukehren. Wenn dies nicht der Fall sein sollte, versuchen Sie einfach, Ihre Transformationsmatrix manuell zu invertieren, um zu sehen, ob das stattdessen funktioniert.

    
Rbit 14.03.2017 21:50
quelle