Index


Figures


Tables

Kim† , An†† , Jeon††† , Kim†††† , Jang††††† , and Hwang††††††: A Study of Tram-Pedestrian Collision Prediction Method Using YOLOv5 and Motion Vector

Young-Min Kim† , Hyeon-Uk An†† , Hee-gyun Jeon††† , Jin-Pyeong Kim†††† , Gyu-Jin Jang††††† and Hyeon-Chyeol Hwang††††††

A Study of Tram-Pedestrian Collision Prediction Method Using YOLOv5 and Motion Vector

Abstract: In recent years, autonomous driving technologies have become a high-value-added technology that attracts attention in the fields of science and industry. For smooth Self-driving, it is necessary to accurately detect an object and estimate its movement speed in real time. CNN-based deep learning algorithms and conventional dense optical flows have a large consumption time, making it difficult to detect objects and estimate its movement speed in real time. In this paper, using a single camera image, fast object detection was performed using the YOLOv5 algorithm, a deep learning algorithm, and fast estimation of the speed of the object was performed by using a local dense optical flow modified from the existing dense optical flow based on the detected object. Based on this algorithm, we present a system that can predict the collision time and probability, and through this system, we intend to contribute to prevent tram accidents.

Keywords: Tram , Dense Optical Flow , Estimation of Collision point , TTC(Time-To-Collision) , YOLOv5

김영민† , 안현욱†† , 정희균††† , 김진평†††† , 장규진††††† , 황현철††††††

YOLOv5와 모션벡터를 활용한트램-보행자 충돌 예측 방법 연구

요 약: 최근 자율주행에 관한 기술은 고부가가치 신기술로서 주목받고 있으며 활발히 연구가 진행되고 있는 분야이다. 상용화 가능한 자율주행을 위해서 는 실시간으로 정확하게 진입하는 객체를 탐지하고 이동속도를 추정해야 한다. CNN(Convolutional Neural Network) 기반 딥러닝 알고리즘과 밀집광학흐름(Dense Optical Flow)을 사용하는 기존 방식은 실행 속도가 느려 실시간으로 객체를 탐지하고 이동속도를 추정하기에는 한계가 존재한 다. 본 논문에서는 트램에 설치된 카메라를 통해 획득된 주행영상에서 딥러닝 알고리즘인 YOLOv5 알고리즘을 활용하여 실시간으로 객체를 탐지를 수행하고, 탐지된 객체영역에서 기존의 밀집광학흐름(Dense Optical Flow) 대신 연산량을 개선한 부분 밀집광학흐름(Local Dense Optical Flow)을 사용하여 객체의 진행 방향과 속력을 빠르게 추정하는 방식을 제안한다. 이를 바탕으로 충돌 시간과 충돌 지점을 예측할 수 있는 모델을 설계하였으 며, 이를 통해 트램(Tram)의 주행 중 전방 충돌사고를 방지할 수 있는 시스템에 적용하고자 한다.

키워드: 트램 , Dense Optical Flow , 충돌지점 추정 , 충돌시간 추정 , YOLOv5

1. 서 론

트램(Tram)은 일반 도로 위 레일 상에서 운행되며, 유럽 에서 흔히 볼 수 있는 대중교통이다. 하지만 일반 도로에서 운행되는 특징으로 인해 트램과 보행자와 간의 사고가 빈번 하게 발생한다[1]. 최근 2020년 이탈리아 밀라노에서 트램 사고로 인한 보행자의 사망 사례가 있다. 현재 라이다 (LIDAR) 센서와 카메라를 이용한 자율주행 연구가 활발히 진행되고 있다[2]. 트램은 일반 자율주행 차량과는 다르게 대중교통이므로 급정거는 권장되지 않으며, 도로 위 레일 위에서 운행하므로 일반 차량과는 다르게 사고를 피하기 위 한 차선 변경이 불가능하다. 즉, 먼 거리에 있는 사람 객체 에 대해 탐지가 필요하고, 일반적인 자율주행 차량보다 충돌 예상 시간과 지점을 더 이른 시간에 계산할 필요가 있다. 일반 적으로 이용하는 라이다 센서는 정확성이 높으나 탐지 가능 거 리 및 해상도가 높아질수록 고비용이 요구된다. 이에 비해 카메라는 경제적이며 사물인식이 가능한 측면이 있다.

광학 흐름(Optical Flow)은 영상에서 객체에 대한 추적 (Object Tracking)을 위해 일반적으로 쓰이는 방법이다. 밀집광학흐름 방식은 높은 화질인 영상일수록 객체의 움직 임에 대해 높은 정확성을 나타내지만 많은 연산으로 인해 실시간(Real-Time)으로 적용하기 어렵다. 또한, 광학 흐름 은 정지된 카메라의 영상(Static Scene)을 가정하였기 때문 에 움직이는 카메라에 대해 이 방법을 적용하기 어렵다.

본 연구에서는 라이다 센서 대신 높은 화질의 카메라를 이용한 트램주행 영상에서 딥러닝(YOLOv5)알고리즘 기반 으로 전방객체를 탐지한다. 차량에 설치된 카메라의 주행 영상(Dynamic Scene)에서 객체가 탐지된 영역 내에 밀집 광학흐름을 활용하여(Local Dense Optical Flow) 객체가 움직일 방향을 빠르고 정확하게 예측할 방법을 제시한다.

