KR102513803B1 - Method for counting object using artificial neural network, and computing apparatus for performing the same - Google Patents
Method for counting object using artificial neural network, and computing apparatus for performing the same Download PDFInfo
- Publication number
- KR102513803B1 KR102513803B1 KR1020220033711A KR20220033711A KR102513803B1 KR 102513803 B1 KR102513803 B1 KR 102513803B1 KR 1020220033711 A KR1020220033711 A KR 1020220033711A KR 20220033711 A KR20220033711 A KR 20220033711A KR 102513803 B1 KR102513803 B1 KR 102513803B1
- Authority
- KR
- South Korea
- Prior art keywords
- center points
- counting
- objects
- image frames
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 29
- 238000000926 separation method Methods 0.000 claims description 29
- 238000001514 detection method Methods 0.000 claims description 23
- 238000012937 correction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 description 15
- 235000013601 eggs Nutrition 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
Description
본 명세서에서 개시되는 실시예들은 인공신경망을 이용하여 객체를 카운팅하는 방법, 그리고 이를 수행하기 위한 컴퓨팅 장치에 관한 것이다.Embodiments disclosed herein relate to a method for counting objects using an artificial neural network, and a computing device for performing the same.
기술의 발달은 인간을 단순 노동에서 벗어나게 해주었으며, 이러한 흐름은 특히 최근 인공지능 기술의 발달로 가속화되었다.The development of technology has freed humans from simple labor, and this trend has especially accelerated with the recent development of artificial intelligence technology.
예를 들어, 물체의 개수를 카운팅하는 작업은 물체의 크기가 작고 수가 많을수록 작업 수행에 많은 시간이 걸리고 작업 수행자의 피로도가 높아질 수 있어, 인공신경망을 이용한 영상 분석을 통해 자동으로 물체의 개수를 카운팅하는 기술이 사용되고 있다.For example, the task of counting the number of objects takes a lot of time and can increase the fatigue of the task performer as the size of the objects is small and the number of objects increases. technology is being used.
그런데 기존의 인공신경망을 이용한 카운팅 기술은 복잡한 연산으로 인해 많은 리소스를 필요로 하므로 고성능 컴퓨터에서만 실행될 수 있었고, 따라서 보다 경량화되면서 정확도는 높은 수준으로 유지할 수 있는 카운팅 기술의 개발이 필요하게 되었다.However, the counting technology using the existing artificial neural network requires a lot of resources due to complex calculations, so it can be executed only on high-performance computers. Therefore, it is necessary to develop a counting technology that can maintain a high level of accuracy while being lighter.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-mentioned background art is technical information that the inventor possessed for derivation of the present invention or acquired in the process of derivation of the present invention, and cannot necessarily be said to be known art disclosed to the general public prior to filing the present invention. .
본 명세서에서 개시되는 실시예들은, 제한된 컴퓨팅 환경에서도 실행할 수 있도록 경량화된, 인공신경망을 이용한 객체 카운팅 방법 및 장치를 제공하고자 한다.Embodiments disclosed in this specification are intended to provide a lightweight object counting method and apparatus using an artificial neural network that can be executed even in a limited computing environment.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 인공신경망을 이용한 객체 카운팅 방법은, 컴퓨팅 장치가 촬영 영상으로부터 일정 시간 간격의 이미지 프레임들을 추출하는 단계, 상기 컴퓨팅 장치가 상기 이미지 프레임별로 객체들을 인식하는 단계, 상기 컴퓨팅 장치가 상기 이미지 프레임별로 인식된 객체들의 중심점을 검출하는 단계, 상기 컴퓨팅 장치가 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여, 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점들을 파악하는 단계 및 상기 컴퓨팅 장치가 상기 검출된 중심점들의 개수와, 상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 객체 카운팅을 수행하는 단계를 포함할 수 있다.As a technical means for achieving the above-described technical problem, according to an embodiment, an object counting method using an artificial neural network includes the steps of extracting, by a computing device, image frames at predetermined time intervals from a photographed image, the computing device using the image Recognizing objects frame by frame, detecting, by the computing device, the center points of the objects recognized by the image frame, based on a result of comparing the locations of the center points between successive image frames by the computing device, different image frames Identifying center points corresponding to the same object among the center points detected in and performing, by the computing device, object counting based on the number of the detected center points and a result of determining the center points corresponding to the same object. can do.
다른 실시예에 따르면, 인공신경망을 이용한 객체 카운팅 방법을 수행하기 위한 컴퓨터 프로그램으로서, 인공신경망을 이용한 객체 카운팅 방법은, 컴퓨팅 장치가 촬영 영상으로부터 일정 시간 간격의 이미지 프레임들을 추출하는 단계, 상기 컴퓨팅 장치가 상기 이미지 프레임별로 객체들을 인식하는 단계, 상기 컴퓨팅 장치가 상기 이미지 프레임별로 인식된 객체들의 중심점을 검출하는 단계, 상기 컴퓨팅 장치가 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여, 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점들을 파악하는 단계 및 상기 컴퓨팅 장치가 상기 검출된 중심점들의 개수와, 상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 객체 카운팅을 수행하는 단계를 포함할 수 있다.According to another embodiment, as a computer program for performing an object counting method using an artificial neural network, the object counting method using an artificial neural network includes extracting, by a computing device, image frames at predetermined time intervals from a photographed image, the computing device Recognizing objects for each image frame, detecting, by the computing device, center points of objects recognized for each image frame, based on a result of the computing device comparing locations of center points between successive image frames, Identifying center points corresponding to the same object among center points detected in different image frames, and the computing device performing object counting based on the number of the detected center points and a result of determining the center points corresponding to the same object steps may be included.
또 다른 실시예에 따르면, 인공신경망을 이용한 객체 카운팅 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서 인공신경망을 이용한 객체 카운팅 방법은, 컴퓨팅 장치가 촬영 영상으로부터 일정 시간 간격의 이미지 프레임들을 추출하는 단계, 상기 컴퓨팅 장치가 상기 이미지 프레임별로 객체들을 인식하는 단계, 상기 컴퓨팅 장치가 상기 이미지 프레임별로 인식된 객체들의 중심점을 검출하는 단계, 상기 컴퓨팅 장치가 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여, 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점들을 파악하는 단계 및 상기 컴퓨팅 장치가 상기 검출된 중심점들의 개수와, 상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 객체 카운팅을 수행하는 단계를 포함할 수 있다.According to another embodiment, a computer-readable recording medium on which a program for performing an object counting method using an artificial neural network is recorded, and an object counting method using an artificial neural network, in which a computing device extracts image frames at predetermined time intervals from a photographed image. The computing device recognizing objects for each image frame, the computing device detecting the center points of the recognized objects for each image frame, the computing device comparing the locations of the center points between successive image frames Based on the result, determining center points corresponding to the same object among center points detected in different image frames, and based on the result of the computing device determining the number of the detected center points and the center points corresponding to the same object and performing object counting.
또 다른 실시예에 따르면, 인공신경망을 이용한 객체 카운팅 방법을 수행하기 위한 컴퓨팅 장치는, 객체들을 촬영한 촬영 영상을 수신하고, 객체 카운팅 결과를 출력하기 위한 입출력부, 상기 촬영 영상으로부터 객체를 카운팅하기 위한 프로그램이 저장되는 저장부 및 적어도 하나의 프로세서를 포함하는 제어부를 포함하며, 상기 제어부는, 상기 촬영 영상으로부터 일정 시간 간격의 이미지 프레임들을 추출하고, 상기 이미지 프레임별로 객체들을 인식하고, 상기 이미지 프레임별로 인식된 객체들의 중심점을 검출하고, 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여, 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점들을 파악하고, 상기 검출된 중심점들의 개수와, 상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 객체 카운팅을 수행할 수 있다.According to another embodiment, a computing device for performing an object counting method using an artificial neural network includes an input/output unit for receiving a captured image of objects and outputting an object counting result, and counting objects from the captured image. and a control unit including a storage unit for storing a program for storing a program and at least one processor, wherein the control unit extracts image frames at predetermined time intervals from the photographed image, recognizes objects for each image frame, and recognizes the image frames for each image frame. Detect the center points of objects recognized by each star, determine the center points corresponding to the same object among the center points detected in different image frames based on the result of comparing the positions of the center points between successive image frames, and determine the center points of the detected center points. Object counting may be performed based on the number of objects and the result of identifying center points corresponding to the same object.
전술한 과제 해결 수단 중 어느 하나에 의하면, 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여, 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점들을 파악하고, 그 결과를 반영하여 객체 카운팅을 수행함으로써, 리소스를 효율적으로 사용하면서 정확도를 향상시키는 효과를 기대할 수 있다.According to any one of the above-described problem solving means, based on the result of comparing the positions of the center points between successive image frames, center points corresponding to the same object are identified among the center points detected in different image frames, and the result is By reflecting and performing object counting, the effect of improving accuracy while efficiently using resources can be expected.
또한, 이미지 프레임 전체가 아닌, 이미지 프레임의 일부 영역을 디텍팅 영역 및 카운팅 영역으로 설정하고, 해당 영역들 내에서만 객체 인식 및 중심점 검출을 수행함으로써 필요한 연산을 줄여 시스템을 경량화하는 효과를 기대할 수 있다.In addition, by setting some areas of the image frame as the detection area and counting area, rather than the entire image frame, and performing object recognition and center point detection only within the corresponding areas, the necessary calculation can be reduced and the effect of lightening the system can be expected. .
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable from the disclosed embodiments are not limited to those mentioned above, and other effects not mentioned are clear to those skilled in the art from the description below to which the disclosed embodiments belong. will be understandable.
도 1은 일 실시예에 따른 인공신경망을 이용한 객체 카운팅 방법을 수행하기 위한 시스템을 도시한 도면이다.
도 2는 도 1에 도시된 시스템에 포함된 컴퓨팅 장치의 상세구성을 도시한 도면이다.
도 3 내지 도 6은 실시예들에 따른 인공신경망을 이용한 객체 카운팅 방법을 설명하기 위한 도면들이다.
도 7은 이미지 프레임에 디텍팅 영역 및 카운팅 영역을 설정하고, 객체 인식 및 객체의 중심점 검출을 수행하는 방법을 설명하기 위한 도면이다.
도 8은 연속되는 이미지 프레임 간 중심점들의 위치 비교를 통해 객체들의 개수를 카운팅하는 방법을 자세히 설명하기 위한 도면이다.
도 9 및 도 10은 연속된 두 개의 이미지 프레임 동안에 객체가 이동한 거리를 일정한 기준값 이하로 제한해야 하는 이유를 설명하기 위한 도면들이다.1 is a diagram illustrating a system for performing an object counting method using an artificial neural network according to an embodiment.
FIG. 2 is a diagram illustrating a detailed configuration of a computing device included in the system shown in FIG. 1 .
3 to 6 are diagrams for explaining an object counting method using an artificial neural network according to embodiments.
7 is a diagram for explaining a method of setting a detection area and a counting area in an image frame, and performing object recognition and object center point detection.
8 is a diagram for explaining in detail a method of counting the number of objects through location comparison of center points between successive image frames.
9 and 10 are diagrams for explaining why the moving distance of an object during two consecutive image frames should be limited to a predetermined reference value or less.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. Embodiments described below may be modified and implemented in various different forms. In order to more clearly describe the characteristics of the embodiments, detailed descriptions of matters widely known to those skilled in the art to which the following embodiments belong are omitted. And, in the drawings, parts irrelevant to the description of the embodiments are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.Throughout the specification, when a component is said to be “connected” to another component, this includes not only the case of being “directly connected” but also the case of being “connected with another component intervening therebetween”. In addition, when a certain component "includes" a certain component, this means that other components may be further included without excluding other components unless otherwise specified.
본 명세서에서 설명되는 실시예들은 인공신경망을 이용하여 객체를 카운팅하는 방법에 대한 것들이다.Embodiments described herein relate to a method of counting objects using an artificial neural network.
본 명세서에서는 구체적인 예시를 통해 발명에 대한 이해를 높일 수 있도록 '컨베이어 벨트를 통해 이동되는 달걀(객체)의 개수를 카운팅'하는 실시예에 대해서 자세히 설명하고, 이어서 확장 가능한 실시예들에 대해서 설명하기로 한다.In the present specification, an embodiment of 'counting the number of eggs (objects) moved through a conveyor belt' is described in detail to enhance understanding of the invention through specific examples, and then to explain expandable embodiments. do it with
도 1은 일 실시예에 따른 인공신경망을 이용한 객체 카운팅 방법을 수행하기 위한 시스템을 도시한 도면이다. 도 1을 참고하면, 일 실시예에 따른 인공신경망을 이용한 객체 카운팅 방법을 수행하기 위한 시스템은, 촬영 장치(10), 컴퓨팅 장치(100) 및 컨베이어 벨트(20)를 포함할 수 있다.1 is a diagram illustrating a system for performing an object counting method using an artificial neural network according to an embodiment. Referring to FIG. 1 , a system for performing an object counting method using an artificial neural network according to an embodiment may include a
컨베이어 벨트(20)상에는 달걀들이 놓이며, 컨베이어 벨트(20)는 일정한 방향 및 일정한 속도로 이동한다고 가정한다.Eggs are placed on the
촬영 장치(10)는 컨베이어 벨트(20)를 통해 이동되는 달걀들을 촬영하고, 촬영 영상을 컴퓨팅 장치(100)로 전송한다. 이를 위해, 촬영 장치(10)는 컨베이어 벨트(20)의 일정 영역을 촬영하도록 위치가 설정될 수 있다.The photographing
컴퓨팅 장치(100)는 촬영 장치(10)로부터 수신한 촬영 영상을 분석함으로써, 컨베이어 벨트(20)를 통해 이동되는 달걀들의 개수를 카운팅할 수 있다. 컴퓨팅 장치(100)는 영상으로부터 객체를 인식하기 위한 인공신경망을 포함하며, 객체를 인식한 결과에 따라 객체의 개수를 카운팅하기 위한 프로그램(객체 카운팅 알고리즘을 실행하기 위한 프로그램)을 저장하고 있을 수 있다. 인공신경망을 이용한 객체 인식, 그리고 객체 카운팅 알고리즘에 대해서는 아래에서 자세히 설명하기로 한다.The
도 2는 도 1에 도시된 시스템에 포함된 컴퓨팅 장치의 상세구성을 도시한 도면이다. 도 2를 참고하면, 컴퓨팅 장치(100)는 입출력부(110), 제어부(120) 및 저장부(130)를 포함할 수 있다.FIG. 2 is a diagram illustrating a detailed configuration of a computing device included in the system shown in FIG. 1 . Referring to FIG. 2 , the
입출력부(110)는 외부의 장치와 데이터를 송수신하거나, 사용자로부터 명령을 수신하고, 작업을 수행한 결과 등을 출력하기 위한 구성이다. 컴퓨팅 장치(100)는 입출력부(110)를 통해 촬영장치(10)로부터 촬영 영상을 수신하며, 촬영 영상 분석을 통해 객체의 개수를 카운팅한 결과를 입출력부(110)를 통해 화면에 표시하거나, 다른 외부 장치에 전송할 수 있다.The input/
제어부(120)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서 컴퓨팅 장치(100)의 전체적인 동작을 제어한다. 제어부(120)는 후술할 저장부(130)에 저장된 프로그램을 실행시킴으로써, 인공신경망을 이용한 객체 카운팅 방법을 수행할 수 있다. 제어부(120)가 인공신경망을 이용하여 객체 카운팅을 수행하는 자세한 방법에 대해서는 아래에서 다른 도면들을 참조하여 설명한다.The
저장부(130)에는 다양한 종류의 프로그램 및 데이터가 저장될 수 있다. 특히, 저장부(130)에는 인공신경망을 이용한 객체 카운팅 방법을 수행하기 위한 프로그램이 저장될 수 있다.The
도 3 내지 도 6은 실시예들에 따른 인공신경망을 이용한 객체 카운팅 방법을 설명하기 위한 도면들이다. 이하에서는, 도 1 및 도 2의 시스템과 장치들을 이용하여 영상으로부터 객체 카운팅을 수행하는 방법에 대해서 자세히 설명한다.3 to 6 are diagrams for explaining an object counting method using an artificial neural network according to embodiments. Hereinafter, a method of performing object counting from an image using the systems and apparatuses of FIGS. 1 and 2 will be described in detail.
도 3을 참고하면, 301 단계에서 컴퓨팅 장치(100)의 제어부(120)는 촬영 장치(10)로부터 수신한 촬영 영상으로부터 일정 시간 간격의 이미지 프레임들을 추출한다. 예를 들어, 촬영 영상은 60fps인데, 이미지 프레임 간 시간 간격이 0.033초(30fps에 대응)가 되도록 이미지 프레임들을 추출하고자 한다면, 제어부(120)는 촬영 영상에 포함된 이미지 프레임들을 하나씩 건너뛰면서 추출할 수 있다. 객체의 이동속도나 서로 다른 객체 간 거리 등에 따라서 이미지 프레임 간 시간 간격을 조정할 필요가 있을 수 있는데, 이에 대해서는 아래에서 자세히 설명하도록 한다.Referring to FIG. 3 , in
302 단계에서 제어부(120)는 추출된 이미지 프레임별로 객체들을 인식한다. 객체 인식 시 사용되는 신경망이 특별히 한정되는 것은 아니나, 일 실시예에 따르면 제어부(120)는 이미지 인식 분야에서 널리 사용되는 콘볼루션 신경망(CNN)을 이용하여 객체들을 인식할 수 있다. 인식 정확도를 높이기 위해서 인공신경망은 다양한 조건(e.g. 조명)하에서 다양한 상태(e.g. 정상, 불량)의 객체를 촬영한 영상을 통해 미리 학습될 수 있다.In
제어부(120)는 이미지 프레임 전체에 대해서 객체 인식을 수행할 수도 있지만, 효율성을 높이기 위해서 이미지 프레임 중 일부 영역을 디텍팅 영역(Region of Detecting)으로 설정하고, 디텍팅 영역에 대해서만 객체 인식을 수행할 수도 있다. 디텍팅 영역은 사전에 설정될 수도 있고, 이미지 프레임을 분석한 결과에 따라 실시간으로 설정될 수도 있는데, 디텍팅 영역의 설정에 대해서는 아래에서 도 7을 참조하여 자세히 설명한다.The
303 단계에서 제어부(120)는 이미지 프레임별로 인식된 객체들의 중심점을 검출한다. 제어부(120)는 이미지 프레임에 포함된 모든 객체들의 중심점을 검출할 수도 있지만, 효율성을 높이기 위해서 이미지 프레임 중 일부 영역을 카운팅 영역(Region of Counting)으로 설정하고, 카운팅 영역 내에서만 객체들의 중심점을 검출할 수도 있다. 카운팅 영역은 사전에 설정되거나 실시간으로 설정될 수 있는데, 카운팅 영역의 설정에 대해서는 아래에서 도 7을 참조하여 자세히 설명한다.In
이하에서는 도 7을 참조하여 이미지 프레임별로 디텍팅 영역 및 카운팅 영역을 설정하고, 객체 인식 및 객체의 중심점 검출을 수행하는 방법에 대해서 자세히 설명한다.Hereinafter, referring to FIG. 7 , a method of setting a detection area and a counting area for each image frame and performing object recognition and object center point detection will be described in detail.
도 7을 참고하면, 하나의 이미지 프레임(700)상에 디텍팅 영역(710) 및 카운팅 영역(720)이 설정되어 있다. 앞서 설명한 바와 같이 이미지 프레임(700) 전체에 대해서 객체 인식 및 중심점 검출을 수행한다면 연산량이 증가하고 자원이 많이 소모되므로, 제어부(120)는 이미지 프레임(700)의 일부 영역을 디텍팅 영역(710) 및 카운팅 영역(720)으로 설정하고, 설정된 영역 내에서만 객체 인식 및 중심점 검출을 수행할 수 있다.Referring to FIG. 7 , a detecting
디텍팅 영역(710) 및 카운팅 영역(720)이 좁게 설정될수록 제어부(120)가 탐색해야 할 대상이 줄어들어 효율성은 높아질 수 있으나, 너무 좁게 설정되면 검출 정확도가 낮아지는 문제점이 발생한다. 따라서, 이하에서는 검출 정확도를 일정 수준 이상으로 유지할 수 있도록 디텍팅 영역(710) 및 카운팅 영역(720)을 설정하는 방법에 대해서 설명한다. 이하에서는 객체들의 이동방향이 디텍팅 영역(710) 및 카운팅 영역(720)의 '길이' 방향이고, 그에 수직인 방향이 디텍팅 영역(710) 및 카운팅 영역(720)의 '폭' 방향이라고 가정한다.As the
먼저 디텍팅 영역(710)에 관하여 설명한다. 제어부(120)는 디텍팅 영역(710) 내에서만 객체를 인식하도록 구현될 수 있다. 모든 객체가 적어도 하나의 이미지 프레임에서는 완전한 형태로 인식될 수 있도록 하기 위해, 디텍팅 영역(710)의 길이(length_ROD)는 객체의 너비의 최대값(max_R_object)과 연속된 이미지 프레임 동안에 객체가 이동한 거리의 최대값(max_d_move)의 합보다는 크도록 설정되어야 한다. 즉, 다음의 수학식 1과 같은 관계가 성립한다.First, the detecting
이어서 카운팅 영역(720)에 관하여 설명한다. 제어부(120)는 카운팅 영역(720) 내에서만 객체들의 중심점을 검출하도록 구현될 수 있다. 도 7을 참고하면, 카운팅 영역(720) 내에 '중심점이 위치하는' 객체들의 중심점이 검출되었다. 모든 객체들의 중심점이 적어도 하나의 이미지 프레임의 카운팅 영역에서는 검출될 수 있도록 하기 위해, 카운팅 영역(720)의 길이(length_ROC)는 연속된 이미지 프레임 동안에 객체가 이동한 거리의 최대값(max_d_move)보다는 크도록 설정되어야 한다. 다만, 카운팅 영역(720)의 길이(length_ROC)는 디텍팅 영역의 길이(length_ROD)보다는 작게 설정되어야 한다. 따라서, 다음의 수학식 2와 같은 관계가 성립한다.Next, the
이때, '연속된 이미지 프레임 동안에 객체가 이동한 거리(d_move)'는 객체의 이동속도와 이미지 프레임 간 시간 간격을 곱한 값이다. 도 7에 도시된 실시예와 같이 컨베이어 벨트를 통해 이동되는 달걀들을 카운팅하는 경우라면, 모든 객체들의 이동속도가 동일하기 때문에 '최대값'을 취할 필요가 없다. 하지만, 추후에 설명할 확장 가능한 실시예들에서는 객체들마다 이동속도가 상이할 수 있으므로 '최대값'을 취해야 한다.In this case, 'distance (d_move) moved by the object during consecutive image frames' is a value obtained by multiplying the moving speed of the object by the time interval between image frames. In the case of counting eggs moving through a conveyor belt as in the embodiment shown in FIG. 7 , there is no need to take the 'maximum value' because the moving speed of all objects is the same. However, in expandable embodiments to be described later, since moving speeds may be different for each object, a 'maximum value' should be taken.
제어부(120)는 실시간으로 디텍팅 영역 및 카운팅 영역을 설정할 수도 있다. 예를 들어, 제어부(120)는 이미지 프레임을 분석함으로써 객체의 너비의 최대값(max_R_object)이나 연속된 이미지 프레임 동안에 객체가 이동한 거리의 최대값(max_d_move)을 측정하고, 측정 결과를 수학식 1 및 2에 대입함으로써 실시간으로 디텍팅 영역 및 카운팅 영역의 길이를 설정할 수도 있다.The
다시 도 3으로 돌아와서, 304 단계에서 제어부(120)는 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여, 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점을 파악한다. 자세하게는 제어부(120)는 연속된 이미지 프레임 간 중심점들의 이격거리를 산출하고, 산출된 이격거리가 미리 설정된 기준값보다 작은 경우에는 해당 이격거리에 대응되는 중심점들이 동일 객체에 대한 중심점인 것으로 판단한다. 기준값의 설정과 관련해서는 아래에서 자세히 설명하도록 한다.Returning to FIG. 3 , in
이하에서는 도 8을 참조하여 연속된 이미지 프레임 간 중심점들의 이격거리를 기준값과 비교함으로써 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점을 파악하는 방법에 대해서 자세히 설명한다.Hereinafter, referring to FIG. 8 , a method of identifying a center point corresponding to the same object among center points detected in different image frames by comparing the separation distance between the center points between successive image frames with a reference value will be described in detail.
도 8에는 연속된 3개의 이미지 프레임의 카운팅 영역(810, 820, 830)이 도시되었다. 설명의 편의를 위해, 첫 번째 이미지 프레임의 카운팅 영역(810)을 제1 카운팅 영역이라고 하고, 두 번째 이미지 프레임의 카운팅 영역(820)을 제2 카운팅 영역이라고 하고, 세 번째 이미지 프레임의 카운팅 영역(830)을 제3 카운팅 영역이라고 한다. 각각의 카운팅 영역(810, 820, 830)에는 검정색으로 채워진 점들과 점선으로 표시된 점들이 있는데, 검정색으로 채워진 점들은 해당 이미지 프레임에서 검출된 중심점들이고, 점선으로 표시된 점들은 바로 이전의 이미지 프레임에서 검출된 중심점들이다. 도 8에서는 객체(달걀)들은 생략하고 객체들의 중심점만을 도시하였다.8
도 8을 참고하면, 제어부(120)는 제2 카운팅 영역(820)에서 검출된 중심점들(P21, P23)과 제1 카운팅 영역(810)에서 검출된 중심점들(P11, P12)의 위치를 비교하여 중심점들 간 이격거리를 산출한다. 이때, 제어부(120)는 현재의 이미지 프레임의 제2 카운팅 영역(820)에서 검출된 모든 중심점들(P21, P23) 각각에 대해서, 이전 이미지 프레임의 제1 카운팅 영역(810)에서 검출된 모든 중심점들(P11, P12)과의 이격거리를 산출한다. 즉, 제어부(120)는 P21에 대해서 P11 및 P12와의 이격거리를 각각 산출하고, P23에 대해서도 P11 및 P12와의 이격거리를 각각 산출한다. 제어부(120)는 산출된 중심점 간 이격거리 중에서 미리 설정된 기준값보다 작은 것이 있는지를 판단하고, 기준값보다 작은 이격거리에 대응되는 중심점들은 동일 객체에 대한 중심점인 것으로 판단한다.Referring to FIG. 8 , the
도 8의 제2 카운팅 영역(820)에서 P21과 P11 사이의 이격거리는 기준값보다 작고, 나머지 중심점들 간 이격거리는 모두 기준값보다 크다고 가정한다. 이 경우, 제어부(120)는 P21과 P11은 동일 객체에 해당되는 중심점인 것으로 판단한다.It is assumed that the separation distance between P21 and P11 in the
도 8의 제3 카운팅 영역(830)에 대해서 살펴보면, 제어부(120)는 제3 카운팅 영역(830)에서 검출된 중심점(P33)과 제2 카운팅 영역(820)에서 검출된 중심점들(P21, P23)의 위치를 비교하여 중심점들 간 이격거리를 산출한다. 제3 카운팅 영역(830)에서 P33과 P23 사이의 이격거리는 기준값보다 작고, 나머지 중심점들 간 이격거리는 모두 기준값보다 크다고 가정한다. 이 경우, 제어부(120)는 P33과 P23은 동일 객체에 해당하는 중심점인 것으로 판단한다.Referring to the
연속된 이미지 프레임 간 중심점들의 이격거리와 비교되는 기준값은, 객체의 형태나 특성, 그리고 요구되는 정확도의 수준 등에 따라서 적절한 값으로 설정될 수 있는데, 기준값을 설정하는 구체적인 예시들에 대해서 아래에서 설명한다.The reference value compared with the distance between the center points of successive image frames may be set to an appropriate value according to the shape or characteristics of the object, the level of accuracy required, etc. Specific examples of setting the reference value will be described below. .
일 실시예에 따르면, 기준값은 동일 이미지 프레임 내에서 서로 다른 객체들의 중심점 간 이격거리의 최소값(이하, '객체 간 최소 이격거리')에 0.5를 곱한 값으로 설정될 수 있다.According to an embodiment, the reference value may be set to a value obtained by multiplying a minimum distance between center points of different objects (hereinafter referred to as 'minimum distance between objects') by 0.5.
카운팅의 대상이 되는 객체가 달걀과 같이 크기 및 형태가 거의 동일하고, 객체들이 서로 맞닿은 상태로 놓일 수 있는 경우라면, 객체 간 최소 이격거리는 '객체의 너비의 최소값(min_R_object)'이 될 수 있다. 따라서, 컨베이어 벨트를 통해 이동되는 달걀을 카운팅하는 실시예에서 기준값은 '달걀(객체)의 너비의 최소값(min_R_object)에 0.5를 곱한 값'이 될 수 있다. 이때, 객체의 너비의 최소값(min_R_object)은, 제어부(120)가 이미지 프레임을 분석함으로써 검출할 수도 있다.In the case where objects to be counted have almost the same size and shape, such as eggs, and the objects can be placed in contact with each other, the minimum separation distance between objects may be 'the minimum value of the object width (min_R_object)'. Accordingly, in an embodiment of counting eggs moving through a conveyor belt, the reference value may be 'a value obtained by multiplying the minimum value (min_R_object) of the width of an egg (object) by 0.5'. At this time, the minimum value (min_R_object) of the width of the object may be detected by the
한편 카운팅의 대상이 되는 객체가 사람인 경우(e.g. 사람들이 존재하는 공간을 위에서 촬영한 영상을 분석함으로써 사람의 수를 카운팅하는 경우)에는 객체들의 크기 및 형태가 조금씩 다를 뿐만 아니라, 서로 다른 사람들 간에는 일반적으로 어느 정도 거리가 유지되므로, 제어부(120)는 달걀을 카운팅하는 경우와 같이 객체 너비의 최소값을 이용하여 기준값을 결정할 수 없다. 이 경우에는 사용자가 사람 사이의 최소 간격이라고 생각되는 값을 객체 간 최소 이격거리로서 컴퓨팅 장치(100)에 입력하면, 제어부(120)는 그에 따라 기준값을 결정할 수 있다.On the other hand, when the object to be counted is a person (e.g. counting the number of people by analyzing an image taken from above in a space where people exist), not only are the objects slightly different in size and shape, but also there is a general difference between different people. Since the distance is maintained to a certain extent, the
연속된 이미지 프레임 간 중심점들의 이격거리를 기준값과 비교하여 동일 객체 여부를 판단하기 위해서는, 연속된 이미지 프레임 동안 객체가 이동한 거리의 최대값(max_d_move)은 기준값보다 작도록 제어되어야만 한다. 그 이유에 대해서는 아래에서 도 9 및 도 10을 참조하여 설명한다.In order to compare the separation distances of center points between successive image frames with a reference value to determine whether they are the same object, the maximum value (max_d_move) of the distance moved by an object during successive image frames must be controlled to be smaller than the reference value. The reason for this will be described with reference to FIGS. 9 and 10 below.
도 9 및 도 10은 연속된 두 개의 이미지 프레임 동안에 객체가 이동한 거리의 최대값(max_d_move)을 일정한 기준값 이하로 제한해야 하는 이유를 설명하기 위한 도면들이다. 도 9 및 도 10 모두 두 개의 달걀(객체)이 서로 인접한 상태로 이동되는 상황을 도시하였고, 다만 달걀의 이동속도만이 상이하다.9 and 10 are diagrams for explaining why the maximum value (max_d_move) of a distance moved by an object during two consecutive image frames must be limited to a predetermined reference value or less. 9 and 10 both show a situation in which two eggs (objects) are moved adjacent to each other, but only the moving speed of the eggs is different.
도 9 및 도 10을 참조하여 설명하면, 객체들(910a, 920a) 간 최소 이격거리는 P1a와 P2a 사이의 거리인 d이고, 이 값은 달걀들의 크기 및 형태가 동일하다고 가정할 때 객체의 너비의 최소값(min_R_object)과 같다. 따라서, 기준값은 (d * 0.5)로 설정될 수 있다.Referring to FIGS. 9 and 10 , the minimum separation distance between
도 9에는 n번째 이미지 프레임에서 인식된 객체들(910a, 920a)과, (n+1)번째 이미지 프레임에서 인식된 객체들(910b, 920b)을 도시하였다. 도면에서 확인할 수 있는 바와 같이 연속된 두 개의 이미지 프레임 동안에 객체가 이동한 거리(d_move)는 기준값인 (d * 0.5)보다 크다. 그 결과 중심점들 간 이격거리를 살펴보면, 동일한 객체(910a, 910b)에 대응되는 중심점들(P1a, P1b) 간 이격거리인 d91이, 서로 다른 객체(910b, 920a)에 대응되는 중심점들(P1b, P2a) 간 이격거리인 d92보다 크게 되었다. 즉, 서로 다른 객체의 중심점들 간 이격거리가 동일 객체의 중심점들 간 이격거리보다 작아지는 경우가 발생할 수 있어, 중심점들 간 이격거리에 기초하여 동일 객체 여부를 판단하는 것이 불가능하다.9 illustrates
도 10에는 n번째 이미지 프레임에서 인식된 객체들(1010a, 1020a)과, (n+1)번째 이미지 프레임에서 인식된 객체들(1010b, 1020b)을 도시하였다. 도면에서 확인할 수 있는 바와 같이 연속된 두 개의 이미지 프레임 동안에 객체가 이동한 거리(d_move)는 기준값인 (d * 0.5)보다 작다. 그 결과, 동일한 객체(1010a, 1010b)에 대응되는 중심점들(P1a, P1b) 간 이격거리인 d101이, 서로 다른 객체(1010b, 1020a)에 대응되는 중심점들(P1b, P2a) 간 이격거리인 d102보다 작다. 이와 같이, 동일 객체의 중심점들 간 이격거리가 항상 서로 다른 객체의 중심점들 간 이격거리보다 작게 유지되므로, 제어부(120)는 중심점들 간 이격거리에 기초하여 동일 객체 여부를 판단할 수 있다.10 illustrates
연속된 두 개의 이미지 프레임 동안에 객체가 이동한 거리의 최대값(max_d_move)을 일정한 기준값 이하로 제한하는 방법은 다양하게 구현될 수 있다. 예를 들어, 객체의 이동속도를 낮춤으로써 (max_d_move)를 감소시킬 수 있고, 만약 객체의 이동속도 변경이 불가하거나, 객체 간 최소 이격거리가 너무 작아 객체의 이동속도 변경만으로는 충분하지 않은 상황이라면 301 단계에서 추출되는 이미지 프레임들 간 시간 간격을 짧게 함으로써 (max_d_move)를 감소시킬 수도 있다.A method of limiting a maximum value (max_d_move) of a distance moved by an object during two consecutive image frames to a predetermined reference value or less may be implemented in various ways. For example, (max_d_move) can be reduced by lowering the object's movement speed. If the object's movement speed cannot be changed or the minimum separation distance between objects is too small, changing the object's movement speed is not sufficient. 301 (max_d_move) may be reduced by shortening the time interval between image frames extracted in the step.
다시 도 3으로 돌아와서, 305 단계에서 제어부(120)는 검출된 중심점들의 개수와, 동일 객체에 해당되는 중심점들을 파악한 결과를 이용하여 객체 카운팅을 수행한다.Returning to FIG. 3 again, in
기본적으로 제어부(120)는 이미지 프레임들에서 검출된 중심점들의 개수를 합함으로써 촬영 영상에 등장하는 객체들의 개수를 카운팅할 수 있다. 그런데, 동일한 객체가 복수의 이미지 프레임들에 걸쳐서 등장할 수 있고, 따라서 이미지 프레임들에서 검출된 중심점들의 개수를 단순히 모두 합하기만 한다면 일부 동일한 객체를 중복으로 카운팅하는 결과를 가져오게 된다. 일 실시예에 따른 카운팅 알고리즘에 따르면 위와 같은 문제를 방지하기 위해, 제어부(120)는 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점을 파악하고, 그 결과를 반영하여 카운팅 값을 보정할 수 있다.Basically, the
이하에서는 도 4 및 도 8을 참조하여 카운팅 영역 내 중심점 검출을 통해 객체를 카운팅하는 알고리즘에 대해서 자세히 설명한다.Hereinafter, with reference to FIGS. 4 and 8 , an algorithm for counting objects by detecting a center point within a counting area will be described in detail.
도 4는 도 3의 305 단계에 포함되는 세부 단계들을 도시한 순서도이다.FIG. 4 is a flowchart illustrating detailed steps included in
401 단계에서 제어부(120)는 이미지 프레임별로 검출된 중심점들의 개수를 예비 카운팅 값으로 결정한다. 도 8에서 제1 카운팅 영역(810)에서 검출된 중심점들(P11, P12)은 2개 이므로, 제1 카운팅 영역(810)에 대한 예비 카운팅 값은 2가 된다. 동일한 방식에 따라 제2 카운팅 영역(820) 및 제3 카운팅 영역(830)의 예비 카운팅 값은 각각 2 및 1이 된다.In
402 단계에서 제어부(120)는 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 이미지 프레임별로 카운팅 보정값을 결정한다. 자세하게는, 제어부(120)는 현재 이미지 프레임에서 검출된 중심점들 중에서, 이전 이미지 프레임에서 이미 중심점이 검출된 객체에 대응되는 것이 발견될 때마다 카운팅 보정값을 -1씩 증가시킨다. 구체적인 예시는 아래를 참고한다.In
도 8의 제2 카운팅 영역(820)에 대해서 살펴보면, 앞서 살펴본 바와 같이 제2 카운팅 영역(820)에서 검출된 중심점들(P21, P23) 중에서 P21은, 제1 카운팅 영역(810)에서 이미 중심점(P11)이 검출된 객체에 대응되므로, 제어부(120)는 제2 카운팅 영역(820)에 대한 카운팅 보정값을 -1로 설정한다.Looking at the
도 8의 제3 카운팅 영역(830)에 대해서 살펴보면, 앞서 살펴본 바와 같이 제3 카운팅 영역(830)에서 검출된 중심점(P33)은, 제2 카운팅 영역(820)에서 이미 중심점(P23)이 검출된 객체에 대응되므로, 제어부(120)는 제3 카운팅 영역(830)에 대한 카운팅 보정값을 -1로 설정한다.Looking at the
403 단계에서 제어부(120)는 모든 이미지 프레임들에 대해서 예비 카운팅 값 및 카운팅 보정값을 합하여 최종 카운팅 값을 산출한다.In
도 8을 참고하면, 제1 카운팅 영역(810)에 대해서는 카운팅 보정값이 존재하지 않으므로, 제1 카운팅 영역(810)에 대한 카운팅 값은 예비 카운팅 값과 동일하게 2가 된다. 제2 카운팅 영역(820)에 대한 카운팅 값은 예비 카운팅 값(2)과 카운팅 보정값(-1)을 합한 결과인 1이 된다. 제3 카운팅 영역(830)에 대한 카운팅 값은, 예비 카운팅 값(1)과 카운팅 보정값(-1)을 합한 결과인 0이 된다. 제어부(120)는 제1 내지 3 카운팅 영역(810, 820, 830)에 대한 카운팅 값을 모두 합함으로써 최종 카운팅 값 3을 얻게 된다.Referring to FIG. 8 , since a counting correction value does not exist for the
이상 설명한 실시예에서는 컨베이어 벨트를 통해 달걀들이 이동되므로 모든 객체들의 이동방향 및 이동속도가 동일하다. 하지만, 객체들의 이동방향 및 이동속도가 상이한 경우까지 실시예를 확장하는 것이 가능하다.In the embodiment described above, since the eggs are moved through the conveyor belt, the moving direction and moving speed of all objects are the same. However, it is possible to extend the embodiment to a case where the moving directions and moving speeds of the objects are different.
도 3의 304 단계에서 동일 객체에 해당되는 중심점들을 파악했으면, 제어부(120)는 그 결과에 기초하여 각 객체들의 이동방향 및 이동속도를 측정할 수 있기 때문이다.This is because if center points corresponding to the same object are determined in
구체적인 실시예로서, 양방향으로 이동하는 차량들을 위에서 촬영하고, 촬영 영상을 분석함으로써 각 방향으로 이동한 차량들의 개수를 카운팅할 수 있다. 도 5에는 이러한 실시예에 대응되는, 도 3의 305 단계의 세부단계들을 도시하였다.As a specific embodiment, the number of vehicles moving in each direction may be counted by photographing vehicles moving in both directions from above and analyzing the captured image. FIG. 5 shows detailed steps of
501 단계에서 제어부(120)는 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 중심점들 각각의 이동방향을 파악한다. 502 단계에서 제어부(120)는 파악된 이동방향별로 객체의 개수를 카운팅한다. 본 실시예도 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 카운팅 보정값을 결정하고, 이를 반영하여 최종 카운팅 값을 도출하는 점은 앞서 도 8을 참조하여 설명한 바와 같다.In
또 다른 실시예로서, 출입구를 통해 드나드는 사람들의 수를 카운팅함으로써 특정 공간 내에 존재하는 사람들의 수를 파악할 수도 있다. 도 6에는 이러한 실시예에 대응되는, 도 3의 305 단계의 세부단계들을 도시하였다.As another embodiment, the number of people present in a specific space may be determined by counting the number of people entering and exiting through a doorway. FIG. 6 shows detailed steps of
601 단계에서 제어부(120)는 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 중심점들 각각의 이동방향을 파악한다. 602 단계에서 제어부(120)는 파악된 이동방향에 기초하여 출입구를 통해 드나든 객체의 개수를 카운팅한다. 본 실시예에서 제어부(120)는 출입구 주변에서의 객체들의 이동방향에 기반하여, 출입구를 통해 나가는 사람의 수와 출입구를 통해 들어오는 사람의 수를 각각 카운팅할 수 있고, 출입구를 통해 들어온 사람의 수에서 출입구를 통해 나간 사람의 수를 뺌으로써 해당 공간 내에 머무르는 사람들의 수를 계산할 수 있다. 본 실시예도 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 카운팅 보정값을 결정하고, 이를 반영하여 최종 카운팅 값을 도출하는 점은 앞서 도 8을 참조하여 설명한 바와 같다.In
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term '~unit' used in the above embodiments means software or a hardware component such as a field programmable gate array (FPGA) or ASIC, and '~unit' performs certain roles. However, '~ part' is not limited to software or hardware. '~bu' may be configured to be in an addressable storage medium and may be configured to reproduce one or more processors. Therefore, as an example, '~unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.Functions provided within components and '~units' may be combined into smaller numbers of components and '~units' or separated from additional components and '~units'.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.In addition, components and '~units' may be implemented to play one or more CPUs in a device or a secure multimedia card.
도 3 내지 도 6을 통해 설명된 실시예에 따른 인공신경망을 이용한 객체 카운팅 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.The object counting method using an artificial neural network according to the embodiment described with reference to FIGS. 3 to 6 may be implemented in the form of a computer-readable medium storing instructions and data executable by a computer. In this case, instructions and data may be stored in the form of program codes, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation. Also, computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, a computer-readable medium may be a computer recording medium, which is a volatile and non-volatile memory implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. It can include both volatile, removable and non-removable media. For example, the computer recording medium may be a magnetic storage medium such as HDD and SSD, an optical recording medium such as CD, DVD, and Blu-ray disc, or a memory included in a server accessible through a network.
또한 도 3 내지 도 6을 통해 설명된 실시예에 따른 인공신경망을 이용한 객체 카운팅 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.In addition, the object counting method using an artificial neural network according to the embodiment described with reference to FIGS. 3 to 6 may be implemented as a computer program (or computer program product) including instructions executable by a computer. A computer program includes programmable machine instructions processed by a processor and may be implemented in a high-level programming language, object-oriented programming language, assembly language, or machine language. . Also, the computer program may be recorded on a tangible computer-readable recording medium (eg, a memory, a hard disk, a magnetic/optical medium, or a solid-state drive (SSD)).
따라서 도 3 내지 도 6을 통해 설명된 실시예에 따른 인공신경망을 이용한 객체 카운팅 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.Therefore, the object counting method using the artificial neural network according to the embodiment described with reference to FIGS. 3 to 6 can be implemented by executing the computer program as described above by a computing device. A computing device may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to a low-speed bus and a storage device. Each of these components are connected to each other using various buses and may be mounted on a common motherboard or mounted in any other suitable manner.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.Here, the processor may process commands within the computing device, for example, to display graphic information for providing a GUI (Graphic User Interface) on an external input/output device, such as a display connected to a high-speed interface. Examples include instructions stored in memory or storage devices. As another example, multiple processors and/or multiple buses may be used along with multiple memories and memory types as appropriate. Also, the processor may be implemented as a chipset comprising chips including a plurality of independent analog and/or digital processors.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.Memory also stores information within the computing device. In one example, the memory may consist of a volatile memory unit or a collection thereof. As another example, the memory may be composed of a non-volatile memory unit or a collection thereof. Memory may also be another form of computer readable medium, such as, for example, a magnetic or optical disk.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.Also, the storage device may provide a large amount of storage space to the computing device. A storage device may be a computer-readable medium or a component that includes such a medium, and may include, for example, devices in a storage area network (SAN) or other components, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, flash memory, or other semiconductor memory device or device array of the like.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above-described embodiments are for illustrative purposes, and those skilled in the art to which the above-described embodiments belong can easily transform into other specific forms without changing the technical spirit or essential features of the above-described embodiments. You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 명세서를 통해 보호받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.The scope to be protected through this specification is indicated by the following claims rather than the detailed description above, and should be construed to include all changes or modifications derived from the meaning and scope of the claims and equivalent concepts thereof. .
10: 촬영 장치 100: 컴퓨팅 장치
110: 입출력부 120: 제어부
130: 저장부 10: photographing device 100: computing device
110: input/output unit 120: control unit
130: storage unit
Claims (20)
컴퓨팅 장치가 촬영 영상으로부터 일정 시간 간격의 이미지 프레임들을 추출하는 단계;
상기 컴퓨팅 장치가 상기 이미지 프레임별로 객체들을 인식하는 단계;
상기 컴퓨팅 장치가 상기 이미지 프레임별로 인식된 객체들의 중심점을 검출하는 단계;
상기 컴퓨팅 장치가 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여, 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점들을 파악하는 단계; 및
상기 컴퓨팅 장치가 상기 검출된 중심점들의 개수와, 상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 객체 카운팅을 수행하는 단계를 포함하며,
상기 객체들을 인식하는 단계는, 상기 이미지 프레임들의 일부 영역을 디텍팅 영역으로 설정하는 단계; 및 상기 디텍팅 영역 내에서만 상기 객체들을 인식하는 단계를 포함하며,
상기 디텍팅 영역의 길이는, 상기 객체들의 너비의 최대값과 연속된 이미지 프레임 동안에 객체가 이동한 거리의 최대값의 합보다는 크게 설정되고,
상기 객체들의 중심점을 검출하는 단계는, 상기 이미지 프레임들의 일부 영역을 카운팅 영역으로 설정하는 단계, 및 상기 카운팅 영역 내에서만 상기 객체들의 중심점을 검출하는 단계를 포함하며,
상기 카운팅 영역의 길이는, 연속된 이미지 프레임 동안에 객체가 이동한 거리의 최대값보다는 크고, 상기 디텍팅 영역의 길이보다는 작게 설정되는, 방법.In the object counting method using an artificial neural network,
extracting, by a computing device, image frames at predetermined time intervals from a photographed image;
recognizing objects by the image frame by the computing device;
detecting, by the computing device, center points of objects recognized for each image frame;
determining, by the computing device, center points corresponding to the same object among center points detected in different image frames, based on a result of comparing locations of the center points between successive image frames; and
Performing, by the computing device, object counting based on the number of the detected center points and a result of identifying center points corresponding to the same object;
Recognizing the objects may include setting some areas of the image frames as a detecting area; And recognizing the objects only within the detecting area,
The length of the detection area is set to be greater than the sum of the maximum value of the widths of the objects and the maximum value of the distance moved by the object during consecutive image frames,
The detecting of the center points of the objects includes setting a partial area of the image frames as a counting area, and detecting the center points of the objects only within the counting area,
The length of the counting area is set to be larger than the maximum value of the distance moved by the object during consecutive image frames and smaller than the length of the detecting area.
상기 동일 객체에 해당되는 중심점들을 파악하는 단계는,
상기 연속된 이미지 프레임 간 중심점들의 이격거리를 산출하는 단계;
상기 산출된 이격거리가 미리 설정된 기준값보다 작다면, 상기 이격거리에 대응되는 중심점들이 동일 객체에 대한 중심점인 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 방법.According to claim 1,
The step of identifying the center points corresponding to the same object,
Calculating a separation distance between center points between the consecutive image frames;
and determining that center points corresponding to the separation distance are center points of the same object if the calculated separation distance is smaller than a preset reference value.
상기 기준값은, 동일 이미지 프레임 내에서 서로 다른 객체들의 중심점 간 이격거리의 최소값에 0.5를 곱한 값으로 설정되는 것을 특징으로 하는 방법.According to claim 2,
The reference value is set to a value obtained by multiplying 0.5 by a minimum value of a separation distance between center points of different objects within the same image frame.
상기 기준값은, 상기 객체들의 너비의 최소값에 0.5를 곱한 값으로 설정되는 것을 특징으로 하는 방법.According to claim 2,
The reference value is set to a value obtained by multiplying the minimum value of the width of the objects by 0.5.
상기 객체 카운팅을 수행하는 단계는,
상기 이미지 프레임별로 검출된 중심점들의 개수를 예비 카운팅 값으로 결정하는 단계;
상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 상기 이미지 프레임별로 카운팅 보정값을 결정하는 단계; 및
모든 이미지 프레임들에 대해서 상기 예비 카운팅 값 및 상기 카운팅 보정값을 합하여 최종 카운팅 값을 산출하는 단계를 포함하는 것을 특징으로 하는 방법.According to claim 1,
The step of performing the object counting,
determining the number of center points detected for each image frame as a preliminary counting value;
determining a counting correction value for each image frame based on a result of identifying center points corresponding to the same object; and
and calculating a final counting value by summing the preliminary counting value and the counting correction value for all image frames.
상기 객체 카운팅을 수행하는 단계는,
상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 중심점들 각각의 이동방향을 파악하는 단계; 및
상기 파악된 이동방향별로 객체의 개수를 카운팅하는 단계를 포함하는 것을 특징으로 하는 방법.According to claim 1,
The step of performing the object counting,
determining the movement direction of each center point based on a result of identifying center points corresponding to the same object; and
and counting the number of objects for each identified movement direction.
상기 객체 카운팅을 수행하는 단계는,
상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 중심점들 각각의 이동방향을 파악하는 단계; 및
상기 파악된 이동방향에 기초하여 출입구를 드나든 객체의 개수를 카운팅하는 단계를 포함하는 것을 특징으로 하는 방법.According to claim 1,
The step of performing the object counting,
determining the movement direction of each center point based on a result of identifying center points corresponding to the same object; and
and counting the number of objects entering and exiting the entrance based on the identified movement direction.
객체들을 촬영한 촬영 영상을 수신하고, 객체 카운팅 결과를 출력하기 위한 입출력부;
상기 촬영 영상으로부터 객체를 카운팅하기 위한 프로그램이 저장되는 저장부; 및
적어도 하나의 프로세서를 포함하는 제어부를 포함하며,
상기 제어부는,
상기 촬영 영상으로부터 일정 시간 간격의 이미지 프레임들을 추출하고, 상기 이미지 프레임별로 객체들을 인식하고, 상기 이미지 프레임별로 인식된 객체들의 중심점을 검출하고, 연속된 이미지 프레임 간 중심점들의 위치를 비교한 결과에 기초하여, 서로 다른 이미지 프레임에서 검출된 중심점들 중에서 동일 객체에 해당되는 중심점들을 파악하고, 상기 검출된 중심점들의 개수와, 상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 객체 카운팅을 수행하며,
상기 제어부는 상기 객체들을 인식함에 있어서, 상기 이미지 프레임들의 일부 영역을 디텍팅 영역으로 설정하고, 상기 디텍팅 영역 내에서만 상기 객체들을 인식하며 상기 디텍팅 영역의 길이는, 상기 객체들의 너비의 최대값과 연속된 이미지 프레임 동안에 객체가 이동한 거리의 최대값의 합보다 크게 설정되고,
상기 제어부는 상기 객체들의 중심점을 검출함에 있어서, 상기 이미지 프레임들의 일부 영역을 카운팅 영역으로 설정하고, 상기 카운팅 영역 내에서만 상기 객체들의 중심점을 검출하며, 상기 카운팅 영역의 길이는, 연속된 이미지 프레임 동안에 객체가 이동한 거리의 최대값보다는 크고, 상기 디텍팅 영역의 길이보다는 작게 설정되는, 컴퓨팅 장치.A computing device for performing an object counting method using an artificial neural network,
an input/output unit for receiving a photographed image of objects and outputting an object counting result;
a storage unit storing a program for counting objects from the photographed image; and
A control unit including at least one processor,
The control unit,
Based on a result of extracting image frames at a predetermined time interval from the captured image, recognizing objects for each image frame, detecting the center points of the recognized objects for each image frame, and comparing the locations of the center points between consecutive image frames. So, among the center points detected in different image frames, center points corresponding to the same object are identified, and object counting is performed based on the number of the detected center points and the result of determining the center points corresponding to the same object,
In recognizing the objects, the control unit sets a partial area of the image frames as a detection area, recognizes the objects only within the detection area, and the length of the detection area is the maximum value of the width of the objects. It is set greater than the sum of the maximum values of the distances the object has moved during continuous image frames,
In detecting the center points of the objects, the control unit sets a partial area of the image frames as a counting area, detects the center points of the objects only within the counting area, and the length of the counting area is determined during consecutive image frames. The computing device, which is set to be greater than the maximum value of the distance moved by the object and smaller than the length of the detecting area.
상기 제어부는 상기 동일 객체에 해당되는 중심점들을 파악함에 있어서,
상기 연속된 이미지 프레임 간 중심점들의 이격거리를 산출하고, 상기 산출된 이격거리가 미리 설정된 기준값보다 작다면, 상기 이격거리에 대응되는 중심점들이 동일 객체에 대한 중심점인 것으로 판단하는 것을 특징으로 하는 컴퓨팅 장치.According to claim 12,
In determining the center points corresponding to the same object, the controller
Calculating the separation distance of the center points between the consecutive image frames, and determining that the center points corresponding to the separation distance are center points of the same object if the calculated separation distance is smaller than a preset reference value. .
상기 기준값은, 동일 이미지 프레임 내에서 서로 다른 객체들의 중심점 간 이격거리의 최소값에 0.5를 곱한 값으로 설정되는 것을 특징으로 하는 컴퓨팅 장치.According to claim 13,
The reference value is set to a value obtained by multiplying 0.5 by a minimum value of a separation distance between center points of different objects within the same image frame.
상기 기준값은, 상기 객체들의 너비의 최소값에 0.5를 곱한 값으로 설정되는 것을 특징으로 하는 컴퓨팅 장치.According to claim 13,
The reference value is set to a value obtained by multiplying a minimum value of the width of the objects by 0.5.
상기 제어부는 상기 객체 카운팅을 수행함에 있어서,
상기 이미지 프레임별로 검출된 중심점들의 개수를 예비 카운팅 값으로 결정하고, 상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 상기 이미지 프레임별로 카운팅 보정값을 결정하고, 모든 이미지 프레임들에 대해서 상기 예비 카운팅 값 및 상기 카운팅 보정값을 합하여 최종 카운팅 값을 산출하는 것을 특징으로 하는 컴퓨팅 장치.According to claim 12,
In performing the object counting, the controller
The number of center points detected for each image frame is determined as a preliminary counting value, a counting correction value is determined for each image frame based on a result of identifying center points corresponding to the same object, and the preliminary counting Computing device, characterized in that for calculating a final counting value by summing the value and the counting correction value.
상기 제어부는 상기 객체 카운팅을 수행함에 있어서,
상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 중심점들 각각의 이동방향을 파악하고, 상기 파악된 이동방향별로 객체의 개수를 카운팅하는 것을 특징으로 하는 컴퓨팅 장치.According to claim 12,
In performing the object counting, the controller
Based on a result of identifying the center points corresponding to the same object, a moving direction of each of the center points is determined, and the number of objects is counted for each of the determined moving directions.
상기 제어부는 상기 객체 카운팅을 수행함에 있어서,
상기 동일 객체에 해당되는 중심점들을 파악한 결과에 기초하여 중심점들 각각의 이동방향을 파악하고, 상기 파악된 이동방향에 기초하여 출입구를 드나든 객체의 개수를 카운팅하는 것을 특징으로 하는 컴퓨팅 장치.According to claim 12,
In performing the object counting, the controller
Based on a result of identifying the center points corresponding to the same object, a movement direction of each center point is identified, and the number of objects that have entered and exited the entrance is counted based on the identified movement direction.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210154588 | 2021-11-11 | ||
KR20210154588 | 2021-11-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102513803B1 true KR102513803B1 (en) | 2023-03-27 |
Family
ID=85799868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220033711A KR102513803B1 (en) | 2021-11-11 | 2022-03-18 | Method for counting object using artificial neural network, and computing apparatus for performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102513803B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007065878A (en) * | 2005-08-30 | 2007-03-15 | Central Res Inst Of Electric Power Ind | Moving object counting method on water surface or underwater, and counting device and counting program |
JP2012048476A (en) * | 2010-08-26 | 2012-03-08 | Canon Inc | Image processing apparatus |
JP2019125217A (en) * | 2018-01-18 | 2019-07-25 | 日本信号株式会社 | Vehicle detection counting device and parking lot management system |
-
2022
- 2022-03-18 KR KR1020220033711A patent/KR102513803B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007065878A (en) * | 2005-08-30 | 2007-03-15 | Central Res Inst Of Electric Power Ind | Moving object counting method on water surface or underwater, and counting device and counting program |
JP2012048476A (en) * | 2010-08-26 | 2012-03-08 | Canon Inc | Image processing apparatus |
JP2019125217A (en) * | 2018-01-18 | 2019-07-25 | 日本信号株式会社 | Vehicle detection counting device and parking lot management system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200082549A1 (en) | Efficient object detection and tracking | |
US20160275721A1 (en) | 3d face model reconstruction apparatus and method | |
US10846515B2 (en) | Efficient face detection and tracking | |
KR102476022B1 (en) | Face detection method and apparatus thereof | |
US20190138821A1 (en) | Camera blockage detection for autonomous driving systems | |
US10540540B2 (en) | Method and device to determine landmark from region of interest of image | |
KR101969623B1 (en) | Face recognition with parallel detection and tracking, and/or grouped feature motion shift tracking | |
JP7365055B2 (en) | video object detection | |
US10347100B2 (en) | Information processing system, method and computer readable medium for determining whether moving bodies appearing in first and second videos are the same or not | |
KR20160033800A (en) | Method for counting person and counting apparatus | |
US20220051413A1 (en) | Object tracking device, object tracking method, and recording medium | |
KR20160086605A (en) | Method of recognizing object and apparatus thereof | |
KR20180109658A (en) | Apparatus and method for image processing | |
US10691956B2 (en) | Information processing apparatus, information processing system, information processing method, and storage medium having determination areas corresponding to waiting line | |
KR101821242B1 (en) | Method for counting vehicles based on image recognition and apparatus using the same | |
KR102513803B1 (en) | Method for counting object using artificial neural network, and computing apparatus for performing the same | |
US11288816B2 (en) | Image detection device, image detection method and storage medium storing program | |
KR101412369B1 (en) | Method and apparatus for decting object in image | |
KR102581154B1 (en) | Method and Apparatus for Object Detection Using Model Ensemble | |
JP7063267B2 (en) | Image processing equipment, image processing systems, image processing methods and computer programs | |
CN113869163B (en) | Target tracking method and device, electronic equipment and storage medium | |
KR102343348B1 (en) | Method of acquiring infrared image data, apparatus for acquiring infrared image data, and computer program for the method | |
US11620812B2 (en) | Online distillation using frame cache | |
WO2019003709A1 (en) | Information processing device, control method, and program | |
JP7279892B2 (en) | FACE POSITION DETECTION DEVICE, FACE POSITION DETECTION METHOD, AND PROGRAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |