2011-09-28 6 views
4

누구나 방의 크기가 얼마나 큰지 (실제 측정에서 대략 너비 등)를 결정할 수있는 이미지 분석 알고리즘을 알고 있습니까? 이 방의 비디오 녹화는 하나입니까?비디오 피드에서 방의 크기를 결정하는 알고리즘

저는 현재 이미지 라이브러리로 OpenCV를 사용하고 있습니다 만 이미지 분석 알고리즘을 익히는 데별로 익숙하지 않았지만 그냥 이름을 바꾸면 괜찮을 것입니다.

감사

편집 : 좋아, 설명의 조금 난 그냥 관련된 사람들로부터 얻었다. 기본적으로 비디오 피드를 가져 오는 방법을 제어 할 수 없으며 여러 데이터 소스가 있음을 보장 할 수 없습니다. 그러나 나는 방안의 특정 지점 위치를 가지고 있으며 그 지점과 관련하여 무언가를 배치해야합니다. 그래서 저는 아마도 방의 가장자리를 확인하고 주어진 위치가 방에서 얼마나 멀리 있는지를 확인한 다음 방의 크기가 얼마나 큰지 추측하려고합니다.

+0

참조 프레임이 없으면이 작업을 수행 할 수 있을지 잘 모르겠습니다. 방의 가장자리를 찾는 것 자체가 어려운 문제입니다. –

+3

이것은 전혀 해결할 간단한 문제가 아닙니다. 이 작업을 완전히 자율적으로 수행 할 수 있어야합니까? 예를 들어 사용자가 실내에서 기능을 찾고 이미지 처리 및 카메라 보정 정보를 사용하여 외삽하도록 할 수 있다면 훨씬 더 운이 좋을 것입니다. 카메라가 움직이는 경우, "모션에서 구조"를 들여다보십시오. 무엇이든지 상관없이 이미지에 사용 가능한 크기가 알려진 것이 없으면 크기 조정 요소까지만 알 수 있습니다. 즉, 5x10, 10x20, 20x40 등 – dantswain

+0

이미지 수집 방법에 대한 제어 권한이 있습니까? – AShelly

답변

4

힘든 (그러나 흥미 롭다) 문제.

완전히 자동화 된 방식으로이 작업을 수행하려는 경우 많은 문제가 발생할 것으로 생각됩니다. 그러나 운영자가 일련의 그림에서 제어 지점을 표시 할 수 있다면 이것이 가능하다고 생각합니다.

문제는 다른 관점에서 찍은 두 개 이상의 2D 그림에서이 점들의 위치 만 가질 때 3D 공간에서 두 점 사이의 거리를 찾는 것으로보다 일반적으로 표현 될 수 있습니다. 이 과정은 다음과 같이 작동합니다.

  • 사진은 카메라 위치 및 방향 정보와 함께 제공됩니다. 예를 들어 카메라 방향이 동일하고 가로로 3 피트 떨어진 카메라로 두 장의 사진을 찍은 두 장의 사진이 있다고 가정 해 봅시다. 카메라가있는 3D 공간에 대한 참조 원점을 정의해야합니다. 예를 들어 왼쪽 그림의 카메라가 (0,0,0)이고 오른쪽 그림의 카메라가 (3,0, 0)이고, 둘 다 앞을 향하게됩니다. 이는 (0, 0, 1) 방향입니다. 아니면 그런 식으로.
  • 이제 운영자가 와서 두 그림 모두에서 방의 두 모퉁이를 표시합니다. 따라서 각 모서리마다 2 세트의 2D 좌표가 있습니다.
  • 카메라와 렌즈의 세부 사항 (시야, 렌즈 왜곡, 수차 등)을 알아야합니다. 카메라가 이미지를 변형하는 방법에 대해 더 많이 알수록 더 정확하게 추정 할 수 있습니다. 이것은 동일한 물건을 파노라마 스티치 소프트웨어가 더 나은 스티치를 달성 할 수 있습니다. 이에 대한 정보는 PanoTools을 참조하십시오.
  • 여기 재미있는 부분이 있습니다. 이제 각 2D 지점에 대해 perspective projection의 역함수를 적용 할 것입니다. 원근 투영은 3D 공간과 카메라 정의에 점을 찍고 2D 점을 계산합니다. 컴퓨터 화면과 같이 평평한 표면에 3 차원 물체를 표현하는 데 사용됩니다. 각각의 2D 점에 대해 3D 좌표를 얻으려고합니다. 깊이를 결정하는 데 충분한 정보가 2D 지점에 없기 때문에 단일 2D 점에서 할 수있는 최선의 방법은 3D 공간에서 렌즈를 통과하고 문제의 점을 통과하는 선을 얻는 것입니다. 그러나 당신은 모릅니다 렌즈와 얼마나 멀리 떨어져 있는지. 하지만 두 이미지에서 동일한 2D 지점을 사용하므로 서로 다른 카메라 위치에서 두 개의 3D 선을 계산할 수 있습니다. 이 선은 평행하지 않으므로 단일 점에서 교차합니다. 3D 선의 교차점은 공간에서 3D 점의 위치와 참조 카메라 3D 공간의 좌표를 잘 예측하는 것입니다.
  • 나머지는 쉽습니다.관심있는 두 지점의 예상되는 3D 위치가있을 때 그 지점 사이에 3D distance을 계산하면 원하는 숫자가됩니다.

아주 쉽지, 응?

+1

카메라 위치와 방향이있는 경우 카메라 조작자가 작업을 인식하고 측정 계측기를 들고 있음을 의미합니다. 그 조건에서, 대신 오히려 그/그녀가 대신 방을 측정하도록 지시하고 싶습니다 :) –

+0

물론, 사진 작가는 카메라를 향하게 두 장의 사진 (또는 비디오)을 찍을 수있는 한 많이 알 필요가 없습니다. 앞으로 이동하고 카메라가 이동 한 거리를 추정 할 수 있습니다. 모든 추정치 일수록 입력 수치가 정확할수록 거리 추정치가 정확 해집니다. – Miguel

+0

슬프게도 최소한 두 개의 비디오 소스가 있다고 가정 할 수는 없습니다. – fk2

관련 문제