2.2.1 열차접근 영상 취득
AI 영상분석 알고리즘을 개발하기 위해서는 열차 선로상에서 촬영한 열차접근 영상이 필요하다. 선로상 열차접근 영상 촬영을 위해 먼 거리의 열차 검출이
용이하도록 망원렌즈를 활용하여 추후에 사용하게 될 물체 검출 인공지능 모델의 훈련데이터를 지닌 이미지상에서의 열차 크기와 유사한 크기로 촬영되도록
광학 시스템을 구성하였다. Microsoft Common Objects in Context(MSCOCO)[6]는 물체 검출 인공지능 모델의 훈련에 가장 많이 사용되는 데이터셋으로 약 20,000장의 다양한 열차 데이터를 보유한다. 열차의 이미지 크기는 평균적으로
341x201이며 열차 데이터의 경우 평균 이미지 크기는 577x484로 이미지에서 약 60%의 폭과 40% 높이를 지녔다. 본 연구에서의 열차 검출은
먼 거리에 있는 열차를 검출하는 것이 중요하기에 이미지상에서 열차의 크기가 크게 촬영되어야 한다.
그림 3. 얇은 렌즈에 대한 기하광학
Fig. 3. Geometrical Optics of Thin Lenses
식 (1)은 렌즈 방정식 식이고 식 (2)는 이미지 평면상에서 물체 높이 식이다. $d_{o}$는 물체와 렌즈 사이의 거리, $d_{i}$는 이미지와 렌즈 간의 거리, $f$는 렌즈의 초점거리,
$h_{i}$는 이미지상에서의 물체의 높이, $h_{o}$는 물체의 높이이다. 임베디드 시스템에서 주로 사용하는 3$\mu m$ 픽셀 크기인 CMOS
센서와 현재 사용되는 초점거리 3mm를 갖는 렌즈를 사용하였다. 거리가 300m 떨어져 있는 폭 2.9m, 높이 4.1m인 KTX 차량의 정면 촬영시
$d_{o}$는 300m, $d_{i}$는 0.003m, $h_{o}$는 4.1m를 식 (2)에 대입시 $h_{i}$는 41$\mu m$이며, 이를 통해 이미지상에서 폭 29$\mu m$/3$\mu m$ = 10pixel, 높이 41$\mu
m$/3$\mu m$ = 14pixel의 사이즈로 이미지상에 보이게 된다. 1280x720 이미지 크기에서 폭 1%, 높이 2%밖에 차지하지 않기에
매우 작아 열차를 검출하는데 불리하다. 초점거리가 100mm인 렌즈를 사용하면 455pixel의 높이를 지니게 되어 이미지 상에서 약 63%의 높이가
나타나게 되고, 초점거리가 75mm인 렌즈를 사용하면 341pixel 높이로 약 47.3%의 높이로 접근하는 열차가 이미지상에서 나타난다. 초점거리가
50mm인 렌즈를 사용 시 227pixel, 31.6% 높이가 된다. 본 연구에서는 1/3 inches CMOS센서와 초점거리가 50mm인 렌즈를
사용하여 거리가 약 300m가 되는 곳에서 촬영된 열차의 정면 높이 비율이 해상도가 HD에서 약 31%가 되도록 하여 MSCOCO 데이터셋의 열차
높이 비율이 40%와 비슷하게 되도록 설정하였다. 75mm나 100mm 렌즈를 사용할 시 열차가 접근하였을 때 열차가 부분적으로 확대되어 검출 성능이
낮아질 수 있고, 수광 능력이 저하하여 야간에서 밝기가 감소하기에 제외하였다.
2.2.2 AI 영상분석 기반 객체 인식 알고리즘
물체 검출을 기반으로 하는 열차접근 검출 알고리즘의 경우 이미지상에서 열차가 검출되지 않을 시 검출율이 급격히 하락하게 되는 문제가 있고, 특히 야간의
경우 열차의 전조등과 조도 부족에 의해 열차 검출에 필요한 특징을 인공지능 모델이 추출하기 어려워 물체를 검출하는 성능이 더욱 하락한다. MSCOCO
데이터셋에 높은 성능을 지닌 실시간 물체 검출이 가능한 인공지능 모델의 평균 정밀도는 60% 미만이므로, 물체가 검출되지 않는 순간들이 다수 존재하므로
물체가 검출되지 않더라도 물체 접근 검출이 가능한 열차 검출 알고리즘이 필요하다. 그림 4는 고도화 연구를 통해 개발된 열차접근 검출 AI 영상분석 알고리즘의 개념을 나타낸 것으로 시간차를 두고 촬영한 과거 와 현재 이미지를 이용하여 인공지능을
통해 광학 흐름을 추정한다. 현재 이미지에서 물체 검출 인공지능으로 열차를 검출 및 레이더를 이용하여 보완적으로 움직이는 물체 정보를 취득 후 세
가지 정보를 조합해 열차 접근을 판단한다.
그림 4. 열차접근 검출 AI 영상분석 알고리즘 개념도
Fig. 4. Concept Diagram of AI-Based Video Analysis Algorithm for Train Approach Detection
광학 흐름(optical flow)은 두 이미지에서 동일한 물체 혹은 픽셀의 움직임을 이미지상에서 나타내며, 이미지의 각 픽셀에서 수직, 수평 방향
변화량을 값으로 가진다. 그림 5는 두 이미지에서 동일한 물체 A에 대한 광학 흐름을 나타내는 예시로, Frame 1에서 A는 (x1, y1)에, Frame 2에서는 (x2, y2)에
위치한다. 두 이미지상에서 A의 위치 변화는 Frame 1을 기준으로 (x2-x1, y2-y1)이며, Frame 1의 A 위치인 (x1, y1)에서
해당 값을 갖도록 광학 흐름 데이터가 구성한다. 그림 6은 영상에서 짧은 시간 차로 추출한 두 이미지를 활용해 광학 흐름 추정 결과를 나타낸 것이다. 실제 광학 흐름 데이터는 2채널로 구성되어 있어 8-bit보다
큰 값을 지닐 수 있기 때문에 직접적으로 시각화할 수 없지만 정규화 등 과정을 거친 뒤 이동 방향과 크기에 따라 색을 적용해 간접적으로 나타낸다.
그림 7은 촬영된 열차접근 영상을 이용해 광학 흐름을 추정한 결과로 접근 열차 없을 시 두 이미지 사이 변화가 거의 존재하지 않아 노이즈처럼 나타났으며 열차가
접근 시 추정된 광학 흐름으로 열차가 존재하고 움직인 위치에 광학 흐름이 명확히 구분되어 나타났다.
그림 5. 광학 흐름 예시
Fig. 5. Example of Optical Flow
그림 6. 실제 이미지에 대한 광학 흐름 추정 결과
Fig. 6. Optical Flow Estimation Results on Actual Images
그림 7. 열차 접근 유무에 따른 광학 흐름 차이
Fig. 7. Optical Flow Differences Depending on Train Approach
심층 학습 이전의 광학 흐름 추정은 Lucas-Kanade 방법을 이용해 진행되었다. Lucas-Kanade 방법은 두 이미지 간의 흐름이 기본적으로
일정하다는 가정으로 심층 학습 이전의 광학 흐름을 추정하였다. 두 이미지 간 밝기가 변하지 않고, 어떤 픽셀 주변은 유사 동작을 가정 후 각 이미지에
모서리, 꼭짓점과 같은 두드러진 특징을 추출 후 두 이미지 간 동일 시 여겨지는 특징을 짝지어 위치 차이를 이용해 흐름을 추정하였다. 각 이미지에
대한 윈도우를 적용해 연산을 진행하기에 윈도우 크기보다 큰 움직임은 추정하는 데 실패하고, 윈도우 크기가 커질 시 연산량이 증가하게 된다. 특징점을
통해 추정해 최근 이미지 전역을 사용하는 방법에 비해 정확도가 낮다. 심층 학습 이후, FlowNet[7]이후 수많은 연구가 진행되고 있다. FlowNet은 처음으로 광학 흐름 추정을 심층 학습을 이용해 해결한 성공적인 연구로 FlowNet 2.0[8]으로 발전하였다. 그림 8은 FlowNet의 두 가지 구조를 나타낸 것이다. FlowNetSimple은 FlowNetCorr에 비해 간소화된 구조로 두 이미지를 채널 방향으로
합쳐 모델에 입력 후, 하나의 convolutional block에서 특징을 추출한다. FlowNetCorr은 두 이미지를 두 개의 독립된 convolutional
block에 입력해 특징 추출 후 correlation layer를 통해 정보를 통합한다. FlowNetSimple 구조의 경우 모델의 가중치가 상대적으로
작기에 빠른 속도로 추론할 수 있지만 입력 이미지 간의 움직임이 클 경우 광학 흐름 추정 오차가 증가할 수 있다. FlowNet 2.0은 FlowNetSimple과
FlowNetCorr을 합쳐 모든 변위에 최적화된 구조를 구성한다. 그림 9는 FlowNet2.0의 구조를 보여준다. 큰 변위 광학 흐름을 계산하기 위해 입력 이미지를 FlowNetC에서 처리 후 다시 입력 이미지와 워프
된 이미지, 광학 흐름, 밝기 에러를 통합해 FlowNetS에 입력한다. 작은 변위 광학 흐름은 FlowNet-SD를 적용 후 큰 변위, 작은 변위
융합해 최종 광학 흐름을 출력한다. 여러 FlowNet을 조합해 하나의 모델로 구성했기에 연산속도는 약 8배가 증가하며 그림 10은 FlowNet과 FlowNet2.0 비교시 FlowNet2.0이 훨씬 더 높은 품질을 보여주는 것을 확인할 수 있다.
그림 8. FlowNetSimple(상부), FlowNetCorr(하부)[7]
Fig. 8. FlowNetSimple(Upper), FlowNetCorr(Lower)[7]
그림 9. FlowNet 2.0 구조[8]
Fig. 9. FlowNet 2.0 Structure[8]
그림 10. FlowNet과 FlowNet 2.0 비교
Fig. 10. Comparison of FlowNet and FlowNet 2.0
성능 유지 및 향상, 추론 속도 가속을 위해 PWC-Net[9], LiteFlow[10] 등 연구가 진행 중이다. PWC-Net은 이미지 피라미드와 특징 피라미드를 이용해 연산량을 감소시켰으며, LiteFlowNet은 특징 피라미드와
분리된 흐름 추론 및 흐름 정규화를 도입한다. 그림 11과 그림 12는 각각 PWC-Net의 동작 구조와 LiteFlowNet의 동작 개념을 보여주고 있다.
그림 11. PWC-Net[9]
Fig. 11. PWC-Net[9]
그림 12. LiteFlowNet[10]
Fig. 12. LiteFlowNet[10]
본 연구에서는 추론 속도가 빠른 모델 중 최근 발표한 FastFlowNet[11]을 이용해 광학 흐름을 추정하였다, FastFlowNet은 이미지 피라미드 추출을 위해 head enhanced pooling pyramid(HEPP),
가벼운 compact volume을 건설하기 위해 center dense dilated correlation(CDDC) layer, 흐름 추정 가속에
효율적인 shuffle block decoder(SBD)를 각각의 피라미드 레벨에 적용하여 정확도를 유지, 빠른 추론 속도를 달성하였다. 표 1은 다른 연구와 비교표이며, FastFlowNet의 가중치 수와 연산량, 추론 시간이 가장 작은 것을 확인할 수 있다.
그림 13. FastFlowNet 구조[11]
Fig. 13. FastFlowNet Structure[11]
표 1 FastFlowNet 성능 비교[6]
Table 1 FastFlowNet Performance Comparison[6]
|
Sintel Clean Test (AEPE)
|
KITTI 2015 Test (Fl-all)
|
Params (M)
|
FLOPs (G)
|
Time (ms) 1080Ti
|
Time (ms) TX2
|
FlowNet2
|
4.16
|
11.48%
|
162.52
|
24836.4
|
116
|
1547
|
SPyNet
|
6.64
|
35.07%
|
1.20
|
149.8
|
50
|
918
|
PWC-Net
|
4.39
|
9.60%
|
8.75
|
90.8
|
34
|
485
|
LiteFlowNet
|
4.54
|
9.38%
|
5.37
|
163.5
|
55
|
907
|
FastFlowNet
|
4.89
|
11.22%
|
1.37
|
12.2
|
11
|
176
|
물체 검출 AI 모델인 YOLOv7[12]은 매우 높은 성능, 추론 속도를 가진 물체 검출 모델로 TensorRT와 같은 GPU 가속화 지원하여 임베디드 시스템에서 빠른 추론 속도를 확보할
수 있다. 본 연구에서는 MSCOCO 데이터셋으로 훈련된 YOLOv7 모델을 사용하였고, YOLOv7은 약 104 GFLOPs의 연산량이 요구되며,
MSCOCO val 데이터에 대해 51.2%의 평균 정밀도를 나타낸다. 이와 비슷한 연산량을 지닌 YOLOv7-L[8]의 경우 49%, PPTOLOE-L[9]은 50.9%, YOLOR-CSP[10]는 50.8%로 YOLOv7의 성능이 상대적으로 높다. YOLOv7-tiny-SiLU 모델의 경우 13.8 GFLOPs의 연산량으로 매우 빠른 추론
속도를 나타내지만 38.7%의 평균정밀도로 성능저하가 나타난다. 그림 14에서는 YOLOv7과 다른 물체 검출 모델과의 성능 및 속도를 도식화하여 비교하고 있다.
2.2.3 광학 흐름 추정 AI 모델 기반 열차 접근 판단 알고리즘
그림 15는 열차접근 판단 알고리즘 순서도로 열차접근 판단을 위해 광학 흐름(OF) 정보, 물체 검출 정보, 레이더 정보를 이용한 알고리즘의 순서도를 나타낸다.
과거, 현재 이미지를 사용해 추정된 광학 흐름의 절댓값이 문턱값 T를 초과하고, 이렇게 초과한 광학 흐름의 넓이가 A를 초과 시 열차가 접근 중인
것으로 판단한다. 과거, 현재 이미지는 약 1초 차이를 두고 영상에서 추출되었다. 두 이미지 간 차이가 거의 없는 경우 발생하는 광학 흐름 노이즈의
평균은 0~2 사이의 절댓값으로 나타나며, 열차가 접근할 경우 광학 흐름은 20~200 사이 절댓값을 나타내기에 광학 흐름 절댓값에 대한 문턱값 T는
10으로 설정, 광학 흐름의 넓이에 대한 문턱값 A를 200으로 설정하여 작은 물체나 노이즈에 대한 영향을 제외한다. 물체 검출 모델은 광학 흐름에서
검출된 움직임이 열차에 의한 것인지 판단하는 데 사용되었다. 열차가 아닌 다른 물체가 검출될 경우 해당 물체의 위치에 대한 광학 흐름 값을 제거한
뒤 광학 흐름을 처리하여 다른 물체의 영향을 제외했다. 열차가 검출될 시 열차접근 최종 판단에 적용하였고, 망원렌즈를 사용하게 되면서 레이더 시야는
카메라보다 넓어지게 되었지만 카메라 외부 물체까지 레이더에 검출되기에 레이더 시야를 카메라 시야에 맞춰 제한해야 한다. 영상 촬영에 사용한 광학 시스템은
50mm 렌즈와 1/3 inches 센서로 약 5.5°의 수평 시야를 지니고 여기에 맞춰 레이더에 검출된 물체의 위치가 좌우 2.75° 초과시 열차접근
판단에 사용하지 않았다.
그림 14. YOLOv7과 다른 모델들의 성능 및 속도 비교[8]
Fig. 14. Comparison of YOLOv7 and Other Models in Terms of Performance and Speed[8]
그림 15. 열차 접근 판단 알고리즘 순서도
Fig. 15. Flowchart of the Train Approach Detection Algorithm