KR102227562B1 - System and method for counting floating population based on image - Google Patents

System and method for counting floating population based on image Download PDF

Info

Publication number
KR102227562B1
KR102227562B1 KR1020190064145A KR20190064145A KR102227562B1 KR 102227562 B1 KR102227562 B1 KR 102227562B1 KR 1020190064145 A KR1020190064145 A KR 1020190064145A KR 20190064145 A KR20190064145 A KR 20190064145A KR 102227562 B1 KR102227562 B1 KR 102227562B1
Authority
KR
South Korea
Prior art keywords
image
images
floating population
unit
counting
Prior art date
Application number
KR1020190064145A
Other languages
Korean (ko)
Other versions
KR20200137569A (en
Inventor
김종헌
천세욱
Original Assignee
주식회사 라온버드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 라온버드 filed Critical 주식회사 라온버드
Priority to KR1020190064145A priority Critical patent/KR102227562B1/en
Publication of KR20200137569A publication Critical patent/KR20200137569A/en
Application granted granted Critical
Publication of KR102227562B1 publication Critical patent/KR102227562B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/53Recognition of crowd images, e.g. recognition of crowd congestion
    • G06K9/00624
    • G06K9/00362
    • G06T3/0006
    • G06T3/0056
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/10Selection of transformation methods according to the characteristics of the input images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • H04N5/23238
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30242Counting objects in image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

영상 기반의 유동인구 측정 시스템이 개시된다. 상기 측정 시스템은 각각 해당 영역에 대한 이미지를 수집하는 복수의 카메라들로 구성되는 영상 촬영부와 상기 영상 촬영부에서 수집된 이미지들로부터 단일의 파노라마 이미지를 생성하는 파노라미 이미지 생성부 및 객체 인식 방법을 이용하여 상기 파노라마 이미지 생성부에서 생성된 파노라마 이미지로부터 유동 인구를 카운트하는 유동인구 계수부를 포함한다.An image-based floating population measurement system is disclosed. The measurement system includes an image capturing unit including a plurality of cameras each collecting an image for a corresponding region, a panoramic image generating unit and an object recognition method for generating a single panoramic image from the images collected by the image capturing unit. And a floating population counting unit that counts the floating population from the panoramic image generated by the panoramic image generating unit by using.

Description

영상 기반의 유동인구 측정 시스템 및 방법{SYSTEM AND METHOD FOR COUNTING FLOATING POPULATION BASED ON IMAGE}Image-based floating population measurement system and method {SYSTEM AND METHOD FOR COUNTING FLOATING POPULATION BASED ON IMAGE}

본 발명의 개념에 따른 실시 예는 영상 기반의 유동인구 측정 기술에 대한 것으로, 보다 상세하게는 복수의 이미지로부터 파노라마 이미지를 생성하여 유동 인구를 측정할 수 있고, 파노라마 이미지 생성 실패시에는 복수의 이미지를 상호 매칭함으로써 중복 인구 카운트를 방지하여 정확한 유동 인구를 측정할 수 있는 영상 기반의 유동 인구 측정 기술에 관한 것이다. An embodiment according to the concept of the present invention relates to an image-based floating population measurement technology, and more particularly, it is possible to measure the floating population by generating a panoramic image from a plurality of images. It relates to an image-based floating population measurement technology capable of accurately measuring the floating population by preventing duplicate population counts by matching with each other.

옥외 광고란 불특정 다수의 사람들을 대상으로 옥외에 게시ㆍ설치하는 광고물을 의미하며, 최근 전자ㆍ통신 기술의 발달에 따라 디지털 사이니지(Digital signage)와 같이 소비자들에게 제품이나 서비스에 대한 다양한 정보 및 광고 데이터를 출력할 수 있는 디지털 옥외 광고가 크게 관심을 받고 있다. 이에 따라, 옥외 광고판이 설치될 지점이나 구역에 대한 유동 인구가 얼마나 되는지에 대한 정보가 필요하지만, 종래의 유동 인구 측정은 국가 기관인 통계청이 4년 주기로 수기계(hand counting) 방식으로 측정되었고, 이러한 유동 인구 자료는 과거 시점의 자료로서 현시점의 상황을 정확히 반영하지 못하는 문제가 있었다. 최근에는 스마트폰의 GPS를 이용해 표본 대상들의 위치를 실시간으로 감지하여 유동 인구 정보를 획득할 수 있는 기술이 나타났으나, 약 30m에 이르는 GPS 오차는 옥외 광고판이 설치될 특정 구역에 대한 유동 인구 정보로서는 부정확한 정보가 될 수 있고, GPS 기능이 구비되지 않은 휴대폰을 보유한 유동 인구는 아예 반영되지 않는 문제가 있다. Outdoor advertising refers to advertisements posted and installed outdoors for an unspecified number of people. According to the recent development of electronic and communication technologies, various information about products or services to consumers, such as digital signage. And digital outdoor advertisements capable of outputting advertisement data are receiving great attention. Accordingly, information on how much the floating population is in the point or area where the outdoor billboard will be installed is required, but the conventional floating population measurement was measured by a hand counting method by the National Statistical Office, a national agency, every four years. The floating population data was data from the past, and there was a problem that it did not accurately reflect the current situation. Recently, a technology that can acquire floating population information by detecting the location of sample targets in real time using the GPS of a smartphone has appeared, but the GPS error of about 30m is the floating population information for a specific area where the outdoor billboard will be installed. For example, it may be inaccurate information, and there is a problem that the floating population with mobile phones that do not have a GPS function is not reflected at all.

공개특허 10-2015-0121437Patent Publication 10-2015-0121437

본 발명이 해결하고자 하는 기술적인 과제는 파노라마 이미지를 생성하여 유동 인구를 카운팅 하고, 파노라마 이미지 생성이 곤란한 경우에는 이미지 매칭을 통해 중복 인구를 제거함으로써 정확한 유동 인구를 카운팅 할 수 있는 영상 기반의 유동인구 카운팅 시스템을 제공하는 것이다. The technical problem to be solved by the present invention is an image-based floating population capable of counting the floating population by generating a panoramic image and counting the floating population through image matching when it is difficult to generate a panoramic image. It is to provide a counting system.

본 발명이 해결하고자 하는 다른 기술적인 과제는 파노라마 이미지를 생성하여 유동인구를 카운팅하고, 파노라마 이미지 생성이 곤란한 경우에는 이미지 매칭을 통해 중복 인구를 제거함으로써 정확한 유동인구를 카운팅 할 수 있는 영상 기반의 유동인구 카운팅 방법을 제공하는 것이다. Another technical problem to be solved by the present invention is to create a panoramic image to count the floating population, and when it is difficult to generate a panoramic image, image-based flow that can accurately count the floating population by removing duplicate populations through image matching. It provides a population counting method.

본 발명의 일 실시 예에 따른 영상 기반의 유동인구 카운팅 시스템은 각각 해당 영역에 대한 이미지를 수집하는 복수의 카메라들로 구성되는 영상 촬영부와 상기 영상 촬영부에서 수집된 이미지들로부터 단일의 파노라마 이미지를 생성하는 파노라마 이미지 생성부 및 객체 인식 방법을 이용하여 상기 파노라마 이미지 생성부에서 생성된 파노라마 이미지로부터 유동 인구를 카운트하는 유동인구 계수부를 포함한다.An image-based floating population counting system according to an embodiment of the present invention includes an image photographing unit composed of a plurality of cameras each collecting an image for a corresponding region, and a single panoramic image from images collected by the image photographing unit. And a floating population counting unit that counts a floating population from the panoramic image generated by the panoramic image generation unit by using a panorama image generation unit for generating a and an object recognition method.

상기 파노라마 이미지 생성부는 로컬 피쳐(local feature) 디텍팅 방법을 이용하여 상기 영상 촬영부에서 수집된 이미지들 각각으로부터 동일한 성격을 갖는 특징점을 추출하고, 아핀 변환(Affine Transform) 또는 투영 변환(Perspective Transform)을 이용하여 상기 추출된 특징점이 일치되도록 상기 이미지들을 정렬하여 상기 파노라마 이미지를 생성할 수 있다.The panoramic image generation unit extracts feature points having the same characteristics from each of the images collected by the image capturing unit using a local feature detection method, and uses an affine transform or a perspective transform. The panoramic image may be generated by arranging the images so that the extracted feature points coincide by using.

실시 예에 따라, 본 발명의 일 실시 예에 따른 영상 기반의 유동 인구 카운팅 시스템은 상기 해당 영역에 설치되는 구조물로 구현되거나 상기 해당 영역에 기 존재하는 구조물에 입혀진 패턴으로 구현되는 특징점 표시부를 더 포함할 수 있다.According to an embodiment, the image-based floating population counting system according to an embodiment of the present invention further includes a feature point display unit implemented as a structure installed in the corresponding area or implemented as a pattern coated on a structure existing in the corresponding area. can do.

실시 예에 따라, 본 발명의 일 실시 예에 따른 영상 기반의 유동 인구 카운팅 시스템은 상기 수집된 이미지들을 이미지 매칭하여 보정 이미지를 생성하는 이미지 매칭 처리부를 더 포함할 수 있으며, 상기 이미지 매칭 처리부는 상기 파노라마 이미지 생성부가 상기 파노라마 이미지를 생성하지 못하는 경우에 상기 보정 이미지를 생성하고, 상기 유동 인구 계수부는 상기 이미지 매칭 처리부에서 생성된 보정 이미지로부터 상기 유동 인구를 카운트하는 것을 특징으로 할 수 있다.According to an embodiment, the image-based floating population counting system according to an embodiment of the present invention may further include an image matching processor configured to match the collected images to generate a corrected image, and the image matching processor When the panorama image generator fails to generate the panorama image, the correction image is generated, and the floating population counting unit counts the floating population from the correction image generated by the image matching processing unit.

이때, 상기 이미지 매칭처리부는 상기 수집된 이미지들의 각 컬럼들 간 유클리드 거리(Euclidean Distance)를 계산하여 상기 각 컬럼들 간의 유사도를 판단하고, 상기 판단된 유사도가 가장 큰 컬럼들을 기준으로 상기 이미지들을 매칭하여 상기 보정 이미지를 생성하는 것을 특징으로 할 수 있다.At this time, the image matching processor calculates the Euclidean distance between the columns of the collected images to determine the similarity between the columns, and matches the images based on the determined columns with the largest similarity. Thus, it may be characterized in that the correction image is generated.

또한, 상기 이미지 매칭처리부는 상기 수집된 이미지들을 맥스 풀링(max pooling)하여 전처리하고, 상기 전처리한 이미지들을 이미지 매칭하여 상기 보정 이미지를 생성하는 것을 특징으로 할 수 있다.In addition, the image matching processor may be characterized in that the collected images are pre-processed by max pooling, and the pre-processed images are image-matched to generate the corrected image.

상기 유동 인구 계수부는 상기 보정 이미지에 포함되는 이미지들 각각의 유동 인구 수의 합에서 상기 보정 이미지에 포함되는 이미지들이 서로 중복되는 영역에 존재하는 유동 인구 수를 차감한 수를 상기 유동 인구로 카운팅할 수 있다.The floating population counting unit counts, as the floating population, a sum of the number of floating populations of each of the images included in the corrected image minus the number of floating populations present in an area where the images included in the corrected image overlap each other. I can.

본 발명의 일 실시 예에 따른 영상 기반의 유동인구 카운팅 방법은 영상 촬영부가 복수의 카메라들이 수집한 해당영역에 대한 이미지들을 파노라마 이미지 생성부로 전송하는 단계와 상기 파노라마 이미지 생성부가 상기 전송된 이미지들로부터 단일의 파노라마 이미지를 생성하여 유동 인구 계수부로 전송하는 단계와 상기 파노라마 이미지 생성부가 상기 전송된 이미지들을 이미지 매칭처리부로 전송하는 단계와 상기 이미지 매칭처리부가 상기 전송된 이미지들로부터 보정 이미지를 생성하여 상기 유동 인구 계수부로 전송하는 단계 및 상기 유동 인구 계수부가 객체 인식 방법을 이용하여 상기 전송된 파노라마 이미지 또는 상기 보정 이미지로부터 유동 인구를 카운트 하는 단계를 포함한다.In an image-based floating population counting method according to an embodiment of the present invention, an image capture unit transmits images of a corresponding region collected by a plurality of cameras to a panorama image generation unit, and the panorama image generation unit from the transmitted images. Generating a single panoramic image and transmitting it to a floating population counting unit; transmitting the transmitted images to an image matching processing unit by the panoramic image generation unit; and generating a correction image from the transmitted images by the image matching processing unit; And transmitting to the floating population counting unit and counting the floating population from the transmitted panoramic image or the corrected image by using an object recognition method by the floating population counting unit.

이때, 상기 파노라마 이미지 생성부가 상기 파노라마 이미지를 생성하여 상기 유동 인구 계수부로 전송하는 단계는 로컬 피쳐 디텍트 방법을 이용하여 상기 전송된 이미지들에서 동일한 성격을 갖는 특징점을 추출하는 단계와 아핀 변환 또는 투영 변환 방법을 이용하여 상기 추출된 특징점을 일치시키도록 상기 전송된 이미지들을 정렬시키는 단계와 상기 정렬된 이미지들을 상기 파노라마 이미지로서 생성하는 단계 및 상기 생성된 파노라마 이미지를 상기 유동 인구 계수부로 전송하는 단계를 포함할 수 있다.In this case, the step of generating the panoramic image by the panoramic image generation unit and transmitting it to the floating population counting unit includes extracting feature points having the same characteristics from the transmitted images using a local feature detection method, and affine transformation or projection. Aligning the transmitted images to match the extracted feature points using a transformation method, generating the aligned images as the panoramic image, and transmitting the generated panoramic image to the floating population counting unit. Can include.

또한, 상기 이미지 매칭처리부가 상기 보정 이미지를 생성하여 상기 유동 인구 계수부로 전송하는 단계는 상기 전송된 이미지들을 맥스 풀링하여 전처리하는 단계와 상기 전처리된 이미지들의 각 컬럼들 간 유클리드 거리를 계산하는 단계와 상기 계산된 각 컬럼들 간의 유클리드 거리에 따라 상기 컬럼들 상호 간 유사도를 판단하는 단계와 상기 판단된 유사도가 가장 큰 컬럼들을 기준으로 상기 전처리된 이미지들을 매칭하여 상기 보정 이미지를 생성하는 단계 및 상기 생성된 보정 이미지를 상기 인구 계수부로 전송하는 단계를 포함한다.In addition, the step of generating the corrected image by the image matching processing unit and transmitting it to the floating population counting unit includes pre-processing the transmitted images by max-pooling and calculating a Euclidean distance between each column of the pre-processed images. Determining the similarity between the columns according to the calculated Euclidean distance between the columns, and generating the corrected image by matching the preprocessed images based on the determined columns with the largest similarity, and the generation And transmitting the corrected image to the population counting unit.

그리고, 상기 유동 인구 계수부가 상기 보정 이미지로부터 유동 인구를 카운트 하는 단계는 상기 보정 이미지에 포함되는 이미지들 각각의 유동 인구 수를 카운팅하는 단계와 상기 보정 이미지에 포함되는 이미지들 상호 간 중복되는 영역에 존재하는 유동 인구 수를 카운팅하는 단계 및 상기 카운팅된 이미지들 각각의 유동 인구 수의 합에서 상기 카운팅 된 중복되는 영역에 존재하는 유동 인구 수를 뺀 값을 상기 유동 인구로 카운트하는 단계를 포함한다.In addition, the step of counting the floating population from the corrected image by the floating population counting unit includes counting the number of floating populations of each of the images included in the corrected image, and in an area overlapping each other with images included in the corrected image. Counting the number of floating populations present, and counting a value obtained by subtracting the number of floating populations existing in the counted overlapping area from the sum of the number of floating populations of each of the counted images as the floating population.

상기와 같이 본 발명의 일 실시 예에 따른 영상 기반의 유동 인구 카운팅 시스템 및 방법은 복수의 카메라를 통해 파노라마 이미지를 생성함으로써 단일 카메라의 커버리지를 훨씬 뛰어넘는 넓은 지역에 대한 유동인구를 카운팅할 수 있는 효과가 있다. As described above, the image-based floating population counting system and method according to an embodiment of the present invention generates a panoramic image through a plurality of cameras, thereby counting the floating population over a wide area far exceeding the coverage of a single camera. It works.

또한, 파노라마 이미지 생성이 곤란한 지형, 지역 특성에도 특징점 표시부의 설치를 통해 특징점을 추출할 수 있어, 용이하게 파노라마 이미지 생성이 가능한 효과가 있다. In addition, it is possible to extract the feature points through the installation of the feature point display unit even for topography and regional characteristics in which it is difficult to generate a panoramic image, so that it is possible to easily generate a panoramic image.

나아가 파노라마 이미지를 생성하지 못하는 경우에도, 복수의 카메라가 촬영한 이미지들 상호 간의 매칭을 통해 정확한 유동 인구를 카운팅 할 수 있는 효과가 있다.Furthermore, even when a panoramic image cannot be generated, it is possible to accurately count the floating population through matching between images captured by a plurality of cameras.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위한 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 영상 기반의 유동 인구 카운팅 시스템의 구성을 나타내는 블럭도이다.
도 2는 도 1에 도시된 영상 촬영부가 촬영한 특정 지역에 대한 이미지를 나타내는 예시도이다.
도 3은 도 1에 도시된 파노라마 이미지 생성부가 생성한 파노라마 이미지를 나타내는 예시도이다.
도 4는 본 발명의 일 실시 예에 따른 영상 촬영부가 수집한 영상에서 추출한 특징점을 나타내는 예시도이다.
도 4는 본 발명의 일 실시 예에 따른 영상 촬영부의 카메라가 수집한 영상에서 특징점을 추출한 예를 설명하기 위한 도이다.
도 5는 본 발명의 일 실시 예에 따른 파노라마 이미지 생성부가 추출된 특징점을 이용하여 파노라마 이미지를 생성한 예를 설명하기 위한 도이다.
도 6은 해당 이미지로부터 특징점 추출이 어려운 예를 나타내는 도이다.
도 7은 본 발명의 일 실시 예에 따른 파노라마 이미지 생성부가 특징점 표시부를 통해 특징점을 추출한 예를 나타내는 도이다.
도 8은 본 발명의 일 실시 예에 따른 파노라마 이미지 생성부가 특징점 표시부를 통해 추출된 특징점을 이용하여 파노라마 이미지를 생성한 예를 나타내는 도이다.
도 9는 이미지들 상호 간 수평, 수직, 회전이 발생한 예를 나타낸 예시도이다.
도 10은 본 발명의 일 실시 예에 따른 이미지 매칭처리부가 이미지들을 매칭하는 방법을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시 예에 따른 이미지 매칭처리부가 유사도에 따라 이미지들을 매칭한 결과를 나타내는 예시도이다.
도 12는 본 발명의 일 실시 예에 따른 영상 기반의 유동 인구 카운팅 방법을 설명하기 위한 순서도이다.
도 13은 본 발명의 일 실시 예에 따른 파노라마 이미지 생성부가 파노라마 이미지를 생성하는 과정을 설명하기 위한 순서도이다.
도 14는 본 발명의 일 실시 예에 따른 이미지 매칭처리부가 보정 이미지를 생성하는 과정을 설명하기 위한 순서도이다.
A detailed description of each drawing is provided in order to more fully understand the drawings cited in the detailed description of the present invention.
1 is a block diagram showing the configuration of an image-based floating population counting system according to an embodiment of the present invention.
FIG. 2 is an exemplary diagram illustrating an image of a specific area captured by the image photographing unit illustrated in FIG. 1.
3 is an exemplary diagram illustrating a panorama image generated by the panorama image generator shown in FIG. 1.
4 is an exemplary diagram illustrating feature points extracted from an image collected by an image capture unit according to an embodiment of the present invention.
4 is a diagram illustrating an example of extracting a feature point from an image collected by a camera of an image capturing unit according to an embodiment of the present invention.
5 is a diagram for explaining an example in which a panorama image generator according to an embodiment of the present invention generates a panorama image using extracted feature points.
6 is a diagram illustrating an example in which it is difficult to extract feature points from a corresponding image.
7 is a diagram illustrating an example in which a panoramic image generator according to an embodiment of the present invention extracts a feature point through a feature point display unit.
8 is a diagram illustrating an example in which a panorama image generator according to an embodiment of the present invention generates a panorama image using feature points extracted through a feature point display unit.
9 is an exemplary diagram showing an example in which images are horizontally, vertically, and rotated.
10 is an exemplary diagram illustrating a method of matching images by an image matching processor according to an embodiment of the present invention.
11 is an exemplary diagram illustrating a result of matching images according to similarity by an image matching processor according to an embodiment of the present invention.
12 is a flowchart illustrating an image-based floating population counting method according to an embodiment of the present invention.
13 is a flowchart illustrating a process of generating a panorama image by a panorama image generator according to an embodiment of the present invention.
14 is a flowchart illustrating a process of generating a corrected image by an image matching processor according to an embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in the present specification are exemplified only for the purpose of describing the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can apply various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in the present specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various constituent elements, but the constituent elements should not be limited by the terms. The terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of the rights according to the concept of the present invention, the first component may be referred to as the second component, and similarly The second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "directly between" or "adjacent to" and "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terms used in the present specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.

본 명세서에서, "포함한다" 또는 "갖는다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, terms such as "comprises" or "have" are intended to designate the presence of the described feature, number, step, action, component, part, or combination thereof, but one or more other features or numbers. It is to be understood that the possibility of addition or presence of, steps, actions, components, parts, or combinations thereof is not preliminarily excluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 포함하는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as those defined in commonly used dictionaries should be interpreted as including meanings consistent with the meanings in the context of the related technology, and should be interpreted as ideal or excessively formal meanings unless explicitly defined in the present specification. It doesn't work.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail by describing a preferred embodiment of the present invention with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 영상 기반의 유동 인구 카운팅 시스템(이하, '유동 인구 카운팅 시스템'이라 함)의 구성을 나타내는 블럭도이다.1 is a block diagram showing the configuration of an image-based floating population counting system (hereinafter referred to as a'floating population counting system') according to an embodiment of the present invention.

도 1을 참조하면, 유동 인구 카운팅 시스템(10)은 특정 지역, 예컨대 옥외 광고판이 설치된 지역이나 특정 상점이 위치한 지역 등에서 유동 인구(floating population)를 실시간 카운트할 수 있으며, 영상 촬영부(100), 파노라마 이미지 생성부(200), 특징점 표시부(300), 유동인구 계수부(400) 및 이미지 매칭처리부(500)를 포함하여 구성된다.Referring to FIG. 1, the floating population counting system 10 can count a floating population in real time in a specific area, such as an area where an outdoor billboard is installed or a specific store, and the image photographing unit 100, It includes a panoramic image generator 200, a feature point display unit 300, a floating population counting unit 400, and an image matching processing unit 500.

우선, 영상 촬영부(100)는 복수의 카메라들(130-1, 130-2 및 130-3)을 포함하며, 복수의 카메라들(130-1, 130-2 및 130-3) 각각은 옥외 광고판이 설치된 특정 지역에서 해당 영역에 대한 이미지(ca_img)를 수집하여 파노라마 이미지 생성부(200)로 전송한다.First, the image capturing unit 100 includes a plurality of cameras 130-1, 130-2, and 130-3, and each of the plurality of cameras 130-1, 130-2, and 130-3 is outdoor In a specific area where the billboard is installed, an image (ca_img) for the area is collected and transmitted to the panorama image generator 200.

도 2는 도 1에 도시된 영상 촬영부(100)가 촬영한 특정 지역에 대한 이미지(ca_img)를 나타내는 예시도이다.FIG. 2 is an exemplary view showing an image (ca_img) for a specific area captured by the image capturing unit 100 illustrated in FIG. 1.

이때, 도 2의 ca_img1은 제1 카메라(130-1)가 제1 영역을 촬영한 제1 이미지이고, ca_img2는 제2 카메라(130-2)가 제2 영역을 촬영한 제2 이미지이며, ca_img3은 제3 카메라(130-3)가 제3 영역을 촬영한 제3 이미지이다.In this case, ca_img1 in FIG. 2 is a first image in which the first camera 130-1 photographs the first region, ca_img2 is a second image in which the second camera 130-2 photographs the second region, and ca_img3 Is a third image captured by the third camera 130-3.

도 1 및 도 2를 참조하면, 제1카메라(130-1)는 특정 지역 중 상기 제1 영역에 대한 이미지(ca_img1)를 수집하고, 제2카메라(130-2)는 상기 제2 영역에 대한 이미지(ca_img2)를 수집하며, 제3카메라(130-3)는 제3 영역에 대한 이미지(ca_img3)를 실시간 수집한다.1 and 2, the first camera 130-1 collects an image (ca_img1) of the first area among a specific area, and the second camera 130-2 collects the image (ca_img1) of the second area. The image ca_img2 is collected, and the third camera 130-3 collects the image ca_img3 for the third area in real time.

본 명세서에서는 영상 촬영부(100)가 3개의 카메라(130-1, 130-2 및 130-3) 만을 포함하는 것으로 도시되었지만, 이는 설명의 편의를 위한 것일 뿐 이에 한정하는 것이 아니며, 단일 카메라가 수집할 수 있는 영상 범위를 극복하기 위해 사용자의 설계에 따라 더 많은 수의 카메라가 적용될 수 있음은 물론이다.In the present specification, the image capture unit 100 is illustrated as including only three cameras 130-1, 130-2, and 130-3, but this is for convenience of description and is not limited thereto, and a single camera is It goes without saying that a larger number of cameras may be applied according to the user's design in order to overcome the range of images that can be collected.

한편, 파노라마 이미지 생성부(200)는 영상 촬영부(100)로부터 전송된 이미지(ca_img), 즉, 영상 촬영부(100)가 포함하는 복수의 카메라들(130-1, 130-2 및 130-3) 각각이 촬영하여 전송한 이미지(ca_img1, ca_img2 및 ca_img3)로부터 단일의 파노라마 이미지(PA_img)를 생성하여 유동인구 계수부(400)로 전송하는 역할을 수행한다.On the other hand, the panoramic image generating unit 200 includes an image (ca_img) transmitted from the image capturing unit 100, that is, a plurality of cameras 130-1, 130-2 and 130-included in the image capturing unit 100. 3) A single panoramic image PA_img is generated from the images ca_img1, ca_img2 and ca_img3 captured and transmitted by each and transmitted to the floating population counting unit 400.

