KR20230149262A - Method, server and computer program for detecting moving object in image based on wavelength information - Google Patents

Method, server and computer program for detecting moving object in image based on wavelength information Download PDF

Info

Publication number
KR20230149262A
KR20230149262A KR1020230051666A KR20230051666A KR20230149262A KR 20230149262 A KR20230149262 A KR 20230149262A KR 1020230051666 A KR1020230051666 A KR 1020230051666A KR 20230051666 A KR20230051666 A KR 20230051666A KR 20230149262 A KR20230149262 A KR 20230149262A
Authority
KR
South Korea
Prior art keywords
wavelength information
detecting
image data
wavelength
server
Prior art date
Application number
KR1020230051666A
Other languages
Korean (ko)
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 주식회사 시너인
Publication of KR20230149262A publication Critical patent/KR20230149262A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Abstract

전술한 바와 같은 과제를 실현하기 위한 본 발명의 다양한 실시예에 따른 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법이 개시된다. 상기 방법은, 컴퓨팅 장치의 하나 이상의 프로세서에서 수행되는 방법에 있어서, 영상 데이터를 획득하는 단계, 상기 영상 데이터에 포함된 복수의 색상 정보를 기반으로 상기 영상 데이터에 대응하는 복수의 파장 정보를 생성하는 단계 및 상기 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계를 포함할 수 있다. A method for detecting a moving object in an image based on wavelength information corresponding to color according to various embodiments of the present invention for realizing the above-described tasks is disclosed. The method is performed in one or more processors of a computing device, comprising: acquiring image data; generating a plurality of wavelength information corresponding to the image data based on a plurality of color information included in the image data; and detecting a moving object based on the plurality of wavelength information.

Description

파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법, 서버 및 컴퓨터 프로그램{METHOD, SERVER AND COMPUTER PROGRAM FOR DETECTING MOVING OBJECT IN IMAGE BASED ON WAVELENGTH INFORMATION}Method for detecting moving objects in images based on wavelength information, server and computer program {METHOD, SERVER AND COMPUTER PROGRAM FOR DETECTING MOVING OBJECT IN IMAGE BASED ON WAVELENGTH INFORMATION}

본 발명의 다양한 실시예는 움직이는 객체 탐지 방법에 관한 것으로, 보다 구체적으로, 색상에 대응하는 파장 정보를 기반으로 객체를 구분하고, 이를 기반으로 실시간으로 움직이는 객체를 탐지 및 추적하기 위한 방법, 서버 및 컴퓨터 프로그램에 관한 것이다.Various embodiments of the present invention relate to a method for detecting moving objects. More specifically, a method, server, and method for distinguishing objects based on wavelength information corresponding to color and detecting and tracking moving objects in real time based on this. It's about computer programs.

오늘날, 인공지능의 발달로 사람이 해야 할 일을 컴퓨터를 이용하여 처리함으로써 많은 편의가 제공되고 있다. 특히, 객체 탐지(Object Detection)는, 사람이 가장 많은 정보를 받아들이는 시각 정보를 컴퓨터가 대신하여 분석하고 해석할 수 있도록 하는 연구분야이다. 이러한 객체 탐지는, 영상 감시, 얼굴 인식, 로봇 제어, IoT, 자율 주행, 제조업, 보안 등에 활용됨으로써, 산업 전반에서 빠질 수 없는 핵심 기술로 자리잡고 있으며 다양한 분야에서 활용되고 있다.Today, with the development of artificial intelligence, many conveniences are provided by using computers to handle tasks that should be done by humans. In particular, object detection is a field of research that allows computers to analyze and interpret visual information, which is where humans receive the most information. This object detection is used in video surveillance, facial recognition, robot control, IoT, autonomous driving, manufacturing, security, etc., making it an essential core technology across industries and being used in a variety of fields.

예를 들어, 객체 탐지 기술은, 자율 주행 차량 분야에서 활용 가능할 수 있다. 자율 주행을 위해서는 컴퓨터가 스스로 주변 사물을 탐지하여 인식할 수 있어야 한다. 예컨대, 정지 신호가 있을 때 속도를 줄이고, 초록불이 켜지면 다시 주행을 시작하는 등 주변 환경과 상호작용이 필요한 자율 주행 차량에 객체 탐지 기술이 적용될 수 있다.For example, object detection technology can be used in the field of autonomous vehicles. For autonomous driving, a computer must be able to detect and recognize surrounding objects on its own. For example, object detection technology can be applied to autonomous vehicles that require interaction with the surrounding environment, such as slowing down when there is a stop sign and starting again when the green light comes on.

또한, 예를 들어, 객체 탐지 기술은, 보안 분야에서 효율적인 자원 관리를 위해 활용될 수 있다. 일반적으로 CCTV는 쉬지 않고 기록이 되기 때문에 방대한 양의 메모리가 필요하나, 객체 탐지 기술과 결합하여 특정 객체가 탐지되었을 때문 기록을 수행하게 되면 메모리를 보다 효율적으로 사용 및 관리할 수 있다. 객체 탐지 기술은, 전술한 예시 이외의 다양한 분야(예컨대, 의료 또는 로봇 제어 등)에서도 활발하게 활용되어지고 있다.Additionally, for example, object detection technology can be utilized for efficient resource management in the security field. In general, CCTV requires a huge amount of memory because it records continuously, but by combining it with object detection technology and recording when a specific object is detected, memory can be used and managed more efficiently. Object detection technology is actively used in various fields other than the examples described above (for example, medical care or robot control, etc.).

한편, 일반적으로, 색상 히스토그램의 유사도에 대응하는 확률 분포를 활용한 객체 탐지 방법을 통해 영상에서 객체를 탐지할 수 있다. 이와 같이, 객체의 색상 정보를 이용한 객체 탐지 방법은 구현이 간단하고, 객체의 형태 변환에 강인하다는 장점을 갖는다.Meanwhile, in general, objects can be detected in an image through an object detection method using a probability distribution corresponding to the similarity of the color histogram. In this way, the object detection method using the color information of the object has the advantage of being simple to implement and robust to object shape transformation.

다만, 객체의 색상 정보를 이용한 객체 탐지 방법은, 다수의 객체가 혼재되어 있는 상황에서 유사한 색상의 이동 객체 간의 겹침 현상이 발생하는 경우, 각각의 객체들을 지속적으로 탐지 및 추적하지 못할 수 있다. 또한, 객체의 색상 정보를 이용한 객체 탐지 방법은, 객체의 형태 정보를 잃어버리기 때문에 배경에 객체와 유사한 색상이 존재하는 경우에는 대상을 놓치기 쉬우며, 대상의 크기 변화에도 취약한 문제점이 있다. 특히, 영상을 획득하는 영상 획득 모듈이 이동하는 장치(예컨대, 차량)에 구비되는 경우, 영상 내에서 식별하고자 하는 대상 또는 객체의 크기가 지속적으로 변화하기 때문에, 이러한 상황에서 객체 탐지의 오류가 더욱 커질 우려가 있다.However, the object detection method using color information of objects may not be able to continuously detect and track each object when overlap between moving objects of similar colors occurs in a situation where multiple objects are mixed. In addition, the object detection method using the color information of the object loses the shape information of the object, so it is easy to miss the object when there is a color similar to the object in the background, and is vulnerable to changes in the size of the object. In particular, when the image acquisition module that acquires images is installed in a moving device (e.g., a vehicle), the size of the target or object to be identified in the image continuously changes, so errors in object detection are more likely to occur in this situation. There are concerns that it will grow.

한국공개특허공보 제10-2010-0118162호(2010.11.05.)Korean Patent Publication No. 10-2010-0118162 (2010.11.05.)

본 발명이 해결하고자 하는 과제는 전술한 배경기술에 대응하여 안출된 것으로, 색상과 RGB, HIS, YCrCb 등 컬러 모델에 기반하여 파장과 흡수율의 상호관계에 따라 실시간으로 움직이는 객체를 추적하는 방법을 제공하기 위함이다.The problem to be solved by the present invention was developed in response to the above-mentioned background technology, and provides a method of tracking moving objects in real time according to the correlation between wavelength and absorption rate based on color and color models such as RGB, HIS, and YCrCb. This is to do so.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned can be clearly understood by those skilled in the art from the description below.

상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법이 개시된다. 상기 방법은, 컴퓨팅 장치의 하나 이상의 프로세서에서 수행되는 방법에 있어서, 영상 데이터를 획득하는 단계, 상기 영상 데이터에 포함된 복수의 색상 정보를 기반으로 상기 영상 데이터에 대응하는 복수의 파장 정보를 생성하는 단계 및 상기 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계를 포함할 수 있다. To solve the above-described problem, a method for detecting a moving object in an image based on wavelength information corresponding to color according to an embodiment of the present invention is disclosed. The method is performed in one or more processors of a computing device, comprising: acquiring image data; generating a plurality of wavelength information corresponding to the image data based on a plurality of color information included in the image data; and detecting a moving object based on the plurality of wavelength information.

대안적인 실시예에서, 상기 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는, 상기 복수의 파장 정보를 기반으로 상기 영상 데이터에 포함된 복수의 객체를 식별하는 단계, 상기 영상 데이터에서 식별된 상기 복수의 객체 각각을 구분하는 단계 및 상기 복수의 파장 정보의 변화를 기반으로 상기 구분된 복수의 객체 각각의 이동 경로를 예측하여 이동 경로 예측 정보를 생성하는 단계를 포함할 수 있다.In an alternative embodiment, detecting a moving object based on the plurality of wavelength information includes identifying a plurality of objects included in the image data based on the plurality of wavelength information, It may include distinguishing each of the plurality of objects and predicting a movement path of each of the plurality of divided objects based on changes in the plurality of wavelength information to generate movement path prediction information.

대안적인 실시예에서, 상기 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는, 상기 복수의 파장 정보 중 겹침(overlap)에 관련한 적어도 둘 이상의 파장 정보를 식별하는 단계, 상기 영상 데이터에서 겹침에 해당하지 않는 객체를 제거하여 보정된 영상 데이터를 생성하는 단계 및 상기 보정된 영상 데이터에 포함된 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계를 포함할 수 있다.In an alternative embodiment, the step of detecting a moving object based on the plurality of wavelength information includes identifying at least two or more wavelength information related to overlap among the plurality of wavelength information, and detecting the overlap in the image data. It may include generating corrected image data by removing non-corresponding objects and detecting a moving object based on wavelength information included in the corrected image data.

대안적인 실시예에서, 상기 보정된 영상 데이터에 포함된 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는, 상기 보정된 영상 데이터에 포함된 파장 정보에 기초하여 확률값을 산출하는 단계 및 상기 확률값을 기반으로 움직이는 객체를 탐지하는 단계를 포함하며, 상기 확률값은, 상기 영상 데이터에 포함된 객체의 이동에 따라 변화되는 일 지점이며, 파장의 경계를 구분하기 위한 기준이 되는 것을 특징으로 할 수 있다.In an alternative embodiment, the step of detecting a moving object based on the wavelength information included in the corrected image data includes calculating a probability value based on the wavelength information included in the corrected image data, and based on the probability value. It includes the step of detecting a moving object, wherein the probability value is a point that changes according to the movement of the object included in the image data, and may be characterized as being a standard for distinguishing the boundary of the wavelength.

대안적인 실시예에서, 상기 확률값을 산출하는 단계는, 겹침에 관련한 제1파장 정보 및 제2파장 정보의 교집합 영역을 식별하는 단계 및 상기 교집합 영역의 중심점을 기반으로 상기 확률값을 산출하는 단계를 포함할 수 있다. In an alternative embodiment, calculating the probability value includes identifying an intersection area of first and second wavelength information related to overlap and calculating the probability value based on the center point of the intersection area. can do.

대안적인 실시예에서, 상기 확률값을 기반으로 움직이는 객체를 탐지하는 단계는, 각 픽셀의 위치가 확률값을 기준으로 상기 제1파장 정보 방향 및 상기 제2파장 정보 방향 중 어느 방향에 위치하는지 식별하는 단계, 각각의 픽셀에 대응하여 상기 확률값으로부터의 거리를 산출하는 단계; 및 상기 각 픽셀에 대응하여 식별된 위치 및 거리를 기반으로 움직이는 객체를 탐지하는 단계를 포함할 수 있다.In an alternative embodiment, the step of detecting a moving object based on the probability value includes identifying which direction of the first wavelength information direction and the second wavelength information direction the location of each pixel is located based on the probability value. , calculating a distance from the probability value for each pixel; And it may include detecting a moving object based on the location and distance identified corresponding to each pixel.

대안적인 실시예에서, 상기 확률값을 산출하는 단계는, 겹침에 관련한 제1파장 정보 및 제2파장 정보의 유사성을 평가하는 단계, 상기 제1파장 정보 및 제2파장 정보의 유사성이 미리 정해진 유사도 이상인 경우, 상기 제1파장 정보 및 상기 제2파장 정보 각각에 서로 상이한 임의의 파장 정보를 부여하는 단계, 각 객체에 부여된 임의의 파장 정보 간의 교집합 영역을 식별하는 단계 및 상기 교집합 영역의 중심점을 기반으로 상기 확률값을 산출하는 단계를 포함할 수 있다.In an alternative embodiment, calculating the probability value includes evaluating the similarity of the first wavelength information and the second wavelength information related to overlap, wherein the similarity of the first wavelength information and the second wavelength information is greater than or equal to a predetermined similarity degree. In this case, assigning random wavelength information different from each other to each of the first wavelength information and the second wavelength information, identifying an intersection area between the random wavelength information assigned to each object, and based on the center point of the intersection area It may include calculating the probability value.

대안적인 실시예에서, 상기 방법은, 상기 영상 데이터에 대응하는 전처리를 수행하는 단계를 더 포함하며, 상기 전처리는, 조도 변화 및 움직임에 따른 노이즈를 제거하기 위한 모폴로지 연산에 관련한 전처리를 포함할 수 있다.In an alternative embodiment, the method further includes performing preprocessing corresponding to the image data, wherein the preprocessing may include preprocessing related to a morphology operation to remove noise due to illuminance changes and movement. there is.

본 발명의 다른 실시예에 따르면, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하기 위한 서버가 개시된다. 상기 서버는 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 전술한 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행할 수 있다.According to another embodiment of the present invention, a server for performing a method of detecting a moving object in an image based on wavelength information corresponding to color is disclosed. The server includes a memory that stores one or more instructions and a processor that executes one or more instructions stored in the memory, and the processor executes the one or more instructions, thereby creating an image in an image based on wavelength information corresponding to the color described above. A method for detecting moving objects can be performed.

