감시영역 설정을 위한 영상 기반 가상펜스 구현

Implementation of Image-based Virtual Fence for Surveillance Area Setup

  • cc icon
  • ABSTRACT

    기존의 CCTV는 녹화된 영상을 사용하는 오프라인 형태의 활용으로 인한 문제점 및 실시간 감시를 위한 운전자의 직접적인 연계의 필요성 등과 같은 제한사항을 가지고 있으며, 이러한 한계점을 극복하고자 다양한 기능을 가지는 지능형 CCTV 개발이 요구되고 있다. 본 논문은 감시영역 설정을 위한 영상기반 가상펜스를 스플라인 곡선을 사용하여 구현하는 방법을 제안한다. 또한, 제어점에서 검출한 접선 및 법선을 이용하여 가상펜스와의 거리를 일정하게 유지하는 사전 경보 영역의 설정 방법을 구현하였다. 구현된 영상기반 가상펜스는 실시간 원격 침입탐지 및 경보 제공의 목적으로 사용 가능하며, 보안 및 범죄예방을 포함하여 안전을 필요로 하는 다양한 분야에서 활용될 것으로 판단된다.


    The existing CCTV has limitation such as problem on usage of the off-line type of recorded image for specific investigation, and requirement on interactive operator intervention for real-time surveillance. Therefore, it is required to develop the intelligent CCTV equipped with various functionalities in order to overcome drawbacks mentioned above. In this paper, implementation methods of image-based virtual fence were proposed by using the spline curves with supplied control for setup of surveillance area. In addition, pre-alarm region within the predefined distance was established with tangent and normal lines extracted from control points. The image-based virtual fence can be used for remote detection of intrusion and provision of real-time intrusion alarm, and can be expected to use in safety-related application areas including security and crime prevention.

  • KEYWORD

    가상 펜스 , 지능형 감시 , 스플라인 곡선 , 침입 탐지

  • Ⅰ. 서 론

    오늘날 우리는 일상 속에서 CCTV(Closed Circuit Television)가 사용되는 장소를 어디서든 쉽게 볼 수 있다. CCTV는 산업용, 교육용, 의료용, 교통관제용, 감시용, 방재용 등 다양한 용도와 분야에서 쓰이며 많은 이로움을 주기도 하지만 사생활침해 문제와 더불어 많은 이슈가 되고 있다. 그 중 안전 관리를 위해 쓰이는 방범용 또는 감시용 CCTV는 대게 사람이 직접 모니터를 관제하면서 이상여부나 특이점들을 파악하고 그에 대한 대처를 사람이 직접 판단해야하는 수동적인 시스템으로 이루어져 있다. 이런 수동적인 시스템은 수시로 사람이 직접 CCTV를 관찰하고 있어야하는 점 때문에 공백이 발생하거나 사건 사고를 놓치는 한계점들이 존재하였다. 이 문제를 극복하고자 수년 전부터 CCTV에 지능형 판단이 가능하도록 발전시키기 위한 기술이 연구되어지고 있다. 다양한 연구 분야 중 컴퓨터 비전과 이미지 처리 기술을 통해 영상 위에 가상의 펜스를 구축하여 침입을 탐지하는 기술은 국내·외에서 많은 관심을 받고 있다.

    그러나 실제 영상위에 가상펜스를 구축하는 것은 다양한 지형의 형태와 카메라의 높이에 큰 영향을 받을 수 있다. 예로 실제 철조망에 둘러싸여 있는 지역에서 높낮이가 불규칙적인 실제 펜스가 있는 지역에 가상펜스를 설계 할 시, 단순한 직선이 아닌 여러 형태로 이어질 수 있는 곡선의 형태가 필요하다. 따라서 지형적 특성에 맞는 가상 펜스 설계를 위한 방법을 연구하였고, 스플라인 곡선을 이용한 가상펜스 구축과 이 펜스와 일정거리 떨어진 영역을 사전 경보 영역으로 설정하는 방법을 구현하였다.

    본 논문의 구성은 2장에서 관련 연구, 3장에서 스플라인 곡선을 이용한 감시 영역 설정에 대해서 다룬 뒤 4장에서 감시 영역 라인과 동일한 형태를 가진 사전 경보 영역을 만들기 위해 감시 영역에서 제어점의 접선 검출과 법선을 이용한 사전 경보 영역 설정에 대해 다루며 5장(구현 결과)과 6장을 끝으로 결론을 맺고자 한다.

    Ⅱ. 관련 연구

    CCTV는 과거 사람의 판단과 직접적인 관찰을 필요로 하는 수동적인 시스템이었다. 그러나 이런 수동적인 시스템의 불편함과 매번 사람의 개입을 필요로 하는 한계점을 개선하고자 소형의 감지기들이나 다양한 기술들이 접목되어 CCTV의 활용 방안이 보안 목적뿐만 아니라 다양한 용도로 많은 개선이 이루어지고 있다.

    국내에서는 CCTV에 각 종 감지기들을 부착하여 지능형 CCTV로의 진화를 거듭하고 있다. 실 예로, CCTV에서 음성인식 기술을 도입하여 어떤 순간에 발생할지 모르는 응급 상황을 빠르게 상황 판단이 가능하도록 도와주는 CCTV를 연구한 실례가 있다[1]. Miwa Takai의 논문에서는 복잡한 모니터링 영역에서 큰 동작들을 탐지하여 일부 영역에 침입을 감지하는 시스템을 구현하였다[2]. 이처럼 영상이나 카메라 주변에서 이벤트를 감지하는 기술은 이미 많은 진화를 거듭해왔다. 실제 영상 기반 침입 탐지 시스템을 구현하기 위해 Jun-Horng Chen의 논문에서는 직선 형태로 구축한 영상 기반 가상펜스 시스템을 구현하였다[3]. 본 논문에서 제안하는 방법을 이용한다면 가상 펜스를 구축해야하는 다양한 모양을 가진 환경에서 정교한 펜스를 구축하는 데 도움이 될 것으로 보인다. 침입 탐지를 위한 목적 외에도 영상 위에 다중 라인을 설계하여 지나간 사람을 카운트 하는 특수 목적의 시스템[4] 또한 본 논문에서 제안한 방법을 이용하여 특정 형태의 라인을 제작하는 것 또한 가능하다. 그 외에도 영상처리를 이용하여 특정 선을 넘는 물체를 탐지하는 알고리즘 연구에서 경계선을 설정하는데 도움이 될 것으로 판단된다[5].

    Ⅲ. 감시 영역 설정

       3.1. 제어점 입력

    가상 펜스를 구축하기 위한 첫 번째 단계로 제어점을 입력하는 작업을 진행 한다. 입력받은 각 포인트들은 가상펜스를 구축하는데 스플라인 곡선의 제어점으로 활용된다. MFC로 구현한 GUI(Graphic User Interface) 환경의 프로그램에서 마우스의 입력을 받아, 영상이 띄워지는 Picture Control 내부에 발생하는 마우스 이벤트 처리를 통해 각 제어점의 좌표를 받았다. 가상펜스를 구축하는데 마우스 입력 좌표를 통한 라인 구축을 선택한 이유는 추후 가상펜스의 이벤트 영역을 설정하는 것과 가상 펜스의 형태를 수정 할 때 마우스 포인트를 통한 입력과 제어를 받는 것이 편할 것으로 판단하였기 때문이다.

       3.2. 보간 스플라인

    본 논문에서는 각 제어점들을 잇는 곡선 기법으로 보간 스플라인 곡선을 이용하였다. 스플라인은 보간(Interpolation) 스플라인과 근사(Approximation) 스플라인으로 구별 된다.(그림 2)

    두 스플라인 중 보간 스플라인은 제어점을 정확히 통과(Pass-Thoroughness)하는 특성을 가지고 있다[6]. 이 특성을 이용하여 우리는 곡선 형태로 제작이 필요한 가상펜스를 설계하는데 위의 보간 스플라인 특징을 이용한다. 근사 스플라인의 경우 각 제어점을 통과하지 않지만 더 자연스러운 곡선을 그려주는 특성을 갖고 있어서 가상펜스의 곡선을 자연스럽게 보정 할 수 있는 점에선 더 뛰어날 수 있다. 그러나 근사 스플라인의 경우 처음과 끝점을 제외한 중간의 제어점을 통과 하지 않기 때문에 곡선의 성질을 모르는 사용자가 사용할 경우 되려 가상펜스의 라인이 그려지는데 있어서 사용자가 원하는 실제 펜스의 라인과 부합한 곡선 형태가 나오는 경우가 적을 수 있다.

    따라서 사용자의 경험(Experience)을 고려하여 근사 스플라인이 아닌 보간 스플라인 기법을 통해 가상펜스를 구축하는 방식을 취하였다.

       3.3. 3차 스플라인 곡선(Cubic Spline Curve)

    3.3 절에서는 Cubic Spline Curve을 이용하여 제작한 감시 영역 라인에 대해 설명한다. Cubic Spline을 그리는 수식은 다음과 같다[7].

    (x1, y1), … , (xn, yn)의 입력 항이 주어지고, x1 ˂ x2 ˂ ⋯ ˂ xn일 때, 3차 다항식은 f1, ⋯, fn-1라고 정의하고, fi에 대하여 fi : [xi, xn+1] → R 식은 아래와 같다.

    image

    (1) 식을 미분하여 2계 도함수까지 구하는 식을 유도하면 다음과 같이 진행 된다.

    image

    위의 2차 미분의 연속에서 나타나는 (x - xi)를 hi로 바꾸어 hi := xi+1 - xi 를 대입한 식은 아래와 같다.

    image

    그리고 다음 계수 c의 측면에서 계수 a와 계수 b를 정리하고 계수 b에 대한 나머지 방정식을 해결함으로 아래와 같이 정리 될 수 있다.

    image
    image
    image

    따라서 hi를 정리하면 3개의 (4), (5), (6) 식을 얻을 수 있다. 이리하여 각 ai, bi, ci 를 구할 수 있는 식을 얻고 f(x)는 다음의 조건을 따른다.

    image

    결과적으로 위 과정을 통해 fn(x)는 위의 조건에 맞춰서 (x)값에 따라 f0(x)와 fn(x)의 값을 구하는 식을 도출할 수 있다. 도출 된 식을 토대로 실제 이미지에서 제어점을 3차 스플라인 곡선으로 연결한 결과는 그림 3과 같다.

       3.4. 곡선의 지역성 및 제어점 이동

    3.3 절의 단계를 밟고 생성 된 스플라인을 가상펜스의 라인으로 사용한다. 하지만 때로는 사용자의 요구에 따라 위 라인은 수정 될 수 있어야 한다. 만약 사용자 입장에서 스플라인의 특성을 모른다면 근사 스플라인의 경우 각 제어점의 좌표가 수정 될 시 그 영향이 곡선 전체에 끼쳐 곡선의 형태가 바뀔 수가 있다. 이런 식으로 제어점을 움직일 때 여타 구간에 미치는 영향력을 스플라인의 지역성(Locality)이라 부른다.

    이 지역성이 낮다는 것은 사용자가 임의의 포인트를 수정 했을 시 1차 가상펜스 라인의 전체 형태에 영향을 끼쳐 사용자가 설정 중이던 곡선 형태가 변질 될 수 있음을 의미한다. 시험해보기 위해 본 논문에서 구현한 MFC응용 프로그램에서는 제어점을 드래그&드롭(Drag&Drop) 하는 형식으로 쉽게 고칠 수 있도록 제작하면서 마우스 커서의 이동에 맞춰서 곡선의 형태가 바로 보일 수 있도록 개발하였다.(그림 4) 왜냐하면 사용자가 어떤 제어점을 변경하였을 때 이미 설계가 완료된 제어점의 곡선의 형태가 변경되면 이는 사용자로 하여금 각 제어점의 영향까지 고려하여 다시 곡선을 그리는 재작업을 시킴으로 가상 펜스 설계 시간이 길어지는 불행을 초래할 수 있기 때문이다.

    Ⅳ. 사전 경보 영역 설정

       4.1. 제어점의 접선 검출

    4장에서는 3장을 통해 설정 된 스플라인 곡선 기반 감시영역을 통해 사전 경보 영역을 제작하는 방법을 소개한다.

    그림 5와 같이 y = f(x)인 곡선이 있을 때 지정 된 제어점 P(α, f(α))를 지나는 접선의 기울기는 곡선 y = f(x), x = α에서의 미분 계수 f'(α)가 접선의 기울기를 나타낸다. 곡선함수의 접선의 방정식은

    image

    과 같이 나오게 되고, 여기서 접선이 x축의 방향과 이루는 각의 크기 θf'(α) = tanθ 이다.

    그림 6과 같이 접선에 수직인 직선(⊥법선)의 기울기를 f'(α) 이라고 하면 접선과 법선의 기울기를 곱한 값은 –1이므로

    image

    따라서 법선의 방정식은

    image

    식(9)와 같이 정리 된다.

    다음 곡선 f(x)의 각 제어점의 법선을 이용하여 제어점 P(α, f(α))로부터 일정 거리(γ)만큼 떨어진 좌표로 2차 제어점을 입력한다.

    첫 번째 단계로 접선과 직교한 법선의 방향으로 1차 제어점에서 떨어진 일정 거리(γ)이기 때문에 그려질 선분은 의 기울기를 가지고 x축이나 y축 절편으로 거리 l 만큼 떨어진 거리에 2차 제어점을 설정한다.

    두 번째 단계로 거리 l 만큼 떨어진 2차 제어점을 구하기 위해 1차 제어점 (P(x1, y1))과 2차 제어점(Q(x2, y2))과 사이의 거리 l 은 다음과 같은 관계를 나타낸다.

    image

    그러나 거리 값 l 만 가지고는 2차 제어점(Q)을 알 수가 없다. 이 문제를 해결하기 위해 위에서 얻어온 접선의 기울기 값 f'(x) 를 이용하였다. tanθ = f'(x)이므로 아래 그림과 같은 형태의 그래프를 확인하여 보면 그림 7과 같이 제어점 P를 통해 우리는 점 O, R의 좌표 x, y 값을 알 수가 있다.

    ∠K를 구하기 위해 를 이용하여 각 θ를 확인하면 ΔOPR 의 내각의 합은 180°이므로 나머지 내각 또한 구할 수가 있다. 여기서 구한 나머지 내각을 법선과 접선이 직교한 직각 90°- (나머지 내각)을 하면 각 K를 구할 수 있고 점P에서 ∠K만큼 벌어지고 r 만큼 떨어진 점 Q의 x, y를 구할 수 있다.

    세 번째 단계로 입력 된 2차 제어점을 스플라인 곡선으로 그리게 되면 1차 제어점에서 보여준 곡선과 동일한 형태의 곡선 g(x)가 나오게 된다. 결과적으로 나오는 가상펜스의 모습을 그래프로 그려보면 그림 8과 같다.

       4.2. 사전 경보 영역

    사전 경보 라인을 통해 감시 영역과 사전 경보 영역 사이를 분리 할 수 있다.

    먼저 사전 경보 라인(yi = f(xi))에서의 각 제어점의 접선을 통해 일정 거리만큼의 2차 제어점을 통해 생성 된 곡선((yj = g(xj))을 이용하여 사전 경보 라인을 생성하고 위 두개의 곡선 사이의 영역(S)은 다음과 같이 정의 된다. 함수f(x)와 g(x)가 구간 [a, b]에서 연속이면, y = f(x)와 y = g(x) 및 x = a, x = b로 둘러싸인 도형의 넓이 S는 다음과 같다.

    image

    식(9)에서 a, b는 두 곡선이 뻗어갔을 시 영상에서 두 곡선의 양 끝점이 있는 x축에 해당한다.

    여기서 사전 경보 영역은 감시 영역 라인과 사전 경보 라인 사이의 영역 S와 같다. CCTV를 이용한 가상펜스 설계 시 위 영역이 사전 경보 영역으로 활용이 가능하며 4.1 절의 내용을 이용하여 여러 개의 사전 경보 영역을 설계 하는 것 또한 가능하다.(그림 9)

    Ⅴ. 구현 결과

    실제 CCTV가 설치되고 다양한 지형적/지리적 특징에서 가상펜스를 설계 할 시 감시 영역이 어떻게 그려질 수 있는지를 검토해보기 위해 여러 개의 영상들 위에 가상펜스를 구현해보았다.

    Ⅵ. 결 론

    본 논문에서는 영상 기반 감시 영역을 설정하기 위해 가상펜스를 구축하였고, 펜스를 구축하기 위해 3차 스플라인 곡선과 각 제어점의 법선을 이용한 사전 경보 영역 설정을 함으로써 가상펜스를 통한 감시 영역과 사전 경보 영역까지 설계하는 방법을 제안하였다. 가상펜스 시스템에서 객체의 침입 탐지에 대한 정밀성과 정확성을 높이기 위해 여러 분야의 연구들에 접목된다면 시스템의 완성도를 높이는 효과를 거둘 수 있을 것으로 기대한다. 그러나 위 연구를 통해 제안 된 방법은 일부 한계점들이 존재한다.

    첫째, 위 연구에서 제시한 사전 경보 영역 설정 방법은 일정 거리를 갖는 법선을 이용하기 때문에 실제 펜스의 형태가 법선의 거리보다 짧은 간격을 가지는 영역이 있을 경우 사전 경보 영역이 감시 영역을 침범하는 문제가 발생 할 수 있다. 결국 사용자가 직접 사전 경보영역을 다시 수정해야하는 한계가 있다.

    둘째, 영상에서 사물간의 실제 거리 값을 알지 못하기 때문에 더 멀리 있는 펜스의 형태에 맞춰 사전 경보 영역이 비례하여 설정이 되지 않는 문제가 있다.

    추후 영상에서 각 객체간의 거리 값들을 얻어옴으로 가상 펜스와 사전 경보 영역이 거리에 맞춰 비례하게 설정이 될 수 있는 방법을 연구 하고 첫 번째 문제의 한계점을 극복하기 위한 연구를 진행할 계획이다.

  • 1. Ch o Young Im, Jang Sung Soon 2009 “Implementation of Intelligent Speech Recognition System according to CCTV Emergency Information” [JIIC] Vol.19 P.415-420 google
  • 2. Takai Miwa 2015 “Measurement of complex quantity of monitoring area and detection of high active part of invading object in complex background for suveillance camera system” [Mechatronics (ICM), 2015 IEEE International Conference] P.522-528 google
  • 3. Chen Jun-Horng, Tseng Teng-Hui, Lai Chin-Lun, Hsieh Sheng-Ta 2012 “An intelligent virtual fence security system for the detection of people invading,” [Ubiquitous Intelligence & Computing and 9th International Conference on Autonomic & Trusted Computing (UIC/ATC), 2012 9th International Conference] P.786-791 google
  • 4. Barandiaran Javier, Murguia Berta, Boto Fernando 2008 “Real-Time People Counting Using Multiple Lines” [Image Analysis for Multimedia Interactive Services, 2008. WIAMIS '08. Ninth International Workshop] P.159-162 google
  • 5. Kadim Zulaikha, Meng Liang Kim, Samudin Norshuhada 2012 “Video Analytics Algorithm For Detecting Objects Crossing Lines In Specific Direction Using Blob-Based Analysis” [Proceedings of the 10th International Conference on Advances in Mobile Computing & Multimedia] P.306-312 google
  • 6. Hearn Donald, Baker M. Pauline 1997 Computer Graphics google
  • 7. ttk448, cubic spline interpolation in C++ [Internet] google
  • [그림 1.] 실제 펜스 라인을 따라 입력한 제어점을 연결한 직선
    실제 펜스 라인을 따라 입력한 제어점을 연결한 직선
  • [그림 2.] 보간 곡선과 근사 곡선
    보간 곡선과 근사 곡선
  • [] 
  • [] 
  • [] 
  • [] 
  • [] 
  • [] 
  • [] 
  • [그림 3.] 각 제어점을 3차 스플라인 곡선으로 연결한 이미지
    각 제어점을 3차 스플라인 곡선으로 연결한 이미지
  • [그림 4.] 제어점 수정의 영향(직선 / 베지어 곡선 / 3차 스플라인 곡선)
    제어점 수정의 영향(직선 / 베지어 곡선 / 3차 스플라인 곡선)
  • [] 
  • [그림 5.] 곡선 함수와 접선
    곡선 함수와 접선
  • [] 
  • [] 
  • [그림 6.] 곡선 함수y = f(x) 에서 x = α 일 때의 법선
    곡선 함수y = f(x) 에서 x = α 일 때의 법선
  • [] 
  • [그림 7.] tangent θ각의 이용
    tangent θ각의 이용
  • [그림 8.] 감시 영역 라인 f(x)와 사전 경보 라인 g(x)
    감시 영역 라인 f(x)와 사전 경보 라인 g(x)
  • [] 
  • [그림 9.] 사전 경보 영역
    사전 경보 영역
  • [그림 10.] 3차 스플라인 곡선으로만 구현한 가상 펜스
    3차 스플라인 곡선으로만 구현한 가상 펜스
  • [그림 11.] 가상 펜스 구현과 사전 경보 영역 설정(1)
    가상 펜스 구현과 사전 경보 영역 설정(1)
  • [그림 12.] 가상 펜스 구현과 사전 경보 영역 설정(2)
    가상 펜스 구현과 사전 경보 영역 설정(2)
  • [그림 13.] 가상 펜스 구현과 사전 경보 영역 설정(3)
    가상 펜스 구현과 사전 경보 영역 설정(3)