도 3은 도 1에 도시된 파노라마 이미지 생성부(200)가 생성한 파노라마 이미지(PA_img1)를 나타내는 예시도이다.FIG. 3 is an exemplary diagram illustrating a panorama image PA_img1 generated by the panorama image generator 200 illustrated in FIG. 1.

도 3을 참조하면, 파노라마 이미지 생성부(200)는 제1카메라(130-1)가 생성한 제1이미지(ca_img1)와 제2카메라(130-2)가 생성한 제2이미지(ca_img2) 및 제3카메라(130-3)가 생성한 제3이미지(ca_img3)로부터 단일의 파노라마 이미지(PA_img1)를 생성한다.Referring to FIG. 3, the panorama image generator 200 includes a first image (ca_img1) generated by the first camera 130-1, a second image (ca_img2) generated by the second camera 130-2, and A single panoramic image PA_img1 is generated from the third image ca_img3 generated by the third camera 130-3.

즉, 파노라마 이미지 생성부(200)는 복수의 카메라 이미지(ca_img1, ca_img2 및 ca_img3)로부터의 파노라마 이미지(PA_img1)를 구성하며, 이때, 파노라마 이미지란 각 카메라(130-1, 130-2 및 130-3)가 개별적으로 촬영한 이미지(ca_img1, ca_img2 및 ca_img3)를 하나의 이미지(PA_img1)로 구성한 것을 의미할 수 있다.That is, the panorama image generator 200 constructs a panorama image PA_img1 from a plurality of camera images ca_img1, ca_img2, and ca_img3, and in this case, the panorama image refers to each of the cameras 130-1, 130-2, and 130- 3) may mean that the individually photographed images (ca_img1, ca_img2, and ca_img3) are configured as one image (PA_img1).

