Głębia stereo
Jak działa
1) Kalibracja i rektyfikacja: wyznacza się parametry wewnętrzne i wzajemne kamer, a obrazy prostuje tak, by linie epipolarne były poziome (odpowiedniki leżą w tych samych wierszach). 2) Dopasowanie (korespondencja): dla każdego piksela szuka się odpowiednika na drugim obrazie wzdłuż wiersza, minimalizując koszt dopasowania (np. SAD/SSD w oknie, Census, lub nauczone cechy CNN). 3) Mapa dysparycji: różnica pozycji odpowiadających pikseli tworzy gęstą mapę dysparycji; agregacja kosztu (np. Semi-Global Matching) wygładza wynik. 4) Triangulacja: dysparycję przelicza się na głębię Z = f·B/d i dalej na chmurę punktów 3D. 5) Opcjonalny post-processing: filtracja, wypełnianie dziur, kontrola spójności lewo-prawo.
Rozwiązany problem
Umożliwia pomiar odległości i rekonstrukcję 3D sceny z obrazów 2D za pomocą zwykłych kamer, bez aktywnego emitera (jak w ToF czy skanerach strukturalnych), dzięki czemu działa w pełnym słońcu i na większych dystansach ograniczonych jedynie bazą i rozdzielczością.
Komponenty
Wyznaczenie parametrów kamer i wyprostowanie obrazów tak, by odpowiadające punkty leżały w tych samych wierszach (linie epipolarne poziome).
Dla każdego piksela wyszukanie odpowiednika na drugim obrazie przez minimalizację kosztu dopasowania (SAD/SSD/Census lub cechy CNN).
Gęsta mapa poziomych przesunięć między odpowiadającymi pikselami; często wygładzana agregacją kosztu (np. SGM).
Przeliczenie dysparycji na głębię (Z = f·B/d) i chmurę punktów 3D z użyciem bazy i ogniskowej.
Implementacja
Jednolite powierzchnie (gładkie ściany, niebo) nie dają jednoznacznych dopasowań, co powoduje dziury i błędną dysparycję.
Punkty widoczne tylko w jednej kamerze nie mają odpowiednika, co daje błędy przy krawędziach obiektów.
Powtarzające się tekstury (kraty, płoty) prowadzą do wieloznacznych dopasowań.
Niedokładna kalibracja łamie założenie poziomych linii epipolarnych i psuje dopasowanie oraz skalę głębi.
Ewolucja
Ustandaryzowanie etapów dopasowania stereo i benchmark Middlebury.
Praktyczna, dokładna i szybka agregacja kosztu, szeroko stosowana w czasie rzeczywistym.
Pierwsze użycie nauczonego kosztu dopasowania, początek stereo z uczeniem głębokim.
Kompletny, uczony end-to-end potok stereo z wolumenem kosztu 3D.
Rekurencyjne, wieloskalowe uściślanie dysparycji o wysokiej dokładności.
Hiperparametry (konfigurowalne osie)
Odległość między kamerami; większa baza poprawia dokładność na dystansie, ale zwiększa minimalną odległość i obszary okluzji.
Ogniskowa w pikselach; wraz z bazą skaluje przeliczenie dysparycji na głębię.
Liczba sprawdzanych poziomów dysparycji; wyznacza najbliższy mierzalny dystans i koszt obliczeń.
Rozmiar okna porównania w metodach lokalnych; większe okno jest odporniejsze na szum, ale rozmywa krawędzie.
Złożoność obliczeniowa
Złożoność czasowa: O(W·H·D).
Paradygmat wykonania
Dysparycja wyliczana gęsto dla wszystkich pikseli obrazu.
Równoległość
Obliczanie wolumenu kosztu i dopasowanie per-piksel są silnie równoległe; agregacja ścieżkowa w SGM wprowadza zależności sekwencyjne wzdłuż ścieżek.
Wymagania sprzętowe
Uczone metody stereo (np. PSMNet, RAFT-Stereo) korzystają z akceleracji GPU do splotów i wolumenu kosztu.
Klasyczny SGM/block matching jest implementowany na FPGA/ASIC i procesorach wizyjnych (np. w kamerach głębi) dla stereo w czasie rzeczywistym przy niskim poborze mocy.
Lokalne block matching (np. OpenCV StereoBM) działa na zwykłym CPU.