Journal Search Engine

View PDF Download PDF Export Citation Korean Bibliography PMC Previewer
The Journal of The Korea Institute of Intelligent Transport Systems Vol.21 No.1 pp.105-122
DOI : https://doi.org/10.12815/kits.2022.21.1.105

Detecting Vehicles That Are Illegally Driving on Road Shoulders Using Faster R-CNN

MyungJin Go*, Minju Park**, Jiho Yeo**
*NC SOFT AI Biz Division
**Department of Big Data Application, Hannam University
Corresponding author : Minju Park, parkmj@hnu.kr; Jiho Yeo, jihoyeo@hnu.kr
3 November 2021 │ 19 November 2021 │ 14 February 2022

Abstract


According to the statistics about the fatal crashes that have occurred on the expressways for the last 5 years, those who died on the shoulders of the road has been as 3 times high as the others who died on the expressways. It suggests that the crashes on the shoulders of the road should be fatal, and that it would be important to prevent the traffic crashes by cracking down on the vehicles intruding the shoulders of the road. Therefore, this study proposed a method to detect a vehicle that violates the shoulder lane by using the Faster R-CNN. The vehicle was detected based on the Faster R-CNN, and an additional reading module was configured to determine whether there was a shoulder violation. For experiments and evaluations, GTAV, a simulation game that can reproduce situations similar to the real world, was used. 1,800 images of training data and 800 evaluation data were processed and generated, and the performance according to the change of the threshold value was measured in ZFNet and VGG16. As a result, the detection rate of ZFNet was 99.2% based on Threshold 0.8 and VGG16 93.9% based on Threshold 0.7, and the average detection speed for each model was 0.0468 seconds for ZFNet and 0.16 seconds for VGG16, so the detection rate of ZFNet was about 7% higher. The speed was also confirmed to be about 3.4 times faster. These results show that even in a relatively uncomplicated network, it is possible to detect a vehicle that violates the shoulder lane at a high speed without pre-processing the input image. It suggests that this algorithm can be used to detect violations of designated lanes if sufficient training datasets based on actual video data are obtained.



Faster R-CNN을 이용한 갓길 차로 위반 차량 검출

고 명 진*, 박 민 주**, 여 지 호**
*주저자 : 엔씨소프트 AI Biz실 연구원
**교신저자 : 한남대학교 빅데이터응용학과 조교수

초록


최근 5년간 고속도로에서 발생한 사망 사고의 통계를 살펴보면, 고속도로 전체 사망자 중 갓길에서 발생한 사망자의 사망률이 약 3배 높은 것으로 나타났다. 이는 갓길 사고 발생 시 사고의 심각도가 매우 높다는 것을 보여주며, 갓길 차로 위반 차량을 단속하여 사고를 미연에 방지하는 것이 중요하다는 것을 시시한다. 이에 본 연구는 Faster R-CNN 기법을 활용하여 갓길 차로 위반 차량을 검출할 수 있는 방법을 제안하였다. Faster R-CNN 기법을 기반으로 차량을 탐지하고, 추가적인 판독 모듈을 구성하여 갓길 위반 여부를 판단하였다. 실험 및 평가를 위해 현실세계와 유사하게 상황을 재현할 수 있는 시뮬레이션 게임인 GTAV를 활용하였다. 이미지 형태의 학습데이터 1,800장과 평가데이터 800장을 가공 및 생성하였으며, ZFNet과 VGG16에서 Threshold 값의 변화에 따른 성능을 측정하였다. 그 결과 Threshold 0.8 기준 ZFNet 99.2%, Threshold 0.7 기준 VGG16 93.9%의 검출율을 보였고, 모델 별 평균 검출 속도는 ZFNet 0.0468 초, VGG16 0.16초를 기록하여 ZFNet의 검출율이 약 7% 정도 높았으며, 검출 속도 또한 약 3.4 배 빠름을 확인하였다. 이는 비교적 복잡하지 않은 네트워크에서도 입력 영상의 전처리 없이 빠른 속도로 갓길 차로 위반 차량의 검출이 가능함을 보여주며, 실제 영상자료 기반의 학습 데이터셋을 충분히 확보한다면 지정 차로 위반 검출에 본 알고리즘을 활용할 수 있다는 것을 시사한다.



    Ⅰ. 서 론

    한국도로공사에서 발표한 고속도로 교통사고통계(Korea Expressway Corporation, 2021)에 따르면 지난 5년 간 약 10,000여 건의 고속도로 교통사고가 발생하였으며, 약 1,000여 명이 사망한 것으로 조사되었다.. 특히 선행 사고로 정차한 차량이나 갓길에 정차된 차량을 보지 못하여 발생하는 2차 사고의 경우 치사율이 일반 사고보다 6배나 높게 나타났다(<Table 1> 참조 ). 최근 5년간 고속도로에서 발생한 2차 사고 사망자는 170명 으로 연평균 34명에 달하며 이에 따라 고속도로를 관리하는 경찰과 한국도로공사에서는 다양한 방법으로 갓 길 불법 주정차 및 주행에 대한 단속 및 계도 활동을 지속해서 펼치고 있다.

    <Table 1>

    Expressway Traffic crashes by lane types in 2020

    KITS-21-1-105_T1.gif

    도로교통법 제60조 1항에 따르면, 자동차의 운전자는 고속도로 등에서 자동차의 고장 등 부득이한 사정이 있는 경우를 제외하고는 갓길로 통행하여서는 안된다. 다만, 고속도로 등의 유지보수 작업을 하는 자동차, 경찰공무원의 신호나 지시를 따르는 경우, 긴급자동차는 예외인데 단속이 어렵다는 이유로 많은 차량이 정 체가 심할 때 갓길로 주행하는 일이 빈번하게 발생하고 있다.

    최근에는 드론과 같은 첨단 장비를 사용하여 고속도로에서 단속을 수행하기 위한 연구가 활발히 수행되 고 있다(Jo, 2017). 헬기, 드론 등 첨단 장비를 투입하여 단속을 펼치고 있으나, 높은 비용, 기체 내 카메라 조 작의 어려움, 드론 조종 등의 특수장비 조작 가능한 인력이 필요하다는 점 등의 이유로 지속적인 단속이 이 루어지지 않고 있다.

    갓길 통행 역시 기존의 과속단속시스템과 유사한 방법으로 카메라를 통해 단속할 수 있다. 하지만, 단속의 범위는 카메라 설치 위치로부터 최대 25m 정도로 카메라의 위치를 인지하고 있는 운전자가 회피할 가능성 이 있고, 고가의 장비 설치비, 설치 시 교통 통제 필요 등의 문제가 있어 추가적인 설치 필요시에는 많은 요 소를 고려해야 한다(Korea Road Traffic Authority, 2012). 또한, 기존의 루프검지기와 같은 물체를 검지하는 전 통적인 방법으로도 갓길차량에 대한 단속이 가능하나, 검지 오류가 발생할 시 이에 대한 해결이 쉽지가 않으 며, 유지보수 비용과 시간이 많이 발생한다는 한계가 존재한다.

    하지만 무엇보다도, 위와 같은 단속 방법의 가장 큰 한계는 위반 차량 판단을 위해 인적 자원이 투입되어 야 한다는 것이다. 이 경우 지속적으로 비용이 발생하며, 24시간 동안의 지속적인 단속이 어려울 수 있다. 따 라서 본 논문에서는 별도의 장치나 영상의 전처리가 필요하지 않고, 실시간으로 입력된 영상에서 갓길 차로 위반 차량을 자동으로 분류하고 검출해 낼 수 있는 방법에 대하여 연구하였다.

    갓길 위반 차량을 자동으로 분류하고 위반차량을 실시간으로 검출하는 모델을 구축하기 위해서는 차량이 갓길 차로를 주행하는 영상 데이터가 필수적이다. 특히, 딥러닝과 같은 학습기반의 모델을 사용하려면 충분 한 양의 학습데이터가 필요하기 때문에 드물게 발생하는 위반상황에 대해 충분한 표본수를 확보하는 것은 매우 큰 비용과 시간이 소모가 된다.

    따라서 본 연구에서는 가상 시뮬레이션에서 실제 고속도로와 유사한 환경을 구현한 뒤, 영상 데이터를 취 득하는 방법을 사용하였다. 실제와 유사한 가상현실을 구현하려는 시도는 최근 디지털 트윈(Digital Twin)을 구현하려는 노력으로 나타나고 있다. 디지털 트윈은 가상공간에 현실과 유사한 공간을 구현하여, 시뮬레이션 을 통해 현실을 분석·예측하고자 하는 것이다. 자율주행차, 드론, 국토 및 도시 인프라 관리 등 스마트 시티 로 나아가기 위한 핵심 기술로 각광받고 있다. 올해 정부1)에서는 디지털트윈사업을 위해 4,386억원을 투자 하고 있으며, 특히, 자율주행, 스마트건설 등 신산업 기반으로서의 역할과 안전한 국토·시설관리를 위한 ‘디 지털 트윈’ 관련 기술개발 등에 투자를 집중하고 있다.

    또한, 자율주행차, C-ITS와 같은 새로운 서비스의 안전성 검증을 위해 메타버스(Metaverse) 가상공간이 활 용되고 있다. 메타버스의 가상공간에서는 교통사고, 악천후 등 다양한 조건에서 실험이 가능하며, 자율주행 알고리즘이 실제 현장에 적용되기 전에 메타버스 가상공간에서 충분한 안전성 검증을 받을 수 있다.

    본 논문에서는 앞서 설명한 오픈 월드 게임엔진인 GTA V를 활용하여 가상공간을 만든 후 학습 및 검증 데이터를 확보하였다. GTA V는 추가적인 모듈 설치를 통하여 카메라 앵글의 조작이 가능하며, 그래픽 텍스 쳐 조절을 통해 그림자, 빛의 반사 등의 효과로 현실과 더 유사한 환경을 조성할 수도 있다. 실제로 다양한 선행연구에서 GTA V에서 수집된 데이터를 활용하여 자율주행, 객체검지 등의 다양한 연구를 수행하였으며 (Lee et al., 2020;Richter et al., 2016;Wang et al., 2019), 시뮬레이션 환경에서 생성한 데이터로 학습한 모델 이 현실 환경에서도 잘 작동한다는 것이 검증이 되었다(Johnson-Roberson et al., 2016;Lee et al., 2020;Richter et al., 2016). 실제로 갓길 차로를 주행하는 실 데이터를 취득하기 위해선 매우 많은 시간이 소비되며, 다양한 기상 상황(안개, 비, 눈)과 같은 도로 환경적인 요인을 고려하기가 어렵다는 한계가 존재한다.

    이에 따라 시뮬레이션 게임 내에서 취득한 영상으로 기반으로 Faster R-CNN 기법으로 학습시킨 모델과 판독 모듈에 대하여 갓길 위반 차량 검출에 대한 평가를 수행하였으며, 주간/야간, 맑음/안개/비와 같은 시간 변수와 기상변수를 고려하여 모델을 학습하고 성능을 평가하였다.

    Ⅱ. 관련 이론 및 연구 고찰

    본 장에서는 기존에 사용되고 있는 갓길주행 검출시스템과 현재 많은 연구가 이루어지고 있는 Convolutional Neural Network 기반의 객체 검출에 관련된 연구를 기술한다.

    1. 갓길 차로 위반 검출 방법론

    기존에 수행된 갓길 차로 위반 검출방법 연구는 크게 두 가지 방법으로 분류할 수 있는데, 센서를 활용하 여 검출하는 검출 센서 기법과 영상을 활용하는 영상 검출 기법이다. 현재 센서를 이용한 검출에는 루프, 압 력식, 초음파, 초단파 등 다양한 센서 기술들이 활용되고 있으며, 검출의 정확도가 다른 센서들에 비해 비교 적 우수한 루프 방식이 많이 활용되고 있다(Korea Road Traffic Authority, 2012). 루프 방식은 도로 노면 아래 설치된 루프 코일 위로 차량이 통과하는 경우 차량과 루프 사이의 자속 변화를 감지하는 원리이다. 루프 방 식은 루프 코일을 도로 중앙에 매설되기 때문에 초기 설치 비용과 유지보수 비용이 비싸고, 작업시 해당 구 간의 교통 통제가 필수적이며, 도로 노면 상태가 좋지 않은 곳에서는 센서가 파손될 우려가 있는 단점을 가 지고 있다.

    이러한 단점들 때문에 최근에는 영상 검출기법을 많이 사용하고 있다. 영상 검출기법은 카메라의 영상으 로부터 정보를 수집하여 검지하는 기법으로 루프방식에서 사용하는 루프를 가상으로 설정하여 해당 구역을 통과하는 차량을 검출하게 된다.

    전통적으로 객체를 인식하고 검출을 하는 알고리즘으로는 HOG(Histogram of Gradient)(Dalal and Triggs, 2005)와 SIFT(Scale Invariant Feature Transform)(Lowe, 2004)의 기법이 있다. HOG와 SIFT 기법은 대부분 영상 내에 대상 영역을 일정 크기의 블록으로 나누고 각 블록에 속한 gradient의 방향성을 이용하여 대상을 검출하 는 방식으로, 수동적으로 잘 디자인된 특징(Handcrafted features)를 기반으로 검출을 진행한다는 특징이 있다. 데이터 자체보다는 도메인 지식에 크게 의존하는 경향이 있으며, 따라서 검출 객체가 달라질 때마다 수동적 으로 파라미터 튜닝을 하기가 어렵다는 한계가 존재한다. 또한, HOG에서 제시하는 슬라이딩 윈도우 기반의 검출 방식은 탐색해야 하는 영역의 범위가 이미지 전체이기 때문에 속도가 느리다는 단점이 있다.

    최근에는 고속도로 상공에서 드론을 띄워 지정 차로, 버스전용 차로, 갓길 차로 위반 등 교통법규 위반 차 량의 계도 및 단속을 실시하고 있다(Korea Expressway Corporation, 2021). 센서 매립식과 고정식 카메라는 단 속의 위치가 고정되어 있지만, 드론의 경우 장소를 이동하면서 단속을 할 수 있어 유연하게 운영할 수 있다. 뿐만 아니라 상공 25~30m에서 번호판 식별이 가능하며 360도 회전이 가능기 때문에 입체적인 단속이 가능 하다. 그러나 단속 후 적발된 차량의 영상을 분류하는 과정을 거쳐야 하며, 위반 차량에 대한 실시간으로 자 동 판독을 할 수가 없다는 단점이 있으며, 즉각적인 교통 지도 및 계도 활동을 위해서는 위반 차량에 대한 실시간 검출과 분류가 필수적이다. 이를 위해 위반 차량을 실시간으로 자동 검출 및 분류할 수 있는 연구가 필요하다.

    2. R-CNN

    Region With CNN features(이하 R-CNN)은 기존 Convolutional Neural Network (이하 CNN)에 사용된 기법을 사용하지만, 영역 정보를 기반으로 학습하며 객체의 Detection 할 수 있는 기법이다. 이미지가 입력되면, 두 번째 단계로 Selective Search 방법을 이용하여 객체의 후보영역(Region Proposal)을 선정한다. Selective Search 기법은 Bottom-up 방식으로 초기에 sub-segmentation을 수행하여 작은 영역으로 분리, 비슷한 영역끼리 그룹 화하여 더 큰 영역으로 통합하는 과정을 반복하고 최종적으로 통합된 영역을 바탕으로 후보 영역을 만들어 내는 것을 말한다(Girshick et al., 2014).

    Selective Search를 통해 2,000개의 후보 영역이 선정되면, 세 번째 단계로 CNN을 통해 feature vector를 얻 어내게 되는데, 이때 CNN은 Alexnet(Krizhevsky et al., 2012)을 사용하여 224*224의 고정 크기의 이미지를 입 력 받고 이미지의 크기에 따라 warp나 crop의 과정을 거치게 된다. 마지막 단계에서는 Linear SVM을 이용해 해당 영역에 대한 Class를 분류한다.

    R-CNN은 Region에 기반한 CNN feature를 사용하여 이전 기법들보다 객체의 검출 성능을 개선하였지만, 3 단계 과정의 학습(2,000개 후보 영역에 대한 fine-tuning, SVM fitting, bounding box regressor에 대한 학습)에 과다한 시간이 소요되며, 추출된 feature가 디스크에 저장되어야 한다. 또한, 입력 영상의 크기를 224*224로 맞추기 위해 실시하는 warp나 crop에 의해 이미지 변형이나 손실이 일어나 성능을 떨어뜨릴 수 있다는 단점 을 가지고 있다.

    3. SPPNet

    R-CNN에서는 fully-connected layer에서 고정된 크기의 feature map을 요구하기 때문에 항상 고정된 크기의 이미지 입력을 위해 이미지를 warp나 crop을 하기 때문에 이미지의 변형이나 손실로 인해 성능의 저하를 불 러올 수 있는 단점이 있었다. 이러한 문제점을 해결하기 위하여 등장한 기법이 Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(이하 SPPNet)이다(He et al., 2015).

    R-CNN과 달리 입력된 이미지의 크기에 변경 없이 입력하는 대신 fully-connected layer 직전에 feature map 의 크기가 달라지는데, 그러함에도 SPP(Spatial Pyramid Pooling Layer)에 의해 고정된 수의 feature의 추출이 가능하므로 인위적인 이미지 변형을 통한 정보 손실을 막을 수 있었다. 또한, R-CNN은 2,000개의 모든 후보 영역에 대하여 개별적으로 연산을 하기 때문에 속도가 느리다는 단점이 있지만, SPP를 통해 convolution 연산 을 공유하는 방법을 제안하여 속도 문제를 해결하였다.

    하지만 SPPNet이 R-CNN이 가지고 있었던 모든 단점을 극복한 것은 아니다. SPPNet 역시 3단계 파이프라 인을 거치기 때문레 학습에 많은 시간이 걸리며, 또한, SPP로 인해 고정된 수의 feature를 추출하기 때문에 fine-tuning은 알고리즘은 앞 단의 convolutional layer에 대해서는 업데이트를 할 수가 없어, 깊은 네트워크 적 용 시 정확도에 문제가 생길 수 있다는 한계가 존재한다..

    4. Fast R-CNN

    R-CNN과 SPPNet에서는 3단계 파이프라인의 단계를 거치면서 학습에 많은 시간이 걸리며, 모든 층에 대해 서 업데이트를 할 수가 없고, feature caching을 위한 별도의 디스크 공간이 필요한 단점이 있었는데, 이를 Fast R-CNN (Girshick, 2015)에서 해결하였다.

    기존 R-CNN과 SPPNet에서는 3단계 파이프라인을 거쳐 학습을 하였지만, Fast R-CNN은 single-stage 연산 으로 속도를 증가 시켰다. SPPNet의 경우 마지막 3 layer를 제외한 앞 단의 Convolutional layer에 대한 업데이 트가 불가능하였지만, Fast R-CNN은 single-stage 연산으로 Convolution layer까지 error를 back-propagation (Rumelhart et al., 1986) 방법을 사용하여 업데이트가 가능해지며, SPPNet에서 보이던 정확도에 대한 문제점 을 개선하였다. 한번의 CNN 연산을 통해 객체를 검출을 해내기 때문에 이전 연구에 비해 속도가 빨라졌으 나, 여전히 객체 검출을 위한 후보 영역은 CPU 연산이므로 상당한 시간을 필요로 하는 문제점이 남아있다.

    Ⅲ. 분석방법론

    1. 분석 방법론

    본 연구에서는 Fast R-CNN의 단점을 보완한 Faster R-CNN을 활용하여, 영상에 대한 전처리 과정이 필요 없는 갓길 차로 위반 차량 검출 방법에 대해 제안하였다. Faster R-CNN (Ren et al., 2015)은 앞장에서 소개한 CNN 기반의 객체 검출 기법들을 확장한 구조로 Fast R-CNN와 비슷한 구조를 가진다.

    전 장에서 설명했듯이, 기존 R-CNN, SPPNet, Fast R-CNN에서 사용하던 Selective Search (Uijlings et al., 2013) 기법은 많은 연산을 필요하였고, CPU 연산으로 인한 bottleneck이 발생하였다. Faster R-CNN에서는 Region Proposal Network (RPN)을 도입하여 convolution 연산을 공유할 수 있게 하여 연산량을 줄였고, GPU를 활용하여 병렬 연산을 가능하게 하여 객체를 빠르게 검출할 수 있도록 하였다.

    Faster R-CNN 기반의 갓길 차로 위반 차량 검출을 위한 전체적인 프레임워크는 <Fig. 1>과 같다. 본 연구 에서 제안하는 갓길 차로 위반 차량 검출 모델은 입력 이미지에서 등장하는 모든 차량을 탐지하는 탐지 모 듈(Object Classifier) 부분과 탐지된 차량의 갓길 차로 위반 여부를 판독해주는 판독 모듈(Violation Vehicle Discriminator) 부분으로 구성된다.

    <Fig. 1>

    Framework of Shoulder Lane Violation Vehicle Detection Using Faster R-CNN

    KITS-21-1-105_F1.gif

    <Fig. 2>는 탐지 모듈의 프로세스를 나타낸다. 탐지 모듈은 ZFNet (Zeiler and Fergus, 2014) 혹은 VGG16 (Simonyan and Zisserman, 2014)의 pre-trained 모델을 기반으로 fine-tuning하여 feature를 추출하고 Region Proposal Network (RPN)와 RoI Pooling Layer에 전달한다.

    <Fig. 2>

    Vehicle Detection module process

    KITS-21-1-105_F2.gif

    탐지된 객체가 차량인지 아닌지의 확률과 해당 객체에 대한 box 좌표가 산출되는데, 탐지 모듈에서는 갓 길 차로 위반 여부에 관계 없이 이미지 내 모든 차량을 탐지하므로 갓길 차로 위반 여부를 판독할 수 있는 부분이 필요하다. 이를 위해 갓길 차로 위반 여부의 판별을 위해 판독 모듈을 추가하였고, <Fig. 3>은 판독 모듈의 프로세스를 나타낸다. 탐지 모듈에서 산출된 객체 후보 영역에 대한 Class Type(Violation, Non-Violation, Background)과 Class Score(해당 클래스에 속할 확률), 그리고 threshold(임계 값)의 값을 기반으 로 판독을 실시한다. 1차적으로 Violation Class가 아닌 정보는 위반 차량이 아니므로 후보 군에서 제외하며, 2차적으로 해당 Class Score가 일정 Threshold 값 미만을 가진 정보는 후보 군에서 제외한다. 최종적으로, 일 정 Threshold 값 이상의 정보만 위반차량으로 취득하게 되는데, 이는 Violation Class에 속한 객체일지라도 Class Score가 낮은 경우는 위반 차량이 아닐 가능성이 높기 때문에 이를 제거하기 위함이다.

    <Fig. 3>

    Detection Process of Shoulder Lane Passing Vehicle

    KITS-21-1-105_F3.gif

    위 과정을 마치고 나면 최종적으로 Bounding Box를 표시하여 갓길 차로 위반 차량의 검출 결과를 출력한 다. <Fig. 4>은 판독 모듈의 단계 별 실행 예를 보여준다.

    <Fig. 4>

    Example of step-by-step execution of the shoulder passing vehicle detection module

    KITS-21-1-105_F4.gif

    2. 분석 데이터 수집 방법

    본 연구는 영상에서 갓길 차로를 위반하는 차량을 실시간으로 검출해내는 것을 목적으로 하며, 유의미한 평가를 위해선 갓길 차로를 위반하는 차량에 대한 다수의 영상샘플을 확보하는 것이 필수적이다. 그러나 갓 길 차로 위반 차량이 담긴 영상을 취득하거나 직접 촬영하는 것은 현실적인 어려움이 존재한다. 따라서 본 연구에서는 GTAV를 이용하여 가상의 환경에서 영상을 취득하고, 학습을 진행하였다.

    게임 엔진 기반의 시뮬레이션을 이용한 연구는 현실에서 데이터를 얻기 어려운 연구분야에 활발히 활용 이 되고 있다. 그 중 대표적인 사례가 자율주행 분야인데, 실제 도로에 자율주행자동차가 주행하기 위해서는 제한적인 요소가 많을 뿐 아니라 주행 중 발생할 수 있는 사고 등 많은 위험요소가 존재한다. 최근 MOOC(Massive Open Online Course)중 하나인 Udacity에서는 가상 시뮬레이션을 이용하여 자율주행자동차에 대한 연구를 할 수 있도록 하였으며(David, 2021), 다양한 연구에서 게임을 활용한 자율주행자동차 시뮬레이 션을 통해 안전한 환경에서 적은 비용으로 자율주행 알고리즘이 활용되고 있다(Johnson-Roberson et al., 2017; Richter et al., 2016).

    이러한 맥락에서 본 연구 역시 오픈 월드 게임인 GTAV를 활용하여 데이터를 수집하였다. GTAV는 Rockstar Games에서 2013년 9월 출시한 오픈 월드 게임으로 게임 내에서 자유도가 매우 높으며, 추가적인 mods 설치를 통해 카메라 앵글의 조작이 가능하고, 그래픽 Texture 설치를 통해 그림자, 빛의 반사 등의 효과 를 주어 현실과 매우 유사한 환경을 조성할 수 있다. DeepGTAV(Ruano, 2017)라는 오픈소스 프레임워크는 영 상기반 자율주행 연구환경을 GTAV를 통해 구축하였으며, 자율주행, 영상인식, 운전자 보조시스템 설계 등의 분야에 활용되고 있다. 이처럼 다양한 연구가 영상처리 및 딥러닝 학습을 위한 환경 구축을 GTAV로 수행하 고 있으며 (Chaudhari et al., 2018;Lungaro et al., 2018;Yue et al., 2018;Palazzi et al., 2017), 가상의 데이터로 학습한 모델이 실환경에서는 영상인식에 활용될 수 있다는 것 또한 검증되었다.

    이에 본 연구는 고속도로에서의 차량들의 움직임을 가상의 시뮬레이션 내에서 취득하였으며, 이 영상을 기반으로 갓길 위반 차량을 검출하는 알고리즘을 제시하였다. 자세한 데이터 수집 방법 및 검출 방법론은 아 래 장에 더 상세히 기술하였다.

    3. 데이터 구성

    본 논문에서 제안한 Faster R-CNN (Ren et al., 2015)을 이용한 갓길 차로 차량 검출의 성능을 실험 및 평가 하기 위하여 GTAV 내에서 CCTV 각도와 유사하게 재현하여 영상을 제작하여 사용하였다. 실험을 위한 데 이터로는 학습 데이터 1,800장, 평가 데이터 800장으로 구성하였고, 실험 데이터를 생성한 환경은 <Table 2> 와 같다.

    <Table 2>

    Computer performance for generating experimental data

    KITS-21-1-105_T2.gif

    GTAV에 다양한 오픈 소스 Plugin을 설치하여 여러 가지 효과를 낼 수 있는데, Script Hook V(Alexander, 2021)로 게임 상의 시간과 날씨를 설정하였고, Scripted Camera Tool을 사용하여 카메라의 각도를 조절하였다 (CamxxCore, 2021).

    다양한 날씨와 시간에 강건한 검출을 위하여 학습 데이터를 생성하는 기준은 <Table 3>과 같이 세웠으며, 학습 데이터는 GTAV 고속도로 임의의 지점을 한 곳 지정하였다.

    <Table 3>

    Training data (Unit, Sheet)

    KITS-21-1-105_T3.gif

    갓길에 등장하는 차종은 준 중형, SUV, 트럭 등 총 4종, 색상은 6종을 선택하였는데, 한 가지 차종과 색상 으로 학습을 진행할 경우 과적합(Overfitting)이 발생할 소지가 있어 여러 차종과 색상으로 구성하여 갓길 주 행 위반 영상을 녹화하였다. 이후 <Fig. 5>과 같이 녹화된 영상을 30 frame 단위로 분할하여 JPG 형태로 변 환하였다.

    <Fig. 5>

    Extract image from video

    KITS-21-1-105_F5.gif

    GPU 메모리의 크기의 한계가 있어 Out of memory를 방지하고, 빠른 학습을 위하여 GIMP의 Batch Image Manipulation Plug-in을 활용하여 1920 * 1080 크기의 이미지를 500 * 281 크기로 축소하는 작업을 거쳐 총 1,800장의 이미지를 선별하였다.

    실험 및 평가를 위한 평가 데이터는 총 800장으로, 1세트당 100장씩 8세트로 구성하였다. 각 세트는 갓길 위반 차량이 있는 이미지 50장, 갓길 위반 차량이 없는 이미지 50장으로 구성하였으며, 학습 데이터에서 갓 길에 등장하지 않은 차량과 장소에서 촬영된 영상으로 총 9가지 차량과 색상으로 구성하였다. 평가 데이터 의 구성 예시는 <Fig. 6>과 같다.

    <Fig. 6>

    Example of test data

    KITS-21-1-105_F6.gif

    학습과 평가를 위한 데이터 생성이 완료되면, 해당 데이터를 Faster R-CNN에 학습할 수 있는 데이터 형태 로 구성해주어야 한다. 본 논문에서는 Faster R-CNN에서 사용한 PASCAL VOC (Everingham et al., 2010) 데이 터 형태로 구성하였다. PASCAL VOC는 이미지 파일과 이미지 내에 객체의 Annotation이 담긴 xml 파일로 구 성되어 있다. 실험 데이터에 대한 클래스 구성은 <Table 4>와 같다.

    <Table 4>

    Class definition

    KITS-21-1-105_T4.gif

    이미지 내 객체 위치 정보를 위한 Annotation이 담긴 xml 파일을 생성하기 위해서 오픈 소스로 제공되는 labeling 도구를 사용하여 총 Violation 1,800개, Non-Violation 4,233개의 Bounding Box 정보를 생성하였다. 특 히 Violation 클래스의 Bounding Box 시에는 갓길을 구분하는 실선이 반드시 포함되도록 하였다. Bounding Box 내 실선이 존재할 경우에 갓길 차로를 위반했다고 판단하기 위함이었다. 또한, 일반 차로의 차선이나 노 란색 차선을 오탐지할 경우를 배제하기 위해, Non-Violation 클래스의 Bounding Box에 일반 차로의 차선과 노 란색 차선, 그리고 차량의 왼쪽에 위치한 갓길 차선을 포함시켰다. <Fig. 7>은 Violation 클래스와 Non-Violation 클래스의 Bounding Box 작성 예를 보여준다.

    <Fig. 7>

    Example of creating a Bounding Box in labeling

    KITS-21-1-105_F7.gif

    Ⅳ. 학습 및 결과

    1. 학습 방법

    본 연구의 학습은 <Table 5>와 같이 Ubuntu 환경에서 GPU를 이용하여 수행하였다.

    <Table 5>

    Experiment environment

    KITS-21-1-105_T5.gif

    앞서 생성한 학습 데이터를 기반으로 ImageNet의 데이터로 학습된 ZFNet (Zeiler and Fergus, 2014)과 VGG16 (Simonyan and Zisserman, 2014)의 Pre-train model을 fine-tuning하는 방법으로 진행하였다. ZFNet과 VGG16은 동일한 네트워크 파라미터로 학습을 진행하였으며, <Table 6>은 학습에 사용된 주요 파라미터 정 보이다.

    <Table 6>

    Network parameters used for training

    KITS-21-1-105_T6.gif

    실험에 대한 평가는 클래스 검출에 대한 Threshold 값은 0.5~0.9까지 0.1 단위로 설정하고, <Table 7>과 같 이 True/Predicted Condition에 따른 네 가지 분류에 대한 확률을 계산한다. 이후 컴퓨터 비전 분야의 검출시스 템에서 많이 사용되고 있는 정밀도(Precision)와 재현율(Recall) 측정하는 방법을 사용하였고, 이를 기반으로 F-Measure를 산출하여 평가를 진행하였다.

    <Table 7>

    Confusion Matrix

    KITS-21-1-105_T7.gif

    정밀도(Precision)는 전체 예측에 대한 정답의 비율로이라고 할 수 있으며, 모델이 갓길 위반을 하였다고 검출한 차량 중에서 실제 갓길 차로를 위반한 차량의 비율이다.

    Pr e c i s i o n = T r u e P o s i t i v e T r u e P o s i t i v e + F a l s e P o s i t i v e

    재현율(Recall)은 정답 중에 예측의 결과가 정답으로 나온 것의 비율로 실제 갓길 차로를 위반한 차량 중 제안한 방법을 통해 위반하였다고 검출한 비율이다.

    R e c a l l = T r u e P o s i t i v e T r u e P o s i t i v e + F a l s e N e g a t i v e

    F-Measure는 Precision과 Recall의 Trade-off를 통합하여 한번에 나타내는 지표로, Precision과 Recall 성능을 하나의 숫자로 표현하는 방법이다. Precision과 Recall의 조화 평균으로 계산된다.

    F M e a s u r e = 2 * Pr e c i s i o n * R e c a l l Pr e c i s i o n + R e c a l l

    2. 학습 결과

    학습 데이터로 ZFNet과 VGG16을 기반으로 학습을 시킨 후 사전에 제작한 평가 데이터 8세트로 평가를 실시하였다. 아래 <Fig. 8> 는 ZFNet과 VGG16의 10,000번의 학습에 대한 손실(loss)을 그래프로 나타낸 결과 이다. 두 모델 모두 학습이 반복될수록 손실(loss)이 줄어드는 것을 확인하였다.

    <Fig. 8>

    Train losses of ZFNet and VGG16

    KITS-21-1-105_F8.gif

    학습을 마친 후 평가 데이터 8세트를 바탕으로 Threshold 0.5부터 0.9까지 변경하여 Confusion Matrix의 TP, FN, FP, TN 4가지 평가 항목으로 나누어 실시하였고, <Table 8>은 Threshold 별로 평가 데이터 8세트의 평균 값을 산출한 결과이다.

    <Table 8>

    Average TP, FN, FP TN of test data

    KITS-21-1-105_T8.gif

    산출된 TP, FN, FP, TN 값을 기반으로 하여 모델 별로 Threshold 변화에 따라 각 세트 별로 정밀도 (Precision)와 재현율(Recall)과 F-measure(Precision과 Recall의 조화 평균)을 산출하였고, <Table 9>는 그에 대한 평균 값을 정리한 결과이다.

    <Table 9>

    Average Precision, Recall, F-measure comparison of test data

    KITS-21-1-105_T9.gif

    실험 결과 ZFNet과 VGG16에서 가장 좋은 성능을 낸 Threshold에서의 수치와 비교 결과 ZFNet의 재현율 (Recall)이 약 9%로 높았으며, 정밀도(Precision)는 약 0.8% 정도 높았고, F-measure 값은 약 7% 정도 높았다. 이는 VGG16에서 평가데이터 중 SET4의 오검출율이 높아 생긴 차이라 볼 수 있다. ZFNet의 경우 Threshold 에 따른 수치의 차이가 정밀도와 재현율의 Trade-off로 미비한 차이가 났지만, F-measure 수치를 비교해볼 때 0.8일 경우 가장 좋은 성능을 보였다. 이는 Threshold 0.8 미만일 경우 FP(False Positive) 즉, 갓길위반 차량이 없는 경우에도 있다고 오검출하는 비율이 높았고, Threshold가 0.8을 초과할 경우에는 FN(False Negative) 즉, 갓길 위반 차량을 위반하지 않은 차량으로 인식하는 비율이 높아져 성능이 떨어지는 경향을 보였다.

    <Table 10>은 모델 별 평균 검출 시간으로, 검출율이 가장 높은 Threshold 0.8 기준으로 500x281 사이즈의 이미지에서의 검출 시간을 측정하였다. ZFNet가 평균 0.0468초, VGG16가 평균 0.16초를 기록하여 ZFNet의 검출시간이 약 3.4배 정도 빠른 것으로 나타났다.

    <Table 10>

    Average detection time

    KITS-21-1-105_T10.gif

    <Fig. 9>는 본 논문에서 제안한 방법으로 갓길 차로 주행 차량 검출 결과를 보여준다. 학습 데이터에서는 사용하지 않은 차종에 대해서 검출 가능하였으며, 학습되지 않은 야간 시간대 영상에서도 검출이 가능하였다.

    <Fig. 9>

    Result of detecting vehicles driving on the shoulder lane

    KITS-21-1-105_F9.gif

    Ⅴ. 결론 및 향후 연구

    본 연구에서는 Faster R-CNN기반의 갓길 차로 위반 차량 검출의 방법을 제안하였다. 현실적으로 실제 갓 길 차로를 위반하는 차량의 영상을 구하기 쉽지 않아 GTAV라는 시뮬레이션 게임에서 날씨, 시간, 차종 및 색상의 조건을 변경, 현실 세계와 유사하게 재현하여 생성한 데이터를 기반으로 갓길 차로 위반 차량 검출 방법에 대한 연구를 진행하였다.

    제안하는 방법은 Faster R-CNN기반으로 입력된 영상 내에서 차량 객체를 탐지하는 탐지 모듈과, 탐지된 차량이 갓길 위반 차량 여부를 Class Type과 Class Score로 판별하는 판독 모듈로 구성하였다. 시뮬레이션 게 임에서 생성한 데이터를 바탕으로 ZFNet과 VGG16 기반의 Pre-trained 된 모델을 fine-tuning하여 학습에 사용 하였고, 장소가 모두 다른 곳에서 촬영된 8세트의 이미지 800장으로 Threshold 값을 0.5에서부터 0.9까지 변 경하여 실험한 결과, F-measure 값은 ZFNet은 Threshold 0.8 기준 99.2%, VGG16은 Threshold 0.7 기준 93.9%라 는 결과를 얻었고, 모델 별 평균 검출시간은 ZFNet에서 0.0468초, VGG16에서 0.16초를 보여, ZFNet이 약 7% 의 높은 검출율과 약 3.4배의 빠른 속도를 보였다. 실험 데이터로 사용된 이미지가 도로와 차량으로만 구성 되어 있어 비교적 복잡하지 않았고, Binary Classification 문제를 해결에 있어서 복잡한 네트워크보다는 비교 적 복잡하지 않은 네트워크에서 더 좋은 성능을 보였다.

    디지털 트윈에 대한 사회적, 학술적 관심이 높아지고 컴퓨터 그래픽 기술이 발달하면서 실제 세계와 유사 한 가상현실을 구축하려는 시도가 주목받고 있다. 이러한 가상 현실 속에서는 현실 세계에서는 불가능한 다 양한 시도를 할 수 있으며, 구현이 불가능한 여러 환경과 시나리오들을 시험해 볼 수 있다. 도시/교통 분야 역시, 자율주행, 새로운 모빌리티 서비스, 도로 및 철도의 건설 및 계획 등 다양한 분야에서 디지털 트윈을 활용하려는 노력을 하고 있다.

    특히, 본 연구는 인적 자원이 많이 소모되고 자동화가 필요한 교통단속을 자동화하는 분야에 디지털 트윈 과 딥러닝을 접목시켰다는 점에서 의의가 있다. 위반차량을 검지하는 문제는 위반하는 차량 수가 많지 않기 때문에 유의미한 표본 수 확보에 어려움이 있다. 본 연구는 이를 해결하기 위해 GTA V 게임엔진 기반의 가 상환경을 구축하였고, 다양한 도로 환경에서의 데이터를 수집하고 학습 데이터를 구축하였다. 앞서 언급하였 듯이, 다양한 선행 연구에서 가상 게임엔진을 사용하여 학습한 모델이 실제 현실에서도 잘 작동한다는 것이 밝혀졌으며, 따라서 본 연구에서 개발한 모델은 갓길차로 위반 외에도, 버스전용차로 위반, 불법 주/정차 단 속 등에 활용할 수 있는 가능성이 존재한다.

    하지만 본 연구는 가상의 데이터로 학습한 모델을 가상의 데이터로 검증을 하였다는 점에서 한계가 존재 한다. GTA V의 경우 미국 도시를 기반으로 가상환경을 구축하였기 때문에, 국내의 도로와 미시적인 차이점 이 존재할 수 있다. 이를 해결하기 위해선,높은 해상도를 가진 실제 고속도로 갓길을 주행한 일반 차량의 데 이터를 소량이라도 확보가 필요하다. 실제 데이터 수집을 통해, 도로환경/차종의 차이에 따라서 본 모델이 얼마나 강건한지에 대한 검증이 이루어질 필요가 있다. 본 연구에서 학습한 모델을 실제 도심부 도로에서 수 집한 데이터를 통해 전이학습(Transfer learning)을 적용한다면, 적은수의 샘플로도 높은 성능을 내는 모델을 도출할 수 있다고 기대한다.

    실제로 모델의 성능을 보았을 때, Precision, Recall 등 전반적인 모델의 정확도가 매우 높은 것을 확인할 수 있었다. 이는, GTA V를 통해 수집되는 가상의 데이터로 모델을 학습하여, 가상의 데이터로 성능을 평가 했기 때문이며, 실 환경에서 수집되는 데이터에 얼마나 강건한지에 대한 추가적인 검증 역시 필요하다고 할 수 있다.

    또한, 본 연구에서는 주간/야간, 기상상황과 같은 환경적인 요인을 고려하였으나, 실제로는 더욱다 다양한 변수와 돌발상황이 발생할 수 있다. 갓길 차선이 가려질 경우나 카메라 각도와 확대정도에 따라 모델의 성능 이 달라질 수 있다. 따라서, 향후 연구에서는 다양한 카메라 각도에서 생성한 데이터를 추가하고, 여러 가지 상황에 대한 시나리오를 반영하고자 한다. 다양한 환경에서 촬영된 영상을 기반으로, 실시간으로 영상이 변 경되는 환경에서도 갓길 차로 위반 차량을 높은 정확도로 검출할 수 있는 연구를 지속할 예정이다.

    마지막으로, 앞서 언급하였듯이, 고속도로 등의 유지보수 작업을 하는 자동차, 경찰공무원의 신호나 지시 를 따르는 경우, 긴급자동차는 갓길로 주행이 가능하며, 긴급한 상황일 경우 갓길에 정차할 수 있다. 본 연구 에서 제시한 알고리즘은 갓길에 차량이 있는지 여부만을 검출하기 때문에 이러한 다양한 상황에 대한 고려 를 할 수 없다는 한계가 있다, 긴급차량 및 유지보수 차량의 추가 라벨링, 차량의 정차/주행 여부를 판단하는 알고리즘 등을 추가한다면, 보다 실효성 있는 갓길 차로 위반차량 검출을 수행할 수 있으며, 이 역시 향후 연구 주제이다.

    ACKNOWLEDGEMENTS

    이 논문은 2021학년도 한남대학교 학술연구비 지원에 의하여 연구되었습니다.

    Figure

    KITS-21-1-105_F1.gif

    Framework of Shoulder Lane Violation Vehicle Detection Using Faster R-CNN

    KITS-21-1-105_F2.gif

    Vehicle Detection module process

    KITS-21-1-105_F3.gif

    Detection Process of Shoulder Lane Passing Vehicle

    KITS-21-1-105_F4.gif

    Example of step-by-step execution of the shoulder passing vehicle detection module

    KITS-21-1-105_F5.gif

    Extract image from video

    KITS-21-1-105_F6.gif

    Example of test data

    KITS-21-1-105_F7.gif

    Example of creating a Bounding Box in labeling

    KITS-21-1-105_F8.gif

    Train losses of ZFNet and VGG16

    KITS-21-1-105_F9.gif

    Result of detecting vehicles driving on the shoulder lane

    Table

    Expressway Traffic crashes by lane types in 2020

    Computer performance for generating experimental data

    Training data (Unit, Sheet)

    Class definition

    Experiment environment

    Network parameters used for training

    Confusion Matrix

    Average TP, FN, FP TN of test data

    Average Precision, Recall, F-measure comparison of test data

    Average detection time

    Reference

    1. Alexander B. ,Script Hook V + Native Trainer, https://ko.gta5-mods.com/tools/script-hook-v, 2021.10.15.
    2. CamxxCore,Scripted Camera Tool 1.2.2,https://ko.gta5-mods.com/scripts/scripted-camera-tool-1-0, 2021.10.25.
    3. Chaudhari R. , Dubey S. , Kathale J. and Rao R. (2018), “Autonomous Driving Car Using Convolutional Neural Networks,” In 2018 Second International Conference on Inventive Communication and Computational Technologies (ICICCT), IEEE, pp.936-940.
    4. Dalal N. and Triggs B. (2005), “Histograms of oriented gradients for human detection,” IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), vol. 1, pp.886-893.
    5. David S. ,https://medium.com/self-driving-cars/term-1-in-depth-on-udacitys-self-driving-car-curriculum-ffcf46af0c08, 2021.10.25.
    6. Everingham M. , Van Gool L. , Williams C. K. , Winn J. and Zisserman A. (2010), “The pascal visual object classes (voc) challenge,” International Journal of Computer Vision, vol. 88, no. 2, pp.303-338.
    7. Girshick R. (2015), “Fast R-CNN,” IEEE International Conference on Computer Vision (ICCV), pp.1440-1148.
    8. Girshick R. , Donahue J. , Darrell T. and Malik J. (2014), “Rich feature hierarchies for accurate object detection and semantic segmentation,” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp.580-587.
    9. He K. , Zhang X. , Ren S. and Sun J. (2015), “Spatial pyramid pooling in deep convolutional networks for visual recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 37, no. 9, pp.1904-1916.
    10. Jo J. M. (2017), “Highway drone patrol network topology and performance analysis for traffic violation enforcement,” The Journal of the Korea Institute of Electronic Communication Sciences, vol. 12, no. 6, pp.1043-1048.
    11. Johnson-Roberson M. , Barto C. , Mehta R. , Sridhar S. N. , Rosaen K. and Vasudevan R. (2016), Driving in the matrix: Can virtual worlds replace human-generated annotations for real world tasks?, arXiv preprint arXiv:1610.01983.
    12. Korea Expressway Corporation,http://data.ex.co.kr/portal/docu/docuList?datasetId=41, 2021.10.25.
    13. Korea Expressway Corporation,http://www.ex.co.kr/cmm/fms/FileDown.do?atchFileId=FILE_000000000013576&fileSn=0, 2021.10.25.
    14. Korea Road Traffic Authority (2012), Intervention and shoulder traffic violation enforcement equipment standard development research service report, pp.18-24.
    15. Krizhevsky A. , Sutskever I. and Hinton G. E. (2012), “Imagenet classification with deep convolutional neural networks,” Advances in Neural Information Processing Systems, vol. 25, pp.1097-1105.
    16. Lee Y. J. , Kim S. J. , Park G. M. and Park G. M. (2020), “Comparison of number plate recognition performance of Synthetic number plate generator using 2D and 3D rotation,” Proceedings of the Korean Society of Broadcast Engineers Conference, The Korean Institute of Broadcast and Media Engineers, pp. 232-235.
    17. Lowe D. G. (2004), “Distinctive image features from scale-invariant keypoints,” International Journal of Computer Vision, vol. 60, no. 2, pp.91-110.
    18. Lungaro P. , Tollmar K. , Saeik F. , Gisbert C. M. and Dubus G. (2018), “Demonstration of a low-cost hyper-realistic testbed for designing future onboard experiences,” Adjunct Proceedings of the 10th International Conference on Automotive User Interfaces and Interactive Vehicular Applications, pp.235-238.
    19. Palazzi A. , Borghi G. , Abati D. , Calderara S. and Cucchiara R. (2017), “Learning to map vehicles into bird’s eye view,” International Conference on Image Analysis and Processing, Springer, Cham, pp.233-243.
    20. Ren S. , He K. , Girshick R. and Sun J. (2015), “Faster r-cnn: Towards real-time object detection with region proposal networks,” Advances in Neural Information Processing Systems, vol. 28, pp.91-99.
    21. Richter S. R. , Vineet V. , Roth S. and Koltun V. (2016), “Playing for data: Ground truth from computer games,” European Conference on Computer Vision, Springer, Cham, pp.102-118.
    22. Ruano, A. (2017), DeepGTAV: A plugin for GTAV that transforms it into a vision-based self-driving car research environment. https://github.com/ai-tor/DeepGTAV, 2021.10.25.
    23. Rumelhart D. E. , Hinton G. E. and Williams R. J. (1986), “Learning representations by back-propagating errors,” Nature, vol. 323, no. 6088, pp.533-536.
    24. Simonyan K. and Zisserman A. (2014), Very deep convolutional networks for large-scale image recognition, arXiv preprint arXiv:1409.1556.
    25. Uijlings J. R. , Van De Sande K. E. , Gevers T. and Smeulders A. W. (2013), “Selective search for object recognition,” International Journal of Computer Vision, vol. 104, no. 2, pp.154-171.
    26. Wang D. , Devin C. , Cai Q. Z. , Yu F. and Darrell T. (2019), “Deep object-centric policies for autonomous driving,” IEEE 2019 International Conference on Robotics and Automation (ICRA), pp.8853-8859.
    27. Yue X., Wu B., Seshia S. A., Keutzer K. and Sangiovanni-Vincentelli A. L. (2018), “A lidar point cloud generator: From a virtual world to autonomous driving,” Proceedings of the 2018 ACM on International Conference on Multimedia Retrieval, pp.458-464.
    28. Zeiler M. D. and Fergus R. (2014) “Visualizing and understanding convolutional neural networks,” European Conference on Computer Vision (ECCV), pp.818-833.

    저자소개

    Footnote

    • 국토교통부, <국토부, ‘디지털 트윈’으로 한국판 뉴딜 실현 앞당긴다.> 보도자료. 2021.04.28