Ich versuche, eine Stereokamera für die Szenenrekonstruktion zu verwenden, kann aber normalerweise nur spärliche Punktwolken erhalten (dh mehr als die Hälfte des Bildes enthält keine geeigneten Tiefeninformationen).
Mir ist klar, dass Stereoverarbeitungsalgorithmen auf dem Vorhandensein von Texturen in den Bildern beruhen und einige Parameter aufweisen, die angepasst werden können, um bessere Ergebnisse zu erzielen, wie z. B. den Disparitätsbereich oder die Größe des Korrelationsfensters. So sehr ich diese Parameter einstelle, kann ich niemals Ergebnisse erzielen, die auch nur annähernd dem entsprechen, was mit einem aktiven Sensor wie dem Kinect erzielt werden kann.
Der Grund, warum ich das möchte, ist, dass Punktwolken, die benachbarten Regionen entsprechen, sehr oft nicht genug überlappen, um eine Übereinstimmung zu erzielen, sodass die Rekonstruktion stark beeinträchtigt ist.
Meine Frage an die Computer Vision-Experten lautet wie folgt: Was kann ich tun, um im Allgemeinen dichtere Punktwolken zu erhalten (ohne meine Büroumgebung willkürlich zu ändern)?
quelle
Antworten:
Sie können versuchen, die Erkennung hervorstechender Punkte zu überspringen, das Bild nur dicht abzutasten (als Raster oder so) und an jedem Abtastpunkt einen Feature-Deskriptor zu berechnen. Sie können wahrscheinlich sogar so weit gehen, einen Deskriptor für jedes Pixel zu berechnen.
Möglicherweise verlieren Sie die Skaleninvarianz, aber ich denke, dies wird für die Stereovision nicht allzu sehr schaden, da Objekte in beiden Bildern ungefähr den gleichen Maßstab haben.
Ein anderer Ansatz könnte darin bestehen, mehrere Algorithmen zur Erkennung hervorstechender Punkte zu kombinieren: Ecken, Kanten, Blobs usw. Dann müssen Sie für alle erkannten Punkte denselben Feature-Deskriptor-Algorithmus verwenden. Die Implementierung dieses letzteren Teils kann jedoch etwas schwierig sein.
quelle
Die Stereobildverarbeitungsalgorithmen, die ich in der Vergangenheit verwendet habe, wurden Pixel für Pixel implementiert. Wir haben nur das Lochkameramodell verwendet und einige altmodische Messungen mit Maßband durchgeführt, bis unsere Tiefenschätzungen mit der tatsächlichen übereinstimmten.
Die Gleichungen für ein Paar paralleler Kameras lauten:
Mit diesen Gleichungen können Sie eine dichte Stereowolke berechnen. Eine für jedes Pixel Ihrer Kameras.
quelle
Wenn Sie sagen, "mehr als die Hälfte des Bildes hat keine richtigen Tiefeninformationen", welche Hälfte?
Ein Problem, auf das wir gestoßen sind, ist, dass die "Standard" -Dicht-Stereo-Algorithmen nicht so gut funktionieren, wenn der Abstand zum Objekt in der gleichen Größenordnung liegt wie Ihre Grundlinie (normalerweise bei sehr weitwinkligen Kameras). Wir haben die Verleumdungsbibliothek verwendet, und die Entwickler haben uns mitgeteilt, dass dies als "großes Basis-Stereo" bezeichnet wird und ein weiteres Problem darstellt.
quelle
Schauen Sie sich die führenden Unternehmen des KITTI Stereo Benchmark an . Dieser Benchmark bestraft Algorithmen dafür, dass an einem bestimmten Punkt keine Disparität erzeugt wird, sodass die Leistungsträger dichte Ergebnisse erzielen (auch wenn sie an vielen Punkten nicht viele Gründe für ihre Schätzung haben). Einige Methoden verfügen über öffentlich verfügbaren Code, der verknüpft ist und den Sie ausprobieren können.
Beachten Sie, dass sie nicht dafür bestraft werden, dass sie lange dauern. Daher dauern viele Methoden in der Größenordnung von Minuten pro Bild und sind möglicherweise nicht für Ihre Anwendung geeignet. Es wurden jedoch viele CNN-basierte Methoden eingeführt, die sehr gut funktionieren und dennoch in weniger als einer Sekunde ausgeführt werden (auf einer GPU). Mindestens eine davon (CRL) hat öffentlichen Code.
Wenn Sie mit diesen Bildern immer noch keine angemessenen Tiefenschätzungen für Ihre Bilder erhalten, sehen Sie möglicherweise nur die Grenzen dessen, was mit einem sichtbaren Ansatz möglich ist. Grundsätzlich muss der Bereich eine eindeutige Textur aufweisen, um gut mit Punkten übereinstimmen zu können, oder Sie benötigen eine Grundlage, um in texturlosen Regionen starke Annahmen (z. B. Glätte) zu treffen.
quelle