2012-09-16 16 views
2

저는 OPENCV를 처음 접했으므로 여기서 누락 된 간단한 것들이 있다면 나와 함께 감내하십시오.OpenCV continuous 카메라를 이용한 속도 측정

다음과 같은 가정하에 차량 속도를 지속적으로 출력 할 수있는 카메라 기반 시스템을 찾으려고합니다. 1. 카메라가 수평으로 놓이고 차량이 카메라 렌즈에서 3 ~ 5 피트 거리를지나갑니다. 2. 속도는 30KM/Hrs를 초과하지 않습니다.

표면 패턴의 변위를 감지하는 광학 마우스의 개념으로 시작하고 싶습니다. 그러나 나는 차량이 프레임에 들어가기 시작할 때 배경을 다루는 방법에 관해서는 명확하지 않다.

실험에는 두 가지 방법이 있지만 추가 입력을 찾고 있습니다.

  1. 차량이 프레임에 들어가고 배경과 분리되면 차량을 감지합니다.
  2. 차량에서 점을 찾으려면 cvGoodFeaturesToTrack을 사용하십시오.
  3. 다음 프레임에서 포인트를 추적하십시오. & 광학 흐름에 Lucas_Kanade 피라미드 함수를 사용하여 수평 속도를 계산하십시오.
  4. 반복

수정 및 개정을 제안하십시오. 또한 여기에서 사용하는 것이 가장 정확한 기능이 무엇인지 모르기 때문에 경험이 많은 회원에게 효율적으로이 절차를 코딩하도록 요청합니다.

미리 감사드립니다.

답변

3

20fps에서 30fps의 간단한 카메라를 사용하고 카메라가 도로에서 수직으로 놓여 있지만 카메라가 멀리 떨어져 있기를 바랍니다. 예를 들어 자동차의 최대 속도는 8ms-1입니다. 이미지 평면은 ... 당신이 얼마나 많은 각 픽셀의 조치를 알고 있다면 당신은 초당 픽셀 가야 ...

(speed in object plane/distance of camera from road) = (speed in image plane/focal length) 

사용하는 렌즈의 도움으로 이미지 평면에서 자동차의 속도를 계산합니다. ..

단계 ...

  1. 프레임 차별화를 사용할 수 있습니다 ... 이전 프레임에서 현재 프레임을 뺀 다음 절대 차이 ... 임계 값 차이 ...이 세그먼트를 배경에서 움직이는 자동차 밖으로 ... 기억하십시오 세그먼트를 모든 움직이는 물체 ... 그래서 만약 당신이 자동차를 원한다면 움직이는 사람이 아닌 너비가 너비와 같은 모양의 특성을 사용할 수 있습니다 ... 분할 된 부분에 사각형을 맞추고 각 프레임마다 같은 단계를 수행하십시오 . 그래서 각 프레임에서 바운딩 박스의 앞 가장자리 좌표를 기록 할 수 있습니다 ... 자동차가 얼마나 오랫동안 지속했는지 아는 뷰에서 차가 지나갈 때까지 차가 들어가면 ... 프레임 수, 프레임 속도 및 테두리 상자의 앞 가장자리의 좌표를 사용하여 속도를 계산하십시오. ...

  2. goodfeaturestotrack과 open cv의 광학 흐름을 사용할 수 있습니다. 빠른 움직임과 느린 움직이는 물체를 구분해라.하지만 goodfeaturestotrack이주는 포인트를 새로 고치면 카메라 뷰에 들어오는 새 차가 업데이트되지 않는다. goodfeaturestotrack이 선택한 포인트 세트의 위치 이동을 기록한다. 프레임 .. 움직이는 물체의 변위입니다 ... 같은 방법으로 속도를 계산하십시오 ...속도를 계산하는 기본 아이디어는 카메라의 시야에서 객체가 유지 한 프레임 수를 기록하는 것입니다. ... 카메라가 고정되어 있으므로 시야가 너무 넓 으면 ... 따라서 중요한 것은 몇 가지입니다 프레임 ... ... 기억 ... opencv의 광학 흐름은 천천히 움직이는 물체를 추적하거나 더 많은 이론적으로 특징점 (추적 할 goodfeatures로 결정됨)을 나타냅니다. 변위는 2 연속 알고리즘이 작동하기위한 프레임 ... 큰 변위는 알고리즘에 의한 잘못된 예측을 할 것입니다 ... 그 이유는 이미지 평면의 속도가 중요하기 때문입니다. 최소한 질적으로 당신은 그것을 생각해야합니다 ...

참고 : 두 가지 방법은 단일 개체 추적을위한 것입니다. 여러 개체 추적을 위해 몇 가지 수정이 필요합니다 ... 그러나 두 방법 중 하나를 시작할 수 있습니다 ... 나는 그것이 효과가 있다고 생각합니다 ...

+0

고마워요. 댓글. 나는 카메라를 도로에 수직으로 설치하려고하고 차량으로부터의 거리는 아주 작을 것이다. 목적은 카메라의 정면에있는 한 지속적으로 차량의 순간 속도를 얻는 것입니다. 그것이 멈추거나 속도가 느려지면, 그 기간 동안 일련의 속도 측정 값을 생성해야합니다. 최종 결과는 플롯 될 수 있어야하며 특정 차선 영역을 통과 할 때 차량 속도가 어떻게 변하는 지 분석 할 수 있어야합니다. – Ind3rpr33t

+0

순간 속도는 두 개의 연속 프레임에서 자동차의 어떤 부분의 위치를 ​​기록해야합니다. 일단 순간 속도 구상을 얻으면 큰 문제는 아닙니다. –

관련 문제