1. 서 론
자율운항선박을 위한 경로탐색, 충돌회피, 객체탐지, 전기 추진 등의 여러 기술들이 연구·개발되고 있다. 자율운항선박 이 상용화되어 우리나라 연안을 운항하게 되면 가장 많이 마주하게 될 장해물 중 하나는 양식장이 될 것이다.
국내 양식어업 면허건수와 양식면허건당 면적은 2008년에 각각 9,555건, 14.2 ha이었고, 2017년에는 각각 9,992건, 16.1 ha 로 양식장 규모가 점차 확대되고 있다. 2017년 기준 11개 시 도지역 중 양식어업 면허 면적의 비중이 가장 높은 지역은 전남으로 전체의 74.8 %를 차지하였고, 이 중 해조류양식 면 허면적 비율은 75.4 %로 해조류양식이 주류를 이룬다고 볼 수 있다(KMI, 2018).
국내 양식어업은 허가받은 수면에서 이루어지기 때문에 GPS 좌표를 미리 파악할 수 있지만 허가되지 않은 불법양식 장이 많고 바람이나 조류 등으로 양식장이 허가된 위치를 벗어날 수 있다. 선박에는 해상물체를 탐지할 수 있는 레이 더가 있지만 양식장 부표가 작아 잘 탐지되지 않거나 선박 에 너무 가까이 있을 때 최소탐지거리 또는 해면반사파 등 으로 쉽게 식별하기 어려운 한계가 있다.
이러한 한계점을 극복하기 위해 객체탐지 기술이 사용될 수 있다. Lee and Kim(2020)은 객체탐지 알고리즘을 크게 CNN (Convolution Neural Network)계열과 YOLO(You Only Look Once)계열로 나누어 비교 분석한 결과 YOLO계열 객체탐지 알고리즘이 더 빠르고 강력한 검출이 가능하여 실제 응용프 로그램에 사용되기 적합하다고 판단하였다.
또한 Li et al.(2021)은 혼잡한 도로에서 사람, 오토바이, 자 전거 등 움직이는 물체를 검출 및 식별하기 위해 YOLO v4 를 훈련시킨 결과 움직이는 물체를 정확하게 식별 할 수 있 었고, Kim et al.(2019)은 자율주행자동차의 주행환경 감지에 일반적으로 사용되는 RGB 카메라의 영상 데이터와 Lidar 포 인트 클라우드 합성을 통한 YOLO 기반의 객체탐지 시스템 을 제안하였다.
하지만 선박에서는 해상에서 물체를 탐지하고 충돌을 피 하기 위한 동작을 취하기 위해서는 탐지된 물체가 선박으로 부터 떨어진 거리와 방위를 알아야 하는데 이에 대한 연구 가 부족한 실정이다.
이에 본 연구에서는 YOLO 알고리즘을 이용하여 연안에 서 가장 흔히 볼 수 있는 양식장 부표를 탐지할 수 있는 모 델을 만들고, 얻어진 영상좌표의 기하학적 해석을 통해 카 메라로부터 떨어진 물체의 거리와 방위를 측정할 수 있는 해상물체탐지시스템을 개발하고자 한다.
2. YOLO 알고리즘
딥러닝 기반의 객체탐지 모델은 크게 1 stage detector와 2 stage detector로 구분된다. 2 stage detector는 물체가 이미지 안 어디에 위치해 있는지 박스를 통해 위치 정보를 나타내는 localization과 그 물체가 어떤 물체인지 분류하는 classification 을 순차적으로 수행하는 모델로 대표적으로 R- CNN, Fast R-CNN이 있다. 1 stage detector는 localization과 classification을 동시에 수행하는 모델로 대표적으로 YOLO가 있다. 1 stage detector는 2 stage detector 보다 정확도는 다소 떨이지지만 작 업 수행속도가 빨라 실시간으로 객체를 탐지할 수 있다.
2.1 YOLO 알고리즘 구성
1) YOLO v1
YOLO v1은 하나의 이미지를 입력받아 S ×S × (B × 5 +C ) 인 텐서로 예측작업을 수행한다. S 는 그리드(grid) 개수, B 는 경계박스의 개수, C 는 셀의 클래스의 수를 나타낸다. 입 력된 이미지를 S ×S 그리드로 나누고 특정 객체의 중심이 그리드 셀의 중심에 들어간다면 그리드 셀은 해당 객체에 대한 검출(detecting) 작업을 수행한다. 각각의 그리드 셀은 B 개의 경계박스(Bounding box)와 C 개의 클래스 확률을 예 측하며, YOLO 알고리즘의 객체탐지 과정을 도식화하면 Fig. 1과 같다(Joseph et al., 2015).
경계박스는 x, y, w, h, Confidence score의 5개의 값으로 구 성된다. x, y는 경계박스의 중심좌표를 나타내고, 그리드 셀 의 경계에 대해 표현되어 0~1 사이의 값을 갖는다. w, h는 경계박스의 너비와 높이를 나타내는 값으로 전체 이미지에 대해 표현되어 0~1 사이의 값을 갖는다. Confidence score는 경계박스가 물체를 포함하는지 그리고 얼마나 정확하게 경 계박스를 예측하였는지를 나타내는 신뢰점수로 식(1)과 같 이 계산된다.
여기서,
예측된 경계박스 안에 객체가 존재하지 않는다면 Pr(object)가 0이 되어 신뢰점수 또한 0이 되고 예측된 경계 박스 안에 객체가 존재한다면 Pr(object)가 1이 되어 신뢰 점수는 IOU (pred, truth)와 같아진다. 그리고 Non-Maximum Suppression을 거쳐 가장 정확한 경계박스만이 남게 된다.
또한, 예측된 클래스 확률과 경계박스의 신뢰점수를 곱하 여 클래스별 특정 신뢰점수(Class-specific confidence score)를 계산한다. 이는 각 클래스가 경계박스에 등장할 확률과 객 체가 예측된 경계박스에 얼마나 잘 맞는지를 나타낸다.
2) YOLO v4
YOLO 알고리즘은 2015년 v1을 시작으로 계속적으로 발전 하여 2020년에 v5가 공개되었다. 하지만 v5에 대한 논문을 찾아보기 어렵고 해당 알고리즘에 대한 일부 논쟁이 있어 본 연구에서는 v4를 사용하였다. YOLO v4는 Fig. 2와 같은 구조를 가진다. 입력된 이미지는 Backbone에서 feature map으 로 변형된다. Neck은 Backbone과 Head를 연결하는 부분으로 feature map을 정제 및 재구성한다. Head는 추출된 feature map 의 location 작업이 수행되는 부분으로 클래스와 경계박스를 예측한다. YOLO v4는 각 단계에서 Backbone: CSP-Darknet53, Neck: SPP(Spatial Pyramid Pooling), PAN(Path Aggregation Network), Head: YOLO v3가 사용되었다. 또한 모델의 성능 향상을 위해 BoF(Bag of Freebies), BoS(Bag of Specials) 기법을 사용하여 Fig. 3과 같이 최신 객체탐지 모델들보다 빠르고 정확할 뿐만 아니라 작은 물체를 탐지할 수 있고 YOLO v3 보다 AP(Average Precision)와 FPS가 각각 10 %, 12 % 향상되 었다(Bochkovskiy et al., 2020).
2.2 YOLO 학습
1) 학습 데이터
YOLO 기반 해상물체탐지모델을 학습시키기 위해서 Fig. 4와 같은 학습 데이터가 필요하다. buoy 1&2는 국내 연안에 서 흔히 사용되는 양식장 부표이다. 학습 데이터는 labelImg 프로그램을 통해 이미지에서 객체를 둘러싸는 경계박스의 위치, 해당 경계박스에 존재하는 객체의 클래스가 포함된다.
양식장 사이를 운항하는 선박으로부터 buoy 1, buoy 2, buoy 1&2가 포함된 서로 다른 1,224장(buoy 1: 17,491개, buoy 2: 617개)의 이미지를 확보하여 학습 데이터를 만들고 8:2의 비율로 훈련용, 검증용 데이터로 분류하였다.
2) 학습결과
Table 1과 같이 학습 매개변수를 설정하여 모델을 학습시 키고 모델의 성능을 나타내는 mAP(mean Average Precision)와 Loss가 변화하는 과정을 그래프로 나타내면 Fig. 5와 같다. batch는 한 번에 처리할 이미지의 개수를 의미하고 max_batches 는 iteration(학습)의 최대실행횟수를 의미한다. Optimizer로 SGD (Stochastic Gradient Descent)를 사용하였다. 4,000번의 학습을 수행하는데 대략 60시간이 소요되었고 최종 average loss는 2.6873, mAP는 93.4 %로 나타났다.
학습된 모델의 세부적인 성능은 Table 2와 같다. buoy 1, 2 의 AP는 각각 95.6 %, 91.1 %였다. 검출된 객체의 TP(True Positive), FP(False Negative), FN(False Positive)는 각각 2,173, 2643, 114, Precision은 89.0 %, Recall은 95.0 % 그리고 F1-score 는 92.0 %로 계산되어 훈련이 잘 수행되었음을 나타낸다.
3. 사영기하학과 카메라
카메라는 Fig. 6과 같이 3차원 공간 좌표계상의 지점 P = (X, Y, Z)을 2차원 영상 좌표계 상의 한 픽셀 지점 P = (x, y)으로 사영시켜 영상으로 나타낸다(Kim et al., 2019). 사영기하학에서 동차 좌표계(homogeneous coordinate)는 n차원 사영 공간을 n+1개의 좌표로 나타내는 좌표계이다 (Bloomenthal and Rokne, 1994). 동차 좌표계를 이용하면 2차원 인 카메라 영상 속 영상 좌표를 3차원인 월드 좌표로 나타 낼 수 있다.
3.1 투영 변환식
동차 좌표계를 활용한 영상 평면상의 한 지점과 동일한 위치에 투영된 3차원 좌표간의 투영 변환식은 식(2)와 같다 (Hartley and Zisserman, 2003).
s는 척도 인자(scaling factor)로 원 좌표를 구하기 위해 1로 본다. p′는 영상 좌표계상의 한 지점이 동차 좌표계로 표현 된 지점을 의미하며, P 는 p′에 대응되는 3차원 공간상의 지 점이 동차 좌표계로 표현된 지점이다. fx , fy는 카메라 초 점거리를, cx , cy는 주점을 의미하며, skew_c는 이미지 센 서의 기울어진 정도를 의미하는 비대칭 계수로 최근에 제작 되는 카메라는 오차가 거의 없어 0으로 간주하기도 한다. K 는 카메라 내부 파라미터를 의미하며 R, t 각각 회전 행렬, 변위 행렬을 의미하고, R , t를 합해서 카메라 외부 파라미 터라 부른다.
3.2 카메라 캘리브레이션
투영 변환식에 따라 영상 평면상에 투영된 지점과 3차원 공간 좌표계간의 관계를 파악할 때 카메라 내·외부 파라미 터 정보가 필요한데 해당 파라미터들을 추정하는 과정을 카 메라 캘리브레이션이라 한다. 가장 보편화된 카메라 캘리브 레이션 방법은 Zhang의 방법으로 Fig. 7과 같은 체커보드 패 턴을 활용하여 진행한다(Zhang, 2000). 본 연구에서는 Zhang 의 방법이 적용되어 널리 사용되는 OpenCV를 이용하여 카 메라 캘리브레이션을 실시하였다.
3.3 기하학적 해석
Fig. 8과 같은 3차원 공간상의 지점 PW 는 카메라를 통해 영상 평면상에 지점 p에 투영된다. 월드 좌표계로 표현된 PW 는 카메라 외부파라미터에 의해 식(3)과 같이 카메라 초 점과의 거리가 1인 정규화된 카메라 좌표계로 표현된다(Yu et al., 2016).
정규 좌표계 상의 PC = (u, υ, 1)는 식(2)에 따라 영상 좌 표계상의 지점 p = (x, y)와 식(4)와 같은 관계를 갖는다.
카메라 내·외부 파라미터 값을 알고 식(3)과 식(4)를 이용 하면 영상 평면상의 지점 p을 3차원 월드 좌표계 상의 지점 PW 로 변환할 수 있다. 같은 방법으로 카메라 초점 C 의 3 차원 월드 좌표값을 알 수 있고 C 와 p, PC , PW 그리고 수 면 위의 좌표(ZW = 0) PS 는 같은 투영선 위에 있어 식(5) 와 같은 관계를 갖는다.
여기서 k는 임의의 상수로 ZW = 0이 되는 값을 구하면 PS = (XW, YW, 0 )의 좌표 값을 얻을 수 있고, 피타고라스 의 정리를 이용하여 식(6)과 같이 카메라로부터 수면 위의 지점 PS 까지의 거리와 방위를 계산할 수 있다.
4. 해상물체탐지시스템
4.1 시스템 구성
해상물체탐지시스템은 Fig. 9와 같이 구성된다. 우선, 카메 라 캘리브레이션을 통해 카메라 내·외부 파라미터를 추정한 다. 그리고 카메라로 3차원 공간을 2차원 영상 평면으로 투 영함과 동시에 YOLO 알고리즘으로 해상물체를 탐지한다. 탐지된 해상물체의 영상좌표를 추출한 후, 식(3) ~ 식(6)을 이 용하여 카메라로부터 떨어진 거리와 방위를 계산하고 그 결 과를 레이더 영상과 같이 시각화하여 나타낸다.
4.2 실험설계
해상물체탐지시스템의 신뢰성을 알아보기 위해 Experiment A, B를 설계하였다. Experiment A는 Fig. 10과 같은 평평한 평 면에 Table 3과 같이 부표를 놓고 해상물체탐지시스템으로 부 표를 탐지하고 계산된 거리와 방위를 비교하였다. Experiment B는 양식장 사이를 운항하는 선박에서 Fig. 11과 같이 부표 를 촬영하였다. 그리고 해상물체탐지시스템으로 부표를 탐 지하고 계산된 거리 및 방위를 레이더와 비교하였다. 해상 에서 실험하는 Experiment B 실시 전 선박의 흘수를 고려하 여 수면으로부터 카메라가 설치된 높이에 맞게 외부 파라미 터를 다시 추정하였다. 실험에는 S사의 Galaxy S21에 내장된 카메라를 사용하였으며 외부의 영향에도 항상 일정한 각도 를 유지하기 위해 Fig. 12와 같이 삼각대와 NEXT-Q3 3축 짐 벌을 사용하였다.
4.3 실험결과
1) Experiment A
Experiment A 조건에서 해상물체탐지시스템으로 부표를 탐 지한 결과는 Fig. 13과 같다. Buoy a, b, d, c 모두 탐지하였으 며, 경계박스 하단 중앙의 좌표를 추출하여 거리와 방위를 계산한 결과를 레이더 영상과 같이 시각화하면 Fig. 14와 같 다. 그리고 그 결과를 실험조건과 비교하면 Table 4와 같다.
계산된 거리 및 방위와 실험조건을 비교한 결과 방위는 0.2 ~ 2.0°, 거리는 0 ~ 0.7 m의 차이가 발생하여 계산능력의 높 은 신뢰도를 보였다.
2) Experiment B
운항 중 촬영한 Fig. 11을 해상물체탐지시스템으로 부표를 탐지한 결과는 Fig. 15와 같다. 그리고 추출된 좌표로 거리와 방위를 계산한 후 시각화하여 Fig. 16과 같이 표현하였고 촬 영 당시의 레이더 영상은 Fig. 17과 같다.
Fig. 15는 선박의 우현측에서 촬영한 것으로 Fig. 17에 표 시된 camera sector에 해당된다. 부표를 탐지한 결과 19.3 m 떨 어진 부표부터 103 m 떨어진 부표까지 탐지하였고 그 이상 떨어진 부표는 너무 작아 탐지하지 못하였다. 촬영 당시 레 이더의 탐지거리는 0.125 NM(232 m)로 최소로 설정되어 있었 는데 Fig. 16을 레이더와 동일한 스케일로 나타내면 Fig. 18 과 같다.
Fig. 17과 같이 레이더 영상은 최소탐지거리 이내의 물표 는 구조적으로 탐지가 불가능하고, 근거리의 소형 물표들은 해면반사파 등으로 식별이 다소 어려운 상황이다. 따라서 카메라를 활용한 해상물체탐지시스템을 함께 사용할 경우 레이더의 장애물 탐지기능을 보완할 수 있을 것으로 판단 된다.
5. 결 론
자율운항선박이 상용화되어 연안을 항해하기 위해서는 양식장 부표 등 해상의 소형 장애물까지도 탐지할 수 있어 야 한다. 이에 본 연구에서는 YOLO 알고리즘을 이용하여 해상의 부표를 탐지하고 카메라 영상의 기하학적 해석을 통 해 선박으로부터 떨어진 부표의 거리와 방위를 계산하여 시 각화하는 해상물체탐지시스템을 개발하였다.
-
1) 양식장 사이를 운항하는 선박으로부터 buoy 1, buoy 2, buoy 1&2가 포함된 서로 다른 1,224장의 이미지를 확보하여 8:2의 비율로 훈련용, 검증용 데이터로 분류하여 모델을 훈 련시켰다. 4,000번의 학습을 수행하는데 대략 60시간이 소요 되었고 최종 average loss는 2.6873, mAP는 93.4 %로 나타났다. buoy 1, 2의 AP는 각각 95.6 %, 91.1 %로 Precision은 89.0 %, Recall은 95.0 % 그리고 F1-score는 92.0 %로 계산되어 훈련이 잘 수행되었음을 나타내었다.
-
2) 카메라 영상 속 카메라 좌표를 이용하여 떨어진 거리 와 방위를 계산하기 위해 카메라 캘리브레이션을 실시하고 해상물체탐지시스템의 성능을 검증하기 위해 Experiment A, B를 설계하였다.
-
3) Experiment A는 육상에서 일정한 거리와 방위에 부표를 높고 해상물체탐지시스템으로 부표를 탐지하고 거리와 방 위를 계산하였다. 그 결과 방위는 0.2 ~ 2.0°, 거리는 0 ~ 0.7 m의 차이가 발생하여 계산능력의 높은 신뢰도를 보였다.
-
4) Experiment B는 운항 중인 선박에서 양식장 부표를 촬 영한 다음, 해상물체탐지시스템으로 부표를 탐지하고 계산 된 거리 및 방위를 레이더와 비교하였다. 실험결과 해상물 체탐지시스템은 19.3 m 떨어진 부표부터 103 m 떨어진 부표 까지 잘 탐지할 수 있었으나, 레이더는 최소탐지거리, 해면 반사파 등으로 근거리의 소형 부표들을 탐지·식별하기 어려 웠다.
-
5) 따라서, 해상물체탐지시스템이 레이더보다 근거리 탐 지 능력이 뛰어남을 알 수 있었고 레이더와 더불어 항행보 조장비로 사용이 가능할 것으로 판단된다.
본 연구에서 개발한 객체탐지 모델은 두 종류의 부표만을 탐지할 수 있고 훈련에 사용된 데이터가 다소 부족하다고 볼 수 있다. 추후 보다 다양한 형태의 물표에 대한 학습데이 터를 만들고 모델을 학습시켜 해상장애물을 탐지할 수 있고 비, 안개, 야간 등 시야가 제한 된 상태, 역광을 받는 상황에 서도 물표를 탐지할 수 있는 방안에 대한 연구가 필요하다 고 판단된다.