Jak uzyskać rzeczywisty rozmiar obiektu z obrazu, gdy nie znając odległości między obiektem a kamerą?

Muszę zrobić aplikację mobilną, która oblicza rzeczywisty rozmiar obiektu na obrazie.

Zrobiłem kilka badań na ten temat i okazało się pomocne[pytanie]: Jak można znaleźć wysokość obiektów podanych obraz?

Relacja odległości kamery i rzeczywistego rozmiaru obiektu nie jest tak złożona, stosunek wielkości obiektu na czujniku i wielkości obiektu w rzeczywistym życiu jest taki sam, jak stosunek ogniskowej i odległość do obiektu.

distance to object (mm) = focal length (mm) * real height of the object (mm) * image height (pixels)
                          ---------------------------------------------------------------------------
                          object height (pixels) * sensor height (mm)

Ale jak uzyskać wartość rzeczywistej wysokości obiektu, jeśli odległość nie jest znana ?

Czy narzędzia tworzące modele 3d z obrazów mają rzeczywiste wymiary?

Author: Community, 2012-03-30

1 answers

Prosta odpowiedź to nie możesz .

Nawiasem mówiąc, to dlatego ludzie mają dwa Oczy. Jeśli chcesz ocenić rozmiar bez znanej odległości, potrzebujesz co najmniej dwóch punktów odniesienia. Pozwala to na triangulację położenia obiektu, uzyskanie odległości do niego i użycie znanej odległości ogniskowej do obliczenia rozmiaru.

Bardziej złożoną odpowiedzią jest istnieją sposoby obejścia tego na przykład:

  1. oszukiwać za pomocą znanego numer referencyjny:

    Na przykład, jeśli masz obiekt o znanej wielkości, możesz wywnioskować odległość. To jest podobne do tego, co NASA robi , aby skalibrować swoje kamery, na przykład.

    Możesz dokonać bezpiecznych założeń, jeśli masz do czynienia ze zwykłymi przedmiotami, takimi jak wysokość jednej kondygnacji podczas analizy obrazu budynku.

  2. Przesuń kamerę wokół:

    Pozwala to uzyskać więcej niż jeden punkt odniesienia za pomocą tej samej kamery.

    Przypuszczam, że możesz użyć akcelerometru, aby dokładnie zmierzyć zależność położenia między obrazem uchwyconym w punkcie T1 w czasie i Punkcie T2. Dałoby to dwa obrazy tego samego tematu o znanej odległości między nimi. To pozwala na triangulację, jakbyś miał dwoje oczu.

    Czy zwykłe ręczne drgania aparatu wystarczą do triangulacji, czy akcelerometr będzie wystarczająco dokładny, aby bezwładnie ustawić telefon, Nie wiem wiedzieć.

  3. Przyjmij odległość:

    Jeśli Twoja aplikacja ma na celu porównanie czegoś w skali ludzkiej ręki( lub innej części ludzkiej anatomii), prawdopodobnie możesz bezpiecznie przyjąć dystans w oparciu o to, co ludzie naturalnie zrobią. Limity ostrości samej kamery dają również górny i dolny zakres tego, jak daleko obiekt może być i nadal być w ostrości. Będzie to prawdopodobnie w granicach dopuszczalnego marginesu błędu.

Jak wspominasz w swoim pytanie, istnieje całe subfield poświęcone temu pytaniu i jest to aktywny obszar badawczy.

 29
Author: brice,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-30 09:45:33