이하, 파노라마 이미지 생성부(200)가 파노라마 이미지를 구성하기 위한 구체적인 방법을 상세히 설명한다.Hereinafter, a specific method for the panoramic image generator 200 to construct a panoramic image will be described in detail.

도 4는 본 발명의 일 실시 예에 따른 영상 촬영부(100)의 카메라(130-1, 130-2)가 수집한 영상(ca_img4, ca_img5)에서 특징점(Keypoint)을 추출한 예를 설명하기 위한 도이고, 도 5는 본 발명의 일 실시 예에 따른 파노라마 이미지 생성부(200)가 추출된 특징점을 이용하여 파노라마 이미지(PA_img2)를 생성한 예를 설명하기 위한 도이다.4 is a view for explaining an example of extracting a keypoint from images (ca_img4, ca_img5) collected by the cameras 130-1 and 130-2 of the image capturing unit 100 according to an embodiment of the present invention. 5 is a diagram for explaining an example in which the panorama image generator 200 generates a panorama image PA_img2 using the extracted feature points according to an embodiment of the present invention.

도 1, 도 4 및 도 5를 참조하면, 파노라마 이미지 생성부(200)는 파노라마 이미지(PA_img2)를 구성하기 위해, 인접한 두 이미지(예컨대, ca_img4 및 ca_img5)에서 동일한 성격을 갖는 특징점(예컨데, 별 표시)을 추출하고, 이를 기준으로 두 이미지(예컨대, ca_img4 및 ca_img5)를 정렬하게 된다.1, 4, and 5, the panoramic image generator 200 includes feature points (e.g., stars) having the same characteristics in two adjacent images (e.g., ca_img4 and ca_img5) in order to construct a panoramic image (PA_img2). Display), and two images (eg, ca_img4 and ca_img5) are aligned based on this.

이때, 상기의 특징점은 SIFT(Scale-Invariant Feature Transform), SURF(Speeded Up Robust Feature), BRISK(Binary Robust Independent Elementary Features), FREAK(Fast Retina Keypoint)와 같은 공지된 로컬 피쳐(local feature) 디텍트 방법을 통해 추출할 수 있다.At this time, the above feature points are known local features such as Scale-Invariant Feature Transform (SIFT), Speeded Up Robust Feature (SURF), Binary Robust Independent Elementary Features (BRISK), and Fast Retina Keypoint (FREAK) detection. It can be extracted through the method.

또한, 특징점이 추출된 두 이미지(ca_img4 및 ca_img5)는 추출된 특징점을 일치시키는 방법인 아핀 변환(Affine Transform)이나 투영 변환(Perspective Transform)과 같은 공지의 방법을 통해 정렬될 수 있다.In addition, the two images from which the feature points are extracted (ca_img4 and ca_img5) may be aligned through a known method such as an affine transform or a perspective transform, which is a method of matching the extracted feature points.

결국, 파노라마 이미지 생성부(200)는 제4이미지(ca_img4)와 제5이미지(ca_img5)에서 상기의 특징점을 추출하고, 추출한 특징점을 기준으로 제4이미지(ca_img4)와 제5이미지(ca_img5)의 특징점이 일치되도록 제5이미지(ca_img5)를 제4이미지(ca_img4) 측으로 정렬시켜 파노라마 이미지(PA_img2)를 구성한다.Eventually, the panorama image generator 200 extracts the feature points from the fourth image (ca_img4) and the fifth image (ca_img5), and based on the extracted feature points, the fourth image (ca_img4) and the fifth image (ca_img5) are A panorama image PA_img2 is formed by arranging the fifth image ca_img5 to the fourth image ca_img4 so that the feature points coincide.

한편, 상기 특징점 추출과 관련하여 해당 이미지로부터의 특징점 추출이 어려운 경우를 상정할 수 있다.Meanwhile, in relation to the extraction of the feature points, it may be assumed that it is difficult to extract the feature points from the corresponding image.

도 6은 해당 이미지로부터 특징점 추출이 어려운 예를 나타내며, 이때, 도 6의 ca_img6은 제1 카메라(130-1)가 수집한 제1영역에 대한 제6이미지이고, ca_img7는 제2 카메라(130-2)가 수집한 제2 영역에 대한 제7이미지이다.6 shows an example in which it is difficult to extract feature points from a corresponding image. In this case, ca_img6 in FIG. 6 is a sixth image of a first area collected by the first camera 130-1, and ca_img7 is a second camera 130- This is the 7th image of the second area collected by 2).

도 6을 참조하면, 제1 카메라(130-1)에서 수집된 제6 이미지(ca_img6)와 제2카메라에서 수집된 제7이미지(ca_img7)는 각각이 해당하는 영역이 인도(sidewalk)이고, 상기 인도에 보행자가 전혀 없는 경우에는 해당 이미지 내 특징점 추출이 매우 어렵게 된다.6, the sixth image (ca_img6) collected by the first camera (130-1) and the seventh image (ca_img7) collected by the second camera respectively correspond to a sidewalk. If there are no pedestrians on the sidewalk, it becomes very difficult to extract feature points in the image.

이러한 경우, 파노라마 이미지 생성부(200)는 제6 이미지(ca_img6)와 제7 이미지(ca_img7)에서 상기 특징점 추출에 실패할 수 있으며, 이에 따라 파노라마 이미지 구성 역시 실패할 수 있다.In this case, the panorama image generator 200 may fail to extract the feature points from the sixth image ca_img6 and the seventh image ca_img7, and thus, the construction of the panorama image may also fail.

본 발명의 일 실시 예에 따른 유동 인구 카운팅 시스템(10)은 촬영 대상이 되는 특정 영역에 배치된 특징점 표시부(300)를 통해 상기 특징점을 추출함으로써, 특징점 추출 실패에 따른 파노라마 이미지 생성 실패를 미연에 방지할 수 있다.The floating population counting system 10 according to an embodiment of the present invention extracts the feature points through the feature point display unit 300 arranged in a specific area to be photographed, thereby preventing the failure of generating a panorama image due to a failure to extract the feature points. Can be prevented.

도 7은 본 발명의 일 실시 예에 따른 파노라마 이미지 생성부(200)가 특징점 표시부(300)를 통해 특징점을 추출한 예를 나타낸다.7 illustrates an example in which the panoramic image generator 200 extracts a feature point through the feature point display unit 300 according to an embodiment of the present invention.

이때, 도 7의 (a)는 제1카메라(130-1)가 촬영한 제6이미지(ca_img6)에서 특징점 표시부(300)를 통해 상기 특징점(별표시)이 추출된 예를 나타내는 도이며, 도 7의 (b)는 제2카메라(130-2)가 촬영한 제7이미지(ca_img7)에서 특징점 표시부(300)를 통해 상기 특징점(별표시)이 추출된 예를 나타내는 도이다.In this case, (a) of FIG. 7 is a diagram showing an example in which the feature point (star mark) is extracted from the sixth image (ca_img6) taken by the first camera 130-1 through the feature point display unit 300, and FIG. 7B is a diagram showing an example in which the feature point (star mark) is extracted from the seventh image ca_img7 captured by the second camera 130-2 through the feature point display unit 300.

도 7에서는 설명의 편의를 위해 특징점 표시부(300)가 이미지(제6이미지 및 제7이미지)에 2개 설치된 예를 도시하였으나, 이미지의 수가 많아지거나 이미지의 측정 범위가 넓어지는 경우 등 필요에 따라 더 많은 수의 특징점 표시부(300)가 해당 영역에 설치될 수 있음은 물론이다.7 illustrates an example in which two feature point display units 300 are installed on an image (a sixth image and a seventh image) for convenience of explanation, but if necessary, such as when the number of images increases or the measurement range of the image increases. It goes without saying that a larger number of feature point display units 300 may be installed in the corresponding area.

실시 예에 따라, 특징점 표시부(300)는 특정 지역에 별도로 설치되는 구조물로 구현될 수 있으며, 특정 지역 내의 바닥이나 구조물에 입혀진 패턴(Pattern)으로도 구현될 수도 있다.Depending on the embodiment, the feature point display unit 300 may be implemented as a structure separately installed in a specific area, and may also be implemented as a pattern coated on a floor or structure in a specific area.

도 8은 본 발명의 일 실시 예에 따른 파노라마 이미지 생성부(200)가 특징점 표시부(300)를 통해 추출된 특징점(예컨대, 별표시)을 이용하여 파노라마 이미지(PA_img3)를 생성한 예를 나타낸다.FIG. 8 illustrates an example in which the panorama image generator 200 generates a panorama image PA_img3 using feature points (eg, star marks) extracted through the feature point display unit 300 according to an embodiment of the present invention.

도 7 및 도 8을 참조하면, 본 발명의 일 실시 예에 따른 유동 인구 카운팅 시스템(10)은 영상 촬영부(100)에 의해 촬영 대상이 되는 특정 영역들이 매우 유사한 지형, 매우 유사한 구조로 이루어져 특징점 추출이 곤란한 경우라도 특징점 표시부(300)를 통해 상기 특징점을 추출하여 파노라마 이미지(PA_img3)를 생성할 수 있는 효과가 있다.7 and 8, in the floating population counting system 10 according to an embodiment of the present invention, specific areas to be photographed by the image photographing unit 100 are composed of very similar terrain and very similar structures. Even when extraction is difficult, there is an effect of generating a panoramic image PA_img3 by extracting the feature points through the feature point display unit 300.

다시 도 1을 참조하면, 인구 계수부(400)는 파노라마 이미지 생성부(300)로부터 송신된 파노라마 이미지(PA_img)로부터 유동 인구를 실시간 카운팅하는 역할을 수행한다.Referring back to FIG. 1, the population counting unit 400 performs a role of counting the floating population in real time from the panoramic image PA_img transmitted from the panoramic image generating unit 300.

인구 계수부(400)는 R-CNN(Region-based Convolutional Neural Networks), Fast R-CNN, Faster R-CNN, R-FCN, YOLO, SSD 등과 같은 공지의 객체 인식 방법을 이용하여 파노라마 이미지(PA_img)로부터 유동 인구를 실시간 카운팅할 수 있다.The population counting unit 400 uses a known object recognition method such as Region-based Convolutional Neural Networks (R-CNN), Fast R-CNN, Faster R-CNN, R-FCN, YOLO, SSD, etc. ), you can count the floating population in real time.

실시 예에 따라, 유동 인구 카운팅 시스템(10)은 파노라마 이미지 생성부(300)가 파노라마 이미지(PA_img)의 생성에 실패한 경우라도, 유동 인구를 카운팅 할 수 있도록 구현된다.According to an embodiment, the floating population counting system 10 is implemented to count the floating population even when the panoramic image generator 300 fails to generate the panoramic image PA_img.

다시 도 1을 참조하면, 파노라마 이미지 생성부(300)가 파노라마 이미지(PA_img) 생성에 실패한 경우에도 인구 계수부(400)는 파노라마 이미지 생성부(300)로부터 전송된 파노라마 이미지(PA_img)가 아닌 이미지 매칭처리부(500)로부터 전송된 보정 이미지(calib_img)로부터 유동 인구를 카운팅 하게 된다. Referring back to FIG. 1, even when the panorama image generation unit 300 fails to generate the panorama image PA_img, the population counting unit 400 is an image other than the panorama image PA_img transmitted from the panorama image generation unit 300. The floating population is counted from the calibration image (calib_img) transmitted from the matching processing unit 500.

앞서 설명한 바와 같이, 인구 계수부(400)가 파노라마 이미지 생성부(300)로부터 생성된 파노라마 이미지(PA_img)를 수신하는 경우에는 해당 파노라마 이미지(PA_img)에 유동 인구의 중복 문제없이 유동인구를 카운팅할 수 있다.As described above, when the population counting unit 400 receives the panoramic image PA_img generated from the panoramic image generating unit 300, the floating population can be counted without the problem of overlapping the floating population in the corresponding panoramic image PA_img. I can.

그러나, 파노라마 이미지 생성부(300)가 파노라마 이미지 생성(PA_img)에 실패한 경우, 인구 계수부(400)가 영상촬영부(100)의 이미지들(ca_img)로부터 곧바로 유동인구를 카운팅 하게 되면 이미지들(ca_img) 상호 간 중복되는 영역에서 유동 인구가 중복되어 카운팅 되는 문제가 발생할 수 있다.However, when the panorama image generator 300 fails to generate the panorama image (PA_img), when the population counting unit 400 directly counts the floating population from the images (ca_img) of the image photographing unit 100, the images ( ca_img) There may be a problem of counting due to overlapping floating populations in overlapping areas.

이에 따라, 본 발명의 일 실시 예에 따른 유동 인구 카운팅 시스템(10)은 이미지 매칭처리부(500)의 이미지 매칭(image matching)을 통해 이러한 유동 인구의 중복 문제를 해소한다.Accordingly, the floating population counting system 10 according to an embodiment of the present invention solves such a problem of overlapping the floating population through image matching of the image matching processing unit 500.

보다 상세히 설명하면, 이미지 매칭처리부(500)는 인구 계수부(400)가 어느 하나의 이미지에 포함되는 유동 인구의 수와 다른 이미지에 포함되는 유동 인구 수의 합에서 상기 어느 하나의 이미지와 상기 다른 이미지에서 겹치는 영역에 존재하는 유동 인구 수를 뺀 수를 전체 유동인구 수로 처리할 수 있도록 이미지들을 상호 매칭한다.In more detail, the image matching processing unit 500 includes the population counting unit 400 in the sum of the number of floating populations included in one image and the number of floating populations included in another image. Images are matched with each other so that the number of subtracting the number of floating populations existing in the overlapping area in the image can be processed as the total number of floating populations.

이때, 상기 어느 하나의 이미지와 상기 다른 이미지는 서로 수평 방향으로만 이동되어 있는 경우가 있을 수 있고, 수평 방향 뿐만 아니라 수직 방향의 이동 및 회전 역시 발생할 수 있다.In this case, the one image and the other image may be moved only in a horizontal direction to each other, and movement and rotation in not only the horizontal direction but also the vertical direction may occur.

도 9는 이미지들 상호 간 수평, 수직, 회전이 발생한 예를 나타낸 예시도이며, 도 9의 (a)는 이미지들 상호 간 수평 이동 만이 발생한 경우를 나타낸 예시도이고, 도 9의 (b)는 이미지들(Left_img 및 Right_img) 상호 간 수평, 수직, 회전이 발생한 경우를 나타낸 예시도이다.FIG. 9 is an exemplary diagram showing an example in which horizontal, vertical, and rotational images occur, FIG. 9A is an exemplary diagram illustrating a case in which only horizontal movement between images occurs, and FIG. 9B is This is an exemplary diagram showing a case in which the images (Left_img and Right_img) occur horizontally, vertically, and rotated with each other.

도 9의 (a)에서 보여주는 수평 이동이 발생한 경우는 가장 간단한 경우에 해당하지만, 실제 환경에서는 도 9의 (b)와 같이 카메라 설정에 따라 수평 방향 뿐만 아니라 수직 방향으로도 다소 간의 쉬프트(shift)가 일어날 수 있고, 좌측 이미지(Left_img) 대비 우측 이미지(Right_img)가 어느 정도 회전(rotate)될 수도 있다.The case in which the horizontal movement shown in (a) of FIG. 9 occurs is the simplest case, but in an actual environment, as shown in (b) of FIG. 9, a slight shift in the vertical direction as well as the horizontal direction is performed according to the camera setting. May occur, and the right image (Right_img) may be rotated to some extent compared to the left image (Left_img).

따라서, 이미지 매칭처리부(500)는 인구 계수부(400)가 이미지들(Left_img 및 Right_img) 간 겹치는 영역에서의 유동 인구를 정확히 카운팅 할 수 있도록 이미지들 간의 수평 방향 이동 뿐만 아니라 수직 방향 이동 및 이미지 회전을 고려하여 이미지들(Left_img 및 Right_img)을 매칭한다.Therefore, the image matching processing unit 500 not only moves horizontally between images, but also moves vertically and rotates images so that the population counting unit 400 accurately counts the floating population in an area where the images (Left_img and Right_img) overlap. The images (Left_img and Right_img) are matched in consideration of.

이미지 매칭처리부(500)가 이러한 수평 방향, 수직 방향, 회전을 고려하여 이미지들(Left_img 및 Right_img)을 매칭하는 방법을 이하 상세히 설명한다.A method in which the image matching processing unit 500 matches the images Left_img and Right_img in consideration of such a horizontal direction, a vertical direction, and rotation will be described in detail below.

도 10은 본 발명의 일 실시 예에 따른 이미지 매칭처리부가 이미지들을 매칭하는 방법을 설명하기 위한 예시도이다.10 is an exemplary diagram illustrating a method of matching images by an image matching processor according to an embodiment of the present invention.

도 10을 참조하면, 이미지 매칭처리부(500)는 좌측 이미지(Left_img)의 가장 우측 컬럼(CL_1)에서부터 순차적 좌측 컬럼(CL_2 ~ CL_n)으로 우측 이미지(Right_img)의 가장 좌측 컬럼(CR_PL)과의 유사도를 비교한다.Referring to FIG. 10, the image matching processing unit 500 sequentially starts from the rightmost column CL_1 of the left image (Left_img) to the left column (CL_2 to CL_n), and the similarity with the leftmost column (CR_PL) of the right image (Right_img). Compare

이때, 각 컬럼들은 이미지 높이 만큼의 차원을 가진 벡터(vector)로서 n개의 엘레멘트를 갖는 것으로 가정하고, 좌측 이미지(Left_img)의 컬럼들(CL_1 ~ CL_n) 각각과 우측 이미지(Right_img)의 가장 좌측 컬럼(CR_PL)의 거리를 계산하는 방식으로 컬럼들 상호 간의 유사도를 비교한다.At this time, each column is assumed to have n elements as a vector having a dimension equal to the image height, and each of the columns CL_1 to CL_n of the left image (Left_img) and the leftmost column of the right image (Right_img) The similarity between the columns is compared by calculating the distance of (CR_PL).

실시 예에 따라, 이미지 매칭처리부(500)는 유클리드 거리(Euclidean Distance 또는 L2 Distance)를 계산하는 방법으로 상기 각 컬럼들 사이의 거리를 구할 수 있다.According to an embodiment, the image matching processor 500 may obtain a distance between each of the columns by calculating an Euclidean distance or L2 distance.

예를 들어, 이미지 매칭처리부(500)는 좌측 이미지(Left_img)의 제4컬럼(CL_4)과 우측 이미지(Right_img)의 가장 좌측 컬럼(CR_PL)의 거리(D)는 아래의 수학식과 같이 계산할 수 있다. For example, the image matching processor 500 may calculate the distance D between the fourth column CL_4 of the left image Left_img and the leftmost column CR_PL of the right image Right_img as shown in the following equation. .

Figure 112019055923682-pat00001
Figure 112019055923682-pat00001

이때, CL_41은 좌측 이미지(Left_img)의 제4컬럼(CL_4)의 제1엘레멘트를 의미하고 CL_4n는 제n엘레멘트를 의미하며, CR_PL1은 우측 이미지(Right_img)의 가장 좌측 컬럼(CR_PL)의 제1엘레멘트를 의미하고 CR_PLn은 제n엘레멘트를 의미한다.At this time, CL_41 refers to the first element of the fourth column (CL_4) of the left image (Left_img), CL_4n refers to the nth element, and CR_PL1 refers to the first element of the leftmost column (CR_PL) of the right image (Right_img). Means, and CR_PLn means the nth element.

이미지 매칭처리부(500)는 상기와 같이 계산한 유클리드 거리가 가장 작은 경우를 컬럼들 상호 간의 유사도가 가장 큰 것으로 판단한다. The image matching processing unit 500 determines that the similarity between the columns is the largest when the Euclidean distance calculated as described above is the smallest.

도 11은 본 발명의 일 실시 예에 따른 이미지 매칭처리부(500)가 유사도에 따라 이미지들(Left_img 및 Right_img)을 매칭한 결과를 나타내는 예시도이다.11 is an exemplary view showing a result of matching images Left_img and Right_img according to similarity by the image matching processing unit 500 according to an embodiment of the present invention.

도 1, 도 10 및 도 11을 참조하면, 이미지 매칭처리부(500)는 상기와 같이 구한 컬럼들 상호 간의 유사도에 따라, 가장 높은 유사도를 가진 두 컬럼(CL_4, CR_PL)을 기준으로 이미지들(Left_img 및 Right_img) 상호 간의 매칭(matching)을 수행한다.1, 10, and 11, the image matching processing unit 500 displays images (Left_img) based on the two columns CL_4 and CR_PL having the highest similarity according to the similarity between the columns obtained as described above. And Right_img) perform mutual matching.

그리고, 이미지 매칭처리부(500)로부터 각 이미지들(Left_img 및 Right_img)이 매칭되면, 이들 각 이미지들(Left_img 및 Right_img) 상호 간의 겹치는 영역이 나타나게 된다.In addition, when the images (Left_img and Right_img) are matched from the image matching processing unit 500, an overlapping area between the images (Left_img and Right_img) appears.

이미지 매칭처리부(500)는 상기와 같은 과정을 통해 매칭된 이미지들을 보정 이미지(calib_img)로서 인구 계수부(400)에 전송한다. The image matching processing unit 500 transmits the matched images to the population counting unit 400 as a correction image (calib_img) through the above process.

다만, 앞서 도 9의 (b)에 대한 설명에서 언급한 바와 같이, 이미지 매칭처리부(500)는 이미지들(Left_img 및 Right_img) 간 겹치는 영역을 찾을 때 수평 방향의 이동뿐만 아니라 수직 방향 이동과 이미지 회전을 고려해야 한다.However, as previously mentioned in the description of (b) of FIG. 9, the image matching processing unit 500 not only moves in the horizontal direction but also moves in the vertical direction and rotates the image when searching for an overlapping area between images (Left_img and Right_img). Should be considered.

이는 수직 방향의 이동, 이미지의 회전과 같은 변화가 약간만 발생해도 실제로 서로 유사한 컬럼들이 유사도 계산에서는 낮은 유사도로 나타날 수 있기 때문이다.This is because even slight changes, such as vertical movement and image rotation, may actually show similar columns with low similarity in the similarity calculation.

이에 따라, 이미지 매칭처리부(500)는 이미지들 간의 유사도에 따른 매칭 이전에 소정의 전처리 과정을 수행할 수 있으며, 상기의 전처리 과정을 통해 이미지(ca_img)가 다소 수직 방향 쉬프트 되거나 회전 되어도 컬럼들 간 유사도에 큰 영향을 주지 않도록 한다.Accordingly, the image matching processor 500 may perform a predetermined pre-processing process before matching according to the similarity between images, and even if the image (ca_img) is slightly vertically shifted or rotated through the above pre-processing process, Do not make a big impact on the similarity.

실시 예에 따라, 상기 소정의 전처리 과정은 컨볼루션 신경망 알고리즘(Convolutional Neural Network, CNN)의 맥스 풀링(max pooling)에 따라 수행될 수 있다.According to an embodiment, the predetermined preprocessing process may be performed according to max pooling of a convolutional neural network (CNN).

일반적으로 인풋 이미지의 각 레이어를 분리하여 사이즈를 변환(resize)시킨 후 다시 적층하는 방법을 풀링(pooling)이라 하며, 맥스 풀링은 최대값이 다른 값을 대표한다는 개념을 기반으로 사이즈를 변환시키는 풀링 방법이다.In general, a method of separating each layer of an input image, resizing it, and then stacking it again is called pooling, and max pooling is a pooling that converts the size based on the concept that the maximum value represents a different value. That's the way.

이미지 매칭처리부(500)는 맥스 풀링을 이용하여 이미지들(예컨대, 도 9의 Left_img 및 Right_img)을 전처리하기 때문에 이미지(도 9의 Right_img)가 다소 수직 방향 쉬프트 되거나 회전되어도 이미지들(예컨대, 도 9의 Left_img 및 Right_img)의 컬럼들 간 유사도 판단에 큰 영향을 주지 않게 된다.Since the image matching processing unit 500 preprocesses images (eg, Left_img and Right_img in FIG. 9) using max pooling, even if the image (Right_img in FIG. 9) is slightly vertically shifted or rotated, images (eg, FIG. 9 The similarity between the columns of Left_img and Right_img) does not have a significant influence on the judgment.

이후, 이미지 매칭처리부(500)는 상기 전처리 된 이미지들의 컬럼들 상호 간의 유사도에 따라, 도 10 및 도 11에서 설명한 바와 같이 가장 높은 유사도를 가진 두 컬럼을 기준으로 이미지들(Left_img 및 Right_img) 상호 간의 매칭(matching)을 수행한다.Thereafter, the image matching processing unit 500 is based on the two columns having the highest similarity as described in FIGS. 10 and 11 according to the similarity between the columns of the pre-processed images. Perform matching.

다시 도 1을 참조하면, 인구 계수부(400)는 이미지 매칭처리부(500)로부터 전송된 보정 이미지(calib_img)로부터 중복된 인구를 제외하여 정확한 유동 인구를 카운팅 하게 된다.Referring back to FIG. 1, the population counting unit 400 counts the correct floating population by excluding the duplicated population from the corrected image (calib_img) transmitted from the image matching processing unit 500.

즉, 인구 계수부(400)는 전체 유동 인구의 수를 어떤 이미지(예컨대 도 11의 Left_img)의 전체 유동 인구의 수와 다른 이미지(예컨대, 도 11의 Right_img)의 전체 인구 수의 합에서 이들의 겹치는 영역(예컨대, 도 11의 겹치는 영역)에 존재하는 인구 수를 뺀 수로 처리하게 된다.That is, the population counting unit 400 calculates the number of the total floating population from the sum of the total number of floating populations in a certain image (eg, Left_img in FIG. 11) and the total number of populations in another image (eg, Right_img in FIG. 11). It is processed by subtracting the number of populations existing in the overlapping area (eg, the overlapping area of FIG. 11).

