KR20200015301A - Object detection apparatus for dynamic detection module selection and method thereof - Google Patents

Object detection apparatus for dynamic detection module selection and method thereof Download PDF

Info

Publication number
KR20200015301A
KR20200015301A KR1020180090949A KR20180090949A KR20200015301A KR 20200015301 A KR20200015301 A KR 20200015301A KR 1020180090949 A KR1020180090949 A KR 1020180090949A KR 20180090949 A KR20180090949 A KR 20180090949A KR 20200015301 A KR20200015301 A KR 20200015301A
Authority
KR
South Korea
Prior art keywords
detection module
detection
buffer
time
selecting
Prior art date
Application number
KR1020180090949A
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 중앙대학교 산학협력단
Priority to KR1020180090949A priority Critical patent/KR20200015301A/en
Publication of KR20200015301A publication Critical patent/KR20200015301A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06K9/00711
    • G06K9/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Disclosed are an apparatus for detecting an object for selecting a dynamic detection module and a method thereof. According to an embodiment of the present invention, the apparatus comprises: a storage unit for storing a plurality of detection techniques for object detection, a plurality of detection modules formed by combining a plurality of detection models, and information on each of the detection modules; a state measurement unit for measuring the length of a buffer indicating the amount of data loaded in a buffer at a current time point (t) when the object detection is requested; a detection module selecting unit for dynamically selecting an optimal detection module at a next time (t+1) among the detection modules on the basis of a preset detection module selection period, the length of the buffer, and an input rate per second and an output rate per second of the current time point (t); and an object detection unit for detecting an object from data on the basis of the optimal detection module.

Description

동적 탐지모듈 선택을 위한 객체 탐지 장치 및 그 방법{Object detection apparatus for dynamic detection module selection and method thereof}Object detection apparatus for dynamic detection module selection and method

본 발명은 동적 탐지모듈 선택을 위한 객체 탐지 장치 및 그 방법에 관한 것으로, 특히 탐지모듈 선택 주기 또는 버퍼의 길이에 기초하여 최적 탐지모듈을 동적으로 선택하는 동적 탐지모듈 선택을 위한 객체 탐지 장치 및 그 방법에 관한 것이다.
The present invention relates to an object detecting apparatus and method for selecting a dynamic detection module, and more particularly, to an object detecting apparatus for selecting a dynamic detection module for dynamically selecting an optimal detection module based on a detection module selection period or a length of a buffer and It is about a method.

영상에서 실시간으로 객체를 검출하는 객체 탐지(object detection) 시스템은 크게 데이터 획득(data acquire)과 데이터 처리(data processor) 두 부분으로 구성된다. 때때로 CCTV를 이용한 감시시스템이나 Cloud 기반의 시스템과 같이 data acquire와 data processor가 데이터 전송매체를 통해서 연결되고 위치상으로 분산되어 독립적으로 구성되기도 한다. 이러한 경우 전송 지연(delay)이나 동기화 부하를 줄이기 위해 도 1에서와 같이 버퍼를 사용하는 방식으로 주로 설계된다. 이때, 버퍼에 쌓여있는 데이터의 길이에 의해 발생하는 큐잉 딜레이로 인하여 시 제약 조건이 위배될 수 있기 때문에, 실시간 시스템에서 버퍼를 사용할 경우 버퍼의 안정성은 반드시 보장되어야 한다. An object detection system that detects an object in an image in real time is largely composed of two parts, a data acquirer and a data processor. Sometimes data acquirer and data processor are connected through data transmission media and distributed independently. In this case, it is mainly designed by using a buffer as in FIG. 1 to reduce transmission delay or synchronization load. In this case, since the time constraint may be violated due to the queuing delay caused by the length of data stored in the buffer, the stability of the buffer must be guaranteed when using the buffer in a real-time system.

한편, 대부분의 실시간 객체 탐지 시스템은 처음에 한번 선택된 객체 탐지 모델이 시스템 운영 끝까지 사용되는 정적인 방법으로 설계된다. 하지만 실제 시스템을 운영할 때에는 디바이스의 성능저하로 인한 초당 처리율(output rate)의 감소나, data acquire수의 변화로 인한 초당 입력률(input rate)의 변화와 같은 다양한 불안정요소가 존재할 수 있으며 이는 시스템 엔지니어가 최적의 모델을 선택하는 것을 어렵게 만든다. 이러한 정적인 방법을 사용할 때에는, 불안정 상황의 발생까지 고려하여 안정성을 보장할 수 있는 모델을 선택해야 한다. 이를 위해서는 시스템 전체 동작 기간 동안의 불안정요소의 발생 정도와 영향을 미리 예측할 수 있어야 하지만, 사전에 이를 미리 예측해 두는 것은 쉽지 않은 일이며, 계획한 시스템의 동작기간이 길어질수록 더욱 어려워진다. 설령 정확히 예측할 수 있다 하더라도 발생 빈도가 낮은 시스템의 성능이 심하게 저하되는 경우의 안정성까지 고려하여 처리속도가 빠른 모델을 선택해야 하므로, 그 발생빈도가 낮을수록 원치 않는 성능 낭비가 발생하게 된다. 때문에 정적인 모델 선택 기법에서는 주로 모델 선택보다는 GPU 병렬화나 처리속도가 빠른 새로운 모델을 개발하는 방법으로 문제를 해결하였다.Most real-time object detection systems, on the other hand, are designed in a static manner in which the object detection model selected first once is used until the end of system operation. However, when operating an actual system, there may be various instabilities such as a decrease in the output rate per second due to the performance degradation of the device, or a change in the input rate per second due to the change in the number of data acquisition. Makes it difficult to choose the optimal model. When using this static method, it is necessary to select a model that can guarantee stability considering the occurrence of instability. To this end, it is necessary to predict the degree of occurrence and impact of instability during the entire operation period, but it is not easy to predict it in advance, and the longer the operation period of the planned system becomes more difficult. Even if it can be accurately predicted, it is necessary to select a model with a high processing speed in consideration of stability when the performance of a low frequency system is severely degraded. Therefore, the lower the frequency of occurrence, the less unwanted performance waste occurs. Therefore, the static model selection technique solved the problem mainly by developing a new model with faster GPU parallelism or faster processing speed than model selection.

또한, 한번 정해진 객체 탐지 모델을 시스템 운영 내내 사용하는 정적인 방식의 실시간 객체 탐지 시스템에서는, 초당 입력률(input rate)의 증가나 디바이스의 성능저하와 같은 시스템의 시 제약 조건을 위협하는 불안정요소에 대비하여, 안정적인 상황의 최적 처리속도보다 빠른 처리속도를 가지는 탐지기법이나 신경망 모델을 사용한다. 그러나, 객체 탐지에서는 사용하는 모델의 처리속도와 분류 정확도사이에 trade-off가 존재하기 때문에, 불안정 상황이 발생하지 않는 동안에는 시스템의 성능 낭비가 발생하게 되는 단점이 있다.In addition, in a static real-time object detection system that uses a fixed object detection model throughout the system operation, it prepares for instability that threatens the system's time constraints such as an increase in input rate per second or performance degradation of a device. Therefore, we use a detection technique or neural network model that has a faster processing speed than the optimal processing speed in a stable situation. However, in the object detection, there is a trade-off between the processing speed and the classification accuracy of the model to be used. Therefore, there is a disadvantage in that the performance of the system is generated while the instability does not occur.

이에, 실시간으로 변화하는 상황에서도 시스템의 안정성을 유지하면서 시 평균 성능을 최대로 유지할 수 있는 실시각 객체 탐지 기술 개발이 요구되고 있다. Accordingly, there is a demand for development of real-time object detection technology capable of maintaining the stability of the system even in the real-time situation and maximizing the average time performance.

이에 관련하여, 발명의 명칭이 " 모델 선택 계산 장치, 동적 모델 선택 장치, 동적 모델 선택 방법 및 프로그램"인 일본공개특허 제2005-141601호가 존재한다.
In this regard, there is a Japanese Patent Application Laid-Open No. 2005-141601 entitled "Model Selection Calculation Device, Dynamic Model Selection Device, Dynamic Model Selection Method and Program".

본 발명이 해결하고자 하는 기술적 과제는 실시간 객체 검출 시, 실시간으로 변화하는 상황에서도 시스템의 안정성을 유지하면서 시 평균 성능을 최대로 유지할 수 있는 동적 탐지모듈 선택을 위한 객체 탐지 장치 및 그 방법을 제공하는 것이다. The technical problem to be solved by the present invention is to provide an object detection apparatus and method for selecting a dynamic detection module that can maintain the maximum performance of the average time while maintaining the stability of the system even in the situation that changes in real time when real-time object detection will be.

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

상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 동적 탐지모듈 선택을 위한 객체 탐지 장치는, 객체 탐지(object detection)를 위한 복수의 탐지 기법과 복수의 탐지 모델이 조합되어 형성된 복수의 탐지모듈, 각 탐지모듈에 대한 정보가 저장된 저장부, 객체 탐지가 요청된 경우, 현재 시점(t)에서 버퍼에 적재된 데이터의 양을 의미하는 버퍼의 길이를 측정하는 상태 측정부, 기 설정된 탐지모듈 선택 주기, 상기 버퍼의 길이, 각 탐지모듈의 현재 시점(t)의 초당 입력률(input rate) 및 초당 처리율(output rate)에 기초하여, 상기 복수의 탐지모듈 중에서 다음 시점(t+1)의 최적 탐지모듈을 동적으로 선택하는 탐지모듈 선택부, 상기 최적 탐지모듈에 기초하여 데이터에서 객체를 탐지하는 객체 탐지부를 포함한다. Object detection apparatus for selecting a dynamic detection module according to an embodiment of the present invention for solving the technical problem, a plurality of detection formed by combining a plurality of detection techniques and a plurality of detection models for object detection (object detection) Module, a storage unit storing information on each detection module, a state measuring unit measuring a length of a buffer representing the amount of data loaded into the buffer at the current time t when an object detection is requested, a preset detection module Based on the selection period, the length of the buffer, the input rate per second of the current time t of each detection module and the output rate per second, the optimal time of the next time t + 1 among the plurality of detection modules A detection module selection unit for dynamically selecting a detection module, the object detection unit for detecting an object in the data based on the optimum detection module.

상기 저장부에는 각 탐지모듈의 현재 시점(t)에서 초당 입력률, 기대 정확도, 처리시간 계수 중 적어도 하나를 포함하는 각 탐지모듈에 대한 정보가 저장될 수 있다. The storage unit may store information about each detection module including at least one of an input rate per second, an expected accuracy, and a processing time coefficient at a current time t of each detection module.

상기 탐지모듈 선택부는, Lyapunov optimization를 기반으로 최적 탐지모듈을 선택할 수 있다. The detection module selector may select an optimal detection module based on Lyapunov optimization.

또한, 상기 탐지모듈 선택부는, 상기 버퍼의 길이 및 초당 입력률에 기초하여 다음 시점(t+1)에 대한 초당 처리율을 예측하는 처리율 예측부, 상기 예측된 초당 처리율과 시 제약조건에 기초하여 버퍼의 한계길이를 산출하는 버퍼 한계길이 산출부, 상기 초당 처리율과 상기 버퍼의 한계길이에 기초하여 보상 가중치(reward term weight constant)를 산출하는 가중치 산출부, 각 탐지모듈별로 산출된 초당 처리율, 버퍼의 한계길이 및 보상 가중치에 기초하여, 상기 복수의 탐지모듈 중에서 기 설정된 요구조건을 만족하는 최적 탐지모델을 선택하는 최적 탐지 모듈 선택부를 포함할 수 있다. The detection module selecting unit may further include a throughput predictor that estimates a throughput per second for a next time point t + 1 based on the length of the buffer and an input rate per second, and a buffer based on the predicted throughput per second and a time constraint. A buffer limit length calculator for calculating a limit length, a weight calculator for calculating a reward term weight constant based on the throughput per second and the limit length of the buffer, a throughput per second calculated for each detection module, and a buffer limit Based on the length and the compensation weight, it may include an optimum detection module selection unit for selecting an optimal detection model that satisfies a predetermined requirement from the plurality of detection modules.

또한, 상기 탐지모듈 선택부는 아래 수학식을 이용하여 다음 시점(t+1)의 최적 탐지모듈(m(t+1)을 선택할 수 있다. In addition, the detection module selector may select the optimal detection module m (t + 1) of the next time point t + 1 using the following equation.

[수학식][Equation]

Figure pat00001
Figure pat00001

여기서, m은 탐지모듈 집합의 원소, M은 탐지모듈 집합, L은 시 제약 조건(sec), V는 보상 가중치,

Figure pat00002
은 탐지모듈 m을 사용할 경우의 기대 정확도,
Figure pat00003
은 시점 t+1에 대한 초당 입력률(input rate),
Figure pat00004
은 탐지모듈 m을 사용할 경우의 시점 t+1에 대한 예상 초당 처리율(output rate),
Figure pat00005
는 현재 버퍼의 길이를 의미함.Where m is an element of the detection module set, M is a detection module set, L is a time constraint (sec), V is a compensation weight,
Figure pat00002
Is the expected accuracy when using detection module m,
Figure pat00003
Is the input rate per second for time t + 1,
Figure pat00004
Is the expected output rate per second for time t + 1 when using detection module m,
Figure pat00005
Is the length of the current buffer.

상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 객체 탐지 장치가 객체를 탐지하는 방법에 있어서, 객체 탐지가 요청된 경우, 현재 시점(t)에서 버퍼에 적재된 데이터의 양을 의미하는 버퍼의 길이를 측정하는 단계, 기 설정된 탐지모듈 선택 주기, 상기 버퍼의 길이, 각 탐지모듈의 현재 시점(t)의 초당 입력률(input rate) 및 초당 처리율(output rate)에 기초하여, 복수의 탐지모듈 중에서 다음 시점(t+1)의 최적 탐지모듈을 동적으로 선택하는 단계, 상기 최적 탐지모듈에 기초하여 데이터에서 객체를 탐지하는 단계를 포함한다.
In the method for detecting an object by the object detecting apparatus according to another embodiment of the present invention for solving the technical problem, when the object detection is requested, it means the amount of data loaded in the buffer at the current time (t) Measuring a length of a buffer, based on a preset detection module selection period, a length of the buffer, an input rate per second and an output rate per second at a current time t of each detection module, and a plurality of detections Dynamically selecting an optimal detection module at a next time point t + 1 among the modules, and detecting an object in data based on the optimal detection module.

본 발명에 따르면, input rate의 증가나 장치의 성능저하와 같은 시 제약 조건을 위협하는 불안정 상황이 발생한 경우는 물론, 불안정 상황이 발생하지 않은 경우에도 실시간으로 변화하는 상황에 따라 객체 검출을 위한 탐지모델을 동적으로 선택함으로써, 시스템의 안정성을 유지하면서 시 평균 성능을 최대로 할 수 있다. According to the present invention, a detection for detecting an object according to a situation that changes in real time even when an instability situation that threatens time constraints such as an increase in input rate or deterioration of a device occurs as well as an instability situation does not occur. By dynamically choosing models, you can maximize time-averaged performance while maintaining system stability.

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

도 1은 종래의 객체 탐지 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 객체 탐지 시스템을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 탐지모듈을 설명하기 위한 예시도이다.
도 4는 도 2에 도시된 탐지모듈 선택부를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 동적 최적 탐지모듈 선택 방법을 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 최적 탐지모듈 선택을 위한 수도 알고리즘을 나타낸 도면이다.
도 7 내지 도 11은 본 발명의 일 실시예에 따른 동적 최적 탐지모듈 선택 방법의 성능을 실험 결과로 설명하기 위한 도면이다.
1 is a view for explaining a conventional object detection system.
2 is a view for explaining an object detection system according to an embodiment of the present invention.
3 is an exemplary view for explaining a detection module according to an embodiment of the present invention.
4 is a view for explaining a detection module selection unit shown in FIG.
5 is a flowchart illustrating a method of selecting a dynamic optimal detection module according to an embodiment of the present invention.
6 is a diagram illustrating a water algorithm for selecting an optimal detection module according to an embodiment of the present invention.
7 to 11 are diagrams for explaining the performance of the dynamic optimal detection module selection method according to an embodiment of the present invention as an experimental result.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that another component may be present in the middle. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

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

도 2는 본 발명의 일 실시예에 따른 객체 탐지 시스템을 설명하기 위한 도면, 도 3은 본 발명의 일 실시예에 따른 탐지모듈을 설명하기 위한 예시도, 도 4는 도 2에 도시된 탐지모듈 선택부를 설명하기 위한 도면이다. 2 is a view for explaining an object detection system according to an embodiment of the present invention, Figure 3 is an exemplary view for explaining a detection module according to an embodiment of the present invention, Figure 4 is a detection module shown in FIG. It is a figure for demonstrating a selection part.

도 2를 참조하면, 본 발명의 일 실시예에 따른 객체 탐지 시스템은 영상 획득 장치(100), 버퍼(200), 객체 탐지 장치(300)를 포함한다.Referring to FIG. 2, an object detection system according to an embodiment of the present invention includes an image acquisition device 100, a buffer 200, and an object detection device 300.

영상 획득 장치(100)는 영상을 입력받아 샘플링하는 장치로, 예컨대, CCTV와 같은 카메라 장치가 있다. The image capturing apparatus 100 is an apparatus for receiving and sampling an image, for example, a camera apparatus such as CCTV.

영상 획득 장치(100)는 입력(또는 촬영)된 영상 중에서 분석이 필요한 데이터를 샘플링하고, 샘플링된 데이터를 버퍼(200)에 저장한다. 예를 들면 카메라가 영상을 촬영하면 그 중에서 1분동안의 영상은 버퍼(200)에 저장하고, 4분동안 휴지기를 가진 후 다시 1분 동안의 영상을 버퍼(200)에 저장할 수 있다. 또는 5초마다 한번씩 영상을 추출해서 버퍼(200)에 저장할 수도 있다. The image capturing apparatus 100 samples data to be analyzed from an input (or photographed) image and stores the sampled data in the buffer 200. For example, when the camera captures an image, one minute of the image may be stored in the buffer 200, and after a four minute rest period, the image may be stored in the buffer 200 again. Alternatively, the image may be extracted once every 5 seconds and stored in the buffer 200.

객체 탐지 장치(300)는 버퍼(200)로부터 데이터를 로딩(loading)하고, 현재 시스템의 상태에 맞추어 사용될 최적의 탐지모듈을 선택하며, 선택된 탐지모듈을 이용하여 객체 탐지를 수행한다. 여기서, 탐지모듈은 탐지기법, 탐지모델(신경망모델), proposal 수 등과 같은 요소들을 조합한 단위를 의미하고, 탐지기법은 R-CNN, Faster R-CNN, R-FCN, Multibox, SSD 등 객체 탐지에 이용하는 기법을 모두 포함할 수 있으며, 탐지모델은 ResNet, InceptionV2, MobileNet 등 다양한 신경망 모델을 포함할 수 있다. 따라서, 각 탐지기법에 다양한 탐지모델이 매칭된 형태로 복수의 탐지모듈이 형성될 수 있다.The object detecting apparatus 300 loads data from the buffer 200, selects an optimal detection module to be used according to the current system state, and performs object detection using the selected detection module. Here, the detection module means a unit combining elements such as a detection technique, a detection model (neural network model), the number of proposals, etc. The detection technique is an object detection such as R-CNN, Faster R-CNN, R-FCN, Multibox, SSD, etc. The detection model may include various neural network models such as ResNet, InceptionV2, and MobileNet. Therefore, a plurality of detection modules may be formed in a manner in which various detection models are matched with each detection technique.

예를들면, 도 3에 도시된 바와 같이 탐지기법인 R-CNN이 ResNet, InceptionV2, MobileNet 등의 다양한 탐지모델과 매칭되어 탐지모듈1, 탐지모듈2, 탐지모듈 3 등 다양한 탐지모듈이 형성된다. For example, as shown in FIG. 3, the detection technique R-CNN is matched with various detection models such as ResNet, InceptionV2, MobileNet, and the like, and various detection modules such as detection module 1, detection module 2, and detection module 3 are formed.

딥 러닝(Deep learning) 기반의 객체 탐지 시스템의 처리시간과 정확도는 사용되는 탐지기법이나 탐지모델(신경망 모델)에 종속적이다. 다시 말해 R-CNN, Faster R-CNN, R-FCN, Multibox, SSD 등과 같이 어떤 탐지기법을 사용하는가 뿐만 아니라, 같은 탐지기법을 사용했을 때에도 ResNet, InceptionV2, MobileNet과 같은 사용되는 탐지모델(신경망 모델)이나 proposal수와 같은 설정 값에 따라서도 처리시간과 정확도가 달라질 수 있다. 따라서, 본 발명에서는 탐지기법과 탐지모델(신경망모델), proposal수와 같은 요소들을 조합한 단위를 '탐지모듈'로 칭하여 설명하기로 한다. The processing time and accuracy of the deep learning based object detection system are dependent on the detection technique or the detection model (neural network model) used. In other words, not only which detection method is used such as R-CNN, Faster R-CNN, R-FCN, Multibox, SSD, etc., but also the detection model used by ResNet, InceptionV2, MobileNet even when the same detection method is used. The processing time and accuracy may also vary depending on the set values such as) or the number of proposals. Therefore, in the present invention, a unit combining elements such as a detection technique, a detection model (neural network model), and the number of proposals will be described as a 'detection module'.

객체 탐지 장치(300)는 input rate의 증가나 장치의 성능저하와 같은 시 제약 조건을 위협하는 불안정 상황이 발생한 경우는 물론, 불안정 상황이 발생하지 않은 경우를 대비하여, 변화하는 상황에 따라 사용할 탐지모듈을 동적으로 선택할 수 있다. 즉, 신경망 모델을 사용하는 객체 탐지에서는 탐지모듈의 처리속도와 분류 정확도 사이에 trade-off가 존재하기 때문에, 불안정 상황이 발생하지 않는 동안에는 시스템의 성능낭비가 발생하게 된다. 이에, 객체 탐지장치(300)는 실시간으로 변화하는 상황에서도 시스템의 안정성을 유지하면서 시 평균 성능을 최대로 할 수 있는 탐지모듈을 동적으로 선택해야 한다.The object detecting apparatus 300 detects an unstable situation that threatens time constraints such as an increase in input rate or deterioration of the device, as well as a detection to be used according to a changing situation in case an unstable situation does not occur. Modules can be selected dynamically. That is, in the object detection using neural network model, there is a trade-off between the processing speed of the detection module and the classification accuracy. Therefore, the system wastes performance while the instability does not occur. Accordingly, the object detecting apparatus 300 must dynamically select a detection module capable of maximizing the time average performance while maintaining the stability of the system even in a situation that changes in real time.

이를 위해, 객체 탐지 장치(300)는 안정성과 성능-정확도 trade off 문제에 대한 탐지모듈 선택 기준과 요구사항을 만족하는 탐지모듈을 선택해야 한다. 여기서, 탐지모델 선택 기준과 요구사항은 안정성 보장(Guaranteeing Stability), 성능 최대화(Maximizing performance), 견고성(robustness), 낮은 시간 복잡도(Low time complexity) 등을 포함할 수 있다. To this end, the object detection apparatus 300 should select a detection module that satisfies the detection module selection criteria and requirements for stability and performance-accuracy trade off problem. Here, the detection model selection criteria and requirements may include guaranteeing stability, maximizing performance, robustness , low time complexity, and the like.

안전성 보장(Guaranteeing Stability)은 어떠한 상황에도 시 제약 조건을 위반하지 않도록 시스템의 안정성을 보장하는 탐지모듈을 선택하는 것을 말한다. 따라서, 선택되는 탐지모듈은 시스템의 안정성을 보장할 수 있는 처리속도를 가지는 탐지모듈 중에서 정확도가 가장 높아야 한다. 이때 안정한 상태란 처리율이 입력률보다 높아 버퍼의 길이가 증가하지 않는 상태를 의미한다. 처리율이 입력률(input rate) 보다 낮아져서 버퍼가 소진되는 상태를 '불안정한' 상태, 입력률의 증가나 디바이스의 성능 저하로 인한 처리율의 감소와 같은 불안정 상황을 유발하는 요소를 '불안정 요소'라고 간주한다. 이러한 불안정 상황이 지속될 경우 큐잉 딜레이로 인해 시 제약 조건을 위반하게 될 위험성을 가지게 된다. 따라서, 객체 탐지 장치(300)는 어떠한 상황에도 시 제약 조건을 위반하지 않도록 시스템의 안정성을 보장하는 탐지모듈을 선택할 수 있어야 한다.Guaranteeing Stability means selecting a detection module that ensures the stability of the system so that it does not violate any time constraint under any circumstances. Therefore, the detection module selected should have the highest accuracy among detection modules having a processing speed that can guarantee the stability of the system. At this time, the stable state means that the throughput is higher than the input rate and the length of the buffer does not increase. Factors that cause unstable conditions, such as 'unstable' states that buffers are exhausted due to lower throughput than input rates, and increased throughput or reduced throughput due to poor device performance, are considered 'unstable'. If this instability persists, there is a risk of violating time constraints due to queuing delays. Therefore, the object detecting apparatus 300 should be able to select a detection module that ensures the stability of the system so as not to violate the time constraint under any circumstances.

성능 최대화(Maximizing performance)는 하나의 데이터에 대한 처리시간이 시 제약 조건을 위반하지 않아야 하는 것을 의미한다. 처리율(output rate)이 입력률(input rate)보다 낮지만 않다면 버퍼는 더이상 소진되지 않을 것이며 안정성은 보장된다. 하지만 필요이상으로 처리율이 빠른 탐지모듈을 사용할 경우 그만큼 필요이상으로 성능이 낮은 탐지모듈을 사용한다는 것을 의미하기 때문에 시스템의 시 평균 성능은 낭비된다. 따라서 시스템의 안정성을 유지하는 선에서 목적시스템의 시 평균 성능을 최대로 하는 탐지모듈을 선택해야 한다. 여기서, 시 평균 성능은 '단위시간당 처리된 데이터의 수 * 각 데이터의 처리에 사용된 모델의 정확도'를 의미하며 아래와 같은 수학식 1로 계산된다. Maximizing performance means that the processing time for a single piece of data must not violate time constraints. If the output rate is not lower than the input rate, the buffer will no longer be exhausted and stability is guaranteed. However, if you use a detection module that has a higher throughput than necessary, it means that you use a detection module that has a lower performance than necessary. Therefore, in order to maintain the stability of the system, it is necessary to select a detection module that maximizes the time average performance of the target system. Here, the time average performance means 'the number of processed data per unit time * the accuracy of the model used to process each data' and is calculated by Equation 1 below.

[수학식 1][Equation 1]

Figure pat00006
Figure pat00006

견고성(robustness)은 잘못된 선택이나 노이즈에 대하여 강경한 탐지모듈을 선택하는 것을 의미한다. 즉, 예측 오류 등으로 인하여 시스템이 안정성을 잃었을 경우에도 큐잉 딜레이로 인하여 시 제약 조건이 위반되기 전에 안정성을 회복할 수 있도록 이를 고려하여 탐지모듈을 선택해야 한다. Robustness means choosing a robust detection module against false choices or noise. That is, even if the system loses stability due to a prediction error, the detection module should be selected in consideration of restoring stability before the time constraint is violated due to the queuing delay.

낮은 시간 복잡도(Low time complexity)는 사용하는 탐지모듈 선택 알고리즘 자체의 시간 복잡도가 낮아야 하는 것을 의미한다. Low time complexity means the time complexity of the detection module selection algorithm itself used must be low.

상술한 바와 같이 객체 탐지 장치(300)는 시스템의 안정성을 보장할 수 있는 처리속도를 가지는 후보 탐지모델 중에서 정확도가 가장 높은 탐지모델을 최적 탐지모델로 선택할 수 있다. As described above, the object detecting apparatus 300 may select a detection model having the highest accuracy as the optimum detection model among candidate detection models having a processing speed capable of guaranteeing stability of the system.

한편, 선입 선출 버퍼시스템을 사용하는 경우, 어느 한 시점에서의 실시간 시스템의 시 제약 조건은 버퍼 사이즈의 한계치로 나타낼 수 있다. 예를 들어 10초의 시 제약을 가지며 1초에 1장의 이미지를 처리할 수 있는 시스템의 경우를 살펴보기로 한다. 이 경우, 버퍼가 완전히 비어있을 경우에는 새로 요청된 이미지가 바로 처리될 수 있으므로 전송 딜레이를 무시할 경우 1초만에 처리가 완료된다. 버퍼에 5개의 데이터가 쌓여 있을 경우 새로 요청되는 이미지의 처리는 앞의 5장의 처리가 완료될 때까지 대기해야 하므로, 5초의 큐잉 딜레이(queuing delay)가 발생하게 되어 총 6초의 처리시간이 소요되지만 여전히 시 제약 조건은 만족되고 있다. 하지만 버퍼에 10개의 데이터가 쌓이게 될 경우 처리시간은 11초가 소요되며, 시 제약 조건을 만족시키지 못하게 된다. 따라서 이 시스템에서는 10초의 시 제약을 10개의 버퍼의 한계크기로 나타낼 수 있다. On the other hand, when using a first-in, first-out buffer system, the time constraints of the real-time system at any point in time may be represented by a limit of the buffer size. For example, consider a system that has a time constraint of 10 seconds and can process 1 image per second. In this case, if the buffer is completely empty, the newly requested image can be processed immediately, so if the transmission delay is ignored, the processing is completed in one second. If five data are accumulated in the buffer, processing of newly requested image has to wait until the previous five processes are completed, so it takes 5 seconds of queuing delay and takes 6 seconds of processing time. Still, time constraints are being met. However, if 10 data are accumulated in the buffer, the processing time takes 11 seconds and the time constraint is not satisfied. Thus, in this system, a time constraint of 10 seconds can be represented by the limit size of 10 buffers.

이처럼 시 제약 조건의 문제를 버퍼의 한계크기를 정하고, 버퍼의 크기가 한계크기를 넘지 않도록 하는 버퍼의 안정성의 문제로 생각할 수 있다. 따라서, 객체 탐지 장치(300)는 Lyapunov optimization를 기반으로 최적의 탐지모듈을 선택할 수 있다. As such, the problem of time constraints can be thought of as a buffer stability problem that determines the limit size of the buffer and prevents the buffer size from exceeding the limit size. Therefore, the object detecting apparatus 300 may select an optimal detection module based on Lyapunov optimization.

구체적으로, 객체 탐지 장치(300)는 최적의 탐지모듈을 찾기 위해 라푸노프 최적화를 접목한 알고리즘을 이용하고, 버퍼의 상태 및 목적 함수에 대한 방정식인 라푸노프 드리프트를 최대화하여 다음 객체 탐지에 적용할 최적의 탐지모듈을 찾을 수 있도록 한다. 이를 위해 라푸노프에서 최적화할 버퍼의 상태와 목적 함수 사이의 관계를 다음의 수학식 2와 같이 정의할 수 있다.In detail, the object detecting apparatus 300 uses an algorithm combining Lapunov optimization to find an optimal detection module, and maximizes the Lapunov drift, which is an equation for the state of the buffer and the objective function, to be applied to the next object detection. Find the best detection module. For this purpose, the relationship between the state of the buffer to be optimized in Rapunov and the objective function can be defined as in Equation 2 below.

[수학식 2][Equation 2]

Figure pat00007
Figure pat00007

여기서, V는 목적식의 최소화와 큐의 안정성 간의 중요도를 트레이트 오프(trade-off)로 나타내기 위한 상수이고, O(x)는 시간 t에서 선택한 탐지모듈 x에 따른 최소화하고자 하는 목적식이다. 그리고 Q(t)는 현재 버퍼의 점유 상태, in(x)와 out(x)는 탐지모듈 x에서 입력 데이터와 처리량의 비율이다.Where V is a constant to indicate the trade-off between the minimization of the objective equation and the stability of the queue, and O (x) is the objective equation to be minimized according to the detection module x selected at time t. . Q (t) is the occupied state of the current buffer, and in (x) and out (x) are the ratio of input data and throughput in the detection module x.

한편, 객체 탐지 장치(300)는 버퍼의 상태, 현재 시점(t)의 초당 입력률(input rate) 및 초당 처리율(output rate)에 기초하여, 복수의 탐지모듈 중에서 다음 시점(t+1)의 최적 탐지모듈을 동적으로 선택할 수 있다. 따라서, 객체 탐지 장치(300)는 Lyapunov optimization기법을 적용한 아래 수학식 3을 이용하여 최적 탐지모듈을 선택할 수 있다. Meanwhile, the object detecting apparatus 300 may optimize the next time t + 1 among the plurality of detection modules based on the state of the buffer, the input rate per second at the current time t, and the output rate per second. The detection module can be selected dynamically. Therefore, the object detecting apparatus 300 may select an optimal detection module using Equation 3 below by applying the Lyapunov optimization technique.

[수학식 3][Equation 3]

Figure pat00008
Figure pat00008

여기서, m(t+1)는 다음 시점 (t+1)에 선택될 최적 탐지모듈, t는 현재시점, t+1은 미래의 다음 시점, m은 탐지모듈 집합의 원소, M은 탐지모듈 집합, L은 시 제약 조건(sec),

Figure pat00009
는 Lyapunov drift의 reward term으로 성능에 대한 보상함수, V는 reward term의 가중치 상수,
Figure pat00010
은 탐지모듈 m을 사용할 경우의 기대 정확도,
Figure pat00011
은 시점 t+1에 대한 예상 초당 입력률(input rate),
Figure pat00012
은 탐지모듈 m을 사용할 경우 시점 t+1에 대한 예상 초당 처리율(output rate),
Figure pat00013
는 현재 버퍼의 길이,
Figure pat00014
는 버퍼의 한계 길이,
Figure pat00015
시점 t에 데이터를 처리하는데 소요된 총 시간과 현재 시점 t에서 사용된 최적 탐지모듈 M에 의하여 소요된 시간을 각각 의미,
Figure pat00016
은 탐지모듈 m의 처리시간 계수를 의미할 수 있다. Where m (t + 1) is the optimal detection module to be selected at the next point in time (t + 1), t is the current point in time, t + 1 is the next point in the future, m is an element of the detection module set, and M is a detection module set , L is the time constraint (sec),
Figure pat00009
Is the reward term for Lyapunov drift, and V is the weight constant for reward term,
Figure pat00010
Is the expected accuracy when using detection module m,
Figure pat00011
Is the expected input rate per second for time t + 1,
Figure pat00012
Is the expected output rate per second for time t + 1 when using detection module m,
Figure pat00013
Is the length of the current buffer,
Figure pat00014
Is the limit length of the buffer,
Figure pat00015
Means the total time spent processing data at time t and the time spent by the optimal detection module M used at current time t,
Figure pat00016
May mean a processing time coefficient of the detection module m.

객체 탐지 장치(300)는 수학식 3을 이용하여 다음 시점에 사용될 최적 탐지모듈을 선택할 수 있다. 이때, 한 장의 데이터를 처리하는데 시 제약 조건 L 보다 더 긴 처리시간을 필요로 할 것으로 예상되는 탐지모듈은 사용할 이유가 없으므로,

Figure pat00017
의 조건을 만족하지 않는 탐지모듈 m은 선택 대상에 포함시키지 않는다. 또한 현재 처리중인 데이터의 처리시간과 큐잉 딜레이를 합친 시간이 총 처리시간이기 때문에, Q(t)는 '현재 버퍼의 길이 + 1'로 계산될 수 있다. The object detecting apparatus 300 may select an optimal detection module to be used at a next time point using Equation 3. In this case, there is no reason to use a detection module that is expected to require a processing time longer than the constraint L when processing one piece of data.
Figure pat00017
The detection module m that does not satisfy the condition is not included in the selection. In addition, since the combined processing time of the data currently being processed and the queuing delay are the total processing time, Q (t) may be calculated as 'the current buffer length + 1'.

Figure pat00018
는 Lyapunov drift에서의 reward term의 역할을 하며, 탐지모듈 m을 선택했을 경우의 기대 시 평균 성능을 의미한다. V는 reward term의 가중치 상수로, 시 제약 조건에 따라 달라진다.
Figure pat00019
은 탐지모듈 m을 사용했을 때의 기대 시 평균 성능인 '기대 정확도 * 예상 처리율'을 의미한다.
Figure pat00020
는 탐지모듈 m의 기대 정확도를 의미하며 사전에 미리 계산된 탐지모듈 별 평균 정확도일 수 있다. 시스템의 전체 시 평균 성능은 초당 처리율에 비례하여 높아지지만, 초당 입력율을 넘는 초당 처리율은 의미가 없으므로 둘 중 최소값을 사용하여 계산한다. 수학식 3에서
Figure pat00021
은 Lyapunov drift에서의 penalty term의 역할을 한다. Penalty term은 기능적으로는 불안정 요소 또는 예측오류로 인하여 버퍼의 크기가 증가(또는 소진)했을 경우 그 정도에 비례하여 처리속도가 느린 탐지모듈에 대하여 penalty를 부가함으로써 처리속도에 대한 가중치를 증가시킨다. 이를 통해 처리속도가 더 빠른 탐지모듈을 선택하도록 하고 버퍼의 상태 및 안정성을 회복시킨다. 예상 입력률
Figure pat00022
는 모든 후보 탐지모듈 m에 대하여 동일한 값을 가지는 상수로서 취급할 수 있기 때문에, m(t+1)을 구하는 계산과정에 영향을 미치지 않을 수 있다. 따라서, 수학식 3은 아래 수학식 4와 같이 간소화될 수 있다.
Figure pat00018
Is the reward term for the Lyapunov drift and represents the expected average performance when the detection module m is selected. V is the weight constant for the reward term, depending on the time constraint.
Figure pat00019
`` Expected Accuracy * Estimated Throughput '', which is the expected average performance when using detection module m.
Figure pat00020
Denotes the expected accuracy of the detection module m and may be a previously calculated average accuracy of each detection module. The overall performance of the system is increased in proportion to the throughput per second, but the throughput per second over the input per second is meaningless, so it is calculated using the minimum of the two. In equation (3)
Figure pat00021
Acts as a penalty term in the Lyapunov drift. The penalty term increases the weight for processing speed by adding a penalty to the slower detection module in proportion to the extent of buffer size increase (or exhaustion) due to functional instability or prediction error. This allows you to choose a faster detection module and restore the buffer's state and stability. Expected input rate
Figure pat00022
Since may be treated as a constant having the same value for all candidate detection modules m, it may not affect the calculation process for obtaining m (t + 1). Therefore, Equation 3 may be simplified as shown in Equation 4 below.

[수학식 4][Equation 4]

Figure pat00023
Figure pat00023

결론적으로 객체 탐지 장치(300)는 수학식 4를 이용하여 최적의 객체 탐지모듈을 선택하고, 그 선택된 탐지모듈을 이용하여 객체를 탐지할 수 있다. In conclusion, the object detecting apparatus 300 may select an optimal object detecting module using Equation 4 and detect an object using the selected detecting module.

이러한 객체 탐지 장치(300)는 저장부(310), 로딩부(320), 상태 측정부(330), 탐지모듈 선택부(340), 객체 탐지부(350)를 포함한다.The object detecting apparatus 300 includes a storage 310, a loading unit 320, a state measuring unit 330, a detection module selecting unit 340, and an object detecting unit 350.

저장부(310)에는 객체 탐지(object detection)를 위한 복수의 탐지기법과 복수의 탐지모델이 조합되어 형성된 복수의 탐지모듈, 각 탐지모듈에 대한 정보가 저장된다. 여기서, 탐지모듈에 대한 정보는 각 탐지모듈의 현재 시점(t)에서 초당 입력률, 기대 정확도, 처리시간 계수 등 현재 시점(t)에서의 정보와 미리 설정된 정보를 포함할 수 있다. The storage 310 stores a plurality of detection modules formed by combining a plurality of detection techniques for object detection and a plurality of detection models, and information on each detection module. Here, the information on the detection module may include information at the current time t and preset information, such as an input rate per second, an expected accuracy, and a processing time coefficient at the current time t of each detection module.

로딩부(320)는 버퍼(200)로부터 데이터를 로딩(loading)한다. The loading unit 320 loads data from the buffer 200.

상태 측정부(330)는 객체 탐지가 요청된 경우, 현재 시점(t)에서 버퍼에 적재된 데이터의 양을 의미하는 버퍼(200)의 길이 Q(t)를 측정한다. 현재 처리중인 데이터의 처리시간과 큐잉 딜레이를 합친 시간이 총 처리시간이기 때문에, 상태 측정부는 버퍼의 길이 Q(t)를 (현재 버퍼의 길이 +1)로 계산할 수 있다. When the object detection is requested, the state measuring unit 330 measures the length Q (t) of the buffer 200, which indicates the amount of data loaded into the buffer at the current time t. Since the combined processing time of the data currently being processed and the queuing delay is the total processing time, the state measuring unit may calculate the length Q (t) of the buffer as (the length of the current buffer +1).

탐지모듈 선택부(340)는 기 설정된 탐지모듈 선택 주기, 버퍼의 길이, 현재 시점(t)의 초당 입력률(input rate) 및 초당 처리율(output rate)에 기초하여, 저장부(310)에 저장된 복수의 탐지모듈 중에서 다음 시점(t+1)의 최적 탐지모듈을 동적으로 선택한다. The detection module selector 340 may be configured to include a plurality of detection modules selected in the storage unit 310 based on a preset detection module selection period, a buffer length, an input rate per second and an output rate per second at a current time t. Dynamically selects the optimal detection module at the next time point (t + 1) from the detection modules of.

이러한 탐지모듈 선택부(340)는 도 4에 도시된 바와 같이 처리율 예측부(342), 버퍼 한계길이 산출부(344), 가중치 산출부(346), 최적 탐지모듈 선택부(348)를 포함한다. The detection module selector 340 includes a throughput predictor 342, a buffer limit length calculator 344, a weight calculator 346, and an optimum detection module selector 348 as shown in FIG. 4. .

처리율 예측부(342)는 현재 시점(t)에서 버퍼의 길이 및 초당 입력률에 기초하여 다음 시점(t+1)에 대한 초당 처리율을 예측한다. 즉, 처리율 예측부(342)는 다음 시점의 초당 입력률

Figure pat00024
과 탐지모듈 m에 대한 초당 처리율
Figure pat00025
를 예측한다.The throughput predictor 342 predicts the throughput per second for the next time t + 1 based on the length of the buffer at the current time t and the input rate per second. That is, the throughput predicting unit 342 inputs the input rate per second at the next time point.
Figure pat00024
Throughput per second for detection module m
Figure pat00025
Predict.

정적인 모델 선택 기법을 사용할 경우 시스템 동작 기간 전체에서의 변화를 예측해야 하며, 예측 오차에 대하여 강경하지 않기 때문에 예측이 정교해야 한다. 이에 비하여 본 발명에서는 다음 시점의 탐지모듈 선택시에 시스템 동작 기간의 변화에 따른 불안정상황이 같이 고려되기 때문에 예측 오차가 발생하더라도 시 평균 성능면에서 약간의 패널티가 발생할 뿐, 안정성은 여전히 보장되므로 예측 오차에 강경하다. 이러한 이점으로 인하여 Input rate/ Output rate의 예측 문제를 상대적으로 간단한 이전 시점 t의 결과를 측정하는 문제로 단순화시킬 수 있으며 많은 정도의 시간 복잡도를 줄일 수 있다.Using static model selection techniques requires predicting changes over the lifetime of the system, and the predictions must be sophisticated because they are not hardened against prediction errors. In contrast, in the present invention, when selecting a detection module at the next point of time, the instability due to the change of the operation period of the system is considered together, so even if a prediction error occurs, only a slight penalty in terms of time average performance occurs, and stability is still guaranteed. It is hard to error. This advantage simplifies the problem of predicting the input rate / output rate to a relatively simple measure of the result of the previous time point t, and reduces the amount of time complexity.

본 발명은 불안정 상황이 발생하는 순간에는 시스템의 상태가 크게 변하지만, 어느정도 변화를 마친 이후에는 그 변화폭이 작으며 이는 탐지모듈 선택 주기가 짧을수록 다음 시점의 상태가 이전 시점의 상태에 수렴하기 때문에 바로 이전 시점인 t에서의 측정 결과를 t+1 시점의 예측 값으로 어느정도 사용할 수 있다는 것이다. 실제로 초당 입력률의 경우에는 시스템의 성능변화로 인한 불안정보다는 영상 획득 장치(Data Acquirer)의 추가와 같은 외적인 이유에 기인하기 때문에 변화가 이산적으로 발생한다. 따라서 이전 시점 t동안 측정된 입력률을 그대로 t+1 시점의 초당 입력률의 예측 값으로 사용할 수 있다. t+1 시점의 탐지모듈 별 초당 처리율을 예측하는 것도 마찬가지로 t시점에서의 처리율을 그대로 사용한다. 하지만 모든 후보 탐지모듈에 대한 t시점의 처리율 측정 값을 필요로 함에도 불구하고, 실제로 측정 가능한 것은 t시점에 선택되어 사용된 단 하나의 탐지모듈에 대한 처리율 뿐이라는 문제가 있다. 예를 들어 9개의 후보 탐지모듈이 있는 경우 모든 후보 탐지모듈에 대한 처리율을 측정하기 위해서는 적어도 가장 처리속도가 빠른 탐지모듈을 사용했을 때의 9배 이상의 처리 시간을 필요로 하며 이는 처리시간이 중요한 실시간 시스템의 특성상 불가능한 작업이다. 때문에 이전 시점에 최적 탐지모듈로 사용되었던 탐지모듈의 측정 처리시간 값을 바탕으로 계산된 t시점에 다른 탐지모듈을 사용했을 경우 얼마나 처리시간이 소요됐는지를 시뮬레이팅 하는 방법을 사용한다. 이를 위한 가장 확실한 방법은 각 모델의 초당 처리율을 시스템의 수많은 상황에 따라 미리 계산해 두는 것이지만 이는 현실적이지 못한 작업이다. In the present invention, the state of the system changes greatly at the moment of instability, but after a certain change, the change range is small, because the shorter the detection module selection cycle, the more the state of the next time converges to the state of the previous time. The result of the measurement at t, the previous point in time, can be used to some extent as a predicted value at time t + 1. In fact, the input rate per second is caused by external reasons such as the addition of a data acquisition device rather than instability due to changes in system performance. Therefore, the input rate measured during the previous time point t can be used as a predicted value of the input rate per second at the time t + 1. Similarly, the prediction rate per second for each detection module at t + 1 is used as it is. However, despite requiring the throughput measurement value at time t for all candidate detection modules, there is a problem that the only measurable throughput is the throughput for only one detection module selected and used at time t. For example, if there are nine candidate detection modules, measuring the throughput of all candidate detection modules requires at least nine times as much processing time as using the fastest detection module. This is impossible due to the nature of the system. Therefore, we use the method of simulating how much processing time was spent when another detection module was used at time t calculated based on the measurement processing time value of the detection module that was used as the optimum detection module at the previous time. The most obvious way to do this is to precompute the throughput per second for each model based on a number of situations in the system, but this is not practical.

따라서, 시스템 동작 전에 탐지모듈 별 처리시간의 값을 계산해두는 것 대신에 처리시간의 비율을 계산해 두고, 아래 수학식 5를 이용하여 t시점에서 다른 후보 탐지모듈을 사용하였을 때 얼마의 처리시간이 소요되었을지 예측할 수 있다. Therefore, instead of calculating the processing time value of each detection module before the system operation, the processing time ratio is calculated and some processing time is required when another candidate detection module is used at time t using Equation 5 below. It can be predicted.

[수학식 5][Equation 5]

Figure pat00026
Figure pat00026

여기서, Ptotal(t)는 t 시점에 측정된 총 처리시간,

Figure pat00027
은 이전 시점 t에서 최적으로 선택된 탐지모듈 M에 의하여 소요된 시간, fm은 후보 탐지모듈의 처리시간 계수, fM은 시점 t에 선택된 최적 탐지모듈 M의 처리시간 계수를 의미한다. 처리시간 계수는 사전에 미리 계산된 탐지모듈 별 처리시간을 기준 탐지모듈의 처리시간으로 나눈 비율을 의미한다. Where P total (t) is the total processing time measured at time t,
Figure pat00027
Is the time spent by the detection module M optimally selected at the previous time t, fm is the processing time coefficient of the candidate detection module, and f M is the processing time coefficient of the optimal detection module M selected at the time t. The processing time coefficient refers to a ratio obtained by dividing the processing time for each detection module previously calculated by the processing time of the reference detection module.

이러한 방법으로 탐지모듈 별 처리율(Output rate)를 예측하기 위해서는 이들의 비율이 시스템의 상태 변화에도 어느 정도 일정한 비율을 유지해야 한다는 전제가 있어야 한다.In order to predict the output rate for each detection module in this way, there must be a premise that their ratio must be maintained at a certain rate even as the system changes.

버퍼 한계길이 산출부(344)는 처리율 예측부(342)에서 예측된 초당 처리율과 시 제약조건에 기초하여 버퍼의 한계길이를 산출한다. The buffer limit length calculator 344 calculates the limit length of the buffer based on the throughput per second and the time constraints predicted by the throughput predictor 342.

버퍼의 한계길이 Qmax는 시스템의 시 제약 조건을 대표하며 아래 수학식 6을 이용하여 산출할 수 있다. The limit length Qmax of the buffer represents a time constraint of the system and can be calculated using Equation 6 below.

[수학식 6][Equation 6]

Qmax = L / (1/

Figure pat00028
)Qmax = L / (1 /
Figure pat00028
)

예를 들어, 10초의 시 제약 조건을 가지며 (1/

Figure pat00029
)가 5인 탐지모듈의 경우 Qmax는 50이 된다. 이처럼 Qmax는 탐지모듈의 처리속도에 따라 결정되는데, 시스템의 성능이 동적으로 변하기 때문에 Qmax 역시 이에 맞추어 탐지모듈 선택 주기마다 새롭게 계산해야 한다. For example, you have a 10 second time constraint (1 /
Figure pat00029
For a detection module with 5), Qmax is 50. As such, Qmax is determined by the processing speed of the detection module. Since the performance of the system changes dynamically, Qmax must be newly calculated at every detection module selection cycle accordingly.

한편, 예측의 문제를 단순화하여 발생하는 측정 오차의 문제를 탐지모듈 선택 주기를 줄이는 것을 통하여 보정하기 때문에, 너무 긴 탐지모듈 선택 주기를 사용하는 것은 최적성능과 멀어질 위험이 있다. 따라서 탐지모듈 선택 주기가 짧을수록 기대할 수 있는 성능은 최적치에 가까워질 것이다. 하지만 시스템에 따라서는 전체 시스템에 사용될 탐지모듈을 변경하는데 가해지는 부하가 클수도 있는데, 이러한 경우에는 탐지모듈 선택주기가 너무 짧을 경우, 비록 탐지모듈 선택 알고리즘 자체의 시간 복잡도는 낮더라도 탐지모듈 변경 오버헤드와 같은 실제 구현상의 문제가 발생할 수 있으며 탐지모듈 사용의 일관성이 저하될 수 있다. 때문에 이를 고려하여 시스템의 성격에 맞추어 절충해야 한다.On the other hand, since the problem of measurement error caused by simplifying the prediction problem is corrected by reducing the detection module selection period, using a detection module selection period that is too long may run away from optimal performance. Therefore, the shorter the detection module selection cycle, the closer the expected performance will be. However, depending on the system, the load on changing the detection module to be used for the entire system may be high. In this case, if the detection module selection cycle is too short, even if the detection module selection algorithm itself has a low time complexity, the detection module change over. Actual implementation issues such as heads can occur and the consistency of detection module usage can be compromised. Therefore, it must be taken into account in consideration of the nature of the system.

또한, 탐지모듈 선택 주기가 너무 길 경우, 순간적으로 시스템이 극심하게 불안정해져서 다음 선택 주기에서 새로운 탐지모듈을 선택하기도 전에 시스템의 시 제약 조건이 위반될 수도 있기 때문에, 탐지모듈 선택 주기뿐만 아니라 버퍼의 상태가 심하게 변화했을 경우에도 탐지모듈 선택을 할 수 있다. 예를 들어 버퍼의 한계길이의 50%가 갑자기 소진되었을 경우, 탐지모듈 선택 주기와 상관없이 탐지모듈 선택이 행해지게 할 수 있다.Also, if the detection module selection cycle is too long, the system may become extremely unstable at the moment and the system's time constraints may be violated before selecting a new detection module in the next selection cycle. The detection module can be selected even if the state has changed significantly. For example, if 50% of the limit length of the buffer is suddenly exhausted, detection module selection can be made regardless of the detection module selection cycle.

가중치 산출부(346)는 초당 처리율과 버퍼의 한계길이에 기초하여 보상 가중치(reward term weight constant)를 산출한다. 보상 가중치 V는 reward를 penalty에 비하여 얼마나 더 또는 덜 고려할 것인지를 조절하는 가중치 상수이다. V가 크다면 상대적으로 penalty term의 중요성은 낮아지기 때문에 버퍼의 소진, 즉 딜레이의 발생에 둔감해지며, 반대로 V가 작다면 penalty term의 중요성이 커지므로 딜레이에 예민해진다. 따라서 시 제약 조건이 빠듯할수록, 즉 time limit가 낮을수록 버퍼의 한계길이도 그만큼 줄어들기 때문에 V를 낮게 설정해야 한다. 이는 V가 버퍼의 한계길이를 결정짓는 기능을 한다는 것을 의미한다. Penalty term에 의하여 버퍼가 소진됨에 따라 점점 더 처리속도가 빠른 탐지모듈이 선택될 것이며 버퍼의 안정성을 보장하는 것은 버퍼가 한계길이에 도달하기 이전에 후보 탐지모듈 중 가장 처리율이 높은 탐지모듈을 선택하게끔 하는 것과 같은 의미를 가진다. 그러므로 V는 모든 후보 탐지모듈 m에 대하여 아래 수학식 7을 만족하도록 설정하면 된다. The weight calculator 346 calculates a reward term weight constant based on the throughput per second and the limit length of the buffer. The reward weight V is a weight constant that controls how much more or less reward will be considered compared to the penalty. If V is large, the penalty term becomes less important, and therefore, the buffer term is insensitive to exhaustion, or delay. On the contrary, if V is small, the penalty term is important and therefore sensitive to delay. Therefore, the tighter the time constraint, that is, the lower the time limit, the shorter the limit length of the buffer. This means that V has a function of determining the limit length of the buffer. As the buffer is exhausted by the penalty term, detection modules with faster processing speed will be selected, and ensuring the stability of the buffer will ensure that the highest throughput detection module is selected before the buffer reaches its limit length. Has the same meaning as Therefore, V may be set to satisfy Equation 7 for all candidate detection modules m.

[수학식 7][Equation 7]

Figure pat00030
Figure pat00030

여기서,

Figure pat00031
Figure pat00032
는 각각 처리율순으로 오름차순 정렬했을 때, 처리율이 가장 높은 탐지모듈을 사용했을 경우의 정확도와 처리율을 의미한다.here,
Figure pat00031
Wow
Figure pat00032
Is the accuracy and throughput when the detection module with the highest throughput is used when sorted in ascending order.

수학식 7을 만족하면서 V가 클수록 더 큰 딜레이를 용납하게 되므로 버퍼의 가용 효율은 증가하게 된다. 하지만 그만큼 시 제약 조건도 딱 맞추어 보장하게 된다. 이상적인 상황에서라면 V가 클수록 좋겠지만, 실제로는 input, output rate의 측정오차나 처리율이 가장 높은 탐지모듈로도 감당할 수 없을 정도의 순간적인 극심한 성능저하 등의 불안정 상황이 존재할 수 있으므로, 최대치의 50~70%정도의 값으로 설정하는 것이 안정성 보장에 도움이 될 수 있다. 이는 시스템이 주어진 time limit보다 더 낮은 time limit를 가진다고 생각하는 것 같은 기능을 하기 때문에, 이상적인 경우의 시 평균 성능보다 조금 더 낮아질 수는 있지만 이로 인해 낭비되는 구간은 발생 빈도가 매우 적은 극심한 성능저하가 발생 할때뿐이므로 큰 차이는 나타나지 않는다.Satisfying equation (7), the larger the V is tolerate a larger delay, so the available efficiency of the buffer increases. However, the time constraints are just as guaranteed. Under ideal circumstances, the larger the V, the better, but in practice there may be unstable conditions such as measurement errors in input and output rates or extreme performance degradation that cannot be handled by even the highest detection modules. Setting it to a value of ~ 70% can help to ensure stability. This acts as if the system thinks that it has a lower time limit than the given time limit, so it can be slightly lower than the average time performance in the ideal case, but the wasteful intervals are extremely low. It's only when it happens so there's no big difference.

각 탐지모듈별로 초당 처리율, 버퍼의 한계길이 및 보상 가중치가 산출되면, 최적 탐지모듈 선택부(348)는 각 탐지모듈별로 산출된 초당 처리율, 버퍼의 한계길이 및 보상 가중치에 기초하여, 복수의 탐지모듈 중에서 다음 시점(t+1)의 최적 탐지모듈을 동적으로 선택한다. 즉, 최적 탐지모듈 선택부(348)는 수학식 4를 이용하여 다음 시점의 최적 탐지모듈을 동적으로 선택할 수 있다. When the throughput per second, the limit length of the buffer, and the compensation weight are calculated for each detection module, the optimum detection module selector 348 determines a plurality of detections based on the throughput per second, the limit length of the buffer, and the compensation weight calculated for each detection module. Among the modules, the optimal detection module at the next time point (t + 1) is dynamically selected. That is, the optimum detection module selection unit 348 may dynamically select an optimal detection module at a next time point using Equation 4.

상기와 같이 구성된 객체 탐지 장치(300)가 최적 탐지모듈을 선택하는 수도 알고리즘은 도 6과 같을 수 있다. 수도 알고리즘에서

Figure pat00033
은 버퍼의 길이가 Q이고 탐지모듈 m을 사용했을 때의 Lyapunov drift식의 계산 값을 의미하고, 아래 수학식 8과 같이 표현할 수 있다. The algorithm for selecting the optimum detection module by the object detecting apparatus 300 configured as described above may be as shown in FIG. 6. In the capital algorithm
Figure pat00033
Is the calculated value of the Lyapunov drift equation when the buffer length is Q and the detection module m is used, and can be expressed as Equation 8 below.

[수학식 8][Equation 8]

Figure pat00034
Figure pat00034

상기와 같이 구성된 객체 탐지 장치(300)는 input rate의 증가나 장치의 성능저하와 같은 시 제약 조건을 위협하는 불안정 상황이 발생한 경우는 물론, 불안정 상황이 발생하지 않은 경우에도 실시간으로 변화하는 상황에 따라 객체 검출을 위한 탐지모델을 동적으로 선택함으로써, 시스템의 안정성을 유지하면서 시 평균 성능을 최대로 할 수 있다. The object detecting apparatus 300 configured as described above may change in real time even when an instability situation that threatens time constraints such as an increase in an input rate or a decrease in performance of the device occurs, as well as when an instability situation does not occur. Therefore, by dynamically selecting the detection model for object detection, it is possible to maximize the time average performance while maintaining the stability of the system.

한편, 도 1에서는 영상 획득 장치(100), 버퍼(200), 객체 탐지 장치(300)를 별개의 장치로 구현하였으나, 이들은 하나의 장치로 구현할 수도 있다. In FIG. 1, the image capturing apparatus 100, the buffer 200, and the object detecting apparatus 300 are implemented as separate apparatuses, but they may be implemented as a single apparatus.

도 5는 본 발명의 일 실시예에 따른 동적 최적 탐지모듈 선택 방법을 나타낸 흐름도이다. 5 is a flowchart illustrating a method of selecting a dynamic optimal detection module according to an embodiment of the present invention.

도 5를 참조하면, 객체 탐지 장치는 객체 탐지가 요청된 경우, 현재 시점(t)에서 버퍼에 적재된 데이터의 양을 의미하는 버퍼의 길이를 측정한다(S510).Referring to FIG. 5, when an object detection is requested, the object detecting apparatus measures a length of a buffer representing an amount of data loaded into the buffer at the current time t (S510).

그런 후, 객체 탐지 장치는 기 설정된 탐지모듈 선택 주기, 버퍼의 길이, 현재 시점(t)의 초당 입력률(input rate) 및 초당 처리율(output rate)에 기초하여, 복수의 탐지모듈 중에서 다음 시점(t+1)의 최적 탐지모듈을 동적으로 선택한다(S520). 즉, 객체 탐지 장치는 시 제약 조건을 만족하는 탐지모듈들을 선택한다. 그런 후, 객체 탐지 장치는 선택된 각 탐지모듈의 다음 시점 t+1에 대한 예상 초당 처리율

Figure pat00035
및 기대 정확도
Figure pat00036
, 현재 버퍼의 길이
Figure pat00037
, reward term의 가중치 V를 이용한 수학식 4의 값을 각 탐지모듈별로 산출하고, 산출된 값이 최대가 되는 탐지모듈을 최적 탐지모듈로 선택할 수 있다. Then, the object detecting apparatus is based on a preset detection module selection period, a buffer length, an input rate per second of the current time t, and an output rate per second, and then a next time point t of the plurality of detection modules. The optimal detection module of +1) is dynamically selected (S520). That is, the object detecting apparatus selects detection modules satisfying the time constraint. Then, the object detecting apparatus estimates the throughput per second for the next time point t + 1 of each selected detection module.
Figure pat00035
And expected accuracy
Figure pat00036
The length of the current buffer
Figure pat00037
For example, the value of Equation 4 using the weight V of the reward term may be calculated for each detection module, and a detection module having the maximum calculated value may be selected as an optimal detection module.

그런 후, 객체 탐지 장치는 최적 탐지모듈을 이용하여 로딩된 데이터에서 객체를 탐지한다(S530).Thereafter, the object detecting apparatus detects the object from the loaded data by using the optimum detecting module (S530).

도 7 내지 도 11은 본 발명의 일 실시예에 따른 동적 최적 탐지모듈 선택 방법의 성능을 실험 결과로 설명하기 위한 도면이다. 7 to 11 are diagrams for explaining the performance of the dynamic optimal detection module selection method according to an embodiment of the present invention as an experimental result.

실험 기반의 성능 평가를 위해 Tensorflow real-time object detection framework API인 COCO object detection Dataset를 활용하였고, 도 6과 같은 동적 탐지모듈 적응 알고리즘을 추가하였다. 또한, 불안정상황을 재현하기 위하여 시간에 따라 input rate를 변화시키고, GPU에 stress를 주는 방식으로 시나리오를 설정하였다. 표 1은 시나리오의 구체적인 설정을 나타내고, 도 7은 이를 시각화 한 시간에 따른 변화의 그래프이다. The COCO object detection dataset, which is a Tensorflow real-time object detection framework API, was used for experiment-based performance evaluation, and the dynamic detection module adaptation algorithm of FIG. 6 was added. Also, in order to reproduce the instability, the scenario was set up by changing the input rate with time and stressing the GPU. Table 1 shows the specific settings of the scenario, and FIG. 7 is a graph of the change over time by visualizing it.

[표 1]TABLE 1

Figure pat00038
Figure pat00038

표 1의 시나리오에서 각 구간들이 나타내는 상황적 의미는 다음과 같다: The contextual meaning of each interval in the scenario of Table 1 is as follows:

0~20초 구간은 불안정 상황이 발생하지 않는 정상 상태를 나타낸다. 20~40초 구간에서는 input rate가 5에서 13으로 급증하는 심한 정도의 불안정 상황을 나타낸다. 40~60초 구간에서는 input rate가 다시 2로 급감하며 시스템이 매우 여유로운 상태를 나타낸다. 60~80초 구간에서는 다시 input rate가 8로 증가하여 약간의 불안정요소가 발생한 상황을 나타낸다. 0~80초 구간이 Input rate에 의한 불안정 상황을 시뮬레이팅 하였다면 이후의 구간에서는 GPU stress로 재현되는 디바이스의 성능 변화에 의한 불안정 상황을 시뮬레이팅 한다. 80~100초 구간에는 모종의 이유로 순간적으로 디바이스에 성능저하가 발생한 경우를 나타낸다. 100~120초 구간에서는 디바이스가 성능저하에서 회복되어 정상 상태로 돌아온 상황을 나타낸다. 이후의 구간은 다시 디바이스가 정상상태로 회복된 경우를 나타낸다. A 0 to 20 second interval represents the normal state where no instability occurs. In the 20 to 40 second period, there is a severe instability situation where the input rate increases from 5 to 13. In the 40-60 second period, the input rate drops back to 2, indicating a very relaxed system. In the 60 to 80 seconds, the input rate is increased to 8 again, indicating a situation where some instability occurs. If the 0 ~ 80 second interval simulates the instability due to the input rate, the subsequent interval simulates the instability caused by the performance change of the device, which is reproduced by GPU stress. In the 80 to 100 seconds, the device is temporarily deteriorated due to some reason. In the 100 ~ 120 second period, the device recovers from the degradation and returns to the normal state. Subsequent intervals show a case where the device is restored to a normal state again.

실험에 사용할 후보 탐지모듈로는 표 2와 같이 Tensorflow API에서 제공하는 탐지모듈을 사용한다. 이때 편의상 탐지모듈들을 처리율의 오름차순으로 정렬하고 탐지모듈1~탐지모듈5라고 부르도록 한다. Candidate detection module to be used for experiment is Tensorflow as shown in Table 2. Use the detection module provided by API . At this time, the detection modules are sorted in ascending order of throughput and called detection modules 1 to 5.

[표 2]TABLE 2

Figure pat00039
Figure pat00039

동적 선택과의 비교에 사용할 정적 모델선택 기법으로는 안정성만을 고려하여 처리 속도가 가장 빠른 '[탐지모듈 5] ssd _ mobilenet _ v1' 만을 사용하는 static fast 와 반대로 정확도는 높지만 처리시간이 느린 '[탐지모듈 3] faster_rcnn_inception_v2'만을 사용하는 static slow 을 고려하였다. static opt는 최적에 대한 기준을 제시하기 위해 모든 시나리오와 시스템의 성능 변화를 완벽하게 예측한 이상적인 경우를 시뮬레이팅 하며, 본 실험에의 시나리오에서는 [탐지모듈 4] ssd_inception_v2 가 가장 이상적인 최적에 가까웠다. 본 발명에서 제안된 동적 탐지모듈 선택기법은 0.5초의 시간제약을 가지는 시스템에서의 경우와 이보다 더 hard한 0.3초의 시간제약을 가지는 시스템의 경우를 비교하였다.A static model selection techniques to be used for comparisons with dynamic selection is the fastest, taking into account only the stability of the processing speed, Detect module 5] ssd _ mobilenet _ v1 ' static fast as opposed accuracy using only are high but slower processing time' [ Detection module 3] Consider static slow using only faster_rcnn_inception_v2 ' . The static opt simulates the ideal case of perfectly predicting the performance change of all scenarios and systems in order to provide a criterion for optimality. In this scenario, [detection module 4] ssd_inception_v2 is the most ideal. The dynamic detection module selection method proposed in the present invention compares the case of a system with a 0.5 second time constraint with that of a system with a harder 0.3 second time constraint.

도 8은 시나리오의 진행에 따라 각 비교대상을 사용하는 경우에 선택되는 모델의 변화를 나타낸다. x축은 각 데이터가 처리되었을 때의 time stamp를 의미하며 y축은 해당 데이터의 처리에 사용된 모델을 의미한다. 이때 탐지모듈은 원점에서 가까울수록 처리시간이 느리고 정확도가 높다. 정적 모델선택 기법을 사용하는 경우에는 각각 처음 선택된 모델에서 변화하지 않을 것이며 동적으로 모델을 선택하는 경우에는 각 시점의 시스템의 상황에 맞는 최적의 모델을 선택할 것이다. 8 illustrates a change in a model selected when each comparison object is used as the scenario progresses. The x-axis represents the time stamp when each data is processed, and the y-axis represents the model used to process the data. In this case, the closer the detection module is to the origin, the slower the processing time and the higher the accuracy. In the case of using the static model selection method, each model will not change from the first selected model. If the model is selected dynamically, it will select the optimal model for the situation of the system at each point in time.

도 9는 시나리오 진행에 따른 시스템의 안정성을 나타낸다. 시스템의 안정성은 데이터가 요청되고부터 처리되기까지 걸리는 시간을 의미하는 delay의 변화로 표현한다. 점선은 각각 0.6초와 0.3초의 시 제약 조건을 나타내며 Delay가 이보다 높아지게 된다면 해당 시 제약 조건을 위반하게 되는 것이므로 안정성이 보장되지 못하였음을 의미한다. 9 shows the stability of the system as the scenario progresses. The stability of a system is represented by a change in delay, which is the time it takes for data to be requested and processed. The dotted lines represent the time constraints of 0.6 and 0.3 seconds, respectively, and if the delay is higher than this, it means that the constraint is violated at that time, which means that stability is not guaranteed.

도 10은 시나리오 진행에 따른 시스템의 시 평균 성능의 변화를 나타낸다. 시 평균 성능은 '각 데이터의 처리에 사용된 모델의 mAP의 총 합 / 총 진행 경과 시간'으로 계산된다. 예를 들어 10초동안 mAP 30의 모델을 사용하여 10장의 이미지를 mAP 50의 모델을 사용하여 3장의 이미지를 처리하였다면 '(30*10 + 50 *3) / 10 = 45'의 시 평균 성능을 가지게 된다. 이때 mAP는 object detection분야에서 여러가지 요소에 대하여 종합적으로 고려하여 정확도를 측정하는데 널리 사용되는 평가방식인 AP의 평균값을 의미하며, 따라서 모델의 detection 성능을 의미한다. 본 발명에서 mAP를 측정하는 것은 별개의 문제이기 때문에 실험에서는 이를 시스템 동작 중에 새로 측정하지않고, 사전에 측정되어있는 bench mark를 모델에 매핑하여 사용하였다.10 illustrates a change in time average performance of the system as the scenario progresses. The hourly average performance is calculated as 'total sum of total mAP of the model used for processing each data / total elapsed time'. For example, if 10 images were processed using a model of mAP 30 for 10 seconds and 3 images were processed using a model of mAP 50, the time average performance of ((30 * 10 + 50 * 3) / 10 = 45 ' To have. In this case, the mAP means the average value of the AP, which is a widely used evaluation method for measuring accuracy by comprehensively considering various factors in the object detection field, and thus, the detection performance of the model. In the present invention, since measuring mAP is a separate problem, the experiment did not newly measure it during system operation, and used a bench mark measured in advance to map the model.

또한, 도 9의 빨간색 실선의 경우와 같이 static fast model의 경우에는 처리속도를 우선시한 만큼, 시나리오의 불안정한 요소에도 딜레이가 거의 발생하지 않아 전체적으로 안정적인 모습을 보였다. 하지만 도 10의 빨간색 실선의 경우와 같이 시스템의 성능저하가 발생하지 않거나 input rate가 높지 않은 구간 (0~20, 40~60, 140~180)의 경우에는 필요이상으로 처리속도가 빠른 만큼 성능이 낭비되어 전체적으로 시 평균 성능은 낮은 모습을 보였다. 이와 반대로 보라색으로 나타나는 정확도를 우선시 한 static slow의 경우에는 비록 정확도는 높지만 안정성이 낮아 첫번째 불안정상황이 발생하는 20초 이후의 구간부터 딜레이가 매우 크게 발생하는 것을 볼 수 있다. 또한, 시 제약 조건을 무시하더라도 총 처리한 데이터의 수가 감소하기 때문에 높은 정확도가 반드시 높은 시 평균 성능을 의미하는 것은 아니라는 것을 확인할 수 있다. 초록색 선으로 나타나는 시 평균 성능을 고려한 이상적 최적모델 static opt의 경우 static fast model에 비하여 약 30~40% 가량 높은 시 평균 성능을 보였으며 전체적으로 0.6초의 시 제약 조건을 만족하고 있는 모습을 보였다. 하지만 구간 (20~40)에서 확인할 수 있는 바와 같이, 시 제약 조건이 더 빠듯해져 0.3초로 변경되는 경우 static opt는 시스템의 안정성을 보장하지 못하여 최적이라 할 수 없게 된다.In addition, in the case of the static fast model, as shown in the red solid line of FIG. 9, since the processing speed was given priority, almost no delay occurred even in the unstable elements of the scenario, and thus, the overall stability was shown. However, in the case where the performance degradation of the system does not occur or the input rate is not high (0-20, 40-60, 140-180) as in the red solid line of FIG. 10, the performance is faster than necessary. Overall, the city's average performance was wasted. On the contrary, in the case of static slow, which gives priority to the purple color accuracy, the delay occurs very much from 20 seconds after the first instability situation, although the accuracy is high but the stability is low. In addition, it can be confirmed that high accuracy does not necessarily mean high time average performance because the total number of processed data is reduced even if the time constraint is ignored. The ideal optimal model considering the average time performance shown by green line shows the average time performance of about 30 ~ 40% higher than the static fast model and satisfies the 0.6 second time constraint. However, as can be seen in the interval 20 to 40, when the time constraint becomes more rapid and changes to 0.3 seconds, the static opt cannot guarantee the stability of the system and thus cannot be optimal.

이에 비하여 dynamic model adaptation을 사용한 경우에는 부하가 심한 구간에서도 이에 맞는 모델을 선택함으로써 안정성을 유지하고 이상적인 static selection 기법의 시 평균 성능과 거의 유사한 성능을 보였다. 이론상으로 최적모델을 선택함에도 불구하고 static opt보다 더 낮은 시 평균 성능을 나타내는 것은, 제안된 기법은 가능한 불안정한 상태 자체를 피하기 때문에 처리율이 약간이라도 입력률보다 낮을 것으로 예상되는 모델은 선택에 고려하지 않기 때문이다. 이는 모델이 다양해지거나 선택 주기가 짧아질수록 이론상 최적에 가까워질 수 있다. 특히 static opt를 사용시에는 비록 위의 시나리오상에서는 미처 시 제약 조건을 위반하기 전에 불안정 상황이 해소되었지만, 불안정 상황이 더 길게 지속될 경우 위반할 잠재적 가능성을 가지고 있다는 문제점이 존재한다.On the other hand, in case of using dynamic model adaptation, the stability was maintained by selecting the appropriate model even in the heavy load section, and the performance was almost similar to the average performance of the ideal static selection method. Theoretically, even though the optimal model is chosen, it shows lower time-average performance than static opt, because the proposed technique avoids possible instability itself, and does not consider models that are expected to be lower than the input rate even if the throughput is slightly lower. to be. This can be near theoretically optimal as the model is diversified or the selection cycle is shorter. In particular, when using static opt, although the instability is resolved before the constraint is violated in the above scenario, there is a problem that there is a possibility of violating if the instability persists longer.

0.3초의 time constraint를 가지는 경우 40~60초의 구간에서의 결과와 같이 같은 불안정 상황에서도 더 hard한 time constraint에 맞추기 위하여 더 빠른 모델을 선택하게 된다. 비록 시 평균 성능은 구별하기 힘들 정도로 미미하게 낮아지기는 하지만 여전히 안정성을 유지하는 모습을 확인할 수 있다. 이러한 실험결과들을 통하여 본 발명은 다양한 조건하에서 실제 application에 적용하였을 때도 시스템의 안정성을 보장하면서도 시 평균 성능을 최적화 시키는데 유용함을 확인할 수 있다.
If you have a 0.3 second time constraint, you will choose a faster model to fit a harder time constraint even under the same instability, as in the 40-60 second interval. Although the average performance of the city is slightly indistinguishable, we can see that it is still stable. These experimental results show that the present invention is useful for optimizing the time-average performance while ensuring the stability of the system even when applied to actual applications under various conditions.

한편, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.On the other hand, embodiments of the present invention may be implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Examples of program instructions such as magneto-optical, ROM, RAM, flash memory, etc. may be executed by a computer using an interpreter as well as machine code such as produced by a compiler. Contains high-level language codes. The hardware device described above may be configured to operate as one or more software modules to perform the operations of one embodiment of the present invention, and vice versa.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the appended claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

100: 영상 획득 장치
200 : 버퍼
300 : 객체 탐지 장치
310 : 저장부
320 : 로딩부
330 : 상태 측정부
340 : 탐지모듈 선택부
342 : 처리율 예측부
344 : 버퍼 한계길이 산출부
346 : 가중치 산출부
348 : 최적 탐지모듈 선택부
350 : 객체 탐지부
100: image acquisition device
200: buffer
300: object detection device
310: storage unit
320: loading unit
330: state measuring unit
340: detection module selection unit
342: throughput prediction unit
344: buffer limit length calculation unit
346: weight calculation unit
348: Optimal detection module selection unit
350: object detector

Claims (6)

객체 탐지(object detection)를 위한 복수의 탐지기법과 복수의 탐지모델이 조합되어 형성된 복수의 탐지모듈, 각 탐지모듈에 대한 정보가 저장된 저장부;
객체 탐지가 요청된 경우, 현재 시점(t)에서 버퍼에 적재된 데이터의 양을 의미하는 버퍼의 길이를 측정하는 상태 측정부;
기 설정된 탐지모듈 선택 주기, 상기 버퍼의 길이, 각 탐지모듈의 현재 시점(t)의 초당 입력률(input rate) 및 초당 처리율(output rate)에 기초하여, 상기 복수의 탐지모듈 중에서 다음 시점(t+1)의 최적 탐지모듈을 동적으로 선택하는 탐지모듈 선택부; 및
상기 최적 탐지모듈에 기초하여 데이터에서 객체를 탐지하는 객체 탐지부
를 포함하는, 동적 탐지모듈 선택을 위한 객체 탐지 장치.
A plurality of detection modules formed by combining a plurality of detection techniques for object detection and a plurality of detection models, and a storage unit for storing information on each detection module;
When the object detection is requested, the state measuring unit for measuring the length of the buffer means the amount of data loaded into the buffer at the current time (t);
Based on a preset detection module selection period, a length of the buffer, an input rate per second and an output rate per second of a current time t of each detection module, a next time point t + among the plurality of detection modules Detection module selection unit for dynamically selecting the optimal detection module of 1); And
An object detector for detecting an object from data based on the optimum detection module
Including, the object detecting apparatus for selecting a dynamic detection module.
제1항에 있어서,
상기 저장부에는 각 탐지모듈의 현재 시점(t)에서 초당 입력률, 기대 정확도, 처리시간 계수 중 적어도 하나를 포함하는 각 탐지모듈에 대한 정보가 저장된 것을 특징으로 하는 동적 탐지모듈 선택을 위한 객체 탐지 장치.
The method of claim 1,
The storage unit stores the information on each detection module including at least one of the input rate per second, expected accuracy, processing time coefficient at the current time (t) of each detection module for detecting the dynamic detection module, characterized in that .
제1항에 있어서,
상기 탐지모듈 선택부는,
Lyapunov optimization를 기반으로 최적 탐지모듈을 선택하는 것을 특징으로 하는 동적 탐지모듈 선택을 위한 객체 탐지 장치.
The method of claim 1,
The detection module selection unit,
Object detection apparatus for selecting a dynamic detection module, characterized in that for selecting the optimal detection module based on the Lyapunov optimization.
제3항에 있어서,
상기 탐지모듈 선택부는,
상기 버퍼의 길이 및 초당 입력률에 기초하여 다음 시점(t+1)에 대한 초당 처리율을 예측하는 처리율 예측부;
상기 예측된 초당 처리율과 시 제약조건에 기초하여 버퍼의 한계길이를 산출하는 버퍼 한계길이 산출부;
상기 초당 처리율과 상기 버퍼의 한계길이에 기초하여 보상 가중치(reward term weight constant)를 산출하는 가중치 산출부; 및
각 탐지모듈별로 산출된 초당 처리율, 버퍼의 한계길이 및 보상 가중치에 기초하여, 상기 복수의 탐지모듈 중에서 기 설정된 요구조건을 만족하는 최적 탐지모델을 선택하는 최적 탐지 모듈 선택부를 포함하는 것을 특징으로 하는 동적 탐지모듈 선택을 위한 객체 탐지 장치.
The method of claim 3,
The detection module selection unit,
A throughput predicting unit for predicting a throughput per second for a next time point t + 1 based on the length of the buffer and an input rate per second;
A buffer limit length calculator for calculating a limit length of a buffer based on the predicted throughput per second and a time constraint;
A weight calculator configured to calculate a reward term weight constant based on the throughput per second and the limit length of the buffer; And
And an optimum detection module selection unit for selecting an optimum detection model satisfying a predetermined requirement among the plurality of detection modules based on the throughput per second, the buffer limit length, and the compensation weight calculated for each detection module. Object detection device for dynamic detection module selection.
제4항에 있어서,
상기 최적 탐지모듈 선택부는 아래 수학식을 이용하여 다음 시점(t+1)의 최적 탐지모듈(m(t+1)을 선택하는 것을 특징으로 하는 동적 탐지모듈 선택을 위한 객체 탐지 장치.
[수학식]
Figure pat00040

여기서, m은 탐지모듈 집합의 원소, M은 탐지모듈 집합, L은 시 제약 조건(sec), V는 보상 가중치,
Figure pat00041
은 탐지모듈 m을 사용할 경우의 기대 정확도,
Figure pat00042
은 시점 t+1에 대한 초당 입력률(input rate),
Figure pat00043
은 탐지모듈 m을 사용할 경우의 시점 t+1에 대한 예상 초당 처리율(output rate),
Figure pat00044
는 현재 버퍼의 길이를 의미함.
The method of claim 4, wherein
The object detecting apparatus for selecting a dynamic detection module, wherein the optimum detection module selecting unit selects an optimal detection module m (t + 1) at a next time point t + 1 using the following equation.
[Equation]
Figure pat00040

Where m is an element of the detection module set, M is a detection module set, L is a time constraint (sec), V is a compensation weight,
Figure pat00041
Is the expected accuracy when using detection module m,
Figure pat00042
Is the input rate per second for time t + 1,
Figure pat00043
Is the expected output rate per second for time t + 1 when using detection module m,
Figure pat00044
Is the length of the current buffer.
객체 탐지 장치가 동적 탐지모듈 선택을 위한 방법에 있어서,
객체 탐지가 요청된 경우, 현재 시점(t)에서 버퍼에 적재된 데이터의 양을 의미하는 버퍼의 길이를 측정하는 단계;
기 설정된 탐지모듈 선택 주기, 상기 버퍼의 길이, 각 탐지모듈의 현재 시점(t)의 초당 입력률(input rate) 및 초당 처리율(output rate)에 기초하여, 복수의 탐지모듈 중에서 다음 시점(t+1)의 최적 탐지모듈을 동적으로 선택하는 단계; 및
상기 최적 탐지모듈에 기초하여 데이터에서 객체를 탐지하는 단계
를 포함하는, 동적 탐지모듈 선택을 위한 방법.
In the method for the object detection device for selecting a dynamic detection module,
If the object detection is requested, measuring the length of the buffer, which indicates the amount of data loaded into the buffer at the current time t;
Based on a preset detection module selection period, a length of the buffer, an input rate per second and an output rate per second of the current time t of each detection module, a next time point (t + 1) among the plurality of detection modules Dynamically selecting an optimal detection module of; And
Detecting an object from data based on the optimal detection module
Including a method for selecting a dynamic detection module.
KR1020180090949A 2018-08-03 2018-08-03 Object detection apparatus for dynamic detection module selection and method thereof KR20200015301A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180090949A KR20200015301A (en) 2018-08-03 2018-08-03 Object detection apparatus for dynamic detection module selection and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180090949A KR20200015301A (en) 2018-08-03 2018-08-03 Object detection apparatus for dynamic detection module selection and method thereof

Publications (1)

Publication Number Publication Date
KR20200015301A true KR20200015301A (en) 2020-02-12

Family

ID=69569782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180090949A KR20200015301A (en) 2018-08-03 2018-08-03 Object detection apparatus for dynamic detection module selection and method thereof

Country Status (1)

Country Link
KR (1) KR20200015301A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102244380B1 (en) 2020-07-29 2021-04-26 고려대학교 산학협력단 Method for object recognition using queue-based model selection and optical flow in autonomous driving environment, recording medium and device for performing the method
KR20220077528A (en) * 2020-12-02 2022-06-09 소프트온넷(주) System and method for multiplex reading of x-ray image

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102244380B1 (en) 2020-07-29 2021-04-26 고려대학교 산학협력단 Method for object recognition using queue-based model selection and optical flow in autonomous driving environment, recording medium and device for performing the method
KR20220077528A (en) * 2020-12-02 2022-06-09 소프트온넷(주) System and method for multiplex reading of x-ray image

Similar Documents

Publication Publication Date Title
US20190122078A1 (en) Search method and apparatus
US10713073B2 (en) Systems and methods for identifying cloud configurations
US7882075B2 (en) System, method and program product for forecasting the demand on computer resources
JP5218390B2 (en) Autonomous control server, virtual server control method and program
US11694094B2 (en) Inferring digital twins from captured data
US10452983B2 (en) Determining an anomalous state of a system at a future point in time
US9696786B2 (en) System and method for optimizing energy consumption by processors
US8560667B2 (en) Analysis method and apparatus
JP2720910B2 (en) Apparatus and method for managing workload of a data processing system
US20170372230A1 (en) Machine learning management method and machine learning management apparatus
KR101812583B1 (en) Apparatus or task assignment, method for task assignment and a computer-readable storage medium
US20130085998A1 (en) Latency-aware live migration for multitenant database platforms
KR101839392B1 (en) Method and computing device for managing size of thread pool dynamically
US10942763B2 (en) Operation management apparatus, migration destination recommendation method, and storage medium
CN106534359B (en) A kind of storage load-balancing method based on storage entropy
JPWO2011105091A1 (en) CONTROL DEVICE, MANAGEMENT DEVICE, CONTROL DEVICE DATA PROCESSING METHOD, AND PROGRAM
JP5699715B2 (en) Data storage device and data storage method
US10909451B2 (en) Apparatus and method for learning a model corresponding to time-series input data
US20090326869A1 (en) Performance evaluating apparatus
KR20200015301A (en) Object detection apparatus for dynamic detection module selection and method thereof
CN111522845B (en) Watermark issuing method of stream computing system based on time sequence prediction
US20080195447A1 (en) System and method for capacity sizing for computer systems
KR20200042221A (en) Apparatus and Method for managing power of processor in a mobile terminal device
CN116185568A (en) Container expansion method and device, electronic equipment and storage medium
CN112764509B (en) Computing core, computing core temperature adjustment method, computing core temperature adjustment device, computer readable medium, computer program, chip and computer system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application