본 발명의 또 다른 실시예에 따르면, 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하드웨어인 컴퓨터와 결합되어, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행할 수 있다.According to another embodiment of the present invention, a computer program stored in a computer-readable recording medium is disclosed. The computer program can be combined with a hardware computer to perform a method of detecting a moving object in an image based on wavelength information corresponding to color.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 발명의 다양한 실시예에 따르면, 색상의 파장 정보를 활용하여 영상 내에서 움직이는 객체를 탐지함으로써, 다수의 객체가 혼재되어 유사 색상의 이동 객체 간의 겹침 현상이 발생하는 상황에서도 견고한 객체 탐지 및 추적 방법을 제공할 수 있다.According to various embodiments of the present invention, a robust object detection and tracking method is provided by detecting moving objects in an image using color wavelength information, even in situations where multiple objects are mixed and overlap between moving objects of similar colors occurs. can be provided.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명의 일 실시예와 관련된 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 구현하기 위한 시스템을 개략적으로 도시한 예시도이다.
도 2는 본 발명의 일 실시예와 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하는 서버의 하드웨어 구성도이다.
도 3은 본 발명의 일 실시예와 관련된 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 예시적으로 나타낸 순서도를 도시한다.
도 4는 본 발명의 각 색상 별로 파장값이 상이함을 보여주는 도면이다.
도 5는 본 발명의 일 실시예와 관련된 다양한 색상의 객체를 포함하는 영상 데이터에 대한 세크멘테이션을 예시적으로 나타낸 예시도이다.
도 6은 본 발명의 일 실시예와 관련된 영상 데이터의 보정 방법을 예시적으로 나타낸 순서도를 도시한다.
도 7은 본 발명의 확률값을 산출하기 위한 과정을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시예와 관련된 객체 탐지를 위한 모델을 생성하는 과정을 예시적으로 나타낸 예시도이다.
도 9는 본 발명의 움직이는 객체 탐지 과정을 설명하기 위한 예시도이다.
Figure 1 is an exemplary diagram schematically showing a system for implementing a method for detecting a moving object in an image based on wavelength information corresponding to color related to an embodiment of the present invention.
Figure 2 is a hardware configuration diagram of a server that performs an embodiment of the present invention and a method of detecting a moving object in an image based on wavelength information corresponding to color.
Figure 3 shows a flowchart illustrating a method for detecting a moving object in an image based on wavelength information corresponding to color related to an embodiment of the present invention.
Figure 4 is a diagram showing that the wavelength values are different for each color of the present invention.
Figure 5 is an exemplary diagram illustrating segmentation of image data including objects of various colors related to an embodiment of the present invention.
Figure 6 shows a flowchart illustrating an example of a method for correcting image data related to an embodiment of the present invention.
Figure 7 is an example diagram for explaining the process for calculating the probability value of the present invention.
Figure 8 is an exemplary diagram illustrating a process for generating a model for object detection related to an embodiment of the present invention.
Figure 9 is an example diagram to explain the moving object detection process of the present invention.

다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 발명의 이해를 제공하기 위해서 제시된다. 그러나, 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.Various embodiments are now described with reference to the drawings. In this specification, various descriptions are presented to provide an understanding of the invention. However, it is clear that these embodiments may be practiced without these specific descriptions.

본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.As used herein, the terms “component,” “module,” “system,” and the like refer to a computer-related entity, hardware, firmware, software, a combination of software and hardware, or an implementation of software. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, a thread of execution, a program, and/or a computer. For example, both an application running on a computing device and the computing device can be a component. One or more components may reside within a processor and/or thread of execution. A component may be localized within one computer. A component may be distributed between two or more computers. Additionally, these components can execute from various computer-readable media having various data structures stored thereon. Components can transmit signals, for example, with one or more data packets (e.g., data and/or signals from one component interacting with other components in a local system, a distributed system, to other systems and over a network such as the Internet). Depending on the data being transmitted, they may communicate through local and/or remote processes.

더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.Additionally, the term “or” is intended to mean an inclusive “or” and not an exclusive “or.” That is, unless otherwise specified or clear from context, “X utilizes A or B” is intended to mean one of the natural implicit substitutions. That is, either X uses A; X uses B; Or, if X uses both A and B, “X uses A or B” can apply to either of these cases. Additionally, the term “and/or” as used herein should be understood to refer to and include all possible combinations of one or more of the related listed items.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.Additionally, the terms “comprise” and/or “comprising” should be understood to mean that the corresponding feature and/or element is present. However, the terms “comprise” and/or “comprising” should be understood as not excluding the presence or addition of one or more other features, elements and/or groups thereof. Additionally, unless otherwise specified or the context is clear to indicate a singular form, the singular terms herein and in the claims should generally be construed to mean “one or more.”

당업자들은 추가적으로 여기서 개시된 실시예들과 관련되어 설명된 다양한 예시적 논리적 블록들, 구성들, 모듈들, 회로들, 수단들, 로직들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수 있음을 인식해야 한다. 하드웨어 및 소프트웨어의 상호교환성을 명백하게 예시하기 위해, 다양한 예시 적 컴포넌트들, 블록들, 구성들, 수단들, 로직들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로서 구현되는지 여부는 전반적인 시스템에 부과된 특정 어플리케이션(application) 및 설계 제한들에 달려 있다. 숙련된 기술자들은 각각의 특정 어플리케이션들을 위해 다양한 방법들로 설명된 기능성을 구현할 수 있다. 다만, 그러한 구현의 결정들이 본 발명내용의 영역을 벗어나게 하는 것으로 해석되어서는 안된다.Those skilled in the art will additionally recognize that the various illustrative logical blocks, components, modules, circuits, means, logic, and algorithm steps described in connection with the embodiments disclosed herein may be implemented using electronic hardware, computer software, or a combination of both. It must be recognized that it can be implemented with To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, configurations, means, logics, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented in hardware or software will depend on the specific application and design constraints imposed on the overall system. A skilled technician can implement the described functionality in a variety of ways for each specific application. However, such implementation decisions should not be construed as departing from the scope of the present invention.

제시된 실시예들에 대한 설명은 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다. 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니다. 본 발명은 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable anyone skilled in the art to use or practice the present invention. Various modifications to these embodiments will be apparent to those skilled in the art. The general principles defined herein may be applied to other embodiments without departing from the scope of the invention. Therefore, the present invention is not limited to the embodiments presented herein. The present invention is to be interpreted in the broadest scope consistent with the principles and novel features presented herein.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In this specification, a computer refers to all types of hardware devices including at least one processor, and depending on the embodiment, it may be understood as encompassing software configurations that operate on the hardware device. For example, a computer can be understood to include, but is not limited to, a smartphone, tablet PC, desktop, laptop, and user clients and applications running on each device.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.

본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each step described in this specification is described as being performed by a computer, but the subject of each step is not limited thereto, and depending on the embodiment, at least part of each step may be performed in a different device.

도 1은 본 발명의 일 실시예와 관련된 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 구현하기 위한 시스템을 개략적으로 도시한 예시도이다.Figure 1 is an exemplary diagram schematically showing a system for implementing a method for detecting a moving object in an image based on wavelength information corresponding to color related to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 실시예들에 따른 시스템은, 서버(100), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다. 도 1에서 도시되는 컴포넌트들은 예시적인 것으로서, 추가적인 컴포넌트들이 존재하거나 또는 도 1에서 도시되는 컴포넌트들 중 일부는 생략될 수 있다. 본 발명의 실시예들에 따른 서버(100), 외부 서버(300) 및 사용자 단말(200)은 네트워크(400)를 통해, 본 발명의 일 실시예들에 따른 시스템을 위한 데이터를 상호 송수신할 수 있다.As shown in FIG. 1, a system according to embodiments of the present invention may include a server 100, a user terminal 200, an external server 300, and a network 400. The components shown in FIG. 1 are exemplary, and additional components may exist or some of the components shown in FIG. 1 may be omitted. The server 100, the external server 300, and the user terminal 200 according to embodiments of the present invention can mutually transmit and receive data for the system according to embodiments of the present invention through the network 400. there is.

본 발명의 실시예들에 따른 네트워크(400)는 공중전화 교환망(PSTN: Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.The network 400 according to embodiments of the present invention includes Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and Very Various wired communication systems such as High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and Local Area Network (LAN) can be used.

또한, 여기서 제시되는 네트워크(400)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.In addition, the network 400 presented herein includes Code Division Multi Access (CDMA), Time Division Multi Access (TDMA), Frequency Division Multi Access (FDMA), Orthogonal Frequency Division Multi Access (OFDMA), and Single Carrier-FDMA (SC-FDMA). A variety of wireless communication systems may be used, such as FDMA) and other systems.

본 발명의 실시예들에 따른 네트워크(400)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 네트워크(400)는 공지의 월드와이드웹(WWW: World Wide Web)일 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다. 본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.The network 400 according to embodiments of the present invention can be configured regardless of the communication mode, such as wired or wireless, and can be configured in various communication modes such as a personal area network (PAN) and a wide area network (WAN). It may consist of a communication network. In addition, the network 400 may be the known World Wide Web (WWW), and may use wireless transmission technology used for short-distance communication, such as Infrared Data Association (IrDA) or Bluetooth. . The techniques described herein can be used in the networks mentioned above, as well as other networks.

본 발명의 실시예에 따르면, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하는 서버(100)(이하 '서버(100)')는 영상 데이터에서 움직이는 객체를 탐지할 수 있다. 구체적으로, 서버(100)는 실시간으로 영상 데이터를 획득할 수 있으며, 실시간 영상 데이터에서 움직이는 객체를 자동으로 탐지할 수 있다.According to an embodiment of the present invention, the server 100 (hereinafter referred to as 'server 100'), which performs a method of detecting a moving object in an image based on wavelength information corresponding to color, detects a moving object in the image data. You can. Specifically, the server 100 can acquire image data in real time and automatically detect moving objects in the real-time image data.

일 실시예에 따르면, 서버(100)는 색상에 기반하여 영상 데이터에서 객체를 탐지할 수 있다. 구체적으로, 서버(100)는 영상 데이터에 포함된 복수의 색상 정보를 기반으로 영상 데이터에 대응하는 복수의 파장 정보를 생성할 수 있으며, 해당 파장 정보를 기반으로 움직이는 객체를 탐지할 수 있다. 각 색상 별로 서로 상이한 파장을 가지고 있으며, 서버(100)는 이러한 색상의 파장을 기반으로 움직이는 객체를 탐지할 수 있다. 예컨대, 빨간색은, 750nm일 수 있으며, 보라색은 410nm로 각 색상 별로 파장의 값이 다를 수 있다. 본 발명의 가시광선의 파장을 활용하여 영상 내에서 움직이는 객체를 탐지할 수 있다.According to one embodiment, the server 100 may detect an object in image data based on color. Specifically, the server 100 can generate a plurality of wavelength information corresponding to the image data based on a plurality of color information included in the image data, and can detect a moving object based on the wavelength information. Each color has a different wavelength, and the server 100 can detect moving objects based on the wavelengths of these colors. For example, red may be 750 nm, purple may be 410 nm, and the wavelength value may be different for each color. Using the wavelength of visible light of the present invention, moving objects in an image can be detected.

서버(100)는 각 색상에 대응하는 파장 각각을 기반으로 영상 데이터에서 복수의 객체 각각을 식별하여 구분할 수 있다. 즉, 서버(100)는 색상을 기반(color based)으로 영상 내 각 객체에 대한 세그멘테이션을 수행할 수 있다.The server 100 may identify and distinguish each of a plurality of objects in the image data based on each wavelength corresponding to each color. That is, the server 100 can perform segmentation for each object in the image based on color.

일반적으로, 객체 탐지 기술 분야에서는, 색상 히스토그램의 유사도를 이용하여 객체를 탐지하는 방법을 주로 활용되고 있다. 색상을 기반(즉, 컬러 팩터 기반)으로 객체를 탐지하는 기술은, 영상으로부터 대상 객체를 구성하고 있는 색상들의 확률분포를 구한 후, 이를 입력 영상에 역으로 투영하여 각 픽셀 색상에 대응하는 객체 확률을 계산하고, 이의 누적값을 활용하여 대상 객체를 탐지한다. 구체적인 예를 들어, 확률 이미지 내에서 지역적으로 확률 밀도가 최대가 되는 지점을 탐색하여 대상 객체를 탐지하는 Meanshift 방식의 객체 탐지 방법이 활용되고 있다. 이러한 색상 기반의 탐색 방식은 구현이 간단하고, 빠르며, 객체의 형태 변화에 강인한 장점을 갖으나, 객체의 형태 정보를 잃어버리기 때문에 배경에 객체와 유사한 색상이 존재하거나, 또는 유사한 색상의 객체 간 겹침 현상이 발생하는 경우, 대상 객체를 탐지하기 어려우며, 대상 객체의 크기 변화에도 취약하다는 문제점이 있다. 특히, 움직이는 장치(예컨대, 자율주행을 위한 차량)에서 획득된 영상의 경우, 영상 내에서 식별하고자 하는 대상 또는 객체의 크기가 지속적으로 변화하기 때문에, 이러한 상황에서 객체 탐지가 더욱 어려워져 정확도 및 신뢰도가 저하될 수 있다. 또한, 종래의 색상 기반 객체 탐지 기술은, 탐색 반경의 크기를 정하는 것이 쉽지 않아 객체 탐지에 정확성을 저하될 우려가 있다. 예컨대, 영상 내에서 움직이는 객체를 탐지 및 추적하는 경우, 대상 객체의 크기 및 형태 변화에 따라 탐색 윈도우의 크기나 형태를 적절하게 변경해주어야 하며, 이러한 탐색 윈도우가 적절하게 변경되지 않으며 객체 탐지 및 추적에 큰 영향을 미친다.Generally, in the field of object detection technology, a method of detecting objects using the similarity of color histograms is mainly used. Technology for detecting objects based on color (i.e., color factor-based) obtains the probability distribution of the colors constituting the target object from the image, then projects this back onto the input image to obtain the probability distribution of the object corresponding to each pixel color. Calculate and use its accumulated value to detect the target object. As a specific example, the Meanshift method of object detection is being used, which detects target objects by searching for the point where the probability density is locally maximized within the probability image. This color-based search method has the advantage of being simple to implement, fast, and robust to changes in the shape of the object, but because it loses the shape information of the object, there is a color similar to the object in the background, or there is overlap between objects of similar colors. When this phenomenon occurs, it is difficult to detect the target object and there is a problem in that it is vulnerable to changes in the size of the target object. In particular, in the case of images acquired from moving devices (e.g., vehicles for autonomous driving), the size of the target or object to be identified within the image continuously changes, making object detection more difficult in such situations, thereby reducing accuracy and reliability. may deteriorate. Additionally, in the conventional color-based object detection technology, it is not easy to determine the size of the search radius, which may reduce the accuracy of object detection. For example, when detecting and tracking a moving object in an image, the size or shape of the search window must be appropriately changed according to changes in the size and shape of the target object. If the search window does not change appropriately, object detection and tracking may be impaired. It has a big impact.

본 발명은 종래의 색상 기반 객체 탐지 기술에서의 문제점을 보완하기 위한 것으로, 색상 자체의 컬러 밸류(예컨대, 색상 히스토그램)에 기반하여 움직이는 객체를 탐지하는 것이 아닌, 색상의 파장(wave length)값을 기반으로 움직이는 객체를 탐지하는 것을 특징으로 한다.The present invention is intended to complement the problems in the conventional color-based object detection technology. Rather than detecting a moving object based on the color value of the color itself (e.g., color histogram), the present invention detects a moving object based on the color wave length value. It is characterized by detecting moving objects based on

실시예에 따르면, 서버(100)는 색상의 파장 값을 기반으로 영상 내에서 복수의 객체 각각을 세그멘테이션 하며, 해당 세그멘테이션 결과와 각 파장의 변화를 기반으로 각 객체의 이동 경로를 예측하거나, 또는 각 객체 간의 겹침(overlap)을 식별할 수 있다. 서버(100)는 각 객체 간의 겹침이 식별되는 경우, 겹침에 관련한 객체가 서로 상이한 파장값에 대응하는 객체인지 여부를 식별하고, 각 객체의 파장값의 차이가 일정 이상인 경우, 겹침 영역에 대응하는 확률값을 산출할 수 있다. 서버(100)는 겹침에 관련한 객체 각각의 파장값의 차이가 일정 값 미만인 경우, 각 객체에 대응하는 파장값 중 적어도 하나에 가중치를 부여하여 가중시킴으로써, 각 파장값이 일정 이상의 차이를 나타내도록 변화시킬 수 있다.According to an embodiment, the server 100 segments each of a plurality of objects in the image based on the wavelength value of the color, and predicts the movement path of each object based on the segmentation result and the change in each wavelength, or Overlap between objects can be identified. When an overlap between each object is identified, the server 100 identifies whether the objects related to the overlap are objects corresponding to different wavelength values, and when the difference in the wavelength values of each object is greater than a certain level, the server 100 identifies an object corresponding to the overlap area. Probability values can be calculated. When the difference between the wavelength values of each object related to overlap is less than a certain value, the server 100 changes the wavelength value to show a difference of a certain amount or more by assigning a weight to at least one of the wavelength values corresponding to each object. You can do it.

또한, 서버(100)는 겹침 영역에 대응하는 산출된 확률값을 기반으로 각 화소점이 어디에 위치하였는지 여부를 판별하고, 해당 판별 결과를 기반으로 각 객체의 경계를 구분함으로써, 움직이는 객체를 식별할 수 있다. 구체적인 예를 들어, 두 개의 색상에 대응하는 파장 간의 겹침이 식별되며, 해당 겹침 영역에 대응하여 확률값이 산출된 경우, 각 화소점이 확률값을 기반으로 제1객체 방향에 존재하는지 아니면, 제2객체 방향에 존재하는지를 실시간으로 확인함으로써, 움직이는 객체를 감지할 수 있다. 즉, 본 발명의 서버(100)는 파장의 연속성을 활용하여 객체 간의 겹침 상황을 구분하고, 이를 기반으로 움직이는 객체를 탐지 및 추적할 수 있다.In addition, the server 100 can identify moving objects by determining where each pixel point is located based on the calculated probability value corresponding to the overlap area and distinguishing the boundaries of each object based on the determination result. . For a specific example, if an overlap between wavelengths corresponding to two colors is identified and a probability value is calculated corresponding to the overlap area, it is determined whether each pixel point is in the direction of the first object or the direction of the second object based on the probability value. You can detect a moving object by checking in real time whether it exists. That is, the server 100 of the present invention can utilize the continuity of wavelengths to distinguish overlapping situations between objects and detect and track moving objects based on this.

또한, 실시예에서, 서버(100)은 각 객체에 대응하여 특정 색상에 관련한 고유 식별 정보를 매칭시키고, 해당 고유 식별 정보를 기반으로 하는 객체 추적을 수행하여, 유사한 색상 간의 겹침이 발생하는 경우에도 견고한 객체 탐지 및 추적 기능을 제공할 수 있다.Additionally, in an embodiment, the server 100 matches unique identification information related to a specific color to each object and performs object tracking based on the unique identification information, even when overlap between similar colors occurs. It can provide robust object detection and tracking capabilities.

정리하면, 서버(100)는 영상 내에 존재하는 복수의 색상에 대응하는 파장의 연속성을 기반으로 영상 내에서 복수 개의 객체를 구분할 수 있으며, 각 객체 간의 겹침 상황이 발생 시, 겹침 영역에 관련한 확률값을 산출하고 이를 활용한 각 화소점의 구분을 통해 각 객체 간의 경계를 구분하여 객체 탐지 및 추적의 정확성을 향상시킬 수 있다. 또한, 서버(100)는 각 객체에 고유 식별 정보를 부여하여 각 객체의 대상 연속성을 판별하고, 해당 대상 연속성을 기반으로 유사한 색상 간의 겹침 상황에서도 대상 객체의 움직임을 예측하고 이를 반영하여 객체 추적의 성능을 향상시킬 수 있다. 본 발명의 서버(100)는 대상 객체의 크기 변화, 형태 변화, 가려짐, 회전 변화 등에 구애받지 않고 뛰어난 탐지 및 추적 성능을 제공할 수 있다. 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법에 대한 보다 구체적인 설명은 도 3을 참조하여 후술하도록 한다.In summary, the server 100 can distinguish a plurality of objects in an image based on the continuity of wavelengths corresponding to the plurality of colors present in the image, and when an overlap situation occurs between each object, a probability value related to the overlap area is calculated. The accuracy of object detection and tracking can be improved by distinguishing the boundaries between each object by calculating and using this to distinguish each pixel point. In addition, the server 100 determines the target continuity of each object by assigning unique identification information to each object, and based on the target continuity, predicts the movement of the target object even in overlapping situations between similar colors and reflects this to enable object tracking. Performance can be improved. The server 100 of the present invention can provide excellent detection and tracking performance regardless of changes in size, shape, occlusion, or rotation of the target object. A more detailed description of the method for detecting a moving object in an image based on wavelength information corresponding to color will be described later with reference to FIG. 3.

실시예에서, 도 1에서의 1개의 서버(100)만을 도시하고 있으나, 이보다 많은 서버들 또한 본 발명의 범위에 포함될 수 있다는 점 그리고 서버(100)가 추가적인 컴포넌트들을 포함할 수 있다는 점은 당해 출원분야에 있어서 통상의 지식을 가진 자에게 명백할 것이다. 즉, 서버(100)는 복수 개의 컴퓨팅 장치로 구성될 수도 있다. 다시 말해, 복수의 노드의 집합이 서버(100)를 구성할 수 있다.In the embodiment, only one server 100 in FIG. 1 is shown, but it is understood that more servers may also be included within the scope of the present invention and that server 100 may include additional components as set forth in the application. It will be clear to those skilled in the art. That is, the server 100 may be composed of a plurality of computing devices. In other words, a set of multiple nodes may constitute the server 100.

본 발명의 일 실시예에 따르면, 서버(100)는 클라우드 컴퓨팅 서비스를 제공하는 서버일 수 있다. 보다 구체적으로, 서버(100)는 인터넷 기반 컴퓨팅의 일종으로 정보를 사용자의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 클라우드 컴퓨팅 서비스를 제공하는 서버일 수 있다. 상기 클라우드 컴퓨팅 서비스는 인터넷 상에 자료를 저장해 두고, 사용자가 필요한 자료나 프로그램을 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제 어디서나 이용할 수 있는 서비스일 수 있으며, 인터넷 상에 저장된 자료들을 간단한 조작 및 클릭으로 쉽게 공유하고 전달할 수 있다. 또한, 클라우드 컴퓨팅 서비스는 인터넷 상의 서버에 단순히 자료를 저장하는 것뿐만 아니라, 별도로 프로그램을 설치하지 않아도 웹에서 제공하는 응용프로그램의 기능을 이용하여 원하는 작업을 수행할 수 있으며, 여러 사람이 동시에 문서를 공유하면서 작업을 진행할 수 있는 서비스일 수 있다. 또한, 클라우드 컴퓨팅 서비스는 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service), 가상 머신 기반 클라우드 서버 및 컨테이너 기반 클라우드 서버 중 적어도 하나의 형태로 구현될 수 있다. 즉, 본 발명의 서버(100)는 상술한 클라우드 컴퓨팅 서비스 중 적어도 하나의 형태로 구현될 수 있다. 전술한 클라우드 컴퓨팅 서비스의 구체적인 기재는 예시일 뿐, 본 발명의 클라우드 컴퓨팅 환경을 구축하는 임의의 플랫폼을 포함할 수도 있다.According to one embodiment of the present invention, the server 100 may be a server that provides cloud computing services. More specifically, the server 100 may be a type of Internet-based computing server that provides a cloud computing service that processes information not on the user's computer but on another computer connected to the Internet. The cloud computing service may be a service that stores data on the Internet and allows users to use it anytime, anywhere through Internet access without having to install necessary data or programs on their computer. The cloud computing service can be used to easily manipulate and manipulate data stored on the Internet. You can easily share and forward with a click. In addition, cloud computing services not only allow you to simply store data on a server on the Internet, but also allow you to perform desired tasks using the functions of applications provided on the web without having to install a separate program, and allow multiple people to view documents at the same time. It may be a service that allows you to work while sharing. Additionally, cloud computing services may be implemented in at least one of the following forms: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), virtual machine-based cloud server, and container-based cloud server. . That is, the server 100 of the present invention may be implemented in at least one form among the cloud computing services described above. The specific description of the cloud computing service described above is merely an example, and may include any platform for constructing the cloud computing environment of the present invention.

본 발명의 실시예에 따른 사용자 단말(200)은 서버(100)와 통신을 위한 메커니즘을 갖는 시스템에서의 임의의 형태의 노드(들)를 의미할 수 있다. 사용자 단말(200)은 서버(100)와의 정보 교환을 통해 실시간 획득되는 영상 데이터에서 대상 객체에 대한 탐지 및 추적 정보를 제공받을 수 있는 단말일 수 있다. 예컨대, 사용자 단말(200)은 특정 영역에 대응하는 보안 감시를 위한 작업자에 관련한 단말일 수 있다. 다른 예를 들어, 사용자 단말(200)은 자율 주행 차량 분야에서 차량의 주행에 관련한 정보를 획득하고자 하는 사용자에 관련하거나, 또는 수술 과정에 대응하는 의료 영상으로부터 특정 대상 객체를 구분하고자 하는 사용자(예컨대, 전문의)에 관련한 단말일 수 있다. 또 다른 예를 들어, 사용자 단말(200)은 로봇 비전 분야에서 로봇암들의 동작 적정성을 평가 및 감지하는 작업자에 관련한 단말일 수 있다. 전술한 사용자 단말에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.The user terminal 200 according to an embodiment of the present invention may refer to any type of node(s) in a system that has a mechanism for communication with the server 100. The user terminal 200 may be a terminal that can receive detection and tracking information about a target object from image data acquired in real time through information exchange with the server 100. For example, the user terminal 200 may be a terminal related to a worker for security surveillance corresponding to a specific area. For another example, the user terminal 200 is related to a user who wants to obtain information related to the driving of a vehicle in the field of autonomous vehicles, or a user who wants to distinguish a specific target object from a medical image corresponding to a surgical procedure (e.g. , may be a terminal related to a specialist). As another example, the user terminal 200 may be a terminal related to a worker who evaluates and detects the appropriateness of motion of robot arms in the field of robot vision. The detailed description of the user terminal described above is only an example, and the present invention is not limited thereto.

일 실시예에서, 사용자 단말(200)은 네트워크(400)를 통해 서버(100)와 연결될 수 있으며, 서버(100)로 실시간 영상 데이터를 제공할 수 있고, 제공된 영상 데이터에 대한 응답으로 특정 움직이는 객체에 대한 식별 정보(또는 탐지 정보)를 제공받을 수 있다.In one embodiment, the user terminal 200 may be connected to the server 100 through the network 400, may provide real-time image data to the server 100, and may specify a moving object in response to the provided image data. You may be provided with identification information (or detection information).

사용자 단말(200)은 서버(100)와 통신을 위한 메커니즘을 갖는 시스템에서의 임의의 형태의 엔티티(들)를 의미할 수 있다. 예를 들어, 이러한 사용자 단말(200)은 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 및 웨어러블 디바이스(wearable device) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다. 또한, 사용자 단말(200)은 에이전트, API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 서버를 포함할 수도 있다. 또한, 사용자 단말(200)은 애플리케이션 소스 및/또는 클라이언트 애플리케이션을 포함할 수 있다.User terminal 200 may refer to any type of entity(s) in the system that has a mechanism for communication with server 100. For example, the user terminal 200 includes a personal computer (PC), a note book, a mobile terminal, a smart phone, a tablet PC, and a wearable device. etc., and may include all types of terminals that can access wired/wireless networks. Additionally, the user terminal 200 may include an arbitrary server implemented by at least one of an agent, an application programming interface (API), and a plug-in. Additionally, the user terminal 200 may include an application source and/or a client application.

일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 서버(100)와 연결될 수 있으며, 서버(100)가 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하기 위해 필요한 각종 정보/데이터를 제공하거나, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행함에 따라 도출되는 결과 데이터를 제공받아 저장 및 관리할 수 있다. 예를 들어, 외부 서버(300)는 서버(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다.In one embodiment, the external server 300 may be connected to the server 100 through the network 400, and the server 100 performs a method of detecting a moving object in an image based on wavelength information corresponding to color. Various information/data required to do so can be provided, or the result data derived by performing a method of detecting a moving object in an image based on wavelength information corresponding to color can be provided, stored, and managed. For example, the external server 300 may be a storage server separately provided outside the server 100, but is not limited thereto.

일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 서버(100)와 연결될 수 있으며, 서버(100)가 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하기 위해 필요한 각종 정보/데이터를 제공하거나, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행함에 따라 도출되는 결과 데이터를 제공받아 저장 및 관리할 수 있다. 예를 들어, 외부 서버(300)는 서버(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다.In one embodiment, the external server 300 may be connected to the server 100 through the network 400, and the server 100 performs a method of detecting a moving object in an image based on wavelength information corresponding to color. Various information/data required to do so can be provided, or the result data derived by performing a method of detecting a moving object in an image based on wavelength information corresponding to color can be provided, stored, and managed. For example, the external server 300 may be a storage server separately provided outside the server 100, but is not limited thereto.

다양한 실시예에서, 외부 서버(300)에 저장된 정보들은 본 발명에서의 신경망을 학습시키기 위한 학습 데이터, 검증 데이터 및 테스트 데이터로 활용될 수 있다. 외부 서버(300)는 본 발명의 딥러닝 모델을 학습시키기 위한 데이터 세트를 저장하고 있는 서버일 수 있다. 외부 서버(20)는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다. 외부 서버(20)는 서비스를 처리하는 웹 서버일 수 있다. 전술한 서버의 종류는 예시일 뿐이며 본 개시는 이에 제한되지 않는다. 이하, 도 2를 참조하여, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하는 서버(100)의 하드웨어 구성에 대해 설명하도록 한다.In various embodiments, information stored in the external server 300 can be used as learning data, verification data, and test data for training the neural network in the present invention. The external server 300 may be a server that stores a data set for training the deep learning model of the present invention. The external server 20 may be a digital device, such as a laptop computer, notebook computer, desktop computer, web pad, or mobile phone, equipped with a processor and equipped with memory and computing power. The external server 20 may be a web server that processes services. The types of servers described above are merely examples and the present disclosure is not limited thereto. Hereinafter, with reference to FIG. 2, the hardware configuration of the server 100 that performs a method of detecting a moving object in an image based on wavelength information corresponding to color will be described.

도 2는 본 발명의 일 실시예와 관련된 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하는 서버의 하드웨어 구성도이다.Figure 2 is a hardware configuration diagram of a server that performs a method of detecting a moving object in an image based on wavelength information corresponding to color related to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예와 관련된 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하는 서버(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 2, a server 100 that performs a method of detecting a moving object in an image based on wavelength information corresponding to a color related to an embodiment of the present invention includes one or more processors 110 and a processor 110. It may include a memory 120 that loads the computer program 151 executed by, a bus 130, a communication interface 140, and a storage 150 that stores the computer program 151. Here, only components related to the embodiment of the present invention are shown in Figure 2. Accordingly, anyone skilled in the art to which the present invention pertains will know that other general-purpose components may be included in addition to the components shown in FIG. 2.

본 발명의 일 실시예에 따르면, 프로세서(110)는 통상적으로 서버(100)의 전반적인 동작을 처리할 수 있다. 프로세서(110)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(120)에 저장된 응용 프로그램을 구동함으로써, 사용자 또는 사용자 단말에게 적정한 정보 또는, 기능을 제공하거나 처리할 수 있다.According to one embodiment of the present invention, the processor 110 can typically process the overall operation of the server 100. The processor 110 provides or processes appropriate information or functions to the user or user terminal by processing signals, data, information, etc. input or output through the components discussed above or by running an application program stored in the memory 120. can do.

또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 서버(100)는 하나 이상의 프로세서를 구비할 수 있다.Additionally, the processor 110 may perform operations on at least one application or program for executing methods according to embodiments of the present invention, and the server 100 may include one or more processors.

본 발명의 일 실시예에 따르면, 프로세서(110)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다.According to one embodiment of the present invention, the processor 110 may be composed of one or more cores, such as a central processing unit (CPU) of a computing device, and a general purpose graphics processing unit (GPGPU). , may include a processor for data analysis and deep learning, such as a tensor processing unit (TPU).

프로세서(110)는 메모리(120)에 저장된 컴퓨터 프로그램을 판독하여 본 발명의 일 실시예에 따른 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 제공할 수 있다.The processor 110 may read a computer program stored in the memory 120 and provide a method of detecting a moving object in an image based on wavelength information corresponding to color according to an embodiment of the present invention.

다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.In various embodiments, the processor 110 includes random access memory (RAM) (not shown) and read memory (ROM) that temporarily and/or permanently store signals (or data) processed within the processor 110. -Only Memory, not shown) may be further included. Additionally, the processor 110 may be implemented in the form of a system on chip (SoC) that includes at least one of a graphics processing unit, RAM, and ROM.

메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.Memory 120 stores various data, commands and/or information. Memory 120 may load a computer program 151 from storage 150 to execute methods/operations according to various embodiments of the present invention. When the computer program 151 is loaded into the memory 120, the processor 110 can perform the method/operation by executing one or more instructions constituting the computer program 151. The memory 120 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.

버스(130)는 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 130 provides communication functions between components of the server 100. The bus 130 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

통신 인터페이스(140)는 서버(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.The communication interface 140 supports wired and wireless Internet communication of the server 100. Additionally, the communication interface 140 may support various communication methods other than Internet communication. To this end, the communication interface 140 may be configured to include a communication module well known in the technical field of the present invention. In some embodiments, communication interface 140 may be omitted.

스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 서버(100)를 통해 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하기 위한 프로세스를 수행하는 경우, 스토리지(150)는 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하기 위한 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.Storage 150 may store the computer program 151 non-temporarily. When performing a process to detect a moving object in an image based on wavelength information corresponding to color through the server 100, the storage 150 detects a moving object in the image based on wavelength information corresponding to color. Various information necessary to provide a process can be stored.

스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 150 is a non-volatile memory such as Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), flash memory, a hard disk, a removable disk, or a device well known in the technical field to which the present invention pertains. It may be configured to include any known type of computer-readable recording medium.

컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.The computer program 151, when loaded into the memory 120, may include one or more instructions that cause the processor 110 to perform methods/operations according to various embodiments of the present invention. That is, the processor 110 can perform the method/operation according to various embodiments of the present invention by executing the one or more instructions.

일 실시예에서, 컴퓨터 프로그램(151)은 영상 데이터를 획득하는 단계, 영상 데이터에 포함된 복수의 색상 정보를 기반으로 영상 데이터에 대응하는 복수의 파장 정보를 생성하는 단계 및 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계를 포함하는, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.In one embodiment, the computer program 151 includes acquiring image data, generating a plurality of wavelength information corresponding to the image data based on a plurality of color information included in the image data, and generating a plurality of wavelength information corresponding to the image data based on the plurality of color information included in the image data. It may include one or more instructions for performing a method of detecting a moving object in an image based on wavelength information corresponding to color, including the step of detecting a moving object.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of the method or algorithm described in connection with embodiments of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. The software module may be RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3 내지 도 9를 참조하여, 서버(100)에 의해 수행되는 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법에 대하여 구체적으로 후술하도록 한다.The components of the present invention may be implemented as a program (or application) and stored in a medium in order to be executed in conjunction with a hardware computer. Components of the invention may be implemented as software programming or software elements, and similarly, embodiments may include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, , may be implemented in a programming or scripting language such as Java, assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors. Hereinafter, with reference to FIGS. 3 to 9, a method for detecting a moving object in an image based on wavelength information corresponding to color performed by the server 100 will be described in detail.

도 3은 본 발명의 일 실시예와 관련된 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법을 예시적으로 나타낸 순서도를 도시한다. 도 3에 도시된 단계들은 필요에 의해 순서가 변경될 수 있으며, 적어도 하나 이상의 단계가 생략 또는 추가될 수 있다. 즉, 이하의 단계들은 본 발명의 일 실시예에 불과할 뿐, 본 발명의 권리 범위는 이에 제한되지 않는다.Figure 3 shows a flowchart illustrating a method for detecting a moving object in an image based on wavelength information corresponding to color related to an embodiment of the present invention. The order of the steps shown in FIG. 3 may be changed as needed, and at least one step may be omitted or added. That is, the following steps are only an example of the present invention, and the scope of the present invention is not limited thereto.

본 발명의 일 실시예에 따르면, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법은, 영상 데이터를 획득하는 단계(S100)를 포함할 수 있다.According to an embodiment of the present invention, a method of detecting a moving object in an image based on wavelength information corresponding to color may include acquiring image data (S100).

본 발명의 영상 데이터는, 다양한 분야에서 획득되는 영상 데이터로, 예컨대, 자율 주행 분야, 의료 영상 분야, 보안 분야, 얼굴 인식 분야 및 로봇 제어 분야 등에서 획득되는 영상 데이터일 수 있다. 예를 들어, 영상 데이터는, 병변(예컨대, 종양 또는 변이된 조직 등)의 탐지 및 분할, 정량화 등 자동진단에 대상이 되는 영상 데이터를 포함할 수 있다. 또한 예를 들어, 영상 데이터는 자율주행차량이나 드론에서 객체를 탐지하기 위한 대상이 되는 영상 데이터를 포함할 수 있다. 다른 예를 들어, 영상 데이터는 보안 산업에서 위험 징후를 탐지하는데 대상이 되는 영상 데이터를 포함할 수 있다. 또 다른 예를 들어, 영상 데이터는 제조업에서 로봇이 제품을 조립하거나 수리할 때 적합한 위치를 탐색하는데 대상이 되는 영상 데이터를 포함할 수 있다. 전술한 영상 데이터에 대한 구체적인 기재들은 예시일 뿐, 본 발명은 이에 제한되지 않는다.Image data of the present invention may be image data acquired in various fields, for example, in the field of autonomous driving, medical imaging, security, face recognition, and robot control. For example, the image data may include image data that is subject to automatic diagnosis, such as detection, segmentation, and quantification of lesions (eg, tumors or mutated tissues, etc.). Also, for example, the image data may include image data that is a target for object detection in an autonomous vehicle or drone. As another example, the video data may include video data that is subject to detecting signs of danger in the security industry. As another example, the image data may include image data that is used to help robots search for appropriate locations when assembling or repairing products in the manufacturing industry. The detailed description of the above-described image data is only an example, and the present invention is not limited thereto.

실시예에서, 영상 데이터의 획득은, 메모리(120)에 저장된 데이터를 수신하거나, 또는 로딩(loading)하는 것일 수 있다. 영상 데이터의 획득은, 유/무선 통신 수단에 기초하여 다른 저장 매체에, 다른 컴퓨팅 장치, 동일한 컴퓨팅 장치 내의 별도 처리 모듈로부터 영상 데이터를 수신하거나 또는 로딩하는 것일 수 있다. 예컨대, 서버(100)는 사용자 단말(200) 또는 외부 서버(300) 중 적어도 하나로부터 영상 데이터를 획득할 수 있다.In an embodiment, acquiring image data may involve receiving or loading data stored in the memory 120. Acquisition of image data may include receiving or loading image data into another storage medium, another computing device, or a separate processing module within the same computing device based on wired/wireless communication means. For example, the server 100 may obtain image data from at least one of the user terminal 200 or the external server 300.

일 실시예에 따르면, 서버(100)는 획득한 영상 데이터에 대한 전처리를 수행할 수 있다. 여기서 전처리는, 조도 변화 및 움직임에 따른 노이즈를 제거하기 위한 모폴로지(morphology) 연산에 관련한 전처리를 포함할 수 있다.According to one embodiment, the server 100 may perform preprocessing on acquired image data. Here, preprocessing may include preprocessing related to morphology calculation to remove noise due to changes in illumination and movement.

구체적으로, 서버(100)는 영상 데이터에 대한 모폴로지 연산을 수행하여 조도 변화 및 움직임에 따른 노이즈를 제거할 수 있다. 모폴로지 연산은, 특정 요소를 이용한 연산을 통해 이미지를 침식 및 팽창시켜 잡음을 제거하는 연산일 수 있다. 모폴로지 연산을 통해 입력 영상에 구조 요소를 적용하여 같은 크기의 출력 영상을 생성할 수 있다. 모폴로지 연산에서 출력 영상의 각 픽셀 값은 입력 영상에 대응하는 픽셀과 이웃 픽셀들을 비교한 결과를 기반으로 한다. 서버(100)는 모폴로지 연산의 팽창과 침식을 통해 조도 변화 및 움직임에 따른 노이즈를 제거할 수 있다. 팽창은 영상에서 객체가 경계선에 픽셀을 추가하는 것이며, 침식은 객체 경계선에서 픽셀을 제거하는 것일 수 있다. 영상의 객체가 추가되거나 영상의 객체가 제거되는 픽셀 수는 영상을 처리할 때 사용한 구조 요소의 크기와 형태에 따라 달라질 수 있다. 모폴로지 팽창 및 침식 연산에서 출력 영상의 각 픽셀의 상태는 입력 영상에 대응하는 픽셀과 그 이웃 픽셀에 규칙을 적용하여 결정된다. 픽셀을 처리할 때 사용되는 규칙은 연상을 팽창 또는 침식으로 결정할 수 있다.Specifically, the server 100 may perform a morphology operation on image data to remove noise due to changes in illuminance and movement. The morphology operation may be an operation that removes noise by eroding and expanding the image through an operation using specific elements. By applying structural elements to the input image through morphological operations, an output image of the same size can be generated. In morphological operations, the value of each pixel in the output image is based on the result of comparing the pixel corresponding to the input image and neighboring pixels. The server 100 can remove noise caused by changes in illuminance and movement through expansion and erosion of morphology operations. Dilation can be adding pixels to the border of an object in an image, while erosion can be removing pixels from the border of an object. The number of pixels at which an image object is added or an image object is removed may vary depending on the size and shape of the structural elements used when processing the image. In morphological expansion and erosion operations, the state of each pixel in the output image is determined by applying a rule to the pixel corresponding to the input image and its neighboring pixels. The rules used when processing pixels can determine whether the association is dilation or erosion.

예를 들어, 모폴로지 연산에서 팽창은, 이웃에 있는 모든 픽셀 중 최대값이 출력 픽셀의 값으로 하는 규칙을 포함할 수 있다. 예컨대, 이진 영상의 경우, 값이 1인 이웃 픽셀이 하나라도 있으면 픽셀은 1로 설정되게 된다. 모폴로지 연산의 팽창은 객체를 시각적으로 더 두드러지게 만들고 객체의 작은 구멍을 메울 수 있다. 즉, 선은 더 두껍게 표현되며, 채워진 형태는 더 크게 표시될 수 있어, 객체의 구분이 명확해진다.For example, in morphological operations, dilation may include a rule that sets the value of the output pixel to the maximum value among all neighboring pixels. For example, in the case of a binary image, if there is at least one neighboring pixel with a value of 1, the pixel is set to 1. Dilation of morphological operations can make an object visually more striking and fill in small holes in the object. In other words, lines can be expressed thicker and filled shapes can be displayed larger, making object distinction clearer.

예를 들어, 모폴로지 연산에서 침식은, 이웃에 있는 모든 픽셀 중 최고값이 출력 픽셀의 값으로 하는 규칙을 포함할 수 있다. 예컨대, 이진 영상의 경우, 값이 0인 이웃 픽셀이 하나라도 존재하는 경우, 픽셀은 0으로 설정된다. 모폴로지 연산의 침식은 부동 픽셀과 가는 선을 제거하고 중요한 객체만 남기게 된다. 즉, 남은 선은 더 얇게 표현되며, 형태는 더 작게 표시되게 된다.For example, in morphological operations, erosion may include a rule where the value of the output pixel is the highest value among all neighboring pixels. For example, in the case of a binary image, if there is at least one neighboring pixel with a value of 0, the pixel is set to 0. Erosion of morphological operations removes floating pixels and thin lines, leaving only important objects. In other words, the remaining lines are expressed thinner and the shape is displayed smaller.

본 발명의 서버(100)는 모폴로지 연산의 팽창과 침식을 조합하여 활용함으로써, 영상에서 작은 객체를 제거하고 큰 객체의 테두리를 매끄럽게 처리할 수 있으며, 이를 통해 조도 변화와 움직임에 따른 노이즈를 최소화할 수 있다.The server 100 of the present invention can remove small objects from images and smooth the edges of large objects by utilizing a combination of dilation and erosion of morphological operations, thereby minimizing noise due to changes in illumination and movement. You can.

본 발명의 일 실시예에 따르면, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법은, 영상 데이터에 포함된 복수의 색상 정보를 기반으로 영상 데이터에 대응하는 복수의 파장 정보를 생성하는 단계(S200)를 포함할 수 있다.According to an embodiment of the present invention, a method of detecting a moving object in an image based on wavelength information corresponding to color includes a plurality of wavelength information corresponding to the image data based on a plurality of color information included in the image data. It may include a generating step (S200).

실시예에 따르면, 다양한 색상 별로 고유의 파장값이 상이할 수 있다. 구체적인 예를 들어, 도 4를 참조하면, 파란색(B, blue)에 대응하는 파장은 454nm일 수 있으며, 초록색(G, green)에 대응하는 파장은 555nm일 수 있고, 그리고 빨간색(R, red)에 대응하는 파장은 660nm일 수 있다. 해당 색상 외에도 다양한 색상들 별로 상이한 파장을 가질 수 있다. 예컨대, 보라색에 대응하는 파장은 410nm일 수 있으며, 노랑색에 대응하는 파장은 587nm일 수 있고, 그리고 주황에 대응하는 파장은 600nm일 수 있다.According to embodiments, unique wavelength values may be different for various colors. For a specific example, referring to Figure 4, the wavelength corresponding to blue (B, blue) may be 454 nm, the wavelength corresponding to green (G, green) may be 555 nm, and red (R, red) The corresponding wavelength may be 660 nm. In addition to the corresponding color, various colors may have different wavelengths. For example, the wavelength corresponding to violet may be 410 nm, the wavelength corresponding to yellow may be 587 nm, and the wavelength corresponding to orange may be 600 nm.

상기와 같이, 각 색상 별로 상이한 파장을 가질 수 있다. 서버(100)는 색상 별 상이한 파장 정보를 형성하는 구성을 통해 영상 데이터에 포함된 복수의 색상 정보를 기반으로 영상 데이터에 대응하는 복수의 파장 정보를 생성할 수 있다. 즉, 서버(100)는 영상 데이터의 각 픽셀 영역에 대응하여 색상 별로 파장 정보를 매칭시킬 수 있다. 영상 데이터는, 실시간 획득되는 영상으로 움직이는 객체가 포함될 수 있으며, 시간의 변화에 따라 색상의 변화가 발생할 수 있고, 색상의 변화에 대응하여 파장 정보의 변화가 발생하게 된다. 서버(100)는 이러한 파장 정보의 변화를 기반으로 영상 데이터 내에서 움직이는 객체를 탐지할 수 있다.As above, each color may have a different wavelength. The server 100 may generate a plurality of wavelength information corresponding to the image data based on a plurality of color information included in the image data through a configuration that generates different wavelength information for each color. That is, the server 100 can match wavelength information for each color corresponding to each pixel area of image data. Image data is an image acquired in real time and may include moving objects, and color changes may occur as time changes, and wavelength information may change in response to color changes. The server 100 can detect moving objects within image data based on changes in wavelength information.

본 발명의 일 실시예에 따르면, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법은, 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계(S300)를 포함할 수 있다.According to an embodiment of the present invention, a method of detecting a moving object in an image based on wavelength information corresponding to color may include detecting a moving object based on a plurality of wavelength information (S300).

일 실시예에서, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법은, 복수의 파장 정보에 기초하여 영상 데이터에 존재하는 복수의 객체를 식별하는 단계를 포함할 수 있다. In one embodiment, a method of detecting a moving object in an image based on wavelength information corresponding to color may include identifying a plurality of objects present in image data based on a plurality of wavelength information.

일 실시예에 따르면, 서버(100)는 영상 내에 포함된 복수의 색상에 대응하는 파장 정보를 기반으로 복수의 객체에 대한 세그멘테이션(segmentation)을 수행할 수 있다. 여기서 세그멘테이션이란, 이미지를 실제 인식할 수 있는 물리적 의미 단위로 분류하는 것을 의미할 수 있다. 즉, 서버(100)는 영상 데이터의 파장 정보를 기반으로 영상 이미지에 대한 세그멘테이션을 수행할 수 있다. 예를 들어, 서버(100)는 도 5에 도시된 바와 같이, 영상 데이터에 존재하는 제1객체(201), 제2객체(202), 제3객체(203) 및 제4객체(204) 각각을 분류시킬 수 있다. 서버(100)는 색상 별 파장에 기반하여 각 객체를 구분함에 따라, 단순히 객체의 종류를 구별할 뿐만 아니라, 동일한 종류의 객체이더라도, 각 객체 별로 상이한 라벨을 매칭시킬 수 있다. 즉, 도 5와 같이, 4대의 차량을 각각의 객체로 구분하여 분류할 수 있다.According to one embodiment, the server 100 may perform segmentation on a plurality of objects based on wavelength information corresponding to a plurality of colors included in the image. Here, segmentation may mean classifying images into physically recognizable units of meaning. That is, the server 100 may perform segmentation on the video image based on the wavelength information of the video data. For example, as shown in FIG. 5, the server 100 stores the first object 201, the second object 202, the third object 203, and the fourth object 204 present in the image data. can be classified. As the server 100 distinguishes each object based on the wavelength of each color, it can not only distinguish the type of object but also match different labels to each object even if they are the same type of object. That is, as shown in FIG. 5, the four vehicles can be classified into individual objects.

또한, 서버(100)는 영상 데이터를 구성하는 각 이미지에 대한 세그멘테이션을 수행한 후, 분류된 객체의 이동 경로를 식별하여 이동 경로 예측 정보를 생성할 수 있다.Additionally, the server 100 may perform segmentation on each image constituting the image data and then identify the movement path of the classified object to generate movement path prediction information.

구체적인 실시예에 따르면, 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는, 복수의 파장 정보를 기반으로 영상 데이터에 포함된 복수의 객체를 식별하는 단계, 영상 데이터에 식별된 복수의 객체 각각을 구분하는 단계 및 복수의 파장 정보의 변화를 기반으로 구분된 복수의 객체 각각의 이동 경로를 예측하여 이동 경로 예측 정보를 생성하는 단계를 포함할 수 있다.According to a specific embodiment, the step of detecting a moving object based on a plurality of wavelength information includes identifying a plurality of objects included in image data based on a plurality of wavelength information, each of the plurality of objects identified in the image data It may include the step of classifying and predicting the movement path of each of the plurality of divided objects based on changes in the plurality of wavelength information to generate movement path prediction information.

실시예에 따르면, 파장 정보는, 색상 별 차이를 구분하기 위한 기준이 되는 정보이므로, 색상의 파장 정보를 기반으로 세그멘테이션을 수행하는 경우, 객체의 구분이 보다 용이해짐과 동시에 분류의 정확도 향상될 수 있다.According to an embodiment, wavelength information is information that serves as a standard for distinguishing differences by color, so when segmentation is performed based on color wavelength information, object distinction can be made easier and classification accuracy can be improved. there is.

다시 말해, 서버(100)는 각 객체의 색상에 대응하는 파장 정보를 기반으로 움직이는 객체를 식별하여 인식할 수 있는 단위로 분류(즉, 이미지 기반 세그멘테이션)하고, 파장의 변화를 통해 분류된 각 객체의 움직임 또는 이동을 감지하여 각 객체에 대응하는 이동 경로 예측 정보를 생성할 수 있다. 서버(100)를 통해 생성된 각 객체의 이동 경로 예측 정보는, 각 객체 간의 겹침이 발생하는 경우, 각 객체의 이동 연속성을 예측하는데 활용되어 각 객체의 분류 정확도를 향상시킨다. 특히, 유사한 색상의 객체 간 겹침이 발생하는 경우, 각 객체의 이동 경로 예측 정보를 통해 연속성 있게 대상 객체를 추적함으로써, 각 객체를 명확히 구분하여 탐지 및 추적을 수행할 수 있다.In other words, the server 100 identifies moving objects based on the wavelength information corresponding to the color of each object and classifies them into recognizable units (i.e., image-based segmentation), and each object classified through changes in wavelength Movement or movement can be detected to generate movement path prediction information corresponding to each object. The movement path prediction information for each object generated through the server 100 is used to predict the movement continuity of each object when overlap between each object occurs, thereby improving the classification accuracy of each object. In particular, when overlap occurs between objects of similar colors, detection and tracking can be performed by clearly distinguishing each object by continuously tracking the target object through the movement path prediction information of each object.

일 실시예에서, 색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법은, 영상 데이터에서 식별된 복수의 각각에 대응하여 고유 식별 정보를 매칭시키는 단계 및 각 객체에 대응하는 파장 정보의 변화 및 고유 식별 정보를 기반으로 영상 데이터 내에서 움직이는 객체를 추적하는 단계를 포함할 수 있다.In one embodiment, a method of detecting a moving object in an image based on wavelength information corresponding to a color includes matching unique identification information corresponding to each of a plurality identified in the image data and wavelength information corresponding to each object. It may include tracking a moving object within the image data based on changes in and unique identification information.

일 실시예에 따르면, 서버(100)는 복수의 객체 간 겹침이 발생하는 경우, 각 객체의 이동 경로 예측 정보를 통해 연속성 있게 대상 객체를 추적함으로써, 각 객체를 명확하게 구분하여 탐지 및 추적할 수 있다. 실시예에 따르면, 서버(100)는 각 객체의 고유 식별 정보를 기반으로 복수의 객체 간 겹침이 발생함을 감지할 수 있다.According to one embodiment, when overlap occurs between a plurality of objects, the server 100 continuously tracks the target object through the movement path prediction information of each object, so that each object can be clearly distinguished and detected and tracked. there is. According to an embodiment, the server 100 may detect that overlap between a plurality of objects occurs based on the unique identification information of each object.

구체적인 실시예에서, 영상 데이터 내에서 움직이는 객체를 추적하는 단계는, 이동 경로 예측 알고리즘을 통해 고유 식별 정보에 대응하는 각 객체의 이동 경로 예측 정보를 생성하는 단계 및 복수의 객체 간 겸침이 발생하는 경우, 각 객체에 대응하는 이동 경로 예측 정보를 기반으로 움직이는 객체를 추적하는 단계를 포함할 수 있다.In a specific embodiment, the step of tracking a moving object within image data includes generating movement path prediction information for each object corresponding to unique identification information through a movement path prediction algorithm, and when overlap between a plurality of objects occurs. , may include tracking a moving object based on movement path prediction information corresponding to each object.

여기서, 이동 경로 예측 알고리즘은, 영상 데이터의 이전 프레임 분석을 기반으로 객체의 움직임 패턴을 분석하고, 분석된 움직임 패턴을 기반으로 다음 프레임에서 객체가 이동할 가능성이 높은 위치 및 객체의 이동 속도를 예측하여 이동 경로 예측 정보를 생성하는 것을 특징으로 할 수 있다.Here, the movement path prediction algorithm analyzes the movement pattern of the object based on analysis of previous frames of video data, and predicts the location where the object is likely to move in the next frame and the movement speed of the object based on the analyzed movement pattern. It may be characterized by generating movement path prediction information.

이동 경로 예측 알고리즘을 통해 각 고유 식별 정보에 대응하는 객체에 각각의 이동 경로 예측 정보가 생성될 수 있으며, 이 경우, 객체에 대응하는 이동 경로 예측 정보는, 객체의 이동 방향 및 이동 속도에 대한 정보를 포함할 수 있다. 예컨대, 경로 예측 정보는, 객체가 좌측 방향으로 이동하며, 이동 속도는 30km/h라는 정보를 포함할 수 있다. 전술한 이동 경로 예측 정보에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.Through the movement path prediction algorithm, movement path prediction information can be generated for each object corresponding to each unique identification information. In this case, the movement path prediction information corresponding to the object is information about the movement direction and movement speed of the object. may include. For example, the path prediction information may include information that the object moves in the left direction and the moving speed is 30 km/h. The detailed description of the movement path prediction information described above is only an example, and the present invention is not limited thereto.

즉, 서버(100)는 복수 개의 객체 간 겹침이 발생하는 경우, 각 객체에 대응하는 이동 경로 예측 정보를 통해 객체에 대한 추적을 수행할 수 있다. 이는 유사한 색상 간의 겹침이 발생하는 경우에도, 각 객체를 명확하게 구분하여 탐지 및 추적을 가능하게 한다.That is, when overlap occurs between a plurality of objects, the server 100 can track the objects through movement path prediction information corresponding to each object. This enables detection and tracking by clearly distinguishing each object, even when overlap between similar colors occurs.

다양한 실시예에 따르면, 서버(100)는 겹침 상태였던 객체가 분리되는 경우, 각 객체의 실제 이동 위치 및 이동 속도를 기반으로 이동 경로 예측 알고리즘을 업데이트할 수 있다.According to various embodiments, when objects that were in an overlapping state are separated, the server 100 may update the movement path prediction algorithm based on the actual movement location and movement speed of each object.

구체적인 실시예에서, 이동 경로 예측 알고리즘에 대한 업데이트를 수행하는 단계는, 겹침이 발생한 복수의 객체가 서로 분리되는 경우, 각 객체의 분리 시점 및 각 객체의 위치에 기초하여 객체 이동 정보를 생성하는 단계, 각 객체에 대응하는 객체 이동 정보 및 이동 경로 예측 정보를 비교하여 경로 예측 오차를 도출하는 단계 및 각 객체에 대응하는 경로 예측 오차를 기반으로 이동 경로 예측 알고리즘을 업데이트 하는 단계를 포함할 수 있다.In a specific embodiment, the step of performing an update to the movement path prediction algorithm includes, when a plurality of overlapping objects are separated from each other, generating object movement information based on the separation point of each object and the location of each object. , may include deriving a path prediction error by comparing object movement information and movement path prediction information corresponding to each object and updating a movement path prediction algorithm based on the path prediction error corresponding to each object.

자세히 설명하면, 서버(100)는 겹침에 관련한 각 객체가 서로 분리되는 경우, 각 객체의 분리 시점 및 각 객체의 위치에 기초하여 객체 이동 정보를 생성할 수 있다. 즉, 서버(100)는 각 객체가 분리되는 시점과, 분리 시, 각 객체의 위치에 기반하여 객체 이동 정보를 생성할 수 있다. 객체 이동 정보는, 객체 간 분리 시점에 대한 정보 및 분리 이후 각 객체의 위치에 대한 정보를 포함하는 것으로, 실제 각 객체의 이동 속도 및 이동 위치에 대한 정보를 포함할 수 있다.In detail, when each object related to overlap is separated from each other, the server 100 may generate object movement information based on the separation point of each object and the location of each object. That is, the server 100 may generate object movement information based on the time when each object is separated and the location of each object at the time of separation. Object movement information includes information about the separation point between objects and information about the location of each object after separation, and may include information about the actual movement speed and movement position of each object.

이 경우, 서버(100)는 복수의 객체에 대응하여 겹침이 발생하는 시점에 예측하였던 이동 경로 예측 정보와 실제 객체의 이동 결과에 따른 객체 이동 정보를 비교하여 경로 예측 오차를 도출할 수 있다. 예를 들어, 복수의 객체 간 겹침이 발생하는 시점에 예측하였던 이동 경로 예측 정보는 제1객체가 동남쪽 방향으로 20km/h의 속도로 이동할 것이라는 예측 정보를 포함할 수 있으며, 겹침이 해제되는 시점에 대응하는 실제 이동 결과에 관련한 객체 이동 정보는 동북쪽 방향으로 20km/h의 속도로 이동하였다는 정보를 포함할 수 있다. 서버(100)는 양 정보가 상이한 것을 식별하여 오차를 도출할 수 있으며, 도출된 오차를 기반으로 이동 경로 예측 알고리즘에 대한 업데이트를 수행할 수 있다. In this case, the server 100 may derive a path prediction error by comparing the movement path prediction information predicted at the time when overlap occurs for a plurality of objects with the object movement information according to the movement result of the actual object. For example, the movement path prediction information predicted at the time when overlap between multiple objects occurs may include prediction information that the first object will move in the southeast direction at a speed of 20 km/h, and at the time when the overlap is canceled. Object movement information related to the corresponding actual movement result may include information that the object moved at a speed of 20 km/h in the northeast direction. The server 100 can identify that the amount of information is different and derive an error, and update the movement path prediction algorithm based on the derived error.

즉, 서버(100)는 예측하였던 이동 경로 예측 정보와 실제 객체의 이동 결과를 비교하여 이동 경로 예측 알고리즘에 대한 업데이트를 수행할 수 있다. 이러한 업데이트 과정을 통해 이동 경로 예측 알고리즘은 각 객체의 움직임 패턴에 대응하여 다음 프레임에서 객체의 움직임을 보다 정확히 예측할 수 있게 된다. 다시 말해, 예측의 수행 결과가 정확하게 나오지 않거나, 예측에 오류가 존재하는 경우, 이를 실제 결과와 비교하여 오차를 도출하고, 해당 오차를 피드백으로 받아 이동 경로 예측 알고리즘을 보완할 수 있다. 상기와 같이 이동 경로 예측 알고리즘이 부족한 부분을 개선하고 발전함에 따라 더욱 정확하고 효율적인 경로 예측이 가능해지며, 지속적인 활용 과정에서 더욱 고도화될 수 있다.That is, the server 100 may perform an update to the movement path prediction algorithm by comparing the predicted movement path prediction information with the movement result of the actual object. Through this update process, the movement path prediction algorithm can more accurately predict the movement of the object in the next frame in response to the movement pattern of each object. In other words, if the prediction result is not accurate or there is an error in the prediction, the error can be derived by comparing it with the actual result, and the movement path prediction algorithm can be supplemented by receiving the error as feedback. As the movement path prediction algorithm improves and develops the shortcomings as described above, more accurate and efficient path prediction becomes possible, and can be further improved during continuous use.

다양한 실시예에서, 서버(100)는 영상 데이터에서 식별된 복수의 객체 각각에 대응하여 고유 식별 정보를 매칭시킬 수 있다. 여기서 고유 식별 정보는, 각 객체의 명확한 구분을 위하여 임의로 할당되는 식별 정보일 수 있다. 실시예에서, 고유 식별 정보는 복수의 객체 각각에 상이하게 매칭되는 임의의 파장 정보를 포함할 수 있다. 일 실시예에서, 임의의 파장 정보는, 색상으로 표현되지 않는 파장대의 파장값 또는 희소성을 가진 색상에 대응하는 파장값에 대응하여 생성될 수 있다.In various embodiments, the server 100 may match unique identification information to each of a plurality of objects identified in the image data. Here, the unique identification information may be identification information randomly assigned to clearly distinguish each object. In embodiments, the unique identification information may include arbitrary wavelength information that matches differently to each of a plurality of objects. In one embodiment, arbitrary wavelength information may be generated corresponding to a wavelength value in a wavelength range that is not expressed as a color or a wavelength value corresponding to a rare color.

또한 실시예에서, 서버(100)는 다양한 파장 정보를 포함하는 하나의 객체를 식별할 수 있으며, 식별된 하나의 객체에 대응하여 고유 식별 정보를 매칭할 수 있다. 예컨대, 하나의 객체는 하나의 색상이 아닌 다양한 색상을 포함할 수 있으며, 이에 따라, 하나의 객체에 대응하여 복수 개의 파장 정보가 생성될 수 있다. 이 경우, 하나의 객체 내에 복수의 파장 정보가 존재하기 때문에, 하나의 객체를 복수의 객체로 인식할 수 있으므로, 객체 추적에 오류가 발생할 수 있다. 따라서, 서버(100)는 하나의 객체가 다양한 파장 정보를 포함하더라도 이를 하나로 통합하여 인식하기 위하여 해당 객체에 하나의 고유 식별 정보를 매칭시킬 수 있다.Additionally, in an embodiment, the server 100 may identify one object including various wavelength information and may match unique identification information corresponding to one identified object. For example, one object may include various colors rather than one color, and accordingly, a plurality of wavelength information may be generated corresponding to one object. In this case, since multiple wavelength information exists within one object, one object may be recognized as multiple objects, and an error may occur in object tracking. Accordingly, the server 100 can match one unique identification information to the object in order to recognize it by integrating it even if one object includes various wavelength information.

구체적인 실시예에서, 고유 식별 정보를 매칭시키는 단계는, 서로 인접한 파장 정보 중 변화 방향 및 변화량이 일정 이상 유사한 복수의 파장 정보를 동일 객체 파장 정보로 식별하는 단계 및 동일 객체 파장 정보에 대응하여 고유 식별 정보를 매칭시키는 단계를 포함할 수 있다.In a specific embodiment, the step of matching unique identification information includes identifying a plurality of wavelength information that are similar in direction and amount of change by a certain amount or more among adjacent wavelength information as the same object wavelength information, and uniquely identifying the same object wavelength information. It may include a step of matching information.

서버(100)는 서로 상이한 파장 정보라도, 인접한 파장 정보 간의 변화 방향과 변화량이 유사한 파장 정보들을 통합하여 동일 객체 파장 정보로 식별할 수 있다. 이후, 서버(100)는 하나의 객체에 대응하는 파장 정보로 통합된 동일 객체 파장 정보에 고유 식별 정보를 매칭시키게 된다. 이러한 과정을 통해 하나의 객체에 대응하여 하나의 고유 식별 정보가 매칭되게 된다. 서버(100)는 각 객체에 매칭된 고유 식별 정보를 기반으로 움직이는 객체를 탐지 및 추적할 수 있다. 이는 각 객체에 부여된 고유한 식별 정보를 기반으로 하는 탐지 및 추적이므로, 유사한 색상 간의 겹침이 발생하거나, 또는 그림자 또는 날씨 변화에 따른 조도 변화에도 객체에 대한 견고한 인식력을 갖는 것을 특징으로 할 수 있다. 특히, 각 객체에 매칭된 고유 식별 정보를 기반으로 대상 객체를 탐지 및 추적하기 때문에, 일정 크기의 탐색 윈도우를 통해 전 영역에 대응하는 탐색을 수행하지 않아도 된다. 예컨대, 색상 히스토그램의 누적값을 활용하여 객체를 탐지하는 경우, 일정 크기의 탐색 윈도우를 일 위치(예컨대, 좌측 상단 끝 영역)에서부터 전영역에 걸쳐 적용하여야 하나, 본 발명의 서버(100)는 각 객체에 부여된 고유 식별 정보를 기반으로 객체를 추적하기 때문에, 연속성 있는 추적이 가능해진다.The server 100 can integrate wavelength information with similar change direction and amount of change between adjacent wavelength information and identify them as the same object wavelength information, even if the wavelength information is different from each other. Afterwards, the server 100 matches the unique identification information to the same object wavelength information integrated into the wavelength information corresponding to one object. Through this process, one unique identification information is matched to one object. The server 100 can detect and track moving objects based on unique identification information matched to each object. Since this is detection and tracking based on unique identification information given to each object, it can be characterized by having a solid recognition ability for objects even when overlap between similar colors occurs or when illuminance changes due to shadows or weather changes. . In particular, since target objects are detected and tracked based on unique identification information matched to each object, there is no need to perform a search corresponding to the entire area through a search window of a certain size. For example, when detecting an object using the accumulated value of the color histogram, a search window of a certain size must be applied from one location (e.g., the upper left end area) to the entire area, but the server 100 of the present invention Since objects are tracked based on unique identification information given to the object, continuous tracking is possible.

본 발명의 일 실시예에 따르면, 서버(100)는 파장 정보 간의 겹침이 발생하는 경우, 겹침에 대응하는 파장 정보의 변화만을 활용하여 움직이는 객체를 탐지하는 것을 특징으로 할 수 있다.According to one embodiment of the present invention, when overlap between wavelength information occurs, the server 100 may detect a moving object using only the change in wavelength information corresponding to the overlap.

보다 구체적인 실시예에서, 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는, 도 6에 도시된 바와 같이, 복수의 파장 정보 중 겹침(overlap)에 관련한 적어도 둘 이상의 파장 정보를 식별하는 단계(S310)를 포함할 수 있다. 예컨대, 영상 데이터에 객체의 이동에 따라, 점선에 해당하는 제1파장 정보(310)와 실선에 해당하는 제2파장 정보(320) 간의 겹침이 발생할 수 있다. 이러한 겹침은 제1파장 정보(310)에 대응하는 객체가 제2파장 정보(320) 방향(예컨대, 우측 방향)으로 이동함에 따라 발생하거나, 또는 제2파장 정보(320)에 대응하는 객체가 제1파장 정보(310) 방향(예컨대, 좌측 방향)으로 이동함에 따라 발생하는 것일 수 있다.In a more specific embodiment, the step of detecting a moving object based on a plurality of wavelength information includes identifying at least two or more wavelength information related to overlap among the plurality of wavelength information, as shown in FIG. 6 ( S310) may be included. For example, as an object moves in the image data, overlap may occur between the first wavelength information 310 corresponding to the dotted line and the second wavelength information 320 corresponding to the solid line. This overlap occurs as the object corresponding to the first wavelength information 310 moves in the direction of the second wavelength information 320 (e.g., to the right), or the object corresponding to the second wavelength information 320 moves in the direction of the second wavelength information 320. This may occur as the 1-wavelength information 310 moves in the direction (eg, left direction).

또한, 실시예에서, 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는, 영상 데이터에서 겹침에 해당하지 않는 객체를 제거하여 보정된 영상 데이터를 생성하는 단계(S320)를 포함할 수 있다. 실시간 겹침이 발생하는 것은, 객체의 이동이 발생한 경우일 수 있다. 이에 따라, 서버(100)는 움직이는 객체와 관련하지 않은 부분을 제거하여 보정된 영상 데이터를 생성할 수 있다. 이는 움직임이 발생한 객체를 탐지 및 추적하기 위한 것일 수 있다.Additionally, in an embodiment, the step of detecting a moving object based on a plurality of wavelength information may include generating corrected image data by removing objects that do not overlap from the image data (S320). Real-time overlap may occur when movement of an object occurs. Accordingly, the server 100 can generate corrected image data by removing parts not related to the moving object. This may be for detecting and tracking objects in motion.

또한, 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는, 보정된 영상 데이터에 포함된 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계(S330)를 포함할 수 있다. 즉, 서버(100)는 움직임에 관련한 객체만을 선별하여 보정된 영상 데이터를 구성하고, 해당 보정된 영상 데이터를 기반으로 움직이는 객체를 탐지할 수 있다.Additionally, the step of detecting a moving object based on a plurality of wavelength information may include detecting a moving object based on wavelength information included in the corrected image data (S330). In other words, the server 100 can configure corrected image data by selecting only objects related to movement and detect moving objects based on the corrected image data.

일 실시예에 따르면, 서버(100)는 파장의 변화를 통해 각 영역의 이동을 식별할 수 있으며, 각 영역 간의 겹침이 발생함을 식별할 수 있다. 또한, 서버(100)는 양 파장 값의 교집합 영역에 대응하여 확률값의 산출하고, 산출된 확률값을 기반으로 각 화소점의 위치를 구별하여 움직이는 객체를 식별할 수 있다.According to one embodiment, the server 100 can identify the movement of each area through a change in wavelength and identify the occurrence of overlap between each area. Additionally, the server 100 may calculate a probability value corresponding to the intersection area of the two wavelength values and identify a moving object by distinguishing the location of each pixel point based on the calculated probability value.

구체적인 실시예에서, 보정된 영상 데이터에 포함된 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는, 보정된 영상 데이터에 포함된 파장 정보에 기초하여 확률값을 산출하는 단계 및 확률값을 기반으로 움직이는 객체를 탐지하는 단계를 포함할 수 있다.In a specific embodiment, the step of detecting a moving object based on the wavelength information included in the corrected image data includes calculating a probability value based on the wavelength information included in the corrected image data and detecting the moving object based on the probability value. It may include a detection step.

여기서 확률값은, 영상 데이터에 포함된 객체의 이동에 따라 변화되는 일 지점이며, 파장의 경계를 구분하기 위한 기준이 되는 것을 특징으로 할 수 있다. 즉, 겹침 영역(예컨대, 교집합 영역)에 대응하여 산출되는 확률값을 기준으로 각 화소점이 어느 방향에 위치한지 여부에 따라 양 객체의 경계가 구분되며 객체의 움직임이 식별될 수 있다.Here, the probability value is a point that changes according to the movement of an object included in the image data, and may be characterized as being a standard for distinguishing the boundary of the wavelength. That is, the boundary between the two objects is distinguished depending on which direction each pixel point is located based on the probability value calculated corresponding to the overlapping area (eg, intersection area), and the movement of the object can be identified.

실시예에서, 확률값을 산출하는 단계는, 겹침에 관련한 제1파장 정보 및 제2파장 정보의 교집합 영역(330)을 식별하는 단계 및 교집합 영역(330)의 중심점을 기반으로 확률값을 산출하는 단계를 포함할 수 있다. 도 7을 참조하면, 서버(100)는 제1파장 정보(310) 및 제2파장 정보(320)의 교집합 영역(330)의 중심점을 확률값(331)으로 산출할 수 있다. 다시 말해, 확률값(331)은, 겹침에 해당하는 교집합 영역(330)의 중심점을 의미할 수 있다. 이러한 확률값(331)은 객체의 움직임에 따라 지속적으로 변화될 수 있으며, 변화되는 확률값(331)을 기준으로 각 화소점의 위치를 식별하여 객체의 움직임이 감지될 수 있다.In an embodiment, the step of calculating a probability value includes identifying an intersection area 330 of first and second wavelength information related to overlap and calculating a probability value based on the center point of the intersection area 330. It can be included. Referring to FIG. 7 , the server 100 may calculate the center point of the intersection area 330 of the first wavelength information 310 and the second wavelength information 320 as a probability value 331. In other words, the probability value 331 may mean the center point of the intersection area 330 corresponding to overlap. This probability value 331 may continuously change according to the movement of the object, and the movement of the object may be detected by identifying the location of each pixel point based on the changing probability value 331.

다양한 실시예에서, 확률값을 기반으로 움직이는 객체를 탐지하는 단계는, 각 픽셀의 위치가 확률값을 기준으로 제1파장 정보 방향 및 제2파장 정보 방향 중 어느 방향에 위치하는지 식별하는 단계, 각각의 픽셀에 대응하여 확률값으로부터의 거리를 산출하는 단계 및 각 픽셀에 대응하여 식별된 위치를 기반으로 움직이는 객체를 탐지하는 단계를 포함할 수 있다.In various embodiments, the step of detecting a moving object based on a probability value includes identifying which direction the location of each pixel is located in between the first wavelength information direction and the second wavelength information direction based on the probability value, each pixel It may include calculating the distance from the probability value in response to and detecting a moving object based on the identified location corresponding to each pixel.

도 7을 참조하면, 서버(100)는 확률값(331)을 기반으로 제1파장 정보(310) 방향에 위치하는 화소점들은 제1객체(또는 제1객체에 대응하는 제1파장)로 분류하고, 확률값(331)을 기반으로 제2파장 정보(320) 방향에 위치하는 화소점들은 제2객체(또는 제2객체에 대응하는 제2파장)로 분류할 수 있다.Referring to FIG. 7, the server 100 classifies pixel points located in the direction of the first wavelength information 310 as the first object (or the first wavelength corresponding to the first object) based on the probability value 331. , Based on the probability value 331, pixel points located in the direction of the second wavelength information 320 can be classified as the second object (or the second wavelength corresponding to the second object).

또한, 서버(100)는 확률값(331)을 기반으로 각 화소점과 확률값 간의 거리를 산출할 수 있다. 각 화소점에서 확률값 까지의 거리는 서로 상이한 값으로 산출될 수 있으며, 정량화된 팩터일 수 있다. 예를 들어, 임의의 a, b, c점은 확률값(331)을 기준으로 우측 방향에 위치할 수 있으며, d, e, f점은 확률값(331)을 기준으로 좌측 방향에 위치할 수 있다. 이 경우, 서버(100)는 각 점들에 대응하여 확률값(331)을 기준으로 각 점들까지의 거리를 산출하게 된다. 구체적인 예를 들어, a점과 확률값(331) 간의 거리는 10, b점과 확률값(331) 간의 거리는 8, c점과 확률값(331) 간의 거리는 7로 각각 산출될 수 있다. Additionally, the server 100 may calculate the distance between each pixel point and the probability value based on the probability value 331. The distance from each pixel point to the probability value may be calculated as different values and may be a quantified factor. For example, arbitrary points a, b, and c may be located to the right based on the probability value 331, and points d, e, and f may be located to the left based on the probability value 331. In this case, the server 100 calculates the distance to each point based on the probability value 331 corresponding to each point. For a specific example, the distance between point a and the probability value 331 can be calculated as 10, the distance between point b and the probability value 331 can be calculated as 8, and the distance between point c and the probability value 331 can be calculated as 7.

상기와 같이 확률값(331)을 기준으로 하는 각 점들의 위치와 확률값(331)을 기준으로 산출된 각 점의 거리를 기반으로 움직이는 객체를 구분하게 된다. 즉, 서버(100)는 확률값(331)에 대응하는 각 점의 위치 및 각 점의 거리라는 정량화된 팩터(factor)를 활용하여 움직이는 객체를 탐지하게 된다.As described above, moving objects are distinguished based on the location of each point based on the probability value 331 and the distance of each point calculated based on the probability value 331. That is, the server 100 detects a moving object using quantified factors such as the location of each point and the distance of each point corresponding to the probability value 331.

다시 말해, 본 발명의 서버(100)는 확률값(331)을 기반으로 각 화소점(즉, 픽셀)들이 어디에 위치하였는지 여부를 기반으로 객체를 구분하여 움직이는 객체를 추적할 수 있다. 이는 종래의 화소점의 정규 분포값의 누적을 활용하여 색상 기반 객체 탐지를 수행하는 기술과 상이하게, 오버랩핑(overlapping)되는 영역을 기준으로 각 화소점이 어느 방향에 위치하는지를 파악하여 움직이는 객체를 판단할 수 있다.In other words, the server 100 of the present invention can track a moving object by distinguishing objects based on where each pixel point (i.e., pixel) is located based on the probability value 331. This is different from the technology that performs color-based object detection by utilizing the accumulation of normal distribution values of conventional pixel points, and determines the moving object by determining the direction in which each pixel point is located based on the overlapping area. can do.

다양한 실시예에서, 서버(100)는 객체 탐지를 수행하는 신경망 모델(예컨대, 객체 탐지 모델)을 생성할 수 있다. 보다 구체적으로, 도 8을 참고하면, 서버(100)는 peak value 중 포커싱한 영역에 대한 픽셀값을 획득할 수 있다(S410). 또한, 서버(100)는 불필요한 영역을 제거할 수 있다(S420). 즉, 서버(100)는 영상 데이터에서 중첩이 발생하는 영역을 포커싱하여 해당 영역에 대응하는 픽셀값들을 획득하고, 이외에 불필요한 영역을 제거시킬 수 있다. 불필요한 영역의 제거에 따라 집중하고자 하는 영역(즉, 중첩이 발생한 영역)에 대한 식별력이 보다 향상되며, 이에 따라 신경망의 학습 정확도가 향상되게 된다.In various embodiments, server 100 may generate a neural network model (eg, object detection model) that performs object detection. More specifically, referring to FIG. 8, the server 100 may obtain the pixel value for the focused area among the peak values (S410). Additionally, the server 100 may remove unnecessary areas (S420). That is, the server 100 can focus on an area where overlap occurs in the image data, obtain pixel values corresponding to the area, and remove unnecessary areas. By removing unnecessary areas, the ability to identify the area to focus on (i.e., the area where overlap occurs) is further improved, thereby improving the learning accuracy of the neural network.

또한, 서버(100)는 확률값(331)을 기준으로 각 방향에있는 점들에 대한 클러스터링을 수행할 수 있다(S430). 구체적인 예를 들어, 확률값(331)을 기준으로 좌측 방향(예컨대, 제1파장 정보 방향)에 위치한 a, b, c 점을 제1클러스터로 클러스터링 할 수 있으며, 확률값(331)을 기준으로 우측 방향(예컨대, 제2파장 정보 방향)에 위치한 d, e, f 점들은 제2클러스터로 클러스터링할 수 있다. 즉, 서버(100)는 확률값(331)을 기준으로 각 점들의 위치가 어느 방향에 위치하는지 여부에 따라 복수의 클러스터 각각으로 클러스터링할 수 있다. 이 경우, 서버(100)는 클러스터링에 기반하여 학습 데이터를 생성할 수 있다(S440). 각 클러스터에 대응하여 학습 데이터를 기반으로 하나 이상의 활성화 함수에 대한 학습을 수행할 수 있으며, 학습 결과에 따라 객체 탐지를 위한 신경망 모델을 생성할 될 수 있다. 서버(100)는 학습 이후 모델의 객체 탐지 정확도를 계산할 수 있다(S450). 서버(100)는 모델의 탐지 정확도를 기반으로 생성된 모델의 성능을 판단할 수 있다. 실시예에 따르면, 서버(100)는 각각의 인공지능 모델을 독립적으로 학습시켜 복수의 인공지능 모델을 생성할 수 있으며, 성능을 평가하여 일정 성능 이상의 인공지능 모델만을 사용할 수 있다.Additionally, the server 100 may perform clustering on points in each direction based on the probability value 331 (S430). For a specific example, points a, b, and c located in the left direction (e.g., the first wavelength information direction) based on the probability value 331 may be clustered into the first cluster, and in the right direction based on the probability value 331. Points d, e, and f located in the second wavelength information direction can be clustered into a second cluster. That is, the server 100 can cluster each point into a plurality of clusters depending on which direction the points are located based on the probability value 331. In this case, the server 100 may generate learning data based on clustering (S440). In response to each cluster, one or more activation functions can be learned based on the learning data, and a neural network model for object detection can be created according to the learning results. The server 100 may calculate the object detection accuracy of the model after learning (S450). The server 100 may determine the performance of the generated model based on the detection accuracy of the model. According to the embodiment, the server 100 can create a plurality of artificial intelligence models by independently training each artificial intelligence model, and can evaluate performance and use only artificial intelligence models with a certain performance or higher.

추가적인 실시예에 따르면, 서버(100)는 각 객체의 색상에 대응하는 파장 정보의 차이가 일정 이하인 경우(즉, 양 파장 정보간 유사성이 일정 이상인 경우), 적어도 하나의 파장 정보를 가중하여 교집합 영역의 인식성을 향상시키는 것을 특징으로 할 수 있다.According to an additional embodiment, when the difference between the wavelength information corresponding to the color of each object is less than a certain level (i.e., when the similarity between both wavelength information is more than a certain level), the server 100 weights at least one wavelength information to create an intersection area. It can be characterized by improving the recognition of .

보다 구체적으로, 확률값을 산출하는 단계는, 겹침에 관련한 제1파장 정보 및 제2파장 정보의 유사성을 평가하는 단계, 제1파장 정보 및 제2파장 정보의 유사성이 미리 정해진 유사도 이상인 경우, 제1파장 정보 및 제2파장 정보 각각에 서로 상이한 임의의 파장 정보를 부여하는 단계, 각 객체에 부여된 임의의 파장 정보 간의 교집합 영역을 식별하는 단계 및 교집합 영역의 중심점을 기반으로 확률값을 산출하는 단계를 포함할 수 있다.More specifically, the step of calculating the probability value includes evaluating the similarity of the first wavelength information and the second wavelength information related to the overlap. If the similarity of the first wavelength information and the second wavelength information is greater than or equal to a predetermined similarity degree, the first wavelength information A step of assigning random wavelength information different from each other to each of the wavelength information and the second wavelength information, a step of identifying an intersection area between the random wavelength information assigned to each object, and a step of calculating a probability value based on the center point of the intersection area. It can be included.

구체적인 예를 들어, 도 9를 참조하면, 제1객체(예컨대, 차량)(410) 및 제2객체(예컨대, 건물)(420) 각각의 색상 모두가 검은색으로 유사함에 따라, 각 객체에 대응하는 제1파장 정보 및 제2파장 정보 또한 일정 이상의 유사성을 가질 수 있다. 도 8을 자율 주행 차량에서 실시간으로 획득되는 영상 데이터로, 주행 상황에 관련한 다양한 객체를 탐지 및 추적하는데 활용되는 영상 데이터일 수 있다.For a specific example, referring to FIG. 9, since the colors of each of the first object (e.g., vehicle) 410 and the second object (e.g., building) 420 are similar to black, each object corresponds to The first wavelength information and the second wavelength information may also have a certain level or more of similarity. Figure 8 is image data acquired in real time from an autonomous vehicle, and may be image data used to detect and track various objects related to driving situations.

제1객체(410)는 제1위치 및 제2위치를 지나 제3위치로 순차적으로 이동할 수 있다. 제1객체(410)는, 제2위치 부근에서 해당 객체와 유사한 색상을 가진 제2객체(예컨대, 건물)(420)와 겹침이 발생할 수 있다.The first object 410 may sequentially move through the first and second positions to the third position. The first object 410 may overlap with a second object (eg, a building) 420 having a color similar to the object in the vicinity of the second location.

제1객체(410)가 제2객체(420)에 완전히 겹쳐지는 경우, 실시간으로 영상 데이터를 촬영 및 획득하며 주행하는 차량은, 제1객체를 탐지 및 추적하기 어려워질 수 있다. 이는, 자율 주행 상황에서 전방의 객체를 감지하지 못함에 따라 사고 발생을 야기시킬 수 있다.If the first object 410 completely overlaps the second object 420, it may become difficult for a vehicle driving while shooting and acquiring image data in real time to detect and track the first object. This may cause an accident due to the inability to detect objects ahead in an autonomous driving situation.

예를 들어, 색상에 대응하는 히스토그램의 누적값에 기반하여 객체를 탐지하는 경우, 해당 영역의 픽셀값이 동일하기 때문에 제1객체(410)가 제2객체(420)와 완전하게 겹쳐지는 경우, 제1객체(410)에 대한 명확한 탐지 및 추적이 어려울 수 있다. 단순히 객체 간의 유사한 색상 간 겹침에 국한되는 것이 아니라, 햇빛이 들지 않는 그림자 영역을 어두운 색상의 객체가 통과하는 경우, 어두운 그림자 영역을 통해 해당 객체가 가려져 객체의 식별이 어려워질 수 있으며, 이에 따라 대상 객체의 탐지 및 추적에 오류가 발생할 수 있다.For example, when detecting an object based on the accumulated value of a histogram corresponding to a color, if the first object 410 completely overlaps the second object 420 because the pixel values of the corresponding area are the same, Clear detection and tracking of the first object 410 may be difficult. It is not simply limited to the overlap between similar colors between objects. If a dark-colored object passes through a shadow area that does not receive sunlight, the object may be obscured through the dark shadow area, making identification of the object difficult. This may make it difficult to identify the object. Errors may occur in object detection and tracking.

실시예에서, 각 객체의 색상이 유사한 경우, 이에 대응하는 파장값도 유사하기 때문에, 파장값을 기반으로 하여 객체를 탐지하는 과정에서도 오류가 야기될 수 있다. 이에 따라, 서버(100)는 각 객체의 파장을 보다 잘 구별하기 위하여 각 파장 정보에 대응하여 임의의 파장 정보를 부여할 수 있다. 일 실시예에서, 임의의 파장 정보는, 영상 데이터에 존재하지 않는 파장 값에 대응하여 생성될 수 있다.In an embodiment, when the color of each object is similar, the corresponding wavelength value is also similar, so an error may occur in the process of detecting the object based on the wavelength value. Accordingly, the server 100 may provide arbitrary wavelength information corresponding to each wavelength information in order to better distinguish the wavelength of each object. In one embodiment, arbitrary wavelength information may be generated corresponding to a wavelength value that does not exist in image data.

서버(100)는 객체 간의 겹침이 식별되는 경우, 겹침에 관련한 객체가 서로 상이한 파장 정보에 대응하는 객체인지 여부를 식별할 수 있다. 또한, 서버(100)는 각 객체의 파장 정보의 차이가 미리 정해진 기준치 이상인지 여부를 판단하고, 이를 기반으로 적어도 하나의 파장 정보에 가중치를 부여할 수 있다. 구체적으로, 서버(100)는 각 객체의 파장 정보의 차이가 미리 정해진 기준치 이상인 경우, 각 파장 정보의 유사성이 일정 이하인 것으로 판단하여 겹침 영역에 대응하는 확률값을 산출할 수 있다. 또한, 서버(100)는 각 객체의 파장 정보의 차이가 미리 정해진 기준치 미만인 경우, 각 파장 정보의 유사성이 일정 이상인 것으로 판단하여 각 파장 정보에 가중치(또는 임의의 파장 정보)를 부여하여 각 파장 정보 간의 식별력을 향상시킬 수 있다. 이 경우, 각 파장 정보에 가중되는 가중치는 서로 상이한 것을 특징으로 할 수 있다.When overlap between objects is identified, the server 100 may identify whether the objects related to the overlap are objects corresponding to different wavelength information. Additionally, the server 100 may determine whether the difference in wavelength information of each object is greater than or equal to a predetermined standard value and assign a weight to at least one piece of wavelength information based on this. Specifically, if the difference in the wavelength information of each object is greater than a predetermined standard value, the server 100 may determine that the similarity of each wavelength information is below a certain level and calculate a probability value corresponding to the overlap area. In addition, when the difference in the wavelength information of each object is less than a predetermined standard value, the server 100 determines that the similarity of each wavelength information is above a certain level and assigns a weight (or random wavelength information) to each wavelength information to determine the similarity of each wavelength information. It can improve liver discrimination. In this case, the weights assigned to each wavelength information may be different.

구체적인 예를 들어, 서버(100)는 제1객체(410)의 제1파장 정보에 대응하여 1000nm라는 임의의 파장 정보를 부여하고, 제2객체(420)의 제2파장 정보에 대응하여 2000nm라는 임의의 파장 정보를 부여할 수 있다. 일 실시예에서, 서버(100)는 색상에 대응하는 파장에 관련하지 않은 임의의 파장 정보(예컨대, 매우 높은 파장 대역에 대응하는 파장값)를 각 객체에 대응하는 파장 정보로 부여하여 각 파장 정보 간의 분별력을 향상시킬 수 있다. 이를 통해 서버(100)는 각 파장 정보의 겹침 영역(또는 교집합 영역)을 보다 잘 식별할 수 있으며, 이를 기반으로 확률값을 산출할 수 있다. 서버(100)는 교집합 영역에 대응하여 산출된 확률값을 기준으로 각 화소점이 어느 위치에 있는지 여부를 식별하여 움직이는 객체를 탐지할 수 있다.For a specific example, the server 100 provides random wavelength information of 1000nm in response to the first wavelength information of the first object 410, and provides arbitrary wavelength information of 2000nm in response to the second wavelength information of the second object 420. Arbitrary wavelength information can be given. In one embodiment, the server 100 assigns arbitrary wavelength information (e.g., a wavelength value corresponding to a very high wavelength band) unrelated to the wavelength corresponding to a color as the wavelength information corresponding to each object to provide each wavelength information. It can improve the discernment between the liver. Through this, the server 100 can better identify the overlap area (or intersection area) of each wavelength information and calculate a probability value based on this. The server 100 can detect a moving object by identifying where each pixel point is based on a probability value calculated corresponding to the intersection area.

다시 말해, 서버(100)는 색상 또는 색상에 대응하는 파장 정보가 유사한 객체 간의 겹침(즉, 일정 유사도 이상의 파장 정보 간의 겹침)이 발생하는 경우, 임의의 파장 정보 각각을 부여하여 각 객체의 파장 정보가 명확하게 구분되도록 하여 각 객체의 교집합 영역에 대한 식별력을 향상시킬 수 있다. 즉, 서버(100)는 각 객체에 대응하는 파장 정보를 가중하여 교집합 영역이 보다 명확하게 식별되도록 할 수 있다. 또한, 교집합 영역의 식별력 향상으로 인해 정확한 확률값의 산출이 가능해지며, 이에 따라 각 객체의 경계를 구분하여 움직이는 객체를 탐지 및 추적할 수 있게 된다. 이는 유사한 색상 간의 겹침에도 견고한 객체 탐지 성능을 제공한다는 장점을 가진다. In other words, when overlap between objects with similar colors or wavelength information corresponding to colors occurs (i.e., overlap between wavelength information with a certain degree of similarity or higher), the server 100 assigns random wavelength information to each object to determine its wavelength information. By ensuring that the are clearly distinguished, the identification of the intersection area of each object can be improved. That is, the server 100 can weight the wavelength information corresponding to each object so that the intersection area can be identified more clearly. In addition, the improvement in the identification of the intersection area makes it possible to calculate accurate probability values, which makes it possible to detect and track moving objects by distinguishing the boundaries of each object. This has the advantage of providing robust object detection performance even when there is overlap between similar colors.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of the method or algorithm described in connection with embodiments of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. The software module may be RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.The components of the present invention may be implemented as a program (or application) and stored in a medium in order to be executed in conjunction with a hardware computer. Components of the invention may be implemented as software programming or software elements, and similarly, embodiments may include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, , may be implemented in a programming or scripting language such as Java, assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors.

본 발명의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 발명의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 발명의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will understand that various illustrative logical blocks, modules, processors, means, circuits and algorithm steps described in connection with the embodiments disclosed herein can be used in electronic hardware, (for convenience) It will be understood that the implementation may be implemented by various forms of program or design code (referred to herein as “software”) or a combination of both. To clearly illustrate this interoperability of hardware and software, various illustrative components, blocks, modules, circuits and steps have been described above generally with respect to their functionality. Whether this functionality is implemented as hardware or software depends on the specific application and design constraints imposed on the overall system. A person skilled in the art may implement the described functionality in various ways for each specific application, but such implementation decisions should not be construed as departing from the scope of the present invention.

여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.The various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term “article of manufacture” includes a computer program, carrier, or media accessible from any computer-readable device. For example, computer-readable media include magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., CDs, DVDs, etc.), smart cards, and flash memory. Includes, but is not limited to, devices (e.g., EEPROM, cards, sticks, key drives, etc.). Additionally, various storage media presented herein include one or more devices and/or other machine-readable media for storing information. The term “machine-readable media” includes, but is not limited to, wireless channels and various other media capable of storing, retaining, and/or transmitting instruction(s) and/or data.

제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that the specific order or hierarchy of steps in the processes presented is an example of illustrative approaches. It is to be understood that the specific order or hierarchy of steps in processes may be rearranged within the scope of the present invention, based on design priorities. The appended method claims present elements of the various steps in a sample order but are not meant to be limited to the particular order or hierarchy presented.

제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the invention. Thus, the present invention is not limited to the embodiments presented herein, but is to be construed in the broadest scope consistent with the principles and novel features presented herein.

Claims (10)

컴퓨팅 장치의 하나 이상의 프로세서에서 수행되는 방법에 있어서,
영상 데이터를 획득하는 단계;
상기 영상 데이터에 포함된 복수의 색상 정보를 기반으로 상기 영상 데이터에 대응하는 복수의 파장 정보를 생성하는 단계; 및
상기 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계;
를 포함하는,
색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법.
A method performed on one or more processors of a computing device, comprising:
Acquiring image data;
generating a plurality of wavelength information corresponding to the image data based on a plurality of color information included in the image data; and
Detecting a moving object based on the plurality of wavelength information;
Including,
A method of detecting moving objects in an image based on wavelength information corresponding to color.
제1항에 있어서,
상기 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는,
상기 복수의 파장 정보를 기반으로 상기 영상 데이터에 포함된 복수의 객체를 식별하는 단계;
상기 영상 데이터에서 식별된 상기 복수의 객체 각각을 구분하는 단계; 및
상기 복수의 파장 정보의 변화를 기반으로 상기 구분된 복수의 객체 각각의 이동 경로를 예측하여 이동 경로 예측 정보를 생성하는 단계;
를 포함하는,
색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법.
According to paragraph 1,
The step of detecting a moving object based on the plurality of wavelength information,
Identifying a plurality of objects included in the image data based on the plurality of wavelength information;
distinguishing each of the plurality of objects identified in the image data; and
generating movement path prediction information by predicting a movement path of each of the plurality of divided objects based on changes in the plurality of wavelength information;
Including,
A method of detecting moving objects in an image based on wavelength information corresponding to color.
제2항에 있어서,
상기 복수의 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는,
상기 복수의 파장 정보 중 겹침(overlap)에 관련한 적어도 둘 이상의 파장 정보를 식별하는 단계;
상기 영상 데이터에서 겹침에 해당하지 않는 객체를 제거하여 보정된 영상 데이터를 생성하는 단계; 및
상기 보정된 영상 데이터에 포함된 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계;
를 포함하는,
색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법.
According to paragraph 2,
The step of detecting a moving object based on the plurality of wavelength information,
Identifying at least two wavelength information related to overlap among the plurality of wavelength information;
generating corrected image data by removing objects that do not overlap from the image data; and
Detecting a moving object based on wavelength information included in the corrected image data;
Including,
A method of detecting moving objects in an image based on wavelength information corresponding to color.
제3항에 있어서,
상기 보정된 영상 데이터에 포함된 파장 정보를 기반으로 움직이는 객체를 탐지하는 단계는,
상기 보정된 영상 데이터에 포함된 파장 정보에 기초하여 확률값을 산출하는 단계; 및
상기 확률값을 기반으로 움직이는 객체를 탐지하는 단계;
를 포함하며,
상기 확률값은, 상기 영상 데이터에 포함된 객체의 이동에 따라 변화되는 일 지점이며, 파장의 경계를 구분하기 위한 기준이 되는 것을 특징으로 하는,
색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법.
According to paragraph 3,
The step of detecting a moving object based on the wavelength information included in the corrected image data is,
calculating a probability value based on wavelength information included in the corrected image data; and
Detecting a moving object based on the probability value;
Includes,
The probability value is a point that changes according to the movement of an object included in the image data, and serves as a standard for distinguishing the boundary of the wavelength.
A method of detecting moving objects in an image based on wavelength information corresponding to color.
제4항에 있어서,
상기 확률값을 산출하는 단계는,
겹침에 관련한 제1파장 정보 및 제2파장 정보의 교집합 영역을 식별하는 단계; 및
상기 교집합 영역의 중심점을 기반으로 상기 확률값을 산출하는 단계;
를 포함하는,
색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법.
According to paragraph 4,
The step of calculating the probability value is,
Identifying an intersection area of first wavelength information and second wavelength information related to overlap; and
calculating the probability value based on the center point of the intersection area;
Including,
A method of detecting moving objects in an image based on wavelength information corresponding to color.
제5항에 있어서,
상기 확률값을 기반으로 움직이는 객체를 탐지하는 단계는,
각 픽셀의 위치가 확률값을 기준으로 상기 제1파장 정보 방향 및 상기 제2파장 정보 방향 중 어느 방향에 위치하는지 식별하는 단계;
각각의 픽셀에 대응하여 확률값으로부터의 거리를 산출하는 단계; 및
상기 각 픽셀에 대응하여 식별된 위치 및 거리를 기반으로 움직이는 객체를 탐지하는 단계;
를 포함하는,
색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법.
According to clause 5,
The step of detecting a moving object based on the probability value is,
Identifying which direction of the first wavelength information direction and the second wavelength information direction the position of each pixel is located based on a probability value;
calculating a distance from the probability value corresponding to each pixel; and
Detecting a moving object based on the location and distance identified for each pixel;
Including,
A method of detecting moving objects in an image based on wavelength information corresponding to color.
제4항에 있어서,
상기 확률값을 산출하는 단계는,
겹침에 관련한 제1파장 정보 및 제2파장 정보의 유사성을 평가하는 단계;
상기 제1파장 정보 및 제2파장 정보의 유사성이 미리 정해진 유사도 이상인 경우, 상기 제1파장 정보 및 상기 제2파장 정보 각각에 서로 상이한 임의의 파장 정보를 부여하는 단계;
각 객체에 부여된 임의의 파장 정보 간의 교집합 영역을 식별하는 단계; 및
상기 교집합 영역의 중심점을 기반으로 상기 확률값을 산출하는 단계;
를 포함하는,
색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법.
According to paragraph 4,
The step of calculating the probability value is,
Evaluating the similarity of first wavelength information and second wavelength information related to overlap;
When the similarity between the first wavelength information and the second wavelength information is greater than a predetermined similarity degree, assigning different random wavelength information to each of the first wavelength information and the second wavelength information;
Identifying an intersection area between random wavelength information assigned to each object; and
calculating the probability value based on the center point of the intersection area;
Including,
A method of detecting moving objects in an image based on wavelength information corresponding to color.
제1항에 있어서,
상기 방법은,
상기 영상 데이터에 대응하는 전처리를 수행하는 단계; 를 더 포함하며,
상기 전처리는,
조도 변화 및 움직임에 따른 노이즈를 제거하기 위한 모폴로지 연산에 관련한 전처리를 포함하는,
색상에 대응하는 파장 정보를 기반으로 영상에서 움직이는 객체를 탐지하는 방법.
According to paragraph 1,
The above method is,
performing preprocessing corresponding to the image data; It further includes,
The preprocessing is,
Including preprocessing related to morphology calculations to remove noise due to changes in illumination and movement,
A method of detecting moving objects in an image based on wavelength information corresponding to color.
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
제1항의 방법을 수행하는, 서버.
A memory that stores one or more instructions; and
A processor executing the one or more instructions stored in the memory,
The processor executes the one or more instructions,
A server that performs the method of claim 1.
하드웨어인 컴퓨터와 결합되어, 제1항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터프로그램.
A computer program combined with a computer as hardware and stored on a computer-readable recording medium so as to perform the method of claim 1.
KR1020230051666A 2022-04-19 2023-04-19 Method, server and computer program for detecting moving object in image based on wavelength information KR20230149262A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220047884 2022-04-19
KR20220047884 2022-04-19

Publications (1)

Publication Number Publication Date
KR20230149262A true KR20230149262A (en) 2023-10-26

Family

ID=88508919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230051666A KR20230149262A (en) 2022-04-19 2023-04-19 Method, server and computer program for detecting moving object in image based on wavelength information

Country Status (1)

Country Link
KR (1) KR20230149262A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100118162A (en) 2009-04-28 2010-11-05 한국과학기술원 Apparatus and method for detecting a plurality of objects in an image

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100118162A (en) 2009-04-28 2010-11-05 한국과학기술원 Apparatus and method for detecting a plurality of objects in an image

Similar Documents

Publication Publication Date Title
JP7128157B2 (en) Image processing for automated object identification
US10269125B1 (en) Method for tracking object by using convolutional neural network including tracking network and computing device using the same
US9582895B2 (en) Real-time object analysis with occlusion handling
RU2693906C2 (en) Rule-based analysis of video importance
US20150325046A1 (en) Evaluation of Three-Dimensional Scenes Using Two-Dimensional Representations
JP2018200685A (en) Forming of data set for fully supervised learning
US20050216274A1 (en) Object tracking method and apparatus using stereo images
US10762678B2 (en) Representing an immersive content feed using extended reality based on relevancy
US9031280B2 (en) Temporal-correlations-based mode connection
Srivastava et al. Sign language recognition system using TensorFlow object detection API
CN112561960B (en) Multi-target tracking repositioning method based on track similarity measurement learning
EP3985552A1 (en) System for detection and management of uncertainty in perception systems
KR101963404B1 (en) Two-step optimized deep learning method, computer-readable medium having a program recorded therein for executing the same and deep learning system
CN112990222B (en) Image boundary knowledge migration-based guided semantic segmentation method
Doulamis Coupled multi-object tracking and labeling for vehicle trajectory estimation and matching
Jemilda et al. Moving object detection and tracking using genetic algorithm enabled extreme learning machine
CN112036457A (en) Method and device for training target detection model and target detection method and device
CN113283368B (en) Model training method, face attribute analysis method, device and medium
Lacabex et al. Lightweight tracking-by-detection system for multiple pedestrian targets
JP6713422B2 (en) Learning device, event detection device, learning method, event detection method, program
Nebili et al. Background subtraction using artificial immune recognition system and single gaussian (airs-sg)
Alvar et al. Mixture of merged gaussian algorithm using RTDENN
KR20230149262A (en) Method, server and computer program for detecting moving object in image based on wavelength information
KR20230149263A (en) Method, server and computer program for tracking moving object in image data
Yang et al. Visual detection and tracking algorithms for human motion