위 방법을 활용하여 객체를 탐지하여 객체의 움직임을 예상 하고, 객체와 주행체 간의 충돌 예상 시간(TTC:Time-To- Collision) 및 충돌 지점을 추정한다. 위 정보를 이용하여 트램과 충돌이 예상되는 경우 경고 메시지를 통해 사전에 충돌을 방지한다.

2장에서는 본 논문에서 사용하고자 하는 딥러닝 기반의 객체 탐지 알고리즘과 모션벡터를 추출하기 위한 기존의 광 학 흐름 기술을 살펴본다. 3장에서는 기존의 광학 흐름에서 계산 속도가 향상된 부분 밀집광학흐름 알고리즘을 제안하 고 이를 이용하여 객체와 주행체 간의 충돌 시간 및 지점을 추정한다. 4장에서는 객체 탐지의 거리별 정확도의 측정과 제안한 알고리즘의 처리 속도 및 정확성을 측정한다. 마지 막으로 5장에선 결론 및 향후 연구 방향을 제시한다.

2. 관련 연구
\

자동차의 자율주행은 최근 딥러닝 모델을 활용한 많은 연 구가 진행되고 있다. [3]에서는 하나의 이미지를 이용하여 SSD-MR(Single-Shot MultiBox Detector with Motion Representation) 이라는 딥러닝 모델을 통해 보행자를 탐지 하고 보행자와의 충돌에 대한 위험도(Risk-Level)을 판단한 다. [4]에서는 Far-Shot 영상을 활용하여 PID(Prediction in Intelligent Driving)라는 딥러닝 모델을 이용하여 보행 자의 다음 이동을 예측한다.

2.1 YOLOv5

YOLO(You Only Look Once) 알고리즘[5]은 객체 탐 지를 위한 딥러닝 알고리즘 중 하나이다. 특히 YOLO 알고 리즘은 높은 FPS(Frames per second) 성능을 내기 때문 에 실시간성에 적합한 알고리즘이다. 그 중 가장 최근에 제 안된 YOLOv5의 아키텍처(Architecture)는 2021년 2월 기준으로 Fig. 1과 같이 구성된다. 입력 이미지에서 중요한 특징을 추출하는 역할을 하는 모델 백본(Backbone)은 BottleNeck[6]과 CSPNet[7]을 결합하고 활성화 함수로 SiLU[8]를 사용한 C3 모델을 사용하면서 학습 능력을 향상 시켰다.

Fig. 1.

C3 Architecture
1.png

Fig. 2.

Performance of YOLOv5 Algorithm[ 12]
2.png

백본에 형성된 기능을 혼합하는 모델의 넥(Neck)은 PA-Net[9] 피쳐 피라미드 방식을 사용한다. 객체 탐지를 수 행하는 모델의 헤드(Model Head)는 기존의 YOLOv3[10] 모델의 구조를 따른다.

COCO 데이터셋[11]을 이용하여 AP(Average Precision) 와 FPS를 계산하였을 때 s 모델 기준 [TeX:] $$\mathrm{AP}^{\text {test }} 50.1, \mathrm{FPS}_{\text {v100 }}$$ 455의 성능이 구현된다. 결과는 Fig. 2와 같다.

2.2 광학 흐름(Optical flow)

광학 흐름[13]은 관찰자와 장면 사이의 상대적 움직임으 로 해당 장면에서 물체, 표면, 가장자리의 움직임 패턴을 계 산하는 것이다. 최근 연구에서도 전경 탐지(Foreground Segmentation)를 위해 광학 흐름을 이용하였다[14]. 광학 흐름은 다음 식을 이용하여 계산한다.

(1)
[TeX:] $$I(x, y, t)=I(x+d x, y+d y, t+d t)$$

등식의 오른쪽에 테일러 근사(Taylor-Approximation) 를 이용하면

(2)
[TeX:] $$\frac{d I}{d x} \delta x+\frac{d I}{d y} \delta y+\frac{d I}{d t} \delta t=0$$

이 식을 [TeX:] $$\delta \mathrm{t}$$로 나누면 광학 흐름 방정식(Optical Flow Equation)이 나오게 된다.

(3)
[TeX:] $$\frac{d I}{d x} u+\frac{d I}{d y} v+\frac{d I}{d t}=0$$

u, v는 각각 x 방향과 y 방향에 대한 광학 흐름 값이며, I는 이미지의 픽셀값을 의미한다.

Equation (3) 광학 흐름 방정식은 하나의 픽셀을 이용하

Fig. 3A.

Lucas-Kanade
3A.png

Fig. 3B.

Gunner Farnebäck
3B.png

여 계산할 수 없는 부정 방정식 형태이다. Equation (3)을 풀기 위해서 주변 픽셀의 정보를 이용하여 광학 흐름을 계산 한다. 광학 흐름을 계산하는 방법은 크게 두 가지이다. 한 가지 방법은 일부의 픽셀(Sparse Set)을 이용한 부분 광학 흐름 (Sparse Optical Flow) 방식인 LK 알고리즘(Lucas-Kanade Algorithm)이며, 다른 하나는 모든 픽셀(Universe Set)을 이 용한 밀집광학흐름(Dense Optical Flow) 방식인 Farnebäck 알고리즘(Gunner Farnebäck’s Algorithm)이 있다.

1) LK(Lucas Kanade) 알고리즘

