움직임 추적을 위한 roi 설정 방법

온라인 판매를 최적화하기 위한 팁

판매 추적을 위한 추가 데이터 파악

다음: 온라인 판매를 위한 고급 보고서


전환추적을 올바르게 설정했는지 확인

Google Ads에서 결과를 측정할 때 전환추적이 중요한 부분을 차지합니다. 전환 추적은 광고 클릭이 판매로 연결되는지, 전환에 드는 비용이 얼마인지 알 수 있는 가장 간단한 방법으로, 이를 통해 투자수익(ROI)을 측정할 수 있습니다.

전환추적을 사용하려면 판매 후에 고객에게 표시되는 페이지에 간단한 코드를 입력해야 합니다. 전환 데이터가 정확하게 표시되려면 전환추적을 올바르게 설정했는지 확인해야 합니다.


상세한 정보 분석을 위한 데이터 분류

Google Ads를 사용하면 실적 데이터를 다양한 방법으로 분류할 수 있으므로 확인하려는 통계만 정확하고도 간단하게 분리할 수 있습니다. 데이터를 보다 세부적으로 분류하면 수익성이 높은 부분과 투자를 늘릴 가치가 있는 부분에 대한 심층적인 통계 자료를 확보할 수 있습니다.

데이터를 세분화하여 분류하면 다음과 같은 질문에 대한 답을 얻을 수 있습니다.

  • 수익성이 가장 좋은 트래픽이 유입되는 위치는 어디인가요? 지역별 전환 데이터를 통해 여러 지역에서 다양한 광고 실적을 확인하세요. 특정 지역에서 유입되는 트래픽의 수익성이 더 좋을 경우, 해당 위치에 투자를 늘릴 수 있습니다.
  • 판매가 이루어지는 시간대는 언제인가요? 시간대, 요일, 기타 기간별로 실적이 어떻게 다른지 확인하세요. 특정 시간대에 유입되는 트래픽이 판매로 이어질 가능성이 높은 경우, 가능한 한 해당 시간대에 광고가 게재되도록 합니다.
  • 기기마다 실적이 어떻게 다른가요? 데스크톱, 태블릿, 휴대기기에 게재한 광고 실적을 비교하여 수익이 더 높은 기기를 알아보세요.
  • 어떤 전환이 발생하나요? '전환 이름', '전환 카테고리' 또는 '전환 소스'별로 보고서를 분류하여 추적하는 각 전환 유형별로 실적이 어떻게 다른지 파악하세요.

애널리틱스를 사용하여 사이트에서 사용자 행동 모니터링

Google 애널리틱스를 사용하면 전환뿐만 아니라 사이트 전반에서 일어나는 고객의 전체적인 흐름을 파악할 수 있습니다. 이는 사이트 방문자 수, 사이트에 머문 시간, 방문자의 유입 경로 등 웹사이트에서의 방문자 활동을 측정하는 매우 좋은 방법입니다.

다음은 애널리틱스 보고서를 통해 파악할 수 있는 몇 가지 통계의 예입니다.

  • 적정 유형의 방문자를 유도하고 있나요? 잠재고객 보고서를 통해 사이트 방문자에 대한 정보를 유형별로 더 자세히 알아볼 수 있습니다(예: 인구통계별, 위치별, 언어별, 기기별 등). 이 정보를 이용하여 타겟팅된 광고를 추가로 만들어 적합한 잠재고객의 방문을 유도할 수 있습니다.
  • 방문자가 어떤 경로를 통해 유입되나요? 획득 보고서를 통해 Google Ads 캠페인부터 Google Ads 이외의 경로까지, 다양한 경로의 트래픽을 비교해 볼 수 있습니다. 이 정보를 이용해서 고품질의 트래픽이 유입되는 소스에 예산을 투자할 수 있습니다.
  • 방문자가 웹사이트에서 실제로 하는 행동은 무엇인가요? 행동 보고서를 사용하면 방문자의 요구 및 기대에 더 충실히 부합할 수 있도록 사이트의 콘텐츠를 개선할 수 있습니다. 예를 들어 각 페이지가 얼마나 자주 조회되었는지 또는 방문자가 사이트에서 바로 이탈했는지를 파악할 수 있습니다.
  • 창출되는 수익은 얼마인가요? 전자상거래 추적을 통해 Google Ads 트래픽, 자연 트래픽, 기타 참조 소스에서 창출되는 수익이 얼마인지 알아볼 수 있습니다.

Google 애널리틱스 계정과 Google Ads 계정을 연결하면 애널리틱스의 사이트 참여도 데이터와 함께 Google Ads 클릭 및 비용 데이터를 확인할 수 있습니다.

다음: 온라인 판매를 위한 고급 보고서

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?

이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.

또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.

또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.

이하, 본 발명의 실시예에서는 GPU(graphic processor unit)를 사용하여 캠쉬프트(CAMshift) 알고리즘을 병렬화하고 PTZ(pan-tilt-zoom) 카메라의 프로토콜과 RS-485 통신을 이용하여 카메라를 제어하는 방법으로 화면 상의 객체의 위치를 화면 가운데에 위치하게 하는 실시간 추적 방법에 대해 개시한다. 이하, 본 발명을 개시하는데 있어 사용되는 PTZ 카메라는 본 발명의 실시예를 구현하기 위한 카메라의 하나의 예시이고, RS-485 통신 또한 PTZ 카메라와 통신을 수행하기 위한 통신 프로토콜의 하나의 예시이다. 즉, 본 발명에서 개시하는 실시간 추적 방법을 수해하기 위해 다른 카메라 및 다른 통신 방법을 사용할 수도 있고 이러한 실시예 또한 본 발명의 권리 범위에 포함된다.

PTZ 카메라는 PTZ는 카메라의 움직임으로, 좌우(Pan), 위아래(Tilt), 확대축소(Zoom)를 수행할 수 있는 카메라를 지시한다. PTZ 카메라는 주로 CCTV(closed circuit television)에 사용될 수 있으며 기존 고정식 카메라에서 발생할 수 있는 촬영 사각 지대를 해소하기 위해 사용될 수 있다. 또한 PTZ 카메라에서는 사용자가 원격지에서 수동으로 컨트롤러를 사용해 원하는 방향으로 카메라를 움직이거나, 적외선 감지 등을 통해 자동으로 피사체를 추적하기도 한다.

움직이는 객체를 추적하는 방법은 추적하고자 하는 객체의 특징 값의 선택에 따라 여러 가지로 나뉠 수 있다.

(1) 컬러 기반 방법(color based method)

컬러 기반 방법(color based method)은 추적 객체의 컬러 분포를 바탕으로 특정 컬러를 프레임에 따라 연속적으로 추적하는 방법이다. 컬러 기반의 움직임 객체 추적 방법은 알고리즘이 간단하면서도 속도가 다른 방법에 비해 월등히 빠르기 때문에 실시간 응용 분야에 많이 사용된다.

(2) 영역 기반(area based method) 방법

영역 기반(area based method) 방법은 현재의 프레임과 다음 프레임에 존재하는 특정한 영역에서의 픽셀 차이에 따라 물체를 검출하는 방법이다.

(3) 능동 윤곽선 기반(active contour based method)

능동 윤곽선 기반(active contour based method)은 에지(edge) 필터링, 허프 변환(Hough transform) 등을 통해 경계 윤곽선을 표현하고 이를 동적으로 갱신하면서 추적하는 방법이다.

(4) 특징 기반 방식(feature based method)

특징 기반 방식(feature based method)은 물체 전체를 추적하는 것이 아닌 특징점 또는 그 점들의 집합, 일정한 방향성을 갖는 벡터 등을 기반으로 한 방식이다.

이러한 다양한 방식의 객체 추적 방법 중 기존의 객체를 추적하는 알고리즘으로 또한 칼만 필터(Kalman filter), 민쉬프트(Meanshift) 알고리즘, 파티클 필터(Particle filter) 등이 많이 사용되었다. 기존의 객체 추적 방식은 전체적으로 계산량이 많다는 단점이 존재한다. 또한,추적 객체의 회전 각도, 윈도우의 크기 등에 민감하다는 단점이 존재한다.

이하, 본 발명의 실시예에서는 객체 추적 방법으로 색 정보를 바탕으로 객체를 추적하는 알고리즘인 캠쉬프트(CAMshift, Continuously Adaptive Mean Shift Algorithm) 알고리즘을 병렬적으로 수행하여 영상에서 객체를 추적하는 방법에 대해 개시한다.

캠 쉬프트(CAMshift) 알고리즘은 HSV 모델을 바탕으로 원하는 부분의 색 정보를 추출하여 연속되는 프레임에서 색 정보를 비교하여 추적하고자 하는 객체를 연속적으로 추적할 수 있는 알고리즘이다. HSV 컬러 모델은 색상(Hue), 채도(Saturation), 명도(Value)로 이루어진 컬러 모델로서 모든 컬러를 색상(Hue), 채도(Saturation), 명도(Value) 로 표현하는 방식이다.

캠쉬프트(CAMshift) 알고리즘은 기본적으로 민쉬프트(Meanshift) 알고리즘을 사용하면서도 객체의 크기 및 각도를 같이 계산하는 알고리즘이다. 캠쉬프트(CAM shift) 알고리즘의 경우 기존 민쉬프트(Meanshift) 알고리즘이 갖는 단점인 추적 객체의 크기 변화 및 각도 변화에 취약하다는 단점을 보완하여 추적하고자 하는 객체의 크기가 변하거나 각도가 달라지는 경우에도 추적 객체에 대한 연속적인 추적을 수행할 수 있다. 캠쉬프트(CAMShift)는 얼굴 추출을 위해 처음 사용되었다.

캠쉬프트(CAMShift)의 기반이 되는 민쉬프트(Meanshift) 알고리즘은 고정된 윈도우 크기를 가지고 색 정보에 기반하여 현재 프레임에서의 추적 대상의 중심 위치로 수렴해 가는 방법이다. 캠쉬프트(CAMShift)는 기본적으로 민쉬프트(Meanshift) 알고리즘을 사용하면서 목표의 크기 및 각도를 같이 계산한다. PTZ 카메라로 추적할 때 객체가 가까이 오면 커지고 멀리가면 작아지므로 PTZ 카메라에는 민쉬프트 알고리즘보다는 크기의 변화까지 추적할 수 있는 캠쉬프트(CAMShift) 알고리즘을 사용하는 것이 적합하다.

본 발명의 실시예에서 객체를 PTZ 카메라로 추적할 때 객체의 크기에 영향을 받지 않고 추적하기 위해서는 캠쉬프트(CAMshift) 알고리즘을 병렬적으로 수행하여 영상 처리 속도를 향상시키는 방법에 대개 개시한다.

캠쉬프트 알고리즘은 아래와 같은 단계로 수행될 수 있다.

(1) 초기 탐색 윈도우의 위치 및 크기를 정한다.

(2) 탐색 영역 내에서 컬러 분포의 중심을 구한다.

(3) 탐색 영역에 해당하는 색상(Hue) 컬러 공간의 색상(Hue)의 히스토그램을 계산하고 컬러 확률 분포를 계산한다. 이때 컬러 확률 분포 기반으로 중심점을 찾아 탐색 윈도우를 위치시키고 영역을 찾는다. 만약에, 영역을 찾기 위해 산출된 값이 수렴하지 않으면 (3)을 반복하며, 산출된 값이 수렴하면 아래의 (4)로 이동한다.

(4) 이어지는 프레임에서 탐색 윈도우의 위치와 크기, 회전 각도를 알아내고 탐색 영역 크기를 재조절하여 중심 위치를 결정한다.

(5) (2) 내지 (4)의 과정을 반복한다.

전술한 캠쉬프트 트래킹 알고리즘을 프로시저(procedure) 형태로 표현하면 아래의 표 1과 같이 표현할 수 있다.

<표 1>

표 1에서 M00는 0차 모멘트 이고, M01과 M10은 각각 1차 모멘트(x)와 1차 모멘트(y)이다. 캠쉬프트(CAMshift) 알고리즘은 객체의 컬러 정보, 즉, 컬러 확률 분포를 이용해 위치 뿐만 아니라 회전 각도, 크기까지 빠르게 계산해서 추적할 수 있는 알고리즘이다.

영상에서 객체의 추출은 기본적으로 배경 영상과 입력 영상의 차를 구함으로서 이루어질 수 있다. 배경 영상과 입력 영상의 차 영상을 기초로 객체가 추출이 되면 미디언 필터링(median filtering) 및 모폴로지(moplogy)를 통하여 전처리 과정을 거친 후 영상에서 클러스터링(clustering)을 통하여 객체를 추출한다.

다음 과정으로 전술한 (4)와 같이 다음 프레임에서의 객체간 유사도 검사를 통해 추적 객체로 선정한다. 객체간 유사도 검사는 최소 편차 값 등을 통해 수행될 수 있다. 예를 들어, 1) 클러스터 추출 과정에서 추출된 가장 큰 클러스터의 크기가 2500을 넘는지 여부에 대해 판단, 2)추출된 클러스터가 사이즈(size) 함수인 size(route, 2)=0를 만족하는지 여부, 3) 클러스터의 이동이 5보다 작은지 여부를 판단하는 다양한 판단 과정을 통해 판단될 수 있다.

이때 검출된 객체의 크기가 추적 객체의 크기와 다르다면 크기 조정을 수행 후 유사도 검사를 수행한다.

도 1은 본 발명의 실시예에 따른 캠쉬프트를 사용하여 객체를 추적하는 것을 나타낸 개념도이다.

도 1의 (A)에서 붉은색 사각형 내부에 포함된 부분은 원래 추출된 객체 영상이고 도 1의 (B)는 캠쉬프트 트래킹(CAMshift tracking)을 통해서 추출된 객체 영상의 색상(Hue), 채도(Saturation)의 히스토그램 유사도 역투영(Backprojection)을 수행한 영상을 나타낸다.

본 발명의 실시예에 따르면, 캠쉬프트 알고리즘은 병렬화되어 수행될 수 있다.

도 2는 본 발명의 실시예에 따른 캠쉬프트 알고리즘의 병렬화 방법을 나타낸 순서도이다.

도 2를 참조하면, (1) 캠쉬프트(CAMshift) 알고리즘을 병렬화하기 위해 1) 영상 정보를 RGB에서 HSV로 변경하는 연산을 병렬화하고 2) 영상 정보에 대해 모폴로지 연산과 같은 이미지 마스킹을 병렬적으로 수행할 수 있다(단계 S200).

본 발명의 실시예에 따른 객체 추적 방법에서는 병렬적으로 객체 추적을 수행하기 위해 GPU에 포함된 전역 메모리(global memory)로 영상 정보를 복사하여 사용할 수 있다.

HSV 변환의 경우 캠쉬프트(CAMshift) 알고리즘이 객체를 쉽게 인식하고 추적하기 위해서 컬러를 변환하는 것으로 각각의 픽셀은 항상 동일한 연산을 수행하기 때문에 병렬화할 수 있다. 하나의 블록의 영상 정보를 나누어 병렬화하여 수행할 수 있다.

도 3은 본 발명의 실시예에 따른 영상 정보를 RGB에서 HSV로 변경하는 방법을 나타낸 개념도이다.

도 3을 참조하면, 하나의 영상 블록(300)은 복수개의 코어를 가진 GPU(350)에서 병렬적으로 처리될 수 있다. 즉, 하나의 블록에 대해 1) 영상 정보를 RGB에서 HSV로 변경하는 연산을 병렬화하고 2) 영상 정보에 대해 모폴로지 연산과 같은 이미지 마스킹을 병렬적으로 수행할 수 있다. 즉, 하나의 영상 블록의 정보는 GPU(350)에 전역 메모리(global menmory)로 복사된 후 병렬적(310, 320, 330, 340)으로 연산을 수행할 수 있다.

다시 도 2를 참조하면, 관심 영역(region of interest, ROI) 내의 픽셀들에 대해서 색상(Hue) 값만을 추출한 후, 관심 영역(ROI) 내의 픽셀들의 색상(Hue) 값들 중에서 사용자가 지정한 임계 값(Threshold value)을 만족하는 값을 선택한다(단계 S210).

예를 들어, 색상(Hue) 값을 사용하는 경우 조명의 영향에 덜 민감할 수 있으며, Hue 값에서 아주 작은 값(어두움)이나 큰 값(밝음)은 알아볼 수 없으므로 해당 값을 가지는 픽셀 값은 제외할 수 있다. 예를 들어, 색상(Hue)값이 임계 값을 0.8~1 사이의 값으로 설정하고 임계 값을 만족하는 픽셀들을 선택할 수 있다.

관심 영역(ROI)의 무게 중심을 구하기 위해 모멘트를 산출한다(단계 S220).

M00는 0차 모멘트 이고, M01과 M10은 각각 1차 모멘트(x)와 1차 모멘트(y)를 나타내는 값일 수 있다. 관심 영역(ROI)의 무게중심을 구하기 위해서는 0차 모멘트 및 1차 모멘트 값인 M00, M01, M10를 산출할 수 있다. M00, M01, M10의 경우 관심 영역 내의 픽셀들의 총 합이다. 따라서, CPU가 아닌 GPU에서 각각의 값을 병렬로 처리하여 산출하는 것이 영상 처리 속도에서 효과적일 수 있다.

예를 들어, 리덕션을 사용하여 GPU에서 관심 영역(ROI)의 무게 중심을 구하기 위한 변수인 M00, M01, M10를 산출할 수 있다.

가중치 값을 구한 후, CPU에 값을 전달하여 ROI의 무게 중심을 구한 후, 수렴 여부를 판단한다(단계 S230).

단계 S220을 통해 산출된 모멘트 값인 M00, M01, M10의 가중치를 산출하고 산출된 값을 CPU(central processor unit)에 전송하여 관심 영역의 무게 중심을 구하여 수렴 여부를 판단할 수 있다. 예를 들어, 관심 영역의 무게 중심이 미리 정해놓은 임계 값 이하로 판단될 경우 수렴하였다고 판단하고 관심 영역의 무게 중심이 임계 값을 초과할 경우 수렴하지 않은 것으로 판단할 수 있다.

관심 영역의 무게 중심이 수렴하지 않는 경우, 다시 관심 영역 및 무게 중심의 위치를 변화시킬 수 있다. 관심 영역의 무게 중심이 수렴하는 경우, X, Y, Z 방향으로의 회전 각도를 산출하여 관심 영역을 트래킹할 수 있다.

PTZ 카메라는 객체가 이동하였을 경우 이를 판단하여 객체를 연속적으로 추적할 수 있다. PTZ 카메라가 동작하기 위한 명령 패킷은 RS-485 통신과 같은 통신 프로토콜을 통해 통하여 카메라로 전송될 수 있다. 카메라는 객체의 움직임에 따라 모터를 작동시키며 객체를 화면 상 가운데에 위치하게 함으로서 객체의 연속적인 추적이 가능하도록 할 수 있다.

도 4는 본 발명의 실시예에 따른 객체 추적 영상 촬영 시스템을 나타낸 개념도이다.

도 4를 참조하면, 객체 추적 영상 촬영 시스템은 PTZ 카메라(400), 직렬 컨버터(410), 제어 장치(420)를 포함할 수 있다.

PTZ 카메라(400)는 카메라의 움직임으로, 좌우(Pan), 위아래(Tilt), 확대 축소(Zoom)를 수행할 수 있는 카메라를 지시한다. PTZ 카메라(400)는 촬영 객체를 트래킹하여 촬영하기 위해 사용될 수 있다. PTZ 카메라(400)에서 촬영된 영상은 제어 장치(420)로 전송될 수 있다. PTZ 카메라(400)는 제어 장치(420)에서 전송된 소정의 명령을 통해 구동될 수 있다.

제어 장치(420)는 PTZ 카메라(400)에서 전송된 영상 정보를 기초로 객체의 이동을 병렬적인 캠 쉬프트 알고리즘을 통해 분석할 수 있다. 분석된 결과에 따라 PTZ 카메라(400)의 동작을 제어하기 위한 명령을 생성하여 통신 포트를 사용하여 PTZ 카메라(400)로 전송할 수 있다. 제어 장치(420)는 PC(personal computer)와 같은 장치가 될 수 있다.

직렬 컨버터(410)는 제어 장치(420)에서 생성된 명령을 PTZ 카메라로 전송하기 위한 명령 형태로 컨버팅하기 위해 구현될 수 있다. 예를 들어, 제어 장치(420)에서 RS232 포트를 사용하여 전송된 명령을 직렬 컨버터(410)에서 변환하여 RS485 포트를 통해 PTZ 카메라(400)로 전송할 수 있다.

도 5는 본 발명의 실시예에 따른 따른 객체 추적 영상 촬영 방법을 나타낸 순서도이다.

도 5를 참조하면, PTZ 카메라의 전원을 키고(단계 S500), PTZ 카메라를 구동시킨다(단계 S510).

PTZ 카메라를 구동시켜서 획득된 영상을 RGB 영상에서 HSV 영상으로 컨버팅한다(단계 S520).

GPU에서는 PTZ 카메라를 구동시켜서 획득된 영상을 RGB 영상에서 HSV 영상으로 컨버팅할 수 있다. GPU에서 이러한 과정은 GPU에 포함된 각각의 코어(core)에서 병렬적으로 수행될 수 있다.

먼저 카메라가 획득된 영상에서 객체를 인식하게 되면 배경을 제거 직전 프레임과의 비교하여 데이터를 GPU에게 넘겨준다(단계 S530).

GPU는 배경 제거와 잡음을 없애는 모폴로지 연산, 캠쉬프트(CAMshift) 알고리즘을 수행한 후, 클러스터 데이터를 CPU에게 다시 돌려준다(단계 S540).

CPU에서 클러스터 추출 과정을 수행한다(단계 S550).

CPU에서는 가장 큰 크기의 클러스트를 추출할 수 있다.

PTZ 카메라를 움직일지 여부에 대해 판단할 수 있다(단계 S560).

PTZ 카메라를 움직일지 여부에 대해 판단은 1) 클러스터 추출 과정에서 추출된 가장 큰 클러스트의 크기가 2500을 넘는지 여부에 대해 판단, 2)추출된 클러스트가 size 함수인 size(route, 2)=0를 만족하는지 여부, 3) 클러스트의 이동이 5보다 작은지 여부를 판단하는 다양한 판단 과정을 통해 판단될 수 있다.

단계 S560의 판단 과정을 통해 PTZ 카메라를 움직이지 않는 것으로 판단되는 경우 따로 PTZ 카메라를 움직이게 하기 위한 명령을 생성하지 않는다. 단계 S560의 판단 과정을 통해 PTZ 카메라가 움직이는 것으로 판단되는 경우 PTZ 카메라를 움직이게 하기 위한 명령을 생성하여 PTZ 카메라가 객체의 움직임을 따라 움직이도록 할 수 있다.

도 6은 본 발명의 실시예에 따른 PTZ 카메라를 사용한 객체 추적을 수행한 결과를 나타낸 이미지이다.

도 6의 (A) 내지 (E)를 참조하면, 객체의 움직임에 따라 카메라가 따라서 움직여 추적하고자 하는 객체가 화면의 정중앙에 위치한다는 것을 볼 수 있다. 만일 추출한 이동 객체가 이동하였을 경우 프로그램 상에서 이를 판단하고 카메라의 모터를 움직이기 위하여 명령 패킷을 RS-485 통신을 통하여 카메라에게 전송하며, 카메라의 모터가 움직여서 객체를 화면 상의 가운데에 위치하게 함으로써 객체의 추적이 지속적으로 가능하게 된다.

아래의 표 2는 도 6에서의 카메라가 객체를 추적하는데 있어 사용한 PTZ 카메라의 PTZ 값을 나타낸 것이다

<표 2>

아래의 표 3은 캠쉬프트(CAMshift) 알고리즘을 CPU와 GPU에서 실행했을 때의 성능을 측정한 것이다. 이미지의 해상도는 640 * 480 크기이며, 각각 프레임 단위로 나누어 처리 속도를 측정하도록 했다.

<표 3>

표 3을 참조하면, 본 발명의 실시예에 따른 객체 추적 방법을 사용하는 경우 기존의 캠쉬프트(CAMshift)에서 가장 많은 연산을 필요로 했던 RGB to HSV 연산의 경우 기존의 방식보다 약 17배 가량 성능이 향상되었음을 확인할 수 있었다. 또한 히스토그램 생성(histogram generation)과 백프로젝션(backprojection) 연산의 경우도 GPU로 병렬화 한 결과, 기존의 CPU로 연산을 수행하는 경우와 비교하여 약 8 ~ 10배 가량 속도가 향상되었다.

본 발명의 실시예에서는 캠쉬프트 알고리즘을 이용하여 감시 영역 내의 객체 움직임을 판별하여 실시간으로 동작하는 영상 감시 시스템을 설계하였다. 기존의 객체 추적 알고리즘이 가진 각 프레임 별로 객체를 인식, 추적하는 데에 연산이 오래 걸린다는 단점을 보완하기 위해 캠쉬프트(CAMshift) 알고리즘을 병렬화 한 결과, 약 8~10배 정도의 속도 향상을 확인할 수 있었다.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Toplist

최신 우편물

태그