4. Speed

개요


드론에서 촬영한 영상을 기반으로 선박의 속도를 추정하는 알고리즘에 대한 설명합니다. 영상의 메타데이터(드론의 GPS 위치), 객체 탐지 픽셀 좌표, BEV(Bird's Eye View) 변환 좌표, GSD(Ground Sample Distance) 정보를 추출하고 선박의 GPS 위치를 정확하게 추정하고 이를 바탕으로 속도를 계산합니다.

알고리즘 동작 방식


1. 속도 예측을 위한 정보 추출

  1. 프레임 단위 분할

    1. 영상에서 프레임을 순서대로 추출

  2. 객체 탐지 모델

    1. 각 프레임에 대해 배(bbox)를 검출

  3. BEV 변환(왜곡 보정)

    1. bbox에 대한 BEV 변환

    2. 드론의 정하점에 대한 이미지 평면 상 픽셀 좌표 BEV 변환(상세 설명은 정하점 투영 그림 참조)

  4. 드론 메타데이터(GPS, time 등)과 프래임 싱크

드론의 FOV와 pitch, image size를 이용하여 드론이 해수면에 정하점으로 떨어질 경우의 이미지 평면 상 픽셀 좌표를 구함

θpitch=Pitch\theta_{\text{pitch}} = Pitch
θfov,y=FOVy2\theta_{\text{fov}, y} = \frac{\text{FOV}_y}{2}

아웃풋 형태

  • 각 프레임별 배의 픽셀 좌표, 드론의 픽셀 좌표, GSD, 드론 GPS, 타임스탬프를 포함한 데이터 생성

2. 위에 추출한 정보를 바탕으로 배의 GPS 예측

  1. 픽셀 좌표를 GPS 좌표로 변환

    1. 드론 중심 좌표와 선박의 중심 좌표, 방위 정보를 하버사인arrow-up-right 공식을 기반으로 드론 GPS에서 일정 거리와 방향에 위치한 배의 GPS 좌표를 계산

  2. 칼만 필터 및 RTS 스무더 적용

    1. 실시간 데이터인 온라인 데이터가 아닌 오프라인 데이터의 장점을 활용

    2. 선박의 GPS 위치 추정의 정확도를 높이기 위해 RTS(Rauch-Tung-Striebel) 스무더를 적용

    3. 기존 칼만 필터의 확장된 형태로, 전체 데이터를 고려하여 최적의 상태 추정

  3. 물리적 제한

    1. 선박의 물리적 특성(최대 속도)을 고려하여 비현실적인 움직임을 필터링하고 보정합니다.

  4. 속도 계산

    1. 단일 프레임 간의 차이로 속도를 계산하면 너무 짧은 시간을 속도 계산에 사용되기 때문에 노이즈에 취약하므로 여러 프레임(일반적으로 30개)의 위치 데이터를 큐에 저장

    2. IQR(Interquartile Range)을 사용하여 비정상적인 위치 데이터를 제거

    3. 하버사인 공식을 사용하여 큐의 첫 번째 위치와 마지막 위치 사이의 거리를 계산

아웃풋 형태

3. 속도 예측 오차율

오차율 분석 표 설명

  • 시간별 비교: 각 초(second)마다 실제 선박 속도(GT)와 알고리즘 예측 속도를 비교

  • 오차율 계산 방식

    • Error Rate=VpredictedVGTVGT×100\text{Error Rate} = \frac{|V_{\text{predicted}} - V_{\text{GT}}|}{V_{\text{GT}}} \times 100%

테스트 #1

성능 지표 요약

  • 평균 KT 차이: 3.9KT

  • 최소 KT 차이: 0.04KT

  • 최대 KT 차이: 9.47KT

  • 평가 방법: 초당 GT(Ground Truth) 속도와 알고리즘 예측 속도 비교

시간
실측 속도(KT)
예측 속도(KT)
속도 차이(KT)

2024. 10. 1 오전 9:53:31

14

20.98

6.98

2024. 10. 1 오전 9:53:32

14

17.82

3.82

2024. 10. 1 오전 9:53:33

14

16.5

2.5

2024. 10. 1 오전 9:53:34

15

16.68

1.68

2024. 10. 1 오전 9:53:35

15

17.02

2.02

2024. 10. 1 오전 9:53:36

15

17.42

2.42

2024. 10. 1 오전 9:53:37

15

17.68

2.68

2024. 10. 1 오전 9:53:38

15

17.63

2.63

2024. 10. 1 오전 9:53:39

15

17.49

2.49

2024. 10. 1 오전 9:53:40

15

17.72

2.72

2024. 10. 1 오전 9:53:41

15

18.11

3.11

2024. 10. 1 오전 9:53:42

15

18.2

3.2

2024. 10. 1 오전 9:53:43

15

18.66

3.66

2024. 10. 1 오전 9:53:44

15

18.87

3.87

2024. 10. 1 오전 9:53:45

15

18.58

3.58

2024. 10. 1 오전 9:53:46

15

18.43

3.43

2024. 10. 1 오전 9:53:47

15

17.72

2.72

2024. 10. 1 오전 9:53:48

15

16.91

1.91

2024. 10. 1 오전 9:53:49

15

16.08

1.08

2024. 10. 1 오전 9:53:50

15

15.22

0.22

2024. 10. 1 오전 9:53:51

15

14.61

0.39

2024. 10. 1 오전 9:53:52

15

14.52

0.48

2024. 10. 1 오전 9:53:53

15

14.74

0.26

2024. 10. 1 오전 9:53:54

15

15.04

0.04

2024. 10. 1 오전 9:53:55

15

15.73

0.73

2024. 10. 1 오전 9:53:56

15

16.35

1.35

2024. 10. 1 오전 9:53:57

15

17.5

2.5

2024. 10. 1 오전 9:53:58

15

18.95

3.95

2024. 10. 1 오전 9:53:59

15

20.09

5.09

2024. 10. 1 오전 9:54:00

14

21.02

7.02

2024. 10. 1 오전 9:54:01

14

21.43

7.43

2024. 10. 1 오전 9:54:02

14

21.77

7.77

2024. 10. 1 오전 9:54:03

14

21.45

7.45

2024. 10. 1 오전 9:54:04

14

21.08

7.08

2024. 10. 1 오전 9:54:05

14

20.91

6.91

2024. 10. 1 오전 9:54:06

14

20.75

6.75

2024. 10. 1 오전 9:54:07

14

20.72

6.72

2024. 10. 1 오전 9:54:08

14

20.66

6.66

2024. 10. 1 오전 9:54:09

14

20.24

6.24

2024. 10. 1 오전 9:54:10

14

20.05

6.05

2024. 10. 1 오전 9:54:11

14

19.86

5.86

2024. 10. 1 오전 9:54:12

14

18.29

4.29

2024. 10. 1 오전 9:54:13

14

17.62

3.62

2024. 10. 1 오전 9:54:14

14

17.7

3.7

2024. 10. 1 오전 9:54:15

14

17.88

3.88

2024. 10. 1 오전 9:54:16

14

19.56

5.56

2024. 10. 1 오전 9:54:17

14

19.27

5.27

2024. 10. 1 오전 9:54:18

14

18.87

4.87

2024. 10. 1 오전 9:54:19

14

18.37

4.37

2024. 10. 1 오전 9:54:20

14

17.69

3.69

2024. 10. 1 오전 9:54:21

14

16.54

2.54

2024. 10. 1 오전 9:54:22

14

14.75

0.75

2024. 10. 1 오전 9:54:23

14

13.65

0.35

2024. 10. 1 오전 9:54:24

14

12.71

1.29

2024. 10. 1 오전 9:54:25

14

12.87

1.13

2024. 10. 1 오전 9:54:26

14

11.21

2.79

2024. 10. 1 오전 9:54:27

14

8.87

5.13

2024. 10. 1 오전 9:54:28

14

7.07

6.93

2024. 10. 1 오전 9:54:29

14

6.26

7.74

2024. 10. 1 오전 9:54:30

14

5.34

8.66

2024. 10. 1 오전 9:54:31

14

4.53

9.47

Last updated