보다 상세히 설명하면, 인구 계수부(400)는 파노라마 이미지 생성부(200)가 파노라마 이미지(PA_img)를 생성하지 못한 경우, 이미지 매칭처리부(500)로부터 보정 이미지(calib_img)를 수신한다.In more detail, when the panorama image generation unit 200 fails to generate the panorama image PA_img, the population counting unit 400 receives a correction image calib_img from the image matching processing unit 500.

보정 이미지(calib_img)에는 각 이미지(예컨대 도 11의 Left_img 및 Right_img)가 겹치는 영역이 표시되어 있으며, 인구 계수부(400)는 각 이미지에서 유동인구수를 카운트하고, 이들 이미지가 겹치는 영역에 존재하는 유동 인구수를 카운트한다.In the calibrated image (calib_img), an area where each image (for example, Left_img and Right_img in FIG. 11) overlaps is displayed, and the population counting unit 400 counts the number of floating populations in each image, and flows existing in the area where these images overlap. Count the number of people.

순차적으로 인구 계수부(400)는 각 이미지(예컨대 도 11의 Left_img 및 Right_img)에서 카운트한 유동 인구수의 합에서 이들 이미지가 겹치는 영역에 존재하는 유동 인구수를 차감함으로써 중복 제거된 유동 인구수를 계산한다.Subsequently, the population counting unit 400 calculates the number of redundantly removed floating populations by subtracting the number of floating populations existing in an area where these images overlap from the sum of the number of floating populations counted in each image (eg, Left_img and Right_img in FIG. 11).

이때, 인구 계수부(400)는 R-CNN, Fast R-CNN, Faster R-CNN, R-FCN, YOLO, SSD 등과 같은 공지의 객체 인식 방법을 이용하여 보정 이미지(calib_img)로부터 유동 인구를 실시간 카운팅할 수 있다.At this time, the population counting unit 400 uses a known object recognition method such as R-CNN, Fast R-CNN, Faster R-CNN, R-FCN, YOLO, SSD, etc. to determine the floating population in real time from the calibrated image (calib_img). You can count.

도 12는 본 발명의 일 실시 예에 따른 영상 기반의 유동 인구 카운팅 방법(이하, '유동 인구 카운팅 방법'이라 함)을 설명하기 위한 순서도이다. 12 is a flowchart illustrating an image-based floating population counting method (hereinafter referred to as a'floating population counting method') according to an embodiment of the present invention.

도 1 내지 도 12를 참조하면, 영상 촬영부(100)는 복수의 카메라들(130-1, 130-2 및 130-3) 각각이 수집(S100)한 해당 영역에 대한 이미지(ca_img)를 파노라마 이미지 생성부(200)로 전송한다(S130).1 to 12, the image capturing unit 100 panoramas an image (ca_img) for a corresponding region collected (S100) by each of a plurality of cameras 130-1, 130-2, and 130-3. It is transmitted to the image generating unit 200 (S130).

이때, 제1카메라(130-1)는 제1영역에 대한 이미지(ca_img1)를 수집하고, 제2카메라(130-2)는 제2영역에 대한 이미지(ca_img2)를 수집하며, 제3카메라(130-3)는 제3영역에 대한 이미지(ca_img3)를 수집한다.At this time, the first camera 130-1 collects the image (ca_img1) for the first area, the second camera 130-2 collects the image (ca_img2) for the second area, and the third camera ( 130-3) collects an image (ca_img3) for the third area.

순차적으로, 파노라마 이미지 생성부(200)는 영상 촬영부(100)로부터 전송된 이미지(ca_img)로부터 단일의 파노라마 이미지(PA_img)를 생성하고(S200), 생성한 파노라마 이미지(PA_img)를 유동인구 계수부(400)로 전송한다(S230).Sequentially, the panoramic image generation unit 200 generates a single panoramic image PA_img from the image ca_img transmitted from the image capturing unit 100 (S200), and calculates the generated panoramic image PA_img. It is transmitted to the unit 400 (S230).

이하 파노라마 이미지 생성부(200)가 단일의 파노라마 이미지(PA_img)를 생성하는 방법에 대해 상세히 설명한다.Hereinafter, a method of generating a single panoramic image PA_img by the panoramic image generator 200 will be described in detail.

도 13은 본 발명의 일 실시 예에 따른 파노라마 이미지 생성부(200)가 파노라마 이미지(PA_img)를 생성하는 과정을 설명하기 위한 순서도이다.13 is a flowchart illustrating a process of generating a panorama image PA_img by the panorama image generator 200 according to an embodiment of the present invention.

도 1 내지 도 13을 참조하면, 파노라마 이미지 생성부(200)는 영상 촬영부(100)로부터 전송된 이미지들에서 동일한 성격을 갖는 특징점(Keypoint)을 추출한다(S150).1 to 13, the panoramic image generation unit 200 extracts keypoints having the same characteristics from images transmitted from the image capturing unit 100 (S150 ).

이때, 파노라마 이미지 생성부(200)는 상기의 특징점을 SIFT, SURF, BRISK, FREAK와 같은 공지된 로컬 피쳐 디텍트 방법을 이용하여 추출할 수 있다.In this case, the panorama image generator 200 may extract the above feature points using a known local feature detection method such as SIFT, SURF, BRISK, and FREAK.

순차적으로, 파노라마 이미지 생성부(200)는 추출된 특징점을 일치시키는 방법으로 이미지들(예컨대, 도 4의 ca_img4와 ca_img5 또는 도 7의 ca_img6와 ca_img7)을 정렬시킨다(S180).Sequentially, the panorama image generator 200 arranges the images (eg, ca_img4 and ca_img5 in FIG. 4 or ca_img6 and ca_img7 in FIG. 7) by matching the extracted feature points (S180).

이때, 파노라마 이미지 생성부(200)는 상기 추출된 특징점을 기초로 아핀 변환이나 투영 변환 방법을 사용하여 이미지들을 정렬(S180)시킬 수 있다.In this case, the panorama image generator 200 may align the images using an affine transformation or a projection transformation method based on the extracted feature points (S180).

결국, 파노라마 이미지 생성부(200)는 상기와 같이 특징점이 추출된 이미지들을 특징점을 일치시키는 방법을 통해 정렬시키고, 정렬된 이미지들을 파노라마 이미지(예컨대, 도 5의 PA_img2 또는 도 8의 PA_img3)로서 생성한다(S200).Eventually, the panoramic image generation unit 200 aligns the images from which the feature points are extracted as described above through a method of matching the feature points, and generates the aligned images as a panoramic image (eg, PA_img2 in FIG. 5 or PA_img3 in FIG. 8). Do (S200).

만일, 파노라마 이미지 생성부(200)가 상기 특징점을 추출하지 못하게 되면, 이는 곧 파노라마 이미지 생성에 실패한 것과 같으며, 파노라마 이미지 생성에 실패한 경우에 파노라마 이미지 생성부(200)는 영상 촬영부(100)로부터 전송된 이미지(ca_img)를 이미지 매칭처리부(500)로 전송한다(S280).If the panorama image generation unit 200 fails to extract the feature points, this is the same as the failure to generate the panorama image, and when the panorama image generation fails, the panorama image generation unit 200 performs the image capture unit 100 The image (ca_img) transmitted from is transmitted to the image matching processing unit 500 (S280).

실시 예에 따라서는, 파노라마 이미지 생성에 실패하지 않은 경우라도 파노라마 이미지 생성부(200)가 영상 촬영부(100)로부터 전송된 이미지(ca_img)를 이미지 매칭처리부(500)로 전송할 수도 있다(S280).Depending on the embodiment, the panorama image generator 200 may transmit the image (ca_img) transmitted from the image capturing unit 100 to the image matching processor 500 even if the panorama image generation has not failed (S280). .

이미지 매칭처리부(500)는 파노라마 이미지 생성부(200)로부터 전송된 이미지들(ca_img)로부터 보정 이미지(calib_img)를 생성하며(S400), 생성한 보정 이미지를 인구 계수부로 전송한다(S430).The image matching processing unit 500 generates a correction image (calib_img) from the images (ca_img) transmitted from the panorama image generation unit 200 (S400), and transmits the generated corrected image to the population counting unit (S430).

이하, 이미지 매칭처리부(500)가 보정 이미지(calib_img)를 생성하는 과정(S400)을 보다 상세히 설명한다.Hereinafter, a process (S400) of generating the corrected image (calib_img) by the image matching processing unit 500 will be described in more detail.

도 14는 본 발명의 일 실시 예에 따른 이미지 매칭처리부가 보정 이미지를 생성하는 과정을 설명하기 위한 순서도이다.14 is a flowchart illustrating a process of generating a corrected image by an image matching processor according to an embodiment of the present invention.

도 1 내지 도 14를 참조하면, 이미지 매칭처리부(500)는 파노라마 이미지 생성부(200)로부터 전송된 이미지들(ca_img) 간 수직, 회전에 따른 유사도 판단의 오류을 최소화하기 위해 전처리 과정을 수행한다(S300).1 to 14, the image matching processing unit 500 performs a pre-processing process to minimize errors in determining similarity due to vertical and rotation between images (ca_img) transmitted from the panoramic image generation unit 200 ( S300).

실시 예에 따라, 상기 소정의 전처리 과정은 컨볼루션 신경망 알고리즘(Convolutional Neural Network, CNN)의 맥스 풀링(max pooling)에 따라 수행될 수 있다(S300).According to an embodiment, the predetermined preprocessing process may be performed according to max pooling of a convolutional neural network (CNN) (S300).

이미지 매칭처리부(500)는 맥스 풀링을 이용하여 이미지들(예컨대, 도 9의 Left_img 및 Right_img)을 전처리하기 때문에 이미지(도 9의 Right_img)가 다소 수직 방향 쉬프트 되거나 회전이 되어도 이미지들(예컨대, 도 9의 Left_img 및 Right_img)의 컬럼들 간 유사도 판단에 큰 영향을 주지 않게 된다.Since the image matching processing unit 500 preprocesses images (eg, Left_img and Right_img in FIG. 9) using max pooling, even if the image (Right_img in FIG. 9) is slightly vertically shifted or rotated, images (eg, FIG. The similarity between the columns of (Left_img and Right_img of 9) does not have a significant influence on the determination.

이미지 매칭처리부(500)는 전처리 된 좌측 이미지(Left_img)와 우측 이미지(Right_img)를 기초로 하여, 좌측 이미지(Left_img)의 가장 우측 컬럼(CL_1)에서부터 순차적 좌측 컬럼(CL_2 ~ CL_n)으로 우측 이미지(Right_img)의 가장 좌측 컬럼(CR_PL)과의 유사도를 비교한다(S350).Based on the preprocessed left image (Left_img) and right image (Right_img), the image matching processing unit 500 sequentially proceeds from the rightmost column (CL_1) of the left image (Left_img) to the right image (CL_2 to CL_n). Right_img) is compared with the leftmost column CR_PL (S350).

이때, 각 컬럼들은 이미지 높이 만큼의 차원을 가진 벡터(vector)로서 n개의 엘레멘트를 갖는 것으로 가정하고, 좌측 이미지(Left_img)의 컬럼들(CL_1 ~ CL_n) 각각과 우측 이미지(Right_img)의 가장 좌측 컬럼(CR_PL)의 거리를 계산(S320)함으로써 컬럼들 상호 간의 유사도를 비교한다(S350).At this time, each column is assumed to have n elements as a vector having a dimension equal to the image height, and each of the columns CL_1 to CL_n of the left image (Left_img) and the leftmost column of the right image (Right_img) The similarity between the columns is compared by calculating the distance of (CR_PL) (S320) (S350).

실시 예에 따라, 이미지 매칭처리부(500)는 상기 수학식1과 같이 유클리드 거리(Euclidean Distance 또는 L2 Distance)를 계산하는 방법으로 상기 각 컬럼들 사이의 거리를 구할 수 있다(S320).According to an embodiment, the image matching processor 500 may calculate the distance between the columns by calculating the Euclidean distance or L2 distance as in Equation 1 (S320).

이미지 매칭처리부(500)는 상기와 같이 계산한 유클리드 거리가 가장 작은 경우를 컬럼들 상호 간의 유사도가 가장 큰 것으로 판단한다(S350).The image matching processing unit 500 determines that the similarity between the columns is the largest when the Euclidean distance calculated as described above is the smallest (S350).

이미지 매칭처리부(500)는 상기와 같이 구한 컬럼들 상호 간의 유사도에 따라, 가장 높은 유사도를 가진 두 컬럼(예컨대, 도 11의 CL_4, CR_PL)을 기준으로 이미지들(Left_img 및 Right_img) 상호 간의 매칭(matching)을 수행한다(S390).The image matching processing unit 500 matches the images (Left_img and Right_img) based on the two columns having the highest similarity (eg, CL_4 and CR_PL in FIG. 11) according to the similarity between the columns obtained as described above. matching) is performed (S390).

즉, 이미지 매칭처리부(500)는 이미지들(Left_img 및 Right_img) 상호 간의 매칭(matching)을 수행(S390)함으로써 이들 상호 간의 겹치는 영역을 찾아내고, 매칭된 이미지를 보정 이미지(calib_img)로서 생성한다(S400).That is, the image matching processing unit 500 finds an overlapping area between the images (Left_img and Right_img) by performing (S390) matching (S390), and generates the matched image as a corrected image (calib_img) ( S400).

이후, 이미지 매칭처리부(500)는 생성된 보정 이미지(calib_img)를 인구 계수부(400)에 전송한다(S430).Thereafter, the image matching processing unit 500 transmits the generated correction image (calib_img) to the population counting unit 400 (S430).

한편, 인구 계수부(400)는 파노라마 이미지 생성부(300)로부터 전송된 파노라마 이미지(PA_img) 또는 이미지 매칭부(500)로부터 전송된 보정 이미지(calib_img)로부터 유동 인구를 실시간 카운팅한다(S500).Meanwhile, the population counting unit 400 counts the floating population in real time from the panoramic image PA_img transmitted from the panoramic image generating unit 300 or the corrected image calib_img transmitted from the image matching unit 500 (S500).

이때, 인구 계수부(400)는 R-CNN, Fast R-CNN, Faster R-CNN, R-FCN, YOLO, SSD 등과 같은 공지의 객체 인식 방법을 이용하여 파노라마 이미지(PA_img)로부터 유동 인구를 실시간 카운팅한다(S500-1).At this time, the population counting unit 400 uses a known object recognition method such as R-CNN, Fast R-CNN, Faster R-CNN, R-FCN, YOLO, SSD, etc. to determine the floating population in real time from the panoramic image (PA_img). Count (S500-1).

또한, 인구 계수부(400)는 R-CNN, Fast R-CNN, Faster R-CNN, R-FCN, YOLO, SSD 등과 같은 공지의 객체 인식 방법을 이용하여 보정 이미지(calib_img)로부터 각 이미지들(Left_img 및 Right_img)에 존재하는 유동 인구수를 실시간 카운팅하고, 이들(Left_img 및 Right_img)로부터 중복되는 영역(겹치는 영역)에 존재하는 유동 인구를 차감하여 전체 유동 인구를 산출한다(S500-2).In addition, the population counting unit 400 uses a known object recognition method such as R-CNN, Fast R-CNN, Faster R-CNN, R-FCN, YOLO, SSD, etc. from the corrected image (calib_img) to each image ( The number of floating population existing in Left_img and Right_img) is counted in real time, and the total floating population is calculated by subtracting the floating population existing in the overlapping area (overlapping area) from these (Left_img and Right_img) (S500-2).

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능하다. The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the technical field to which the present invention pertains can make various modifications and variations without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

10 : 유동 인구 카운팅 시스템
100 : 영상 촬영부
130-1 : 제1 카메라
130-2 : 제2 카메라
130-3 : 제3 카메라
200 : 파노라마 이미지 생성부
300 : 특징점 표시부
400 : 유동 인구 계수부
500 : 이미지 매칭 처리부
10: Floating population counting system
100: video recording unit
130-1: first camera
130-2: second camera
130-3: third camera
200: Panorama image generation unit
300: feature point display
400: floating population counting unit
500: image matching processing unit

Claims (11)

각각 해당 영역에 대한 이미지를 수집하는 복수의 카메라들로 구성되는 영상 촬영부;
상기 영상 촬영부에서 수집된 이미지들로부터 단일의 파노라마 이미지를 생성하는 파노라마 이미지 생성부;
상기 파노라마 이미지 생성부가 상기 파노라마 이미지를 생성하지 못하는 경우, 상기 수집된 이미지들을 이미지 매칭하여 보정 이미지를 생성하는 이미지 매칭 처리부;
객체 인식 방법을 이용하여 상기 파노라마 이미지 생성부에서 생성된 파노라마 이미지 또는 상기 이미지 매칭 처리부에서 생성된 보정 이미지로부터 유동 인구를 카운트하는 유동 인구 계수부를 포함하고,
상기 이미지 매칭 처리부는,
상기 영상 촬영부에서 수집된 이미지들에 대해 컨볼루션 신경망 알고리즘(Convolutional Neural Network, CNN)의 맥스 풀링(max pooling)을 수행하여 전처리하고, 상기 전처리한 이미지들에서 각 이미지의 컬럼들 간의 유클리드 거리(Euclidean Distance)를 계산하여 상기 컬럼들 간의 유사도를 판단하고, 판단된 유사도가 가장 큰 컬럼들을 기준으로 상기 이미지들을 매칭하여 상기 보정 이미지를 생성하도록 구성되는 것을 특징으로 하는 영상 기반의 유동 인구 카운팅 시스템.
An image capture unit comprising a plurality of cameras each collecting an image for a corresponding region;
A panoramic image generating unit generating a single panoramic image from the images collected by the image capturing unit;
An image matching processor configured to generate a corrected image by matching the collected images when the panoramic image generator fails to generate the panoramic image;
A floating population counting unit for counting a floating population from the panoramic image generated by the panoramic image generating unit or the corrected image generated by the image matching processing unit using an object recognition method,
The image matching processing unit,
The images collected by the image capturing unit are preprocessed by performing max pooling of a convolutional neural network (CNN), and the Euclidean distance between columns of each image in the preprocessed images ( Euclidean Distance) is calculated, the similarity between the columns is determined, and the images are matched based on the columns with the largest similarity to generate the corrected image.
제1항에 있어서, 상기 파노라마 이미지 생성부는,
로컬 피쳐(local feature) 디텍팅 방법을 이용하여 상기 영상 촬영부에서 수집된 이미지들 각각으로부터 동일한 성격을 갖는 특징점을 추출하고,
아핀 변환(Affine Transform) 또는 투영 변환(Perspective Transform)을 이용하여 상기 추출된 특징점이 일치되도록 상기 이미지들을 정렬하여 상기 파노라마 이미지를 생성하는 영상 기반의 유동 인구 카운팅 시스템.
The method of claim 1, wherein the panorama image generating unit,
Using a local feature detection method, feature points having the same characteristics are extracted from each of the images collected by the image capturing unit,
An image-based floating population counting system for generating the panoramic image by arranging the images so that the extracted feature points coincide using an affine transform or a perspective transform.
제1항에 있어서,
상기 해당 영역에 설치되는 구조물로 구현되거나 상기 해당 영역에 기 존재하는 구조물에 입혀진 패턴으로 구현되는 특징점 표시부를 더 포함하는 영상 기반의 유동 인구 카운팅 시스템.
The method of claim 1,
An image-based floating population counting system further comprising a feature point display unit implemented as a structure installed in the corresponding area or implemented as a pattern coated on a structure existing in the corresponding area.
삭제delete 제1항에 있어서, 상기 이미지 매칭처리부는,
좌측의 제1 이미지의 가장 우측 컬럼(CL_1)에서부터 순차적 좌측 컬럼(CL_2 ~ CL_n) 각각에 대하여 우측의 제2 이미지의 가장 좌측 컬럼(CR_PL)과의 유클리디안 거리(Euclidean Distance)를 계산하여 유사도를 비교하고, 유사도 비교 결과 가장 유사한 컬럼들을 겹쳐 상기 제1 이미지 및 상기 제2 이미지의 상호 간의 겹치는 영역을 산출하도록 구성되는 것을 특징으로 하는 영상 기반의 유동 인구 카운팅 시스템.
The method of claim 1, wherein the image matching processing unit,
Similarity is obtained by calculating the Euclidean Distance with the leftmost column (CR_PL) of the second image on the right for each of the sequential left columns (CL_2 to CL_n) from the rightmost column (CL_1) of the first image on the left. And, as a result of comparing the similarity, overlapping columns that are most similar to each other to calculate an overlapping area between the first image and the second image.
제5항에 있어서, 상기 이미지 매칭처리부는,
상기 컬럼 각각이 이미지 높이 만큼의 차원을 가진 벡터로서 n개의 엘러멘트(element)로 구분하고, 상기 좌측의 제1 이미지 및 상기 우측의 제2 이미지의 상호 비교 대상 컬럼 간의 상호 대응되는 엘레멘트들을 이용하여 유클리드 거리를 계산하도록 구성되는 것을 특징으로 하는 영상 기반의 유동 인구 카운팅 시스템.
The method of claim 5, wherein the image matching processing unit,
Each of the columns is a vector having a dimension equal to the height of the image and is divided into n elements, and elements corresponding to each other between the columns to be compared between the first image on the left and the second image on the right are used. Image-based floating population counting system, characterized in that configured to calculate the Euclidean distance.
제1항에 있어서, 상기 유동 인구 계수부는,
상기 보정 이미지에 포함되는 이미지들 각각의 유동 인구 수의 합에서 상기 보정 이미지에 포함되는 이미지들이 서로 중복되는 영역에 존재하는 유동 인구 수를 차감한 수를 상기 유동 인구로 카운팅하는 영상 기반의 유동인구 카운팅 시스템.
The method of claim 1, wherein the floating population counting unit,
An image-based floating population counting as the floating population the number obtained by subtracting the number of floating populations present in regions where images included in the corrected image overlap each other from the sum of the number of floating populations of each of the images included in the correction image Counting system.
영상 촬영부가 복수의 카메라들이 수집한 해당영역에 대한 이미지들을 파노라마 이미지 생성부로 전송하는 단계;
상기 파노라마 이미지 생성부가 상기 전송된 이미지들로부터 단일의 파노라마 이미지를 생성하여 유동 인구 계수부로 전송하는 단계;
상기 파노라마 이미지 생성부가 상기 파노라마 이미지를 생성하지 못하는 경우, 상기 파노라마 이미지 생성부가 상기 전송된 이미지들을 이미지 매칭처리부로 전송하는 단계;
상기 이미지 매칭처리부가 상기 전송된 이미지들로부터 보정 이미지를 생성하여 상기 유동 인구 계수부로 전송하는 단계;
상기 유동 인구 계수부가 객체 인식 방법을 이용하여 상기 전송된 파노라마 이미지 또는 상기 보정 이미지로부터 유동 인구를 카운트 하는 단계를 포함하고,
상기 이미지 매칭처리부가 상기 전송된 이미지들로부터 보정 이미지를 생성하여 상기 유동 인구 계수부로 전송하는 단계는,
상기 영상 촬영부에서 수집된 이미지들에 대해 컨볼루션 신경망 알고리즘(Convolutional Neural Network, CNN)의 맥스 풀링(max pooling)을 수행하여 전처리하고, 상기 전처리한 이미지들에서 각 이미지의 컬럼들 간의 유클리드 거리(Euclidean Distance)를 계산하여 상기 컬럼들 간의 유사도를 판단하고, 판단된 유사도가 가장 큰 컬럼들을 기준으로 상기 이미지들을 매칭하여 상기 보정 이미지를 생성하도록 구성되는 것을 특징으로 하는 영상 기반의 유동인구 카운트 방법.
Transmitting, by an image capturing unit, images of a corresponding region collected by a plurality of cameras to a panorama image generating unit;
Generating a single panoramic image from the transmitted images by the panoramic image generating unit and transmitting the generated panoramic image to the floating population counting unit;
If the panorama image generator fails to generate the panorama image, transmitting, by the panorama image generator, the transmitted images to an image matching processor;
Generating a correction image from the transmitted images by the image matching processing unit and transmitting the generated correction image to the floating population counting unit;
Counting the floating population from the transmitted panoramic image or the corrected image using an object recognition method by the floating population counting unit,
The step of generating a correction image from the transmitted images by the image matching processing unit and transmitting it to the floating population counting unit,
The images collected by the image capturing unit are preprocessed by performing max pooling of a convolutional neural network (CNN), and the Euclidean distance between columns of each image in the preprocessed images ( Euclidean Distance) is calculated to determine the similarity between the columns, and the image-based floating population counting method is configured to generate the corrected image by matching the images based on the columns with the largest similarity.
제8항에 있어서, 상기 파노라마 이미지 생성부가 상기 파노라마 이미지를 생성하여 상기 유동 인구 계수부로 전송하는 단계는,
로컬 피쳐 디텍트 방법을 이용하여 상기 전송된 이미지들에서 동일한 성격을 갖는 특징점을 추출하는 단계;
아핀 변환 또는 투영 변환 방법을 이용하여 상기 추출된 특징점을 일치시키도록 상기 전송된 이미지들을 정렬시키는 단계;
상기 정렬된 이미지들을 상기 파노라마 이미지로서 생성하는 단계; 및
상기 생성된 파노라마 이미지를 상기 유동 인구 계수부로 전송하는 단계;를 포함하는 영상 기반의 유동인구 카운트 방법.
The method of claim 8, wherein the step of generating the panoramic image by the panoramic image generating unit and transmitting it to the floating population counting unit,
Extracting feature points having the same characteristics from the transmitted images using a local feature detection method;
Aligning the transmitted images to match the extracted feature points using an affine transformation or projection transformation method;
Generating the aligned images as the panoramic image; And
Transmitting the generated panoramic image to the floating population counting unit; Image-based floating population counting method comprising a.
제8항에 있어서, 상기 이미지 매칭처리부가 상기 보정 이미지를 생성하여 상기 유동 인구 계수부로 전송하는 단계는,
좌측의 제1 이미지의 가장 우측 컬럼(CL_1)에서부터 순차적 좌측 컬럼(CL_2 ~ CL_n) 각각에 대하여 우측의 제2 이미지의 가장 좌측 컬럼(CR_PL)과의 유클리드 거리(Euclidean Distance)를 계산하여 유사도를 비교하고, 유사도 비교 결과 가장 유사한 컬럼들을 겹쳐 상기 제1 이미지 및 상기 제2 이미지의 상호 간의 겹치는 영역을 산출하도록 구성되고,
상기 유클리드 거리의 계산시, 상기 컬럼 각각을 이미지 높이 만큼의 차원을 가진 벡터로서 n개의 엘러멘트(element)로 구분하고, 상기 좌측의 제1 이미지 및 상기 우측의 제2 이미지의 상호 비교 대상 컬럼 간의 상호 대응되는 엘레멘트들을 이용하여 유클리드 거리를 계산하도록 구성되는 것을 특징으로 하는 영상 기반의 유동인구 카운트 방법.
The method of claim 8, wherein the image matching processing unit generates the corrected image and transmits it to the floating population counting unit,
Similarity is compared by calculating the Euclidean Distance with the leftmost column (CR_PL) of the second image on the right for each of the sequential left columns (CL_2 to CL_n) from the rightmost column (CL_1) of the first image on the left. And, as a result of the similarity comparison, overlapping the most similar columns to calculate an overlapping area between the first image and the second image,
When calculating the Euclidean distance, each column is divided into n elements as a vector having a dimension equal to the height of the image, and between the first image on the left and the second image on the right are compared with each other. An image-based floating population counting method, characterized in that the Euclidean distance is calculated using elements corresponding to each other.
제8항에 있어서, 상기 유동 인구 계수부가 상기 보정 이미지로부터 유동 인구를 카운트 하는 단계는,
상기 보정 이미지에 포함되는 이미지들 각각의 유동 인구 수를 카운팅하는 단계;
상기 보정 이미지에 포함되는 이미지들 상호 간 중복되는 영역에 존재하는 유동 인구 수를 카운팅하는 단계; 및
상기 카운팅된 이미지들 각각의 유동 인구 수의 합에서 상기 카운팅 된 중복되는 영역에 존재하는 유동 인구 수를 뺀 값을 상기 유동 인구로 카운트하는 단계;를 포함하는 영상 기반의 유동인구 카운팅 시스템.
The method of claim 8, wherein the step of counting the floating population from the correction image by the floating population counting unit,
Counting the number of floating populations of each of the images included in the corrected image;
Counting the number of floating populations existing in an area overlapping each other of the images included in the corrected image; And
Counting as the floating population a value obtained by subtracting the number of floating populations present in the counted overlapping area from the sum of the number of floating populations of each of the counted images as the floating population.
KR1020190064145A 2019-05-30 2019-05-30 System and method for counting floating population based on image KR102227562B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190064145A KR102227562B1 (en) 2019-05-30 2019-05-30 System and method for counting floating population based on image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190064145A KR102227562B1 (en) 2019-05-30 2019-05-30 System and method for counting floating population based on image

Publications (2)

Publication Number Publication Date
KR20200137569A KR20200137569A (en) 2020-12-09
KR102227562B1 true KR102227562B1 (en) 2021-03-12

Family

ID=73787520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190064145A KR102227562B1 (en) 2019-05-30 2019-05-30 System and method for counting floating population based on image

Country Status (1)

Country Link
KR (1) KR102227562B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230089794A (en) 2021-12-14 2023-06-21 주식회사 라이브워크 Sensor fusion system for internet of things

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101776706B1 (en) * 2012-11-30 2017-09-08 한화테크윈 주식회사 Method and Apparatus for counting the number of person using a plurality of cameras
KR101868740B1 (en) * 2017-01-04 2018-06-18 명지대학교 산학협력단 Apparatus and method for generating panorama image

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101573190B1 (en) 2014-04-21 2015-12-01 (주)대한에이앤씨 System and method for measurement of Real-Time Circulation population

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101776706B1 (en) * 2012-11-30 2017-09-08 한화테크윈 주식회사 Method and Apparatus for counting the number of person using a plurality of cameras
KR101868740B1 (en) * 2017-01-04 2018-06-18 명지대학교 산학협력단 Apparatus and method for generating panorama image

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230089794A (en) 2021-12-14 2023-06-21 주식회사 라이브워크 Sensor fusion system for internet of things

Also Published As

Publication number Publication date
KR20200137569A (en) 2020-12-09

Similar Documents

Publication Publication Date Title
CN104169965B (en) For system, the method and computer program product adjusted during the operation of anamorphose parameter in more filming apparatus systems
Chen et al. City-scale landmark identification on mobile devices
JP6397379B2 (en) CHANGE AREA DETECTION DEVICE, METHOD, AND PROGRAM
CN104077760A (en) Rapid splicing system for aerial photogrammetry and implementing method thereof
WO2021136386A1 (en) Data processing method, terminal, and server
CN104616247B (en) A kind of method for map splicing of being taken photo by plane based on super-pixel SIFT
CN109741240A (en) A kind of more flat image joining methods based on hierarchical clustering
CN106504192A (en) A kind of power transmission line corridor geological disaster exploration image treatment method and system
KR101324250B1 (en) optical axis error compensation method using image processing, the method of the same, and the zoom camera provided for the compensation function of the optical axis error
CN113642639B (en) Living body detection method, living body detection device, living body detection equipment and storage medium
Yuan et al. Translation, scale and rotation: cross-modal alignment meets RGB-infrared vehicle detection
CN103733225B (en) Characteristic point peer system, characteristic point counterpart method and record medium
US8164633B2 (en) Calibration apparatus and method for imaging devices and computer program
CN113012208A (en) Multi-view remote sensing image registration method and system
KR102227562B1 (en) System and method for counting floating population based on image
JP2018055367A (en) Image processing device, image processing method, and program
Chen et al. Robust local feature descriptor for multisource remote sensing image registration
CN114821430A (en) Cross-camera target object tracking method, device, equipment and storage medium
Jeon et al. Deep upright adjustment of 360 panoramas using multiple roll estimations
WO2019215780A1 (en) Identification system, model re-learning method and program
EP4107699A1 (en) A method for generating a dataset, a method for generating a neural network, and a method for constructing a model of a scene
Yuan et al. Structure flow-guided network for real depth super-resolution
JP6304815B2 (en) Image processing apparatus and image feature detection method, program and apparatus thereof
Al-Ruzouq Data fusion of multi-source imagery based on linear features registration
WO2015086076A1 (en) Method for determining a similarity value between a first image and a second image

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant