KR102561657B1 - 신호 제어를 위한 객체 감응형 차량 흐름 제어 방법 - Google Patents

신호 제어를 위한 객체 감응형 차량 흐름 제어 방법 Download PDF

Info

Publication number
KR102561657B1
KR102561657B1 KR1020210072214A KR20210072214A KR102561657B1 KR 102561657 B1 KR102561657 B1 KR 102561657B1 KR 1020210072214 A KR1020210072214 A KR 1020210072214A KR 20210072214 A KR20210072214 A KR 20210072214A KR 102561657 B1 KR102561657 B1 KR 102561657B1
Authority
KR
South Korea
Prior art keywords
controller
gpu
images
identification number
gpus
Prior art date
Application number
KR1020210072214A
Other languages
English (en)
Other versions
KR20220163717A (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 KR1020210072214A priority Critical patent/KR102561657B1/ko
Publication of KR20220163717A publication Critical patent/KR20220163717A/ko
Application granted granted Critical
Publication of KR102561657B1 publication Critical patent/KR102561657B1/ko

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0137Measuring and analyzing of parameters relative to traffic conditions for specific applications
    • G08G1/0145Measuring and analyzing of parameters relative to traffic conditions for specific applications for active traffic flow control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/04Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/07Controlling traffic signals
    • G08G1/075Ramp control
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 입력영상으로부터 객체를 감지하기 위한 딥-러닝(Deep learning) 알고리즘의 모델을 도로 환경에 적합하도록 최적화시킴과 동시에 카메라의 촬영에 의해 영상 획득 시, 딥-러닝을 이용하여 영상을 분석하여 객체(차량 및 보행자)를 검출한 후, 검출된 객체정보를 기반으로 신호체계를 수립함으로써 영상분석을 통한 객체 감지 및 트래킹의 정확성을 현저히 높임에 따라 신호 제어의 신뢰도를 높일 수 있을 뿐만 아니라 교차로의 차량 대기시간이 현저히 절감되며, 현장에서 실시간 영상처리가 가능한 객체 감응형 차량 흐름 제어 방법에 관한 것이다.

Description

신호 제어를 위한 객체 감응형 차량 흐름 제어 방법{Traffic flow controlling method for controlling traffic signal with sensing vehicle}
본 발명은 신호 제어를 위한 객체 감응형 차량 흐름 제어 방법에 관한 것으로서, 상세하게로는 입력영상으로부터 객체를 감지하기 위한 딥-러닝(Deep learning) 알고리즘의 모델을 도로 환경에 적합하도록 최적화시킴과 동시에 카메라의 촬영에 의해 영상 획득 시, 딥-러닝을 이용하여 영상을 분석하여 객체(차량 및 보행자)를 검출한 후, 검출된 객체정보를 기반으로 신호체계를 수립함으로써 영상분석을 통한 객체 감지 및 트래킹의 정확성을 현저히 높임에 따라 신호 제어의 신뢰도를 높일 수 있을 뿐만 아니라 교차로의 차량 대기시간이 현저히 절감되며, 현장에서 실시간 영상처리가 가능한 객체 감응형 차량 흐름 제어 방법에 관한 것이다.
최근 들어, 차량 보급률이 증가하고 도심이 확장됨에 따라 교통 혼잡이 일상화되어 막대한 규모의 경제적 손실을 발생시키고 있고, 이에 따라 교통 혼잡을 해결하기 위하여 도로를 신설하거나 확장하는 등의 다양한 노력이 이루어지고 있으나, 이러한 방식은 막대한 재원이 소요될 뿐만 아니라 단기적으로 해결하기 어려운 한계를 갖는다.
따라서 교차로들의 신호체계를 최적화하여 차량 대기시간을 절감시키기 위한 다양한 연구가 진행되고 있다.
종래의 대표적인 교차로 신호체계로는 차량검지수단에 의해 검출된 누적데이터들을 활용하여 TOD(Time Of Day)에 따라 고정된 신호주기 및 현시시간을 출력하는 정주기식 신호 운영방식과, 수집된 교통정보를 이용하여 교통상황에 따라 신호를 제어하는 능동형 신호 운영방식으로 분류된다.
특히 능동형 신호 운영방식은 현재 교통상황에 따라 유동적으로 대응하여 차량 정체현상을 효과적으로 절감시킬 수 있는 장점으로 인해 이에 대한 다양한 연구가 이루어지고 있다.
한편, 최근 들어 딥-러닝(Deep learning) 기법을 이용하여 객체 감지, 종류, 트래킹 등을 수행하기 위한 영상 분석 기술에 대한 연구가 활발하게 이루어지고 있고, 이러한 딥-러닝을 활용한 영상 분석 기술은 학습을 통해 자체적으로 오차율을 줄이기 때문에 감지의 정확성 및 정밀도를 현저히 높일 수 있는 장점으로 인해 그 적용 분야가 기하급수적으로 증가하고 있다.
도 1은 국내공개특허 제10-2020-0141834호(발명의 명칭 : 영상기반 교통신호 제어 장치 및 방법)에 개시된 영상기반 교통신호 제어 장치를 나타내는 블록도이다.
도 1의 영상기반 교통신호 제어 장치(이하 종래기술이라고 함)(100)는 도로를 촬영하여 영상을 획득한 후, 교통객체분석데이터를 생성하며 생성된 데이터를 이용하여 감응신호 요청을 판단하는 엣지카메라(110)와, 엣지카메라(110)로부터 교통객체분석데이터 및 감응요청 데이터를 전송받으면 주도로 및 부도로의 교통신호등(131), (132)들을 제어하는 교통신호제어기(120)와, 엣지카메라(110)로부터 전송받은 카메라로 수집한 영상과 교통객체검지 결과 등을 저장하는 교통관제센터 서버(140)로 이루어진다.
또한 엣지 카메라(110)는 진입차량을 촬영하고 촬영한 영상을 영상인식/감응신호판단부(112)로 전달하는 이미지 센싱부(111)와, 차량과 보행자 등의 교통객체를 검지하고 추적하면서 교통객체분석데이터를 생성한 후, 생성된 데이터를 이용하여 감응신호 요청을 판단하는 감응신호 판단부(112)와, 교통객체분석데이터를 저장 및 관리하는 데이터 저장부(113)와, 교통신호제어기(120) 및 관제센터서버(140)와 데이터를 송수신하는 통신부(114)로 이루어진다.
이때 감응신호 판단부(112)는 기존의 머신러닝 기법(SVM, Decision Tree, Random Forest 등)을 이용하거나, 심층신경망 객체 검지 알고리즘(Faster RCNN, YOLO, SSD 등)을 이용하여 이미지 센싱부(111)로부터 전달받은 영상을 분석하여 객체를 감지한 후, 감지된 객체정보를 통해 교통객체분석데이터를 생성한다.
이와 같이 구성되는 종래기술(100)은 감응신호 판단부(112)가 머신러닝 알고리즘을 통해 영상 객체 정보를 인식하고 분석하기 때문에 객체 인식의 정확성 및 정밀도를 높일 수 있는 장점을 갖는다.
그러나 종래기술(100)은 엣지 카메라(110)가 관제센터 서버(140)로 대용량 데이터인 영상을 실시간으로 전송하기 때문에, 도로 곳곳에 엣지 카메라(110)가 설치된다고 가정할 때, 통신부하가 증가할 뿐만 아니라 관제센터 서버(140)에서의 데이터 저장 효율성이 떨어지는 문제점이 발생한다.
또한 종래기술(100)은 머신러닝 기반의 영상 분석이 단순히 교통량, 대기열, 지점속도, 구간속도 등의 교통객체분석데이터를 검출하기 위한 용도로만 사용되기 때문에 꼬리 물기, 신호위반 등의 위반차량을 단속하지 못하여 단속율이 떨어지는 문제점을 갖는다.
일반적으로, 머신러닝 알고리즘 학습 시, 학습에 사용되는 인식대상의 종류(객체종류)를 한정시킬수록 학습효과 및 객체 인식률이 증가하는 특성을 갖게 되나, 종래기술(100)에는 이러한 학습의 특성을 전혀 감안하지 않았기 때문에 학습 시, 도로에서 볼 수 없는 객체종류들에 대한 학습으로 인해 학습 효율성 및 객체 인식률이 떨어지는 단점을 갖는다.
또한 종래기술(100)은 감지된 차량과 차량이 충돌 또는 차량과 보행자 충돌을 예측하기 위한 기술 및 방법이 전혀 기재되어 있지 않기 때문에 교통사고를 미연에 방지하지 못하는 구조적 한계를 갖는다.
또한 종래기술(100)은 고정된 신호주기(Signal cycle)의 길이(Length)를 기준으로, 감응신호에 따른 특정신호의 연장 또는 축소가 이루어지기 때문에 교통상태에 대응하여 최적의 신호주기를 제공할 수 없는 단점을 갖는다.
통상적으로, 머신러닝 알고리즘을 활용한 영상분석에는 복잡한 연산처리 및 영상처리가 이루어져야하기 때문에 단일 CPU를 이용하여 영상분석을 수행할 경우, 과도한 연산처리량으로 인해 부하가 발생하게 되고, 이에 따라 최근에는 별도의 GPU(Graphic Processing Unit)를 구비하여 GPU를 이용하여 인공지능 기반의 영상분석 및 처리가 이루어지도록 하는 추세이다.
종래기술(100)은 엣지 카메라(110)에서 영상분석 및 처리가 이루어지기 때문에 단일 CPU가 구성된다고 가정할 때, 영상분석 및 처리로 인한 과부하가 빈번하게 발생하게 되는 문제점이 발생하게 되고, 별도의 GPU를 추가 설치한다고 하더라도, 각 카메라별로 고가의 GPU가 설치되기 때문에 설치 및 운용비용이 증가하는 단점을 갖는다.
본 발명은 이러한 문제를 해결하기 위한 것으로, 본 발명의 해결과제는 카메라들에 의해 촬영된 영상을 분석하여 객체정보 및 교통정보를 생성한 후, 생성된 교통정보에 따라 최적 현시체계를 생성한 후, 생성된 최적 현시체계에 따라 교통신호가 제어되도록 구성됨으로써 차량 정체율 및 대기시간을 현저히 절감시킬 수 있을 뿐만 아니라 이에 따른 연비소모 및 오염가스 배출량을 효과적으로 줄여 사회적 비용 소모를 절감시킬 수 있는 객체 감응형 차량 흐름 제어 방법을 제공하기 위한 것이다.
또한 본 발명의 다른 해결과제는 딥-러닝 알고리즘을 이용하여 입력된 영상들을 분석함에 따라 객체 인식률을 개선시켜 분석의 정확성 및 신뢰도를 획기적으로 높일 수 있는 객체 감응형 차량 흐름 제어 방법을 제공하기 위한 것이다.
또한 본 발명의 또 다른 해결과제는 딥-러닝 알고리즘으로 합성곱 신경망(CNN, Convolution Neural Network) 기반의 YOLO 모델을 적용시킴으로써 객체 인식률을 더욱 높일 수 있는 객체 감응형 차량 흐름 제어 방법을 제공하기 위한 것이다.
또한 본 발명의 또 다른 해결과제는 딥-러닝 알고리즘의 학습 시, 인식대상을 종래에 80종류에서, 도로에서 자주 볼 수 있는 5종류로 제한하여 학습이 이루어지도록 구성됨으로써 객체 인식률을 더욱 개선시킬 수 있는 객체 감응형 차량 흐름 제어 방법을 제공하기 위한 것이다.
또한 본 발명의 또 다른 해결과제는 복수개의 GPU(Graphic Processing Unit)들을 이용하여 영상을 분석함으로써 카메라들의 촬영에 의해 획득된 고용량의 영상들의 실시간 처리 및 분석이 가능한 객체 감응형 차량 흐름 제어 방법을 제공하기 위한 것이다.
상기 과제를 해결하기 위한 본 발명의 해결수단은 감지영역인 적어도 하나 이상의 도로를 촬영하여 영상을 획득하는 카메라들과, 상기 감지영역에 설치되는 신호등들의 동작을 제어하는 교통신호 제어기와, 컨트롤러를 포함하는 차량 흐름 제어 시스템의 동작 과정인 객체 감응형 차량 흐름 제어 방법(S1)에 있어서: 상기 카메라들이 자신에게 할당된 도로를 촬영하여 영상을 획득한 후, 상기 컨트롤러로 획득된 영상들을 전송하는 단계20(S20); 상기 컨트롤러가 딥-러닝(Deep learning) 기반의 객체분석 알고리즘을 이용하여, 상기 단계20(S20)을 통해 전송받은 영상들을 분석하여 객체를 감지함과 동시에 감지된 객체의 위치, 종류 및 크기 중 적어도 하나 이상을 포함하는 객체정보를 검출하는 단계50(S50); 상기 컨트롤러가 상기 단계50(S50)에 의해 검출된 객체정보들과, 기 설정된 각 카메라의 촬영영역의 위치정보, 상기 도로의 위치정보를 참조하여, 감지된 객체를 트래킹하여 각 객체가 위치한 차로종류, 차선위치, 이동속도 및 방향 중 적어도 하나 이상을 포함하는 객체분석정보를 생성하는 단계70(S70); 상기 컨트롤러가 상기 단계70(S70)에 의해 생성된 객체분석정보를 활용 및 가공하여, 각 연결차로의 대기열, 대기시간 및 교통량 중 적어도 하나 이상을 포함하는 교통정보를 생성하는 단계80(S80); 상기 컨트롤러가 상기 단계80(S80)에 의해 생성된 교통정보를 기반으로 최적 신호체계를 수립하는 단계110(S110); 상기 컨트롤러가 상기 단계110(S110)에 의해 수립된 최적 신호체계 정보를 상기 교통신호 제어기로 전송하고, 상기 교통신호 제어기가 상기 컨트롤러로부터 전송받은 최적 신호체계 정보에 따라 상기 신호등들이 운영되도록 상기 신호등들을 제어하는 단계120(S120)을 포함하고, 상기 컨트롤러는 복수(M)의 GPU(Graphic Processing Unit)들을 구비하고, 상기 컨트롤러에는 각 카메라로부터 입력된 영상을 처리할 대상인 GPU가 매칭된 분류테이블이 기 설정되어 저장되고, 상기 객체 감응형 차량 흐름 제어 방법(S1)은 상기 단계20(S20) 이후에 진행되며, 상기 컨트롤러가 상기 분류테이블에 저장된 매칭정보에 따라, 상기 카메라들로부터 전송받은 영상들을 해당하는 GPU로 분류시키는 단계40(S40)을 더 포함하고, 상기 단계50(S50)은 상기 컨트롤러가 상기 단계40(S40)을 통해 분류된 바에 따라, 영상들을 해당 GPU로 입력시키는 단계51(S51); 각 GPU가 상기 객체분석 알고리즘을 이용하여, 상기 단계51(S51)을 통해 입력된 영상을 분석하여 객체정보를 출력하는 단계53(S53)들을 포함하고, 상기 단계40(S40)은 상기 컨트롤러가 상기 단계20(S20)을 통해 상기 카메라들로부터 전송받은 영상을 입력받는 단계41(S41); 상기 컨트롤러가 상기 단계41(S41)을 통해 입력된 영상들의 수량(N)과, 상기 GPU들의 수량(M)을 비교하는 단계42(S42); 상기 단계42(S42)에서, 1)만약 입력된 영상 수량(N)이 GPU 수량(M) 이하(N ≤ M)이면, 각 영상이 단일 GPU에서 처리되는 일대일기반으로 영상을 분류할 것으로 결정하며, 2)만약 입력된 영상 수량(N)이 GPU 수량(M)을 초과(N > M)하면, 적어도 하나 이상의 GPU에서 2개 이상의 영상을 처리하는 분류테이블기반으로 영상을 분류할 것으로 결정하는 단계43(S43); 상기 단계43(S43)에서 입력된 영상 수량(N)이 GPU 수량(M) 이하(N ≤ M)일 때 진행되며, 상기 컨트롤러가 각 카메라의 영상이 단일 GPU에서 처리되도록, 입력된 영상들을 각 GPU로 분류시키는 단계44(S44); 상기 단계43(S43)에서 입력된 영상 수량(N)이 GPU 수량(M) 미만(N > M)일 때 진행되며, 상기 컨트롤러가 상기 분류테이블에 따라, 상기 카메라들로부터 전송받은 영상들을, 해당하는 GPU로 분류시키는 단계45(S45)를 포함하고, 상기 객체 감응형 차량 흐름 제어 방법(S1)은 상기 컨트롤러가 상기 단계50(S50)에 의해, 영상분석이 수행된 GPU의 사용량(부하량)을 검출한 후, 검출된 사용량을 상기 메모리에 저장하는 단계60(S60); 기 설정된 주기2(T2) 마다 진행되는 단계130(S130)을 더 포함하고, 상기 단계130(S130)은 상기 컨트롤러가 상기 주기2(T2) 동안, 상기 메모리에 저장된 각 GPU별 사용량 데이터들을 수집하는 단계131(S131); 상기 컨트롤러가 상기 단계131(S131)에 의해 수집된 각 GPU별 사용량 데이터들을 활용하여, 각 GPU별 총사용량을 산출하는 단계132(S132); 상기 컨트롤러가 상기 컨트롤러에 구비된 GPU의 수량이 ‘m’개이고, 각 GPU에 1부터 m까지의 식별번호(i)를 부여한다고 가정할 때, 상기 단계132(S132)에 의해 산출된 각 별 총사용량과 상기 주기2(T2)를 활용하여, 각 별로 시간당 평균사용량()을 산출하는 단계133(S133); 상기 컨트롤러가 점검대상인 GPU의 식별번호(i)를 ‘1’로 초기화하는 단계134(S134); 상기 컨트롤러가 상기 단계134(S134)에 의해 식별번호 ‘1’을 갖는 GPU를 점검대상으로 선택하는 단계135(S135); 상기 컨트롤러가 상기 단계135(S135)에 의해 선택된 GPUi의 평균사용량()이, 해당 GPU에서 과부하가 발생하였다고 판단할 수 있는 사용량 최소값으로 정의되는 기 설정된 상한설정값(TH) 이상( ≥ TH)인지를 비교하는 단계136(S136); 상기 단계136(S136)에서, GPUi의 평균사용량()이 상한설정값(TH) 이상( ≥ TH)임에 따라 해당 GPUi에 과부하가 발생하였다고 판단될 때 진행되며, 상기 컨트롤러가 해당 GPUi를 점검대상으로 결정하는 단계137(S137); 상기 단계136(S136)에서, GPUi의 평균사용량()이 상한설정값(TH) 미만( < TH)임에 따라 해당 GPUi에 과부하가 발생하지 않았다고 판단될 때 진행되며, 상기 컨트롤러가 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상인지를 비교하는 단계138(S138); 상기 단계138(S138)에서, 현재 식별번호(i)가 최종 식별번호 ‘m’ 미만임에 따라 평균사용량 및 상한설정값(TH)의 비교가 이루어지지 않은 GPU인 잔여GPU가 존재한다고 판단될 때 진행되며, 상기 컨트롤러가 현재 GPU 식별번호(i)에 ‘1’을 추가하며, 다음 단계로 상기 단계135(S135)를 진행하는 단계139(S139); 상기 단계137(S137) 이후에 진행되며, 상기 컨트롤러가 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상인지를 비교하며, 만약 현재 식별번호(i)가 최종 식별번호 ‘m’ 미만임에 따라 잔여GPU가 존재한다고 판단될 때, 다음 단계로 상기 단계139(S139)를 진행하는 단계140(S140); 상기 단계140(S140)에서, 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상임에 따라 잔여GPU가 존재하지 않는다고 판단될 때 진행되며, 상기 컨트롤러가 상기 단계137(S137)에 의해 적어도 하나 이상의 GPU가 점검후보로 결정되었는지 여부를 판단하며, 만약 상기 단계137(S137)에서 점검후보로 결정된 GPU가 존재하지 않을 때, 다음 단계를 진행하지 않고 종료하는 단계141(S141); 상기 단계141(S141)에서, 점검후보로 결정된 GPU가 존재할 때 진행되며, 상기 컨트롤러가 상기 단계133(S133)에서 산출된 평균사용량()들을 활용하여, 평균사용량()이 낮은 순서부터 높은 순서로 GPU들을 차례대로 정렬시키는 단계142(S142); 상기 단계137(S137)에서 점검후보로 결정된 GPU가 L개일 때, 상기 컨트롤러가 상기 단계142(S142)에 의해 정렬된 데이터를 참조하여 평균사용량()이 낮은 순서부터 L개의 GPU를 변경대상으로 결정하는 단계143(S143); 상기 컨트롤러가 상기 단계143(S143)에서 점검후보로 결정된 각 GPU에 대하여, 해당 GPU로 입력되는 영상들 중 어느 하나를, 해당 점검후보인 GPU의 변경대상으로 결정된 GPU로 입력하도록 결정하며, 결정된 정보가 반영되도록 분류테이블을 최적화한 후, 상기 메모리에 저장하는 단계144(S144)를 포함하고, 상기 단계135(S135)는 상기 단계139(S139) 이후에 진행될 때, 현재 식별번호의 GPU를 점검대상으로 선택하는 것을 특징으로 하는 것이다.
또한 본 발명에서 상기 객체 감응형 차량 흐름 제어 방법(S1)은 기 설정된 주기1(T1) 마다 진행되며, 상기 컨트롤러가 상기 객체분석 알고리즘을 학습시킨 후, 학습된 객체분석 알고리즘을 메모리에 저장시키는 학습단계(S10)를 더 포함하고, 상기 단계50(S50)은 상기 컨트롤러가 상기 단계10(S10)에 의해 학습된 객체분석 알고리즘을 이용하여, 상기 단계20(S20)을 통해 상기 카메라들로부터 전송받은 영상들을 분석하여 객체정보를 출력하는 것이 바람직하다.
또한 본 발명에서 상기 객체분석 알고리즘은 합성곱 신경망(CNN, Convolution Neural Network) 기반의 YOLO 모델이 적용된 것이 바람직하다.
또한 본 발명에서 상기 단계10(10)은 상기 객체분석 알고리즘의 학습 시, 자동차, 버스, 오토바이, 트럭 및 인체를 인식대상의 객체로 설정한 것이 바람직하다.
삭제
삭제
삭제
상기 과제와 해결수단을 갖는 본 발명에 따르면 카메라들에 의해 촬영된 영상을 분석하여 객체정보 및 교통정보를 생성한 후, 생성된 교통정보에 따라 최적 현시체계를 생성한 후, 생성된 최적 현시체계에 따라 교통신호가 제어되도록 구성됨으로써 차량 정체율 및 대기시간을 현저히 절감시킬 수 있을 뿐만 아니라 이에 따른 연비소모 및 오염가스 배출량을 효과적으로 줄여 사회적 비용 소모를 절감시킬 수 있게 된다.
또한 본 발명에 의하면 딥-러닝 알고리즘을 이용하여 입력된 영상들을 분석함에 따라 객체 인식률을 개선시켜 분석의 정확성 및 신뢰도를 획기적으로 높일 수 있다.
또한 본 발명에 의하면 딥-러닝 알고리즘으로 합성곱 신경망(CNN, Convolution Neural Network) 기반의 YOLO 모델을 적용시킴으로써 객체 인식률을 더욱 높일 수 있게 된다.
또한 본 발명에 의하면 딥-러닝 알고리즘의 학습 시, 인식대상을 종래에 80종류에서, 도로에서 자주 볼 수 있는 5종류로 제한하여 학습이 이루어지도록 구성됨으로써 객체 인식률을 더욱 개선시킬 수 있다.
또한 본 발명에 의하면 복수개의 GPU(Graphic Processing Unit)들을 이용하여 영상을 분석함으로써 카메라들의 촬영에 의해 획득된 고용량의 영상들의 실시간 처리 및 분석이 가능하다.
도 1은 국내공개특허 제10-2020-0141834호(발명의 명칭 : 영상기반 교통신호 제어 장치 및 방법)에 개시된 영상기반 교통신호 제어 장치를 나타내는 블록도이다.
도 2는 본 발명의 일실시예인 객체 감응형 차량 흐름 제어 방법이 적용되는 차량 흐름 제어 시스템을 나타내는 구성도이다.
도 3은 도 2를 나타내는 예시도이다.
도 4는 본 발명의 일실시예인 객체 감응형 차량 흐름 제어 방법(S1)을 나타내는 플로차트이다.
도 5는 도 4의 학습단계의 객체분석 알고리즘에 적용되는 YOLOv4 모델을 나타내는 개념도이다.
도 6은 도 5의 객체분석 알고리즘에 적용되는 CNN을 설명하기 위한 예시도이다.
도 7은 도 4의 영상분류단계를 나타내는 플로차트이다.
도 8은 도 4의 인공지능 기반 영상 분석단계를 나타내는 플로차트이다.
도 9는 도 4의 번호인식단계를 설명하기 위한 예시도이다.
도 10은 도 4의 위반차량 판별단계에 의해 판별되는 꼬리 물기 위반차량을 나타내는 예시도이다.
도 11은 도 4의 분류테이블 최적화단계를 나타내는 플로차트이다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 설명한다.
도 2는 본 발명의 일실시예인 객체 감응형 차량 흐름 제어 방법이 적용되는 차량 흐름 제어 시스템을 나타내는 구성도이고, 도 3은 도 2를 나타내는 예시도이다.
본 발명의 객체 감응형 차량 흐름 제어 방법(S1)이 적용되는 차량 흐름 제어 시스템(1)은 도 2와 3에 도시된 바와 같이, 교차로의 각 차로군을 촬영하는 카메라(5-1), ..., (5-N)들과, 딥-러닝(Deep learning) 기반의 객체분석 알고리즘을 이용하여 각 카메라(5)의 촬영에 의해 획득된 영상들을 분석하여 객체분석정보를 검출한 후, 검출된 객체분석정보에 대응하는 최적 신호체계를 생성하여 생성된 최적 신호체계에 따른 감응신호를 후술되는 교통신호 제어기(7)로 전송하는 컨트롤러(3)와, 컨트롤러(3)로부터 전송받은 최적 신호체계에 따른 감응신호에 따라 신호등(8)들의 동작을 제어하는 교통신호 제어기(7)와, 도로 갓길 또는 신호등 지주에 설치되어 컨트롤러(3)의 제어에 따라 기 설정된 경고문구를 디스플레이 하는 전시수단(11)들과, 컨트롤러(3)로부터 전송받은 객체분석정보, 교통정보, 위반정보, 위반 영상을 저장 및 모니터링 하는 관제센터서버(9)와, 컨트롤러(3) 및 관제센터서버(9) 사이의 데이터 이동경로를 제공하는 통신망(10)으로 이루어진다.
카메라(5-1), ..., (5-N)들은 교차로(S)에 연결되는 각 연결차로들을 촬영하도록 설치되며, 해당 연결차로를 촬영하여 획득된 영상을 컨트롤러(3)로 전송한다.
도 4는 본 발명의 일실시예인 객체 감응형 차량 흐름 제어 방법(S1)을 나타내는 플로차트이다.
본 발명의 일실시예인 객체 감응형 차량 흐름 제어 방법(S1)은 입력영상으로부터 객체를 감지하기 위한 딥-러닝(Deep learning) 알고리즘의 모델을 도로 환경에 적합하도록 최적화시킴과 동시에 카메라의 촬영에 의해 영상 획득 시, 딥-러닝을 이용하여 영상을 분석하여 객체(차량 및 보행자)를 검출한 후, 검출된 객체정보를 기반으로 신호체계를 수립함으로써 영상분석을 통한 객체 감지 및 트래킹의 정확성을 현저히 높임에 따라 신호 제어의 신뢰도를 높일 수 있을 뿐만 아니라 교차로의 차량 대기시간이 현저히 절감되며, 현장에서 실시간 영상처리가 가능하게 된다.
또한 본 발명의 객체 감응형 차량 흐름 제어 방법(S1)은 도 4에 도시된 바와 같이, 학습단계(S10)와, 카메라 촬영단계(S20), 영상전송단계(S30), 영상분류단계(S40), 인공지능 기반 영상 분석단계(S50), 사용량 모니터링 단계(S60), 객체상세정보 생성단계(S70), 교통정보 생성단계(S80), 번호인식단계(S90), 위반차량 판별단계(S100), 신호체계 수립단계(S110), 신호제어단계(S120), 분류테이블 최적화단계(S130)로 이루어진다.
도 5는 도 4의 학습단계의 객체분석 알고리즘에 적용되는 YOLOv4 모델을 나타내는 개념도이고, 도 6은 도 5의 객체분석 알고리즘에 적용되는 CNN을 설명하기 위한 예시도이다.
학습단계(S10)는 기 설정된 주기1(T1) 마다 진행되며, 컨트롤러(3)가 딥-러닝(Deep learning) 기반의 객체분석 알고리즘을 학습화하는 단계이다.
또한 학습단계(S10)는 주기1(T1) 동안 수집된 영상과 기 설정된 객체종류를 활용하여, 영상 및 객체종류 간의 상관관계를 학습할 수 있는 학습데이터를 생성하고 생성된 학습데이터를 활용하여 객체영상 및 객체종류 간의 상관관계에 대한 파라미터 값들의 집합인 추출모델을 도출한다.
이때 객체분석 알고리즘은 도 5와 6에 도시된 바와 같이, 입력영상을 입력데이터로 하되, 입력된 영상으로부터 기 설정된 차량 및 보행자 등의 객체정보(인식, 위치, 종류, 크기 등)를 출력하는 딥-러닝 알고리즘이다.
또한 객체분석 알고리즘으로는 심층신경망 객체 검지 알고리즘의 하나인 합성곱 신경망(CNN, Convolution Neural Network) 기반의 YOLO를 적용하였고, 1)YOLO는 각 이미지를 S X S개의 그리드로 분할하고 그리드의 신뢰도를 계산하여 경계상자의 위치를 조정함으로써 객체 인식율이 뛰어날 뿐만 아니라 실시간 처리가 가능한 장점을 갖고, 2)CNN은 영상인식에서 대표적으로 사용되는 방법으로 촬영된 이미지를 매트릭스로 수치화하여 데이터를 분석한 후, C1~C5까지는 데이터 처리를 위해 분할된 이미지 영역의 3차원 매트릭스를 분석하며 FC6, FC7에서는 이를 2차원으로 요약/정리하여 활용하며 이렇게 정리된 매트릭스를 딥러닝이나 영상분석에 사용하도록 구성된다.
이러한 YOLO의 인식률 평가를 위해 NVIDIA RTX 2080 Super 2-way 환경에서 테스트한 결과, Pretrained YOLOv4가 실생활에서 자주 볼 수 있는 80종류의 사물에 대해 가장 높은 평균인식률(75.67%)을 보였고, 그 중 자동차, 버스, 트럭 3종류의 사물에 대해서는 평균 80.39%의 인식률을 보였다. 이때 인식률은 모델 평가용 데이터셋(MSCOCO 2017)을 각 AI 모델에 순전파(Forward Propagation)하여 나온 인식 결과를 바탕으로, (AI 모델이 인식한 사물 개수 / 이미지에 존재하는 사물 개수)를 계산하였다.
이러한 YOLO의 인식률을 기반으로, 본 발명에서는 객체분석 알고리즘의 인식 대상을 종래에서와 같이, 80종류로 설정하지 않고, 도로에서 볼 수 있는 사물, 즉 자동차, 버스, 오토바이, 트럭, 인체의 5종류로 축소하여 설정함으로써 5% 이상의 인식률 개선이 이루어지도록 하였다.
이와 같이 본 발명의 학습단계(S10)에 의해 학습되는 객체분석 알고리즘은 CNN 기반의 YOLO를 적용하여 학습이 이루어지되, 인식대상을 도로에서 흔히 볼 수 있는 5종류로 제한함으로써 객체 인식 및 분류의 정확성 및 정밀도를 현저히 높일 수 있고, 이에 따라 최적 신호체계 수립의 정확성 및 신뢰도가 함께 증가하여 차량 대기시간을 획기적으로 절감시킬 수 있게 된다.
카메라 촬영단계(S20)는 카메라(5)들이 자신에게 할당된 연결차로를 촬영하여 영상을 획득하는 단계이다.
이때 카메라(5)들은 기 설정된 촬영영역인 연결차로를 촬영 가능하도록 교차로(S)에 다양한 방식으로 설치될 수 있으며, 상세하게로는 기존에 설치되어 있던 신호등 지주의 상단부에 별도의 보조-암을 통해 결합됨에 따라 촬영 각도가 상부에서 하부를 향하는 방향으로 설치되며 PTZ(Pan-Tilt-Zoom) 제어가 가능한 통상의 PTZ 카메라로 구현되는 것이 바람직하다.
영상전송단계(S30)는 카메라(5)들이 촬영된 영상을 컨트롤러(3)로 전송하는 단계이다.
도 7은 도 4의 영상분류단계를 나타내는 플로차트이다.
영상분류단계(S40)는 도 7에 도시된 바와 같이, 영상입력단계(S41)와, 비교단계(S42), 분류모드 판별단계(S43), 일대일기반 분류단계(S44), 분류테이블기반 분류단계(S45)로 이루어진다.
영상입력단계(S41)는 컨트롤러(3)가 영상전송단계(S30)를 통해 카메라(5)들로부터 전송받은 영상을 입력받는 단계이다.
비교단계(S42)는 컨트롤러(3)가 영상입력단계(S41)를 통해 입력받은 영상들의 수량(N)과, 컨트롤러(3)에 구비된 GPU(Graphic Processing Unit)의 전체 수량(M)을 비교하는 단계이다.
분류모드 판별단계(S43)는 비교단계(S42)에서, 1)입력된 영상 수량(N)이 GPU 수량(M) 이하(N ≤ M)이면, 각 영상이 단일 GPU에서 처리(일대일기반 영상분류)되어야 한다고 판단하며, 도 무방하다고 판단하며, 2)입력된 영상 수량(N)이 GPU 수량(M)을 초과(N > M)하면, 적어도 하나 이상의 GPU에서 2개 이상의 영상을 처리(분류테이블기반 영상분류)되어야 한다고 판단한다.
일대일기반 분류단계(S44)는 분류모드 판별단계(S43)에서, 입력된 영상 수량(N)이 GPU 수량(N) 이하(N ≤ M)일 때 진행되며, 각 카메라(5)의 영상이 단일 GPU에서 처리되도록 영상들을 각 GPU로 분류하여 입력한다. 이때 컨트롤러(3)는 일대일기반일 때, 각 카메라의 영상이 분류되는 GPU 정보가 기 설정되어 저장된다.
즉 일대일기반 분류단계(S44)는 카메라(5)의 촬영에 의해 획득된 영상들을 일대일로 각 GPU에 입력한다.
분류테이블기반 분류단계(S45)는 분류모드 판별단계(S33)에서, 입력된 영상 수량(N)이 GPU 수량(N)을 초과(N > M)할 때 진행되며, 후술되는 분류테이블 최적화단계(S120)에 의해 최적화된 분류테이블을 메모리(M)로부터 추출한 후, 추출된 분류테이블에 따라, 카메라(5)로부터 전송받은 영상들을 GPU들로 분류하며, 각 영상을 분류된 GPU로 입력하는 단계이다.
이때 분류테이블은 각 카메라로부터 입력된 영상을 처리할 대상인 GPU가 매칭되는 데이터를 의미하고, 후술되는 분류테이블 최적화단계(S130)에 의해 기 설정된 주기2(T2) 마다 최적화되어 메모리(M)에 저장된다.
도 8은 도 4의 인공지능 기반 영상 분석단계를 나타내는 플로차트이다.
인공지능 기반 영상 분석단계(S50)는 도 8에 도시된 바와 같이, 영상입력단계(S51-1, ..., 51-N)들과, 알고리즘 추출단계(S52), 영상분석단계(S53-1, ..., S53-N)들로 이루어진다.
영상입력단계(S51-1, ..., S51-N)들은 컨트롤러(3)가 전술하였던 영상분류단계(S40)에 의해 분류된 바에 따라, 카메라(5)로부터 전송받은 영상을 각 GPU로 입력하는 단계이다.
즉 각 GPU에는 영상분류단계(S40)에 의해 분류된 바에 따라, 영상을 입력받는다.
알고리즘 추출단계(S52)는 컨트롤러(3)가 학습단계(S10)에 의해 학습되어 메모리(M)에 저장된 객체분석 알고리즘을 추출하는 단계이다.
영상분석단계(S53-1, ..., S53-N)들은 각 GPU가 알고리즘 추출단계(S52)에 의해 추출된 객체분석 알고리즘을 이용하여, 영상입력단계(S51)를 통해 자신에게 입력된 영상을 분석하여 객체정보(인식, 위치, 종류, 크기 등)를 출력하는 단계이다.
사용량 모니터링 단계(S60)는 전술하였던 영상분석단계(S53-1, ..., S53-N)들을 통해 GPU들 중 적어도 하나 이상에서 영상처리가 이루어질 때 진행되며, 영상처리가 수행된 GPU에서 영상분석을 위한 사용량(부하량)을 검출하며, 검출된 사용량 정보를 메모리(M)에 저장하는 단계이다.
이때 사용량 모니터링 단계(S60)는 각 GPU의 영상분석단계(S53-1, ..., S53-N)들이 모두 진행되지 않는 경우에는 별도로 진행되지 않는다.
즉 사용량 모니터링 단계(S60)는 영상 분석을 위한 연산처리로 인한 각 GPU의 사용량을 실시간 검출한 후, 이를 메모리(M)에 저장한다.
객체상세정보 생성단계(S70)는 컨트롤러(3)가 영상분석단계(35-1), ..., (35-M)들에 의해 검출된 객체정보들과, 기 설정된 각 카메라(5)의 감지영역의 위치정보와, 교차로(S) 및 각 연결차로(S1), (S2), (S3), (S4)의 위치정보를 참조하며, 감지된 객체를 트래킹하여, 각 객체가 위치한 차로종류, 차선위치, 이동속도 및 방향 등을 포함하는 객체분석정보를 생성하는 단계이다.
교통정보 생성단계(S80)는 객체분석정보 생성단계(S70)에 의해 생성된 객체분석정보를 활용 및 가공하여, 각 연결차로의 대기열, 대기시간 및 교통량 등을 포함하는 교통정보를 생성하는 단계이다.
도 9는 도 4의 번호인식단계를 설명하기 위한 예시도이다.
번호인식단계(S90)는 객체상세정보 생성단계(S70) 이후에, 교통정보 생성단계(S80)와 병렬로 진행되며, 컨트롤러(3)가 객체상세정보 생성단계(S70)에 의해 생성된 객체분석정보와, 교통신호 제어기(7)의 현재 현시정보, 교차로(S) 및 각 연결차로(S1), (S2), (S3), (S4)의 위치정보를 활용하여, 차량이 각 연결차로가 교차로(S)와 연결되는 구간을 통과하는 차량의 영상을 분석하여 차량번호를 인식하는 단계이다.
도 10은 도 4의 위반차량 판별단계에 의해 판별되는 꼬리 물기 위반차량을 나타내는 예시도이다.
위반차량 판별단계(S100)는 컨트롤러(3)가 객체상세정보 생성단계(S70)에 의해 생성된 객체분석정보와, 교통신호 제어기(7)의 현재 현시정보, 교차로(S) 및 각 연결차로(S1), (S2), (S3), (S4)의 위치정보를 활용하여, 도 10에 도시된 바와 같이, 꼬리물기 등의 위반차량을 검출하는 단계이다.
신호체계 수립단계(S110)는 컨트롤러(3)가 기 설정된 최적 신호 검출 알고리즘을 이용하여, 교통정보 생성단계(S80)에 의해 생성된 교통정보를 분석하여, 현재 교통정보에 따른 최적 신호체계를 수립하는 단계이다.
신호제어단계(S120)는 컨트롤러(3)가 신호체계 수립단계(S110)에 의해 수립된 최적 신호체계 정보를 교통신호 제어기(7)로 전송하고, 교통신호 제어기(7)가 컨트롤러(3)로부터 전송받은 최적 신호체계 정보에 따라 신호등(8)들의 동작을 관리 및 제어하는 단계이다.
이때 교통정보를 기반으로 최적 신호체계를 수립하는 최적 신호 검출 알고리즘에 대한 기술 및 방법은 신호 제어시스템에 있어서 통상적으로 사용되는 기술 및 방법이기 때문에 상세한 설명은 생략하기로 하고, 공지된 알고리즘이나 향후 개발될 알고리즘이 적용될 수 있다.
도 11은 도 4의 분류테이블 최적화단계를 나타내는 플로차트이다.
도 11의 분류테이블 최적화단계(S130)는 기 설정된 주기2(T2) 마다 실행된다.
또한 분류테이블 최적화단계(S130)는 데이터 수집단계(S131)와, 각 GPU별 총사용량 산출단계(S132), 각 GPU별 평균사용량 산출단계(S133), GPU 식별번호 초기화단계(S134), GPU 선택단계(S135), 비교 및 판별단계(S136), 점검후보 결정단계(S137), 제1 잔여 GPU 존재여부 판별단계(S138), GPU 식별번호 추가단계(S139), 제2 잔여 GPU 존재여부 판별단계(S140), 점검후보 존재여부 판별단계(S141), GPU 정렬단계(S142), 변경대상 결정단계(S143), 분류테이블 최적화단계(S144)로 이루어진다.
데이터 수집단계(S131)는 컨트롤러(3)가 기 설정된 주기2(T2) 동안, 메모리(M)에 저장된 각 GPU별 사용량 데이터들을 수집하는 단계이다.
각 GPU 총사용량 산출단계(S132)는 데이터 수집단계(S131)에 의해 수집된 각 GPU별 사용량 데이터들을 활용하여, 각 GPU별 총사용량을 산출하는 단계이다.
각 GPU 평균사용량 산출단계(S133)는 컨트롤러(3)에 구비된 GPU의 수량을 ‘m’이고, 각 GPU에 1부터 m까지의 식별번호(i)가 부여되었다고 가정할 때, 각 GPU 총사용량 산출단계(S132)에 의해 산출된 각 별 총사용량과 주기(T2)를 활용하여, 각 별로 시간당 평균사용량()을 산출한다.
GPU 식별번호 초기화단계(S134)는 점검대상인 GPU의 식별번호(i)를 ‘1’로 초기화하는 단계이다.
GPU 선택단계(S135)는 GPU 식별번호 초기화단계(S134) 또는 GPU 식별번호 추가단계(S138)에 의해 산출된 식별번호(i)를 갖는 GPU를 선택하는 단계이다.
비교 및 판별단계(S136)는 GPU 선택단계(S135)에 의해 선택된 GPUi의 평균사용량()을 기 설정된 상한설정값(TH)과 비교하며, 상세하게로는 해당 GPUi의 평균사용량()이 상한설정값(TH) 이상( ≥ TH)인지를 비교하는 단계이다.
이때 상한설정값(TH)은 해당 GPU에서 과부하가 발생하였다고 판단할 수 있는 사용량 최소값으로 정의된다.
또한 비교 및 판별단계(S136)는 1)GPUi의 평균사용량()이 상한설정값(TH) 이상( ≥ TH)이면, 해당 GPUi에 과부하가 발생하였다고 판단하여 다음 단계로 점검후보 결정단계(S137)를 진행하되, 2)GPUi의 평균사용량()이 상한설정값(TH) 미만( < TH)이면, 해당 GPUi에 과부하가 발생하지 않았다고 판단하여 다음 단계로 제1 잔여 GPU 존재여부 판별단계(S138)를 진행한다.
점검후보 결정단계(S137)는 비교 및 판별단계(S136)에서, GPUi의 평균사용량()이 상한설정값(TH) 이상( ≥ TH)임에 따라 해당 GPUi에 과부하가 발생하였다고 판단될 때 진행되며, 해당 GPUi를 점검대상으로 결정하는 단계이다.
제1 잔여GPU 존재여부 판별단계(S138)는 비교 및 판별단계(S136)에서, GPUi의 평균사용량()이 상한설정값(TH) 미만( < TH)임에 따라 해당 GPUi에 과부하가 발생하지 않았다고 판단될 때 진행되며, 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상인지를 비교하는 단계이다. 이때 잔여GPU는 상기 단계136(S136)에서, 아직 평균사용량 및 상한설정값(TH)의 비교가 이루어지지 않은 GPU를 의미한다.
또한 제1 잔여GPU 존재여부 판별단계(S138)는 1)만약 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상이면, 잔여GPU가 존재하지 않는다고 판단하여 다음 단계로 점검후보 존재여부 판별단계(S141)를 진행하고, 2)만약 현재 식별번호(i)가 최종 식별번호 ‘m’ 미만이면, 잔여GPU가 존재한다고 판단하여 다음 단계로 GPU 식별번호 추가단계(S139)를 진행한다.
GPU 식별번호 추가단계(S139)는 제1 잔여GPU 존재여부 판별단계(S138)에서, 현재 식별번호(i)가 최종 식별번호 ‘m’ 미만임에 따라 잔여GPU가 존재한다고 판단될 때 진행되며, 현재 GPU 식별번호(i)에 ‘1’을 추가하는 단계이다.
또한 GPU 식별번호 추가단계(S139)는 다음 단계로 GPU 선택단계(S135)를 진행하여 GPU 선택단계(S135)의 과정을 반복한다.
제2 잔여GPU 존재여부 판별단계(S140)는 점검후보 결정단계(S137) 이후에 진행되며, 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상인지를 비교하는 단계이다.
또한 제2 잔여GPU 존재여부 판별단계(S140)는 1)만약 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상이면, 잔여GPU가 존재하지 않는다고 판단하여 다음 단계로 점검후보 존재여부 판별단계(S141)를 진행하고, 2)만약 현재 식별번호(i)가 최종 식별번호 ‘m’ 미만이면, 잔여GPU가 존재한다고 판단하여 다음 단계로 GPU 식별번호 추가단계(S139)를 진행한다.
점검후보 존재여부 판별단계(S141)는 점검후보 결정단계(S137)에 의해 적어도 하나 이상의 GPU가 점검후보로 결정되었는지 여부를 판단하는 단계이다.
또한 점검후보 존재여부 판별단계(S141)는 1)만약 점검후보로 결정된 GPU가 존재하면, 다음 단계로 GPU 정렬단계(S142)를 진행하고, 2)만약 점검후보로 결저오딘 GPU가 존재하지 않으면, 다음 단계를 진행하지 않고 종료한다.
GPU 정렬단계(S142)는 점검후보 존재여부 판별단계(S141)에서, 점검후보로 결정된 GPU가 존재할 때 진행되며, 각 GPU 평균사용량 산출단계(S133)에서 산출된 평균사용량()들을 활용하여, 평균사용량()이 낮은 순서부터 높은 순서까지 GPU들을 차례대로 정렬시킨다.
변경대상 결정단계(S143)는 점검후보로 결정된 GPU가 L개일 때, 평균사용량()이 낮은 순서부터 L개의 GPU를 변경대상으로 결정한다.
분류테이블 최적화단계(S144)는 변경대상 결정단계(S143)에서 점검후보로 결정된 각 GPU에 대하여, 해당 점검후보의 GPU로 입력되는 영상들 중 어느 하나가 해당 점검후보의 변경대상으로 결정된 GPU로 입력되도록 결정한 후, 결정된 정보가 반영되도록 분류테이블을 최적화한 후, 메모리(M)에 저장한다.
이와 같이 본 발명의 일실시예인 객체 감응형 차량 흐름 제어 방법(S1)은 카메라들에 의해 촬영된 영상을 분석하여 객체정보 및 교통정보를 생성한 후, 생성된 교통정보에 따라 최적 현시체계를 생성한 후, 생성된 최적 현시체계에 따라 교통신호가 제어되도록 구성됨으로써 차량 정체율 및 대기시간을 현저히 절감시킬 수 있을 뿐만 아니라 이에 따른 연비소모 및 오염가스 배출량을 효과적으로 줄여 사회적 비용 소모를 절감시킬 수 있게 된다.
또한 본 발명의 객체 감응형 차량 흐름 제어 방법(S1)은 딥-러닝 알고리즘을 이용하여 입력된 영상들을 분석함에 따라 객체 인식률을 개선시켜 분석의 정확성 및 신뢰도를 획기적으로 높일 수 있다.
또한 본 발명의 객체 감응형 차량 흐름 제어 방법(S1)은 딥-러닝 알고리즘으로 합성곱 신경망(CNN, Convolution Neural Network) 기반의 YOLO 모델을 적용시킴으로써 객체 인식률을 더욱 높일 수 있게 된다.
또한 본 발명의 객체 감응형 차량 흐름 제어 방법(S1)은 딥-러닝 알고리즘의 학습 시, 인식대상을 종래에 80종류에서, 도로에서 자주 볼 수 있는 5종류로 제한하여 학습이 이루어지도록 구성됨으로써 객체 인식률을 더욱 개선시킬 수 있다.
또한 본 발명의 객체 감응형 차량 흐름 제어 방법(S1)은 복수개의 GPU(Graphic Processing Unit)들을 이용하여 영상을 분석함으로써 카메라들의 촬영에 의해 획득된 고용량의 영상들의 실시간 처리 및 분석이 가능하다.
S1:객체 감응형 차량 흐름 제어 방법
S10:학습단계 S20:카메라 촬영단계
S30:영상전송단계 S40:영상분류단계
S41:영상입력단계 S42:비교단계
S43:분류모드 판별단계 S44:일대일기반 분류단계
S45:분류테이블기반 분류단계 S50:인공지능 기반 영상 분석단계
S51-1, ..., 51-N:영상입력단계 S52:알고리즘 추출단계
S53-1, ..., S53-N:영상분석단계들 S60:사용량 모니터링 단계
S70:객체상세정보 생성단계 S80:교통정보 생성단계
S90:번호인식단계 S100:위반차량 판별단계
S110:신호체계 수립단계 S120:신호제어단계
S130:분류테이블 최적화단계 S131:데이터 수집단계
S132:각 GPU별 총사용량 산출단계
S133:각 GPU별 평균사용량 산출단계
S134:GPU 식별번호 초기화단계 S135:GPU 선택단계
S136:비교 및 판별단계 S137:점검후보 결정단계
S138:제1 잔여 GPU 존재여부 판별단계
S139:GPU 식별번호 추가단계 S140:제2 잔여 GPU 존재여부 판별단계
S141:점검후보 존재여부 판별단계 S142:GPU 정렬단계
S143:변경대상 결정단계 S144:분류테이블 최적화단계