LK 알고리즘[15]은 특징점(Keypoint)을 이용해 해당 특징점의 주변 픽셀 정보를 이용하여 광학 흐름을 계산하 는 방법이다. Fig. 3A는 LK 알고리즘을 적용한 예시이다. 특징점의 주변 픽셀에 대해 각각 계산하므로 빠른 계산이 장점이지만, 객체의 움직임을 올바르게 예측하기 위해 특 징점 선정이 중요하며, 특정 영역만을 이용하여 계산하기 때문에 실제 객체의 움직임을 잘못 예측할 위험이 있다.

2) Farnebäck 알고리즘

Farnebäck 알고리즘[16]은 전체 이미지를 이용하여 각 픽셀에 대해 주변 픽셀 정보를 활용하여 이차 다항식 근사 (Polynomial-Approximation)로 광학 흐름을 계산하는 방 법이다. Fig. 3B는 Farnebäck 알고리즘을 그리드 형태로 적 용한 예시이다. 이미지의 모든 영역을 이용하여 계산하므로 물체의 움직임 예측에 대해 정확도가 높지만, 계산되는 이미 지의 픽셀 수가 많을수록 계산량이 많아지는 단점이 있다.

이외에도 최근 딥러닝을 활용한 광학 흐름을 학습하고 계산하는 FlowNet과 같은 알고리즘이 많이 제안되고 있다 [17,18]. 딥러닝을 활용한 알고리즘은 정확성이 높지만, GT 데이터(Ground Truth)을 활용한 학습이 필요하며, 학습된 정보에 대하여 의존성이 높다.

2.3 동적환경(Dynamic scene)에서 모션 추정

광학 흐름은 폐쇄 회로 카메라(CCTV)와 같은 정적인 카 메라를 가정하여 제안한 방법이다. 하지만 자율주행 차량과 같이 카메라가 움직이게 되어 문제가 있다. 움직이는 카메 라에 대해 객체에 대한 광학 흐름을 계산하기 위해서 많은 방법이 제안되었다. 크게 두 가지 방법이 제안됐으며, 한 가 지는 배경을 제거하여 객체를 탐지 및 추적하거나, 다른 하나는 사영변환(Homography Transformation)을 이용하 여 프레임 간 정렬(Stabilize)을 통해 위의 알고리즘을 적용

Table 1.

Evaluation of Flow (KITTI 2012 Evaluation, Flow)
Method Out-All Avg-All Runtime Environment
PolyExpand 54.00 % 25.3 px 1 s 1 core @ 2.5 Ghz (C/C++)
Pyramid-LK 40.08% 29.6 px 1.3 s 4 cores @ 3.5 Ghz (C/C++)
FlownetS + ft 44.49 % 9.1 px 0.08 s GPU @ 1.0 Ghz (C/C++)

한다. 배경을 제거하는 방법으로는 [19]에서 차선의 상대 이동 벡터(Motion Vector)를 이용하여 움직이는 카메라 1 대를 이용하여 카메라의 이동(Egomotion)을 측정하여 이 를 통해 영상에서 주행체로 인해 생기는 객체의 이동 벡터 를 제거하는 방법을 제시한다.

[20]에서 특징점 픽셀들(Superpixels)을 이용하여 배경을 제거한 후 움직이는 물체에 대해 세그멘테이션(Segmentation) 을 진행한다.

사영변환을 이용한 방법으로는 [21]에서 이전 프레임과 현재 프레임 간의 사영변환을 통해 주행체에 의한 이동 벡 터의 영향을 제거한 후(Stabilized image) 밀집광학흐름을 이용하여 움직이는 객체를 탐지한다.

3. 제안 방법

본 논문에서는 빠르게 객체를 탐지할 수 있는 알고리즘 과 탐지된 객체의 영역에서 광학 흐름을 계산하고, 이를 통 해 객체의 이동정보를 추정한다. 위와 같은 단계를 적용하 여 빠른 객체 탐지 및 객체의 움직임 정보를 통해 트램과의 예상충돌시간 및 지점을 추정하는 방법을 제안한다.

제안하는 방법은 먼저 딥러닝 기반 YOLOv5 알고리즘을 이용하여 사람과 차 등의 객체를 학습한 뒤 탐지한다. 탐지된 객체의 주변영역에 밀집광학흐름 알고리즘인 Farnebäck 알 고리즘을 적용하여 객체의 이동 벡터를 계산하여 객체를 추 적하고 이동을 예측한다. 그리고 객체의 이동 벡터를 이용하 여 객체와 주행체 간의 속도를 계산하고 충돌 예상 지점 모 델에 활용하여 충돌 예상 시간 및 지점을 추정한다.

3.1 Local Dense Optical Flow

본 연구에서는 Farnebäck 알고리즘 기반의 광학흐름을 계산한다. 카메라의 이동으로 인해 영상이 동적으로 변하기 때문에 특징점의 소실 위험이 있는 LK 알고리즘 대신 모든 이미지 픽셀에 대해 계산하여 객체의 움직임을 비교적 정확 하게 알 수 있는 Farnebäck 알고리즘을 활용하였다.

광학 흐름을 이용하여 이동 벡터를 얻는 과정은 Fig. 4와 같 다. YOLOv5 알고리즘을 이용하여 사람을 탐지한 후 Farnebäck 알고리즘을 이용하면 전체 영상의 광학 흐름을 알 수 있 으며, 이를 통하여 움직이는 물체에 대해 광학 흐름을 이용하 면 해당 물체의 이동 벡터로 다음 움직임을 예측할 수 있다.

(4)
[TeX:] $$\Pi(x, y)=(u, v)$$

Fig. 4.

Flow Chart of Acquiring Motion Vector by Optical Flow
4.png

(5)
[TeX:] $$\overrightarrow{v_{o}}=\frac{1}{N_{b}} \sum_{A_{b}} I(x, y) \mid(x, y) \in A_{b}$$

[TeX:] $$A_{b}$$는 물체가 탐지된 영역, [TeX:] $$\mathrm{N}_{\mathrm{b}}$$는 Nb는 물체가 탐지된 영역 내 픽셀의 총 개수, I(x,y)는 좌표 (x,y)에서 Farnebäck 알고 리즘을 이용하여 계산된 흐름 벡터(Flow Vector)를 의미하 며 (u, v)는 흐름 벡터의 수평 성분의 크기(Horizontal)와 수직 성분의 크기(Vertical)를 나타낸다.

객체가 탐지되었을 때, 객체의 프레임 간 원시 이동 벡터 (Primitive Motion Vector per Frame) [TeX:] $$\mathrm{V}_{\mathrm{O}}$$는 탐지된 영역 내의 모든 흐름 벡터를 평균한 것으로 정의한다.

(6)
[TeX:] $$\vec{v}_{c}=\frac{1}{N_{s}} \sum_{A_{s}} I(x, y) \mid(x, y) \in A_{s}$$

(7)
[TeX:] $$\vec{v}=\overrightarrow{v_{o}}-\overrightarrow{v_{c}}$$

[TeX:] $$\mathrm{A}_{s}$$는 물체가 탐지된 주변 영역(외곽 경계 부분) , [TeX:] $$\mathrm{N}_{\mathrm{s}}$$는 물 체가 탐지된 주변 영역 내 픽셀의 총 개수를 의미한다.

카메라가 움직이는 상황이므로 탐지된 영역의 주변 흐름 벡터값을 평균하여 이를 카메라에 의한 이동 벡터(Motion Vecter Caused by Camera) vc로 정의한다. 객체의 프레 임 간 원시 이동 벡터에서 카메라에 의해 생긴 객체의 이동 벡터를 감산함으로써 움직이는 카메라에 의한 영향이 제거 된 객체의 프레임 간 이동 벡터(Motion Vector per Frame) v를 구한다.

(8)
[TeX:] $$\overrightarrow{v_{a}}=\sum_{n} \vec{v}$$

프레임 간 이동 벡터는 짧은 시간으로 인해 민감도 (Sensitivity)가 높다. 객체의 이동 벡터를 안정화하기 위해 프레임을 누적한다[22]. 프레임 간 이동 벡터을 n번 누적하 여 이를 객체의 이동 벡터 va로 계산하였다. 이를 통해 객체 의 이동 벡터를 움직이는 카메라에서 얻어낼 수 있다.

밀집광학흐름은 픽셀 수가 많을수록 연산량이 증가하여 많은 시간이 소요된다. 이 문제를 해결하기 위해 탐지된 객체의 영역 주변을 계산영역으로 이용한 논문의 방식을 차용 한다[23]. 위 논문은 정확한 광학 흐름을 계산하기 위해 제안된 방법이지만 본 연구에서는 연산할 픽셀 수를 감소시켜 연산 시간을 줄이는 방법으로 활용한다. 탐지된 객체를 포 함한 영상의 일부에서의 밀집광학흐름을 부분밀집광학흐름 (Local Dense Optical Flow)이라고 정의하고, 이를 이용 하여 빠르고 정확한 계산을 할 수 있다.

(9)
[TeX:] $$A_{c}=\{(x, y) \mid(x, y) \in R \subseteq U\}$$

(10)
[TeX:] $$\left(A_{b p} \cup A_{s p}\right) \cup\left(A_{b n} \cup A_{s n}\right) \subseteq A_{c}$$

[TeX:] $$A_{b p}: Detected Area of Previous Frame A_{s p} : Surrounding Area of Previous Frame A_{b n} : Detected Area of Present Frame A_{s n} : Surrounding Area of Present Frame$$

[TeX:] $$A_{c}$$는 부분밀집광학흐름을 계산할 영역집합을 의미한다. U는 전체 이미지 픽셀의 집합, R은 전체 이미지 픽셀의 부 분 집합이다. 부분밀집광학흐름을 계산하기 위해서 이전 프 레임과 같은 크기의 이미지가 필요하므로 계산 영역 [TeX:] $$A_{c}$$는 이전 프레임의 탐지 영역과 탐지 주변 영역, 현재 프레임의 탐 지 영역과 탐지 주변 영역 모두를 포함한 영역이여야 한다.

3.2 충돌 예상 시간 및 충돌 지점 추정모델

광학 흐름을 이용하여 계산된 객체의 이동 벡터로 객체 의 속도를 구한다. 이를 통해 주행체와 객체 간의 거리, 상 대 속도의 크기를 구한 뒤 충돌 시간을 계산하고 속도의 방 향을 이용하여 충돌 예상 지점을 예측한다. 본 논문에서는 1차원 충돌 모델(1-Dimension Collision Model)을 사용 한다. Fig. 5에서 [TeX:] $$\mathrm{V}_{\text {ox }}$$[TeX:] $$\mathrm{V}_{\text {oy }}$$는 객체의 이동 속도, [TeX:] $$\mathrm{V}_{\mathrm{cy}}$$는 주행체의 이동 속도, [TeX:] $$\mathrm{D}_{\mathrm{x}}$$는 객체와 충돌 지점간의 거리, [TeX:] $$D_{y}$$는 주행체와 충돌 지점과의 거리를 의미한다.

(11)
[TeX:] $$t_{c}=\frac{s_{o}}{v_{r}}$$

충돌 예상 시간은 뉴턴역학 속력-시간 Equation (11) 을 이용한다. [TeX:] $$\mathrm{t}_{\mathrm{c}}$$는 충돌 예상 시간, [TeX:] $$\mathrm{S}_{0}$$는 카메라와 물체 간의 거

Fig. 5.

1-Dimension Collision Model
5.png

Fig. 6.

Estimating Distance between Camera and Object
6.png

리, [TeX:] $$\mathrm{V}_{\mathrm{r}}$$은 카메라와 물체 사이의 상대 속도를 의미한다. 이미 지에서 물체와의 거리는 다음 식에서 알 수 있다.

(12)
[TeX:] $$s_{o}=\frac{h_{o} \times f}{c_{s}} \times \frac{I_{h}}{I_{o}}$$

ho는 실제 객체의 높이, f는 초점 거리, [TeX:] $$\mathrm{C}_{s}$$는 카메라의 CCD 센서의 높이, [TeX:] $$\mathrm{I}_{\mathrm{h}}$$ Ih는 이미지의 총 세로 픽셀 수, [TeX:] $$\mathrm{I}_{0}$$는 이 미지 내에서의 객체의 세로 픽셀 수를 의미한다.

식을 이용하여 객체의 속도의 크기와 방향을 알 수 있 으며, 이를 통해 주행체와 충돌 가능성을 예측할 수 있다.

4. 실험 결과 및 평가

4.1 실험 환경

오송 트램 시험선에서 촬영된 운행영상을 활용하여 실 험을 진행하였다. 운영체제는 Ubuntu 18.04.5 LTS, ROS melodic1, GPU는 NVIDIA RTX 2080 super, CPU는 Intel Core i7-9700K @CPU 3.60GHz 환경에서 진행되었다.

알고리즘의 검증은 편의를 위해 위 실험환경에서 촬영된 영상을 바탕으로 진행되었다. 영상 정보는 Table 2와 같다.

객체 인식은 YOLOv5 알고리즘을 이용하며 COCO 데 이터셋으로 사전 학습된 가중치 모델 중 가장 처리속도가 빠른 S모델을 적용한다. 입력 이미지 크기는 [TeX:] $$640 \times 640$$으로 설정한다.

광학 흐름을 Equation (9)에서 정의된 계산영역 [TeX:] $$A_{c}$$는 Equation (5)에서 정의된 탐지영역 [TeX:] $$A_{b}$$의 중심을 기준으로

Table 2.

Video Information
Category Information
Size [TeX:] $$2040 \times 1086(\fallingdotseq \mathrm{FHD})$$
Frame rate(FPS) 8 frame/sec
Filming Date 2020.12.11
Additional Information 5m~30m, step : 5m, 3 different angle except 5m (2 different angle), total 17 videos

탐지된 영역의 2배의 영역을 계산하였다. Equation (6)에 서 정의된 주변영역 [TeX:] $$\mathrm{A}_{s}$$는 탐지된 영역을 중심으로 1.5배의 영역에서 탐지 영역을 제외한 영역으로 설정하였다.

Farnebäck 알고리즘의 실행은 한 계층마다 0.5 비율로 스케 일링 되는 5계층 피라미드 스케일링(Level:5, Pyramid scale ratio : 0.5)을 이용하여 각 블록의 크기는 15×15 픽셀이며 (Window size=15), 재계산은 3회 진행되며(Iterations:3), 다항 식 근사에 계산되는 블록의 크기는 [TeX:] $$5 \times 5$$ 픽셀이고 (Polynominal block size=5), 가우시안 1.1의 표준편차 (Polynominal sigma=1.1) 값으로 진행되었다.

Equation (8)에서 정의된 객체의 이동 벡터는 5프레임 (n=5) 동안의 프레임 간 이동 벡터를 더하여 계산하였다.

Equation (12)에서 정의된 객체와 주행체 간의 거리를 구하기 위해 객체의 높이([TeX:] $$\mathrm{h}_{o}$$)는 1.75m로 가정하였으며, 실 험에 사용된 카메라의 CCD 센서 크기는 2/3“(8.6mm× 6.6mm, cs=6.6mm). 초점 거리(f)는 8mm이다.

4.2 실험 결과 및 평가

1) YOLOv5 기반 객체 탐지결과

본 실험에서는 트램의 정지선과 객체와의 거리를 5m에 서 30m 까지 5m 간격으로 설정하고 객체가 진입하는 각도 를 트램의 진행 방향과 수직인 방향에 대해 [TeX:] $$-45^{\circ}, 0^{\circ}, 45^{\circ}$$ 로 설정하였다.

모델의 평가방법으로는 객체 인식률로 설정하고 객체 거 리 추정 오차를 계산한다. 오차 계산방법은 Equation (13) 과 같이 백분율 오차를 이용하였으며, P는 객체가 존재하는 프레임의 개수, [TeX:] $$P_{E}$$는 YOLOv5에 의해 사람이 탐지된 프레 임의 개수이다. 가중치 모델에 따른 탐지율 및 속도는 Fig. 7에서 확인할 수 있다. 거리와 각도에 따른 객체의 탐지율 은 Table 3에서 확인할 수 있다.

(13)
[TeX:] $$\operatorname{Accuracy}(\%)=\frac{P-P_{E}}{P} \times 100$$

2) 객체의 Optical Flow 실험 결과 본 실험에서는 실제 객체의 이동방향과 계산된 이동 백터 의 방향이 일치하는지 확인한다. 사람의 걷는 속도는 평균 1.38m/s라고 알려져 있다. 측정된 속도는 Equation (14)과 같다.

Table 3.

Object Detection Ratio
Distance of the Object from Stop Line Direction of the Object[TeX:] $$\left(^{\circ}\right)$$ Detection Ratio
5m 0 100%
45 100%
10m -45 100%
0 100%
45 100%
15m -45 100%
0 100%
45 100%
20m -45 100%
0 99.63%
45 100%
100% -45 100%
0 95.37%
45 100%
30m -45 100%
0 91.2%
45 90.85%

Fig. 7.

YOLOv5 Model Comparison
7.png

(14)
[TeX:] $$v_{o}=\frac{s_{o}}{f} \times C_{s w} \frac{I_{o w}}{I_{w}} \times f p s \\ \begin{aligned} &v_{o}=\text { Real Speed of } \text { Ojject }(\mathrm{m} / \mathrm{s}) \\ &s_{o}=\text { Distance between Tram and } \text { Object } \\ &(5 \mathrm{~m}, 10 \mathrm{~m}, 15 \mathrm{~m}, 20 \mathrm{~m}, 25 \mathrm{~m}, 30 \mathrm{~m}) \\ &f=\text { Focal } \leq \text { ngth }(8 \mathrm{~mm}) \\ &C_{s w}=\text { CCD Sensor With }(8.8 \mathrm{~mm}) \\ &I_{w}=\fallingdotseq \text { With }(2040 \mathrm{px}) \\ &I_{o w}=\text { Object Width }(p x) \\ &f p s=30\left(s^{-1}\right) \end{aligned}$$

영상 내 객체의 이동 벡터의 크기와 각도 평균은 Table 4와 같다. Fig. 9는 객체가 15m에서 0도로 진입하는 경우에서 흐 름 벡터가 계산된 결과를 나타낸다. 그리드(Grid) 형태로 객체 주변의 흐름 벡터만을 계산하여 나타내고 객체의 대표 모션벡터를 추출한 그림이다. 3) 충돌예상 판단 기준 객체의 이동 방향이 트램의 레일 안으로 진입하는 방향

Table 4.

Flow Result
Distance of the Object from Stop Line Direction of the Object[TeX:] $$\text { (°) }$$ Average Angle of Motion Vector in Videos[TeX:] $$\text { (°) }$$ Average Motion Vector Magnitude of Object in Videos(px) Estimated Speed (m/s)
5m 0 146.87 2.23 0.72
45 117.16 1.36 0.44
10m -45 117.99 1.06 0.69
0 28.76 0.77 0.50
45 85.52 0.49 0.32
15m -45 16.98 0.72 0.70
0 15.92 0.77 0.75
45 91.95 0.58 0.56
20m -45 -2.22 1.06 1.37
0 1.45 0.94 1.22
45 25.27 0.49 0.63
25m -45 -0.03 0.66 1.07
0 3.26 0.61 0.99
45 11.11 0.46 0.74
30m -45 -0.15 0.53 1.03
0 0.80 0.48 0.93
45 21.21 0.21 0.41

Fig. 8.

Angle of Motion
8.png

Fig. 9.

Object Detection and Motion Vector Extraction, Flow Vector Grid
9.png
이고 충돌 예상 시간이 5초 이내인 경우 경고 표시를 하도 록 하였다. Fig. 10는 15m에서 0도로 진입하는 경우에서 시스템이 실행된 화면이다. 충돌이 예상되는 이러한 경우에 경고 메시지를 표시한다. 4) 객체 모션정보 알고리즘 계산 속도(Runtime) Table 5는 각 알고리즘의 프레임 당 소요 시간을 나타낸 다. 단위는 ms(Milisecond)이다.

Fig. 10.

TTC, Predicted Collision Point   Warning Message
10.png

Table 5.

Average Runtime
Method Min Max Avg
Farnebäck 526 571 536
SimpleFlow 2902 3104 2973
Previous Method(2016)[24] 380 600 490
Our Method 9 66 20
Farnebäck은 프레임당 평균 536ms, SimpleFlow는 평 균 2.973ms, LK 알고리즘을 활용한 방법[ 24]은 490ms가 소요된다. 반면에 본 연구의 제안 방법은 평균 20ms가 객체 의 이동정보 추출을 위한 연산량과 소요기간을 단축하였다.

5. 결론 및 향후 연구

제안한 방법을 통해 FHD 영상에 대해 실시간(Real-time, 30fps 기준)처리를 달성할 수 있었으며, 위의 방법을 통해 트 램과 보행자 간의 충돌 가능성을 판단하고 사고를 사전에 방 지할 수 있다. 기존에 제안되었던 LK 알고리즘을 이용한 방 법보다 객체의 이동을 더 정확한 예상을 할 수 있으며, 처리속 도는 기존의 방법보다 약 10배 빠른 것을 확인할 수 있다.

다만, 가까운 객체에 대해 광학 흐름을 계산하는 경우 카 메라로 인해 생긴 흐름 벡터를 완전히 제거하지 못하여 객 체의 이동벡터에 영향을 주게 되었다. 하나의 카메라를 이 용하여 깊이(Depth) 성분을 정확히 추정할 수 없어 객체의 이동벡터의 상하 성분(Y axis Component)이 객체의 실제 상하성분과 차이가 존재했다.

이러한 문제를 해결하기 위해 객체의 광학흐름 데이터를 학습한 딥러닝 모델을 적용할 계획이다. 그러나 딥러닝 모델 을 활용한 광학 흐름의 계산 현재 연산처리시간(Runtime)이 긴 편으로 향후 그래픽카드(GPU)의 구조 및 성능 향상과 빠 르고 가볍게 계산 가능한 딥러닝 모델을 이용하여 흐름 벡터 를 계산하여 위 방법보다 더 빠르고 정확하게 객체를 탐지하 고 이동 벡터를 탐지할 수 있을 것이다.

Biography

김 영 민

https://orcid.org/0000-0002-5948-456X

e-mail : winston1214@naver.com

2020년 차세대융합기술연구원 컴퓨터비전 및 인공지능연구실 연구원

2016년 ~ 현재 인천대학교 경제학과/컴퓨터공학부 학사과정

관심분야: Computer Vision & BigData

Biography

안 현 욱

https://orcid.org/0000-0002-8127-864X

e-mail : hyeonukahn@korea.ac.kr

2016년 ~ 현재 고려대학교 전기전자공학부 학사과정

관심분야: Deep Learning, Computer Vision & Bigdata

Biography

정 희 균

https://orcid.org/0000-0002-5407-5193

e-mail : llhgll@krri.re.kr

2020년 대구경북과학기술원(DGIST) 정보통신융합공학과(박사)

2020년 ~ 현재 한국철도기술연구원 스마트트램연구실 선임연구원

관심분야: Model Predicted Control for TramSensor Fusion, Resilient Cyber-Physical Systems, Robust Control

Biography

김 진 평

https://orcid.org/0000-0003-4840-7216

e-mail : jpkim@snu.ac.kr

2006년 성균관대학교 전자전기컴퓨터공학과(석사)

2014년 성균관대학교 전자전기컴퓨터공학과(박사)

2016년 ~ 2018년 한국철도기술연구원 선임연구원

2018년 ~ 2019년 한국도로공사 도로교통연구원 책임연구원

2019년 ~ 현재 차세대융합기술연구원 선임연구원

관심분야: Artificial Intelligence & Computer Vision

Biography

장 규 진

https://orcid.org/0000-0002-1575-2796

e-mail : gjjang@snu.ac.kr

2011년 성균관대학교 전자전기컴퓨터공학과(석사)

2013년 성균관대학교 전자전기컴퓨터공학과(박사수료)

2018년 한국철도기술연구원 스마트모빌리티연구팀 주임연구원

2020년 ~ 현재 차세대융합기술연구원 컴퓨터비전 및 인공지능연구실 연구원

관심분야: Computer Vision & Artificial Intelligence

Biography

황 현 철

https://orcid.org/0000-0002-3886-6956

e-mail : hchwang@krri.re.kr

1997년 인하대학교 전자공학과(학사)

1999년 인하대학교 전자공학과(석사)

2006년 인하대학교 전자공학과(박사)

2006년 ~ 현재 한국철도기술연구원 스마트트램연구실 책임연구원

관심분야: Railway Signalling and Communication

References

  • 1 S. Lee, M. Myung, T. Kim, "A study on tram traffic accidents characteristics and safety measures," Vol.39, no. 4, pp. 505-512, 2019.doi:[[[10.12652/Ksce.2019.39.4.0505]]]
  • 2 A. Manglik, X. Weng, E. Ohn-Bar, K. M. Kitanil, "Fore-casting time-to-collision from monocular video: Feasi-bility, dataset, and challenges," in In 2019 IEEE /RSJ Inter-national Conference on Intelligent Robots and Systems (IROS), 2019;pp. 8081-8088. doi:[[[10.1109/IROS40897.2019.8967730]]]
  • 3 H. Kataoka, T. Suzuki, K. Nakashima, Y. Satoh, Y. Aoki, "Joint pedestrian detection and risk-level prediction with motion-representation-by-detection," in In 2020 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2020;pp. 1021-1027. doi:[[[10.1109/icra40945.2020.9197399]]]
  • 4 Y. Cai, L. Dai, H. Wang, L. Chen, Y. Li, M. A. Sotelo, Z. Li, "Pedestrian motion trajectory prediction in intelli-gent driving from far shot first-person perspective video," IEEE Transactions on Intelligent Transportation Systems, pp. 1-16, 2021.doi:[[[10.1109/TITS.2021.3052908]]]
  • 5 J. Redmon, S. Divvala, R. Girshick, A. Farhadi, "You only look once: Unified, real-time object detection," in In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016;pp. 779-788. doi:[[[10.1109/cvpr.2016.91]]]
  • 6 C. Y. Wang, H. Y. M. Liao, Y. H. Wu, P. Y. Chen, J. W. Hsieh, I. H. Yeh, "CSPNet: A new backbone that can enhance learning capability of CNN," in Proceedings of the IEEE /CVF Conference on Computer Vision and Pattern Recognition Workshops, 2020;pp. 390-391. doi:[[[10.1109/cvprw50498.2020.00203]]]
  • 7 J. Park, S. Woo, J. Y. Lee, I. S. Kweon, "Bam: Bottleneck attention module," arXiv preprint arXiv:1807.06514, 2018.doi:[[[10.48550/arXiv.1807.06514]]]
  • 8 S. Elfwing, E. Uchibe, K. Doya, "Sigmoid-weighted linear units for neural network function approximation in reinforcement learning," Neural Networks, vol. 107, pp. 3-11, 2018.doi:[[[10.1016/j.neunet.2017.12.012]]]
  • 9 S. Liu, L. Qi, H. Qin, J. Shi, J. Jia, "Path aggregation network for instance segmentation," in Proceedings of the IEEE Conference on Computer Vision and Pattern Recog-nition, 2018;pp. 8759-8768. doi:[[[10.1109/cvpr.2018.00913]]]
  • 10 J. Redmon, A. Farhadi, "Yolov3: An incremental im-provement," In Computer Vision and Pattern Recognition, pp. 1804-2767, 2018.doi:[[[10.48550/arXiv.1804.02767]]]
  • 11 T. Y. Lin, et al., "Microsoft coco: Common objects in con-text," in European Conference on Computer Vision. Springer, Cham, 2014;pp. 740-755. doi:[[[10.1007/978-3-319-10602-1_48]]]
  • 12 Ultralytics. YOLOv5 (Internet), https://github.com/ultralytics/yolov5custom:[[[https://github.com/ultralytics/yolov5]]]
  • 13 B. K. Horn, B. G. Schunck, "Determining optical flow," Artificial Intelligence, vol. 17, no. 1-3, pp. 185-203, 1981.doi:[[[10.1016/0004-3702(81)90024-2]]]
  • 14 A. B. Khalifa, I. Alouani, M. A. Mahjoub, N. E. B. Amara, "Pedestrian detection using a moving camera: A novel framework for foreground detection," Cognitive Systems Research, vol. 60, pp. 77-96, 2020.doi:[[[10.1016/j.cogsys.2019.12.003]]]
  • 15 A. Bruhn, J. Weickert, C. Schnörr, "Lucas/Kanade meets Horn/Schunck: Combining local and global optic flow methods," International Journal of Computer Vision, vol. 61, no. 3, pp. 211-231, 2005.doi:[[[10.1023/B:VISI.0000045324.43199.43]]]
  • 16 G. Farnebäck, Two-frame motion estimation based on polynomial expansion, Scandinavian Conference on Image Analysis. Springer, Berlin Heidelberg .Method Min Max AvgFarnebäck 526 571 536SimpleFlow 2902 3104 2973, 2003.doi:[[[10.1007/3-540-45103-x_50]]]
  • 17 A. Dosovitskiy, et al., "Flownet: Learning optical flow with convolutional networks," in In Proceedings of the IEEE Inter-national Conference on Computer Vision, 2015;pp. 2758-2766. doi:[[[10.1109/iccv.2015.316]]]
  • 18 E. Ilg, N. Mayer, T. Saikia, M. Keuper, A. Dosovitskiy, T. Brox, "Flownet 2.0: Evolution of optical flow estimation with deep networks," in In Proceedings of the IEEE Confer-ence on Computer Vision and Pattern Recognition, 2017;pp. 2462-2470. doi:[[[10.1109/cvpr.2017.179]]]
  • 19 M. Bevilacqua, A. Tsourdos, A. Starr, "Egomotion estimation for monocular camera visual odometer," in IEEE International Instrumentation and Measurement Tech-nology Conference Proceedings, 2016;pp. 1-6. doi:[[[10.1109/I2MTC.2016.7520579]]]
  • 20 J. Lim, B. Han, Generalized background subtraction using superpixels with label integrated motion estimation, European Conference on Computer Vision, Springer Cham, pp. 173-187, 2014.doi:[[[10.1007/978-3-319-10602-1_12]]]
  • 21 L. Kurnianggoro, A. Shahbaz, K. H. Jo, "Dense optical flow in stabilized scenes for moving object detection from a moving camera," in 2016 16th International Conference on Control, Automation and Systems (ICCAS), 2016;pp. 704-708. doi:[[[10.1109/iccas.2016.7832395]]]
  • 22 J. Mao, H. Yu, , X. Gao, L. Yu, "Complementary motion vector for motion prediction in video coding with long-term reference," In 2019 Picture Coding Symposium (PCS), pp. 1-5, 2019.doi:[[[10.1109/PCS48520.2019.8954511]]]
  • 23 M. Mühlhausen, L. Wohler, G. Albuquerque, M. Magnor, "Iterative optical flow refinement for high resolution images," in In IEEE International Conference on Image Pro-cessing (ICIP), 2019;pp. 1282-1286. doi:[[[10.1109/icip.2019.8803727]]]
  • 24 Y. C. Kuo, C. T. Tsai, C. H. Chang, "Fast estimation of pedestrian movement," Sensors and Materials, vol. 29, no. 6, pp. 713-726, 2017.doi:[[[10.18494/sam.2017.1487]]]

Statistics


Cite this article

IEEE Style
Y. Kim, H. An, H. Jeon, J. Kim, G. Jang, H. Hwang, "A Study of Tram-Pedestrian Collision Prediction Method Using YOLOv5 and Motion Vector," KIPS Transactions on Software and Data Engineering, vol. 10, no. 12, pp. 561-568, 2021. DOI: https://doi.org/10.3745/KTSDE.2021.10.12.561.


ACM Style
Young-Min Kim, Hyeon-Uk An, Hee-gyun Jeon, Jin-Pyeong Kim, Gyu-Jin Jang, and Hyeon-Chyeol Hwang. 2021. A Study of Tram-Pedestrian Collision Prediction Method Using YOLOv5 and Motion Vector. KIPS Transactions on Software and Data Engineering, 10, 12, (2021), 561-568. DOI: https://doi.org/10.3745/KTSDE.2021.10.12.561.