Claims (7)

  1. 감지영역인 적어도 하나 이상의 도로를 촬영하여 영상을 획득하는 카메라들과, 상기 감지영역에 설치되는 신호등들의 동작을 제어하는 교통신호 제어기와, 컨트롤러를 포함하는 차량 흐름 제어 시스템의 동작 과정인 객체 감응형 차량 흐름 제어 방법(S1)에 있어서:
    상기 카메라들이 자신에게 할당된 도로를 촬영하여 영상을 획득한 후, 상기 컨트롤러로 획득된 영상들을 전송하는 단계20(S20);
    상기 컨트롤러가 딥-러닝(Deep learning) 기반의 객체분석 알고리즘을 이용하여, 상기 단계20(S20)을 통해 전송받은 영상들을 분석하여 객체를 감지함과 동시에 감지된 객체의 위치, 종류 및 크기 중 적어도 하나 이상을 포함하는 객체정보를 검출하는 단계50(S50);
    상기 컨트롤러가 상기 단계50(S50)에 의해 검출된 객체정보들과, 기 설정된 각 카메라의 촬영영역의 위치정보, 상기 도로의 위치정보를 참조하여, 감지된 객체를 트래킹하여 각 객체가 위치한 차로종류, 차선위치, 이동속도 및 방향 중 적어도 하나 이상을 포함하는 객체분석정보를 생성하는 단계70(S70);
    상기 컨트롤러가 상기 단계70(S70)에 의해 생성된 객체분석정보를 활용 및 가공하여, 각 연결차로의 대기열, 대기시간 및 교통량 중 적어도 하나 이상을 포함하는 교통정보를 생성하는 단계80(S80);
    상기 컨트롤러가 상기 단계80(S80)에 의해 생성된 교통정보를 기반으로 최적 신호체계를 수립하는 단계110(S110);
    상기 컨트롤러가 상기 단계110(S110)에 의해 수립된 최적 신호체계 정보를 상기 교통신호 제어기로 전송하고, 상기 교통신호 제어기가 상기 컨트롤러로부터 전송받은 최적 신호체계 정보에 따라 상기 신호등들이 운영되도록 상기 신호등들을 제어하는 단계120(S120)을 포함하고,
    상기 컨트롤러는 복수(M)의 GPU(Graphic Processing Unit)들을 구비하고,
    상기 컨트롤러에는 각 카메라로부터 입력된 영상을 처리할 대상인 GPU가 매칭된 분류테이블이 기 설정되어 저장되고,
    상기 객체 감응형 차량 흐름 제어 방법(S1)은
    상기 단계20(S20) 이후에 진행되며, 상기 컨트롤러가 상기 분류테이블에 저장된 매칭정보에 따라, 상기 카메라들로부터 전송받은 영상들을 해당하는 GPU로 분류시키는 단계40(S40)을 더 포함하고,
    상기 단계50(S50)은
    상기 컨트롤러가 상기 단계40(S40)을 통해 분류된 바에 따라, 영상들을 해당 GPU로 입력시키는 단계51(S51);
    각 GPU가 상기 객체분석 알고리즘을 이용하여, 상기 단계51(S51)을 통해 입력된 영상을 분석하여 객체정보를 출력하는 단계53(S53)들을 포함하고,
    상기 단계40(S40)은
    상기 컨트롤러가 상기 단계20(S20)을 통해 상기 카메라들로부터 전송받은 영상을 입력받는 단계41(S41);
    상기 컨트롤러가 상기 단계41(S41)을 통해 입력된 영상들의 수량(N)과, 상기 GPU들의 수량(M)을 비교하는 단계42(S42);
    상기 단계42(S42)에서, 1)만약 입력된 영상 수량(N)이 GPU 수량(M) 이하(N ≤ M)이면, 각 영상이 단일 GPU에서 처리되는 일대일기반으로 영상을 분류할 것으로 결정하며, 2)만약 입력된 영상 수량(N)이 GPU 수량(M)을 초과(N > M)하면, 적어도 하나 이상의 GPU에서 2개 이상의 영상을 처리하는 분류테이블기반으로 영상을 분류할 것으로 결정하는 단계43(S43);
    상기 단계43(S43)에서 입력된 영상 수량(N)이 GPU 수량(M) 이하(N ≤ M)일 때 진행되며, 상기 컨트롤러가 각 카메라의 영상이 단일 GPU에서 처리되도록, 입력된 영상들을 각 GPU로 분류시키는 단계44(S44);
    상기 단계43(S43)에서 입력된 영상 수량(N)이 GPU 수량(M) 미만(N > M)일 때 진행되며, 상기 컨트롤러가 상기 분류테이블에 따라, 상기 카메라들로부터 전송받은 영상들을, 해당하는 GPU로 분류시키는 단계45(S45)를 포함하고,
    상기 객체 감응형 차량 흐름 제어 방법(S1)은
    상기 컨트롤러가 상기 단계50(S50)에 의해, 영상분석이 수행된 GPU의 사용량(부하량)을 검출한 후, 검출된 사용량을 메모리에 저장하는 단계60(S60);
    기 설정된 주기2(T2) 마다 진행되는 단계130(S130)을 더 포함하고,
    상기 단계130(S130)은
    상기 컨트롤러가 상기 주기2(T2) 동안, 상기 메모리에 저장된 각 GPU별 사용량 데이터들을 수집하는 단계131(S131);
    상기 컨트롤러가 상기 단계131(S131)에 의해 수집된 각 GPU별 사용량 데이터들을 활용하여, 각 GPU별 총사용량을 산출하는 단계132(S132);
    상기 컨트롤러가 상기 컨트롤러에 구비된 GPU의 수량이 ‘m’개이고, 각 GPU에 1부터 m까지의 식별번호(i)를 부여한다고 가정할 때, 상기 단계132(S132)에 의해 산출된 각 별 총사용량과 상기 주기2(T2)를 활용하여, 각 별로 시간당 평균사용량()을 산출하는 단계133(S133);
    상기 컨트롤러가 점검대상인 GPU의 식별번호(i)를 ‘1’로 초기화하는 단계134(S134);
    상기 컨트롤러가 상기 단계134(S134)에 의해 식별번호 ‘1’을 갖는 GPU를 점검대상으로 선택하는 단계135(S135);
    상기 컨트롤러가 상기 단계135(S135)에 의해 선택된 GPUi의 평균사용량()이, 해당 GPU에서 과부하가 발생하였다고 판단할 수 있는 사용량 최소값으로 정의되는 기 설정된 상한설정값(TH) 이상( ≥ TH)인지를 비교하는 단계136(S136);
    상기 단계136(S136)에서, GPUi의 평균사용량()이 상한설정값(TH) 이상( ≥ TH)임에 따라 해당 GPUi에 과부하가 발생하였다고 판단될 때 진행되며, 상기 컨트롤러가 해당 GPUi를 점검대상으로 결정하는 단계137(S137);
    상기 단계136(S136)에서, GPUi의 평균사용량()이 상한설정값(TH) 미만( < TH)임에 따라 해당 GPUi에 과부하가 발생하지 않았다고 판단될 때 진행되며, 상기 컨트롤러가 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상인지를 비교하는 단계138(S138);
    상기 단계138(S138)에서, 현재 식별번호(i)가 최종 식별번호 ‘m’ 미만임에 따라 평균사용량 및 상한설정값(TH)의 비교가 이루어지지 않은 GPU인 잔여GPU가 존재한다고 판단될 때 진행되며, 상기 컨트롤러가 현재 GPU 식별번호(i)에 ‘1’을 추가하며, 다음 단계로 상기 단계135(S135)를 진행하는 단계139(S139);
    상기 단계137(S137) 이후에 진행되며, 상기 컨트롤러가 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상인지를 비교하며, 만약 현재 식별번호(i)가 최종 식별번호 ‘m’ 미만임에 따라 잔여GPU가 존재한다고 판단될 때, 다음 단계로 상기 단계139(S139)를 진행하는 단계140(S140);
    상기 단계140(S140)에서, 현재 식별번호(i)가 최종 식별번호 ‘m’ 이상임에 따라 잔여GPU가 존재하지 않는다고 판단될 때 진행되며, 상기 컨트롤러가 상기 단계137(S137)에 의해 적어도 하나 이상의 GPU가 점검후보로 결정되었는지 여부를 판단하며, 만약 상기 단계137(S137)에서 점검후보로 결정된 GPU가 존재하지 않을 때, 다음 단계를 진행하지 않고 종료하는 단계141(S141);
    상기 단계141(S141)에서, 점검후보로 결정된 GPU가 존재할 때 진행되며, 상기 컨트롤러가 상기 단계133(S133)에서 산출된 평균사용량()들을 활용하여, 평균사용량()이 낮은 순서부터 높은 순서로 GPU들을 차례대로 정렬시키는 단계142(S142);
    상기 단계137(S137)에서 점검후보로 결정된 GPU가 L개일 때, 상기 컨트롤러가 상기 단계142(S142)에 의해 정렬된 데이터를 참조하여 평균사용량()이 낮은 순서부터 L개의 GPU를 변경대상으로 결정하는 단계143(S143);
    상기 컨트롤러가 상기 단계143(S143)에서 점검후보로 결정된 각 GPU에 대하여, 해당 GPU로 입력되는 영상들 중 어느 하나를, 해당 점검후보인 GPU의 변경대상으로 결정된 GPU로 입력하도록 결정하며, 결정된 정보가 반영되도록 분류테이블을 최적화한 후, 상기 메모리에 저장하는 단계144(S144)를 포함하고,
    상기 단계135(S135)는 상기 단계139(S139) 이후에 진행될 때, 현재 식별번호의 GPU를 점검대상으로 선택하는 것을 특징으로 하는 객체 감응형 차량 흐름 제어 방법(S1).
  2. 제1항에 있어서, 상기 객체 감응형 차량 흐름 제어 방법(S1)은
    기 설정된 주기1(T1) 마다 진행되며, 상기 컨트롤러가 상기 객체분석 알고리즘을 학습시킨 후, 학습된 객체분석 알고리즘을 상기 메모리에 저장시키는 학습단계(S10)를 더 포함하고,
    상기 단계50(S50)은
    상기 컨트롤러가 상기 학습단계(S10)에 의해 학습된 객체분석 알고리즘을 이용하여, 상기 단계20(S20)을 통해 상기 카메라들로부터 전송받은 영상들을 분석하여 객체정보를 출력하는 것을 특징으로 하는 객체 감응형 차량 흐름 제어 방법(S1).
  3. 제2항에 있어서, 상기 객체분석 알고리즘은 합성곱 신경망(CNN, Convolution Neural Network) 기반의 YOLO 모델이 적용된 것을 특징으로 하는 객체 감응형 차량 흐름 제어 방법(S1).
  4. 제3항에 있어서, 상기 학습단계(S10)은
    상기 객체분석 알고리즘의 학습 시, 자동차, 버스, 오토바이, 트럭 및 인체를 인식대상의 객체로 설정한 것을 특징으로 하는 객체 감응형 차량 흐름 제어 방법(S1).
  5. 삭제
  6. 삭제
  7. 삭제
KR1020210072214A 2021-06-03 2021-06-03 신호 제어를 위한 객체 감응형 차량 흐름 제어 방법 KR102561657B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210072214A KR102561657B1 (ko) 2021-06-03 2021-06-03 신호 제어를 위한 객체 감응형 차량 흐름 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210072214A KR102561657B1 (ko) 2021-06-03 2021-06-03 신호 제어를 위한 객체 감응형 차량 흐름 제어 방법

Publications (2)

Publication Number Publication Date
KR20220163717A KR20220163717A (ko) 2022-12-12
KR102561657B1 true KR102561657B1 (ko) 2023-07-31

Family

ID=84391423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210072214A KR102561657B1 (ko) 2021-06-03 2021-06-03 신호 제어를 위한 객체 감응형 차량 흐름 제어 방법

Country Status (1)

Country Link
KR (1) KR102561657B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101942808B1 (ko) 2018-11-13 2019-01-29 주식회사 인텔리빅스 객체 이미지 인식 dcnn 기반 cctv 영상분석장치
KR102021534B1 (ko) * 2018-08-29 2019-10-18 주식회사 핀텔 딥러닝 기반 차량 및 보행자 감지 영상 분석 장치 및 그 방법
KR102125022B1 (ko) 2020-03-31 2020-06-19 김형진 영상 분석 서버의 동작 방법과 이를 이용한 영상 감지 서비스 제공 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101782339B1 (ko) * 2016-01-29 2017-10-12 케이에스아이 주식회사 다중객체 영상분석 및 그 결과 제공을 위한 영상분석 시스템
KR102171671B1 (ko) * 2018-08-09 2020-10-29 (주)인터아이 딥 러닝 및 인공지능 플래닝 기반 교통신호 통합제어 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102021534B1 (ko) * 2018-08-29 2019-10-18 주식회사 핀텔 딥러닝 기반 차량 및 보행자 감지 영상 분석 장치 및 그 방법
KR101942808B1 (ko) 2018-11-13 2019-01-29 주식회사 인텔리빅스 객체 이미지 인식 dcnn 기반 cctv 영상분석장치
KR102125022B1 (ko) 2020-03-31 2020-06-19 김형진 영상 분석 서버의 동작 방법과 이를 이용한 영상 감지 서비스 제공 방법

Also Published As

Publication number Publication date
KR20220163717A (ko) 2022-12-12

Similar Documents

Publication Publication Date Title
US10636161B2 (en) Image recognition system
CN110032962B (zh) 一种物体检测方法、装置、网络设备和存储介质
US20200365035A1 (en) Method and system for recognition of objects near ship by using deep neural network
CN112101221B (zh) 一种用于交通信号灯实时检测与识别的方法
KR100459476B1 (ko) 차량의 대기 길이 측정 장치 및 방법
KR102414876B1 (ko) 라이다 기반 좌회전 감응신호를 이용한 교통신호 제어시스템
KR20100119476A (ko) 연속류도로 사고 및 돌발 자동판별 검지시스템 및 그 방법
KR102561656B1 (ko) 딥-러닝 기반 객체 감응을 활용한 차량 흐름 제어 시스템
KR102122850B1 (ko) 딥 러닝 기반의 교통분석 및 차량번호 인식 솔루션
KR101974105B1 (ko) 차량번호 인식률을 높인 차량 촬영시스템 및 방법
KR102089298B1 (ko) 범용 문자 시퀀스 검출을 통한 다국적 차량번호판 인식 시스템 및 그 방법
KR20190134018A (ko) 딥러닝 기반 영상 처리 기술이 탑재된 지능형 cctv를 활용한 주차 관제 방법 및 시스템
CN111223129A (zh) 检测方法、检测装置、监控设备和计算机可读存储介质
CN112949578B (zh) 车灯状态识别方法、装置、设备及存储介质
US11948373B2 (en) Automatic license plate recognition
KR20200141834A (ko) 영상기반 교통신호제어 장치 및 방법
KR20200123537A (ko) 딥러닝 및 데이터 결합을 이용한 싱크홀 탐지방법 및 이를 이용한 싱크홀 탐지시스템
CN116597411A (zh) 极端天气下无人驾驶车辆识别交通标志的方法及系统
KR102561657B1 (ko) 신호 제어를 위한 객체 감응형 차량 흐름 제어 방법
KR102656881B1 (ko) AIoT 기반 교통안전 통합 관리시스템
CN117115752A (zh) 一种高速公路视频监控方法及系统
Shanshan et al. An evaluation system based on user big data management and artificial intelligence for automatic vehicles
KR102301932B1 (ko) 듀얼 카메라의 관심영역에 열화상 블렌딩 기법을 이용한 교통신호 제어시스템
KR20230173814A (ko) 소실점을 이용한 3d 바운딩 박스 생성 방법 및 교통신호 제어를 위한 객체 감응형 차량 흐름 제어 방법
US11157755B2 (en) Image processing apparatus

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant