1. 서론
MASS(Maritime Autonomous Surface Ship)는 사람의 개입을 최소화하기 위해 ICT 기술을 접목하여 선박이 자율적으로 조종되는 운영방식을 말한다. MASS의 기술 중에는 선박 주변 감시, 장비 상태 모니터링, 선박 기동 및 엔진 등 선박의 운영과 관련된 작업의 일부 또는 전부를 자동으로 운전하는 것을 가능하게 한다. 기존에는 선박 주변의 상황 인지를 위해서 레이더와 같은 센서 기반의 장치를 사용하였으나 최근 인공지능 기술이 발달함에 따라 인간 시각 정보를 대신하기 위해 카메라와 정보 융합을 통해 주변 상황을 좀 더 스마트하게 분석하여 자동운항을 정밀하게 돕는다[1].
해양수산부의 통계에 따르면 선박 사고의 85%가 육지로부터 40km 이내 연안에서 운행하는 소형 선박에서 주로 발생한다. 대형 선박은 레이더나 소나와 같은 장비를 활용하여 주변 장애물의 위치를 확인하지만 소형 선박 같은 경우 비용 부담으로 인해 장비를 도입하기가 쉽지 않고 센서 기반의 레이더로는 근접 해상 물체 인식 및 승선자 추락 등을 감지하는 것이 어렵다. 반면 영상 기반의 기술을 적용하면 해상에서 부유물 (타 선박, 부표, 기타 장애물)을 인식할 수 있으므로 위험을 사전에 감지하거나 조기 알람을 통해 선장이나 선원이 미리 알람을 받아 위급 상황에 대한 조치를 빠르게 대처할 수 있다. 더불어 주변 상황을 인식할 수 있는 선박 내장형 프로세서와 카메라만 설치하면 되기에 비교적 저렴한 가격으로 장비를 도입 할 수 있어 현실적으로 적용할 수 있다. 하지만 자율운항선박에 다양한 기능들이 지원될수록 프로세서는 고성능화되어야 하고 영상과 같이 대용량의 데이터를 실시간으로 처리하기 위해서는 소프트웨어의 성능과 처리속도가 중요하다. 데이터 처리속도가 느려지게 된다면 원활한 서비스 지원은 물론 안전성도 보장할 수 없어 실시간 처리를 지원하는 소프트웨어를 개발하는 것은 매우 중요하다.
해상에서는 객체 인식의 속도와 인식 정확도를 향상하기 위해 수평선을 탐지하여 관심 영역을 설정하는 것이 중요하다. 기존 연구에서는 수평선을 찾기 위해 허프 변환을 활용하는데 본 연구에서는 이진화 알고리즘을 최적화하여 성능은 유사하면서 속도를 높일 방법을 제안한다. 또한 수평선 근처의 객체 유무를 찾기 위해서 이진 연결 요소 라벨링을 활용하여 위치를 찾아내는데 해상에서 나타나는 문제점을 제시하고 해결방 법을 제시한다. 마지막으로 본 연구에서 제안하는 영상 전처리와 딥러닝 CNN(Convolution Neural Network)을 통합하여 해상 객체 인식 시스템을 구현하였고 본 연구에서 설계한 알고리즘의 성능을 평가하였다.
2. 관련 연구
2.1 딥러닝
합성곱 신경망(CNN)은 기존의 영상 처리를 뛰어넘는 성능을 보이며, 딥러닝을 이용한 객체 분류 방식이 크게 주목받고 있다. CNN은 1998년 Yann Lecun 교수의 필기체 숫자를 인식하는 것으로부터 인식률의 향상을 위해 VGG, ResNet, GoogLeNet, DenseNet 등이 등장하였다[2]. CNN을 통해 기존의 영상 처리에서 객체 인식의 어려움을 극복하였지만 영상 속 객체가 어디에 존재하는지 위치를 찾아낼 수 없었다. 근래에 객체의 위치를 검출하는 방법에는 R-CNN, Faster R-CNN, YOLO 등이 있으며, 최근에는 임베디드에 적용하기 위해 MobileNet과 같이 빠른 검출 및 인식 속도를 보이는 방법들이 등장하고 있다[3]. 하지만 ARM 코어 기반의 임베디드 보드인 라즈베리파이에 MobileNet 을 적용하여도 2-3FPS 이상을 보이기 쉽지 않아 실시간에 적용하기 어렵다[4]. 이러한 문제를 해결하기 위해 “Embedded Deep Learning for Ship Detection and Recognition” 논문은 GPU가 있는 NVIDIA의 TX2 보드에서 딥러닝 모델에 적용 한 결과 30프레임 이상의 결과를 보였다[5]. 하지만 GPU 는 수백-수천 개의 프로세서를 사용하기 때문에 전력 소모량이 많아서 프로세서의 효율을 높이더라도 임베디드에 적용하기 쉽지 않다. 반면 FPGA는 사용자가 원하는 부분을 가속하여 시스템을 병렬적으로 설계할 수 있으므로 하나의 프로세스 안에서 모든 작업과 저전력 병렬 연산이 가능해 임베디드 시스템에 효율적이다. 대표적인 사례로 Coral Accelerator 와 같이 딥러닝의 추론에 특화된 가속기를 개발하여 USB, PCI 인터페이스 형식을 통해 임베디드에 효율적인 솔루션을 제공하였다[6]. 이러한 솔루션에서 CPU와 FPGA의 이기종 아키텍처를 기반으로 하는 비전 시스템의 개발은 공동 처리를 고려해야 하는데 CPU에서 FPGA로 데이터를 옮겨 전처리 기능을 수행할 때 이미지의 크기와 채널이 클수록 데이터 이동에 병목현상이 발생한다. 이러한 병목현상을 제거하기 위해 데이터를 인코딩/디코딩을 하거나 픽셀의 채널을 줄여 데이터를 처리하게 된다. 특히 영상 이진화 처리의 경우 픽셀이 1 Bit 단위이므로 데이터를 고속으로 옮겨 처리할 수 있어 하드웨어 구현에 매우 효율적이다. 본 논문에는 이러한 실시간성 문제를 고려하여 해상의 이미지 중 객체를 빠르게 인식하기 위해 이진 분할 알고리즘으로 객체 위치를 파 악하고 관심 영역을 추출한 뒤 해상의 부유물을 인식할 수 있는 소형 CNN을 통해 빠르게 인식하는 방법을 제안한다.
2.2 기존의 해상 객체 검출
해상에서 수평선 검출은 영상에 존재하는 바다와 배경 영역을 분리하여 해상 객체를 효과적으로 검출하는 방법이다. 선행된 연구 방법을 살펴보면 일반적으로 영상의 대상과 배경을 분리하기 위해서 엣지(Edge) 기반의 영역 분리 방법을 많이 활용한다. 특히 수평선을 찾기 위해서 캐니 엣지 기반의 허프 변환을 주로 이용한다[7-8]. 허프 변환은 데이터 손실 및 왜곡에도 직선 정보 추출에 용이하여 컴퓨터 비전 분야에 널리 사용되고 있다. 하지만 허프 변환의 보팅 과정은 비효율적인 연산구조와 많은 메모리 접근이 존재하여 임베디드 비전 시스템에 적용하는 것이 한계가 있다[9].
반면 이진 분할 알고리즘은 영상에 전체를 같은 임계값 (Threshold)으로 이진화를 하므로 다른 분할 알고리즘에 비해 객체를 분리하는 것이 취약하다. 특히 주변의 환경 변화가 많은 자율운행 자동차 등에는 이진분할 알고리즘의 적용이 어렵다. 하지만 해상의 경우 비교적 주변의 영상 변화가 많지 않고 바다와 하늘 사이의 수평선을 검출하여 주변 객체를 파악하기 때문에 이진 분할 알고리즘이 상당히 효율적이면서도 처리속도가 매우 빨라 실시간 처리에 적합 하다고 할 수 있다.
영상을 이진화 후 객체 검출 후보군을 찾기 위해 일반적으로 연결 요소 라벨링(Connected-component Labeling) 방법을 많이 사용한다[10]. 하나의 물체를 구성하는 픽셀들은 이미지에서 서로 연결된 형태로 나타나게 되는데 픽셀들이 연결되었는지를 판단하는 방법은 크게 2가지(4, 8 Connected)로 나뉜다.
그림 1과 같이 4-Connect의 경우 인접 픽셀의 상하좌우만 연결로 인정하는 것이고 8-Connect의 경우 대각선 픽셀에 대해서도 연결을 인정하는데 본 논문은 8-Connect 알고리 즘을 활용하였다. 그 이유는 해상 배경의 이미지는 주로 날씨의 영향을 많이 받아 이미지 이진화를 수행했을 경우 픽셀이 분리되는 경우가 많아서 이를 방지하기 위함이다.
(그림 1) 연결 요소 라벨링의 종류
(Figure 1) Type of Connected-component Labeling
하지만 8-Connect 기반의 연결 요소 라벨링을 활용하여도 해상에서는 빛의 반사효과나 파도 영향 때문에 다양한 영상에 노이즈가 발생해서 이진 영상을 픽셀끼리 결합하 기가 쉽지 않다. 그림 2는 OpenCV 라이브러리를 활용하여 8-Connect 기반 연결 요소 라벨링 알고리즘을 수행한 결과이며, 객체를 포함한 다른 잡음의 후보군이 많아지는 것을 알 수 있다.
(그림 2) 해상 이미지에 연결 요소 라벨링을 적용한 결과
(Figure 2) Result of Connected-component Labeling at Sea
검출된 객체를 인식하기 위해서는 검출된 영역 안의 내부 이미지를 컴퓨터 비전 혹은 딥러닝을 이용해야 하는데 실제 객체보다 후보군이 많아 연산량이 많게 되므로 비효율 적이며, 객체가 여러 개로 분리되었을 때 객체를 인식하지 못하거나 인식률이 낮게 나타날 수 있다.
본 논문에서는 해상에서 선박 검출을 고속으로 처리하기 위해 이진화 분할 알고리즘을 선택하였다. 이진 이미지의 실제 선박 검출 후보군을 찾기 위해서 연결 요소 라벨링 알고리즘을 활용하는데 해상에는 다양한 영상 노이즈로 인해 객체 검출 후보군이 많아져 오히려 연산량이 증가하는 문제가 발생한다. 따라서 이러한 문제점을 해결하기 위해 본 논문에서는 이진화 알고리즘을 활용하면서 객체 검출 후보군은 최소화하여 연산량을 줄일 방법을 3장에서 제안 한다.
3. 영상 전처리 프로세스
3.1 배경과 바다 영역 분리
본 연구는 해상에서 배경과 바다 영역을 빠르게 분리 하기 위해 입력 이미지에 이진화 알고리즘을 적용하였다. 이진화 알고리즘은 임계값을 전역적으로 고정하는 방법과 유동적으로 변경할 수 있는 2가지 방법이 존재한다. 전역적 고정 이진화 방법은 0~255 사이의 임계값을 고정값으로 설정하여 전체 이미지 영상에 반영한다. 반면 가변 이진화 방법은 이미지의 픽셀값에 따라 임계값이 유동적으로 변하여 처리할 수 있어 본 연구와 같이 배경과 바다 영역을 분리하기에 적합하다. 가변 이진화의 대표적인 알고리즘으로 는 Adaptive 및 Otsu threshold 알고리즘이 존재한다[11-12]. Adaptive 알고리즘의 경우 하나의 이미지를 여러 소구역으로 나누고 각 구역별로 다른 임계값을 이용하는 방법이며 Otsu 알고리즘은 그림 3과 같이 이미지를 히스토그램화하여 두 개의 클래스를 잘 분리해 최적의 threshold 값을 찾아주는 방법을 말한다. 그림 4는 앞선 두 알고리즘을 해상의 이미지에 적용 결과이다. 본 논문에서는 배경과 바다 영역을 분리하는 것이 목표이므로 영상 전처리 프로세스의 이진화 수행 방법은 Otsu 알고리즘을 적용하였다.
(그림 3) Otsu 알고리즘의 임계값 T 결정 방법
(Figure 3) Determining Threshold T in Otsu
(그림 4) Otsu와 Adaptive 알고리즘 적용
(Figure 4) Apply Otsu and Adaptive Algorithm
3.2 바다와 선박 영역 분리
해상 이미지에서 배경과 바다 영역이 분리된 후 관심 영역을 지정하면 효율적으로 선박을 찾아낼 수 있다. 그렇기 위해선 배경과 바다 사이의 수평선을 검출해야 한다. 수 평선은 허프 변환과 같은 보팅 기반의 알고리즘을 통해서도 찾을 수 있지만 본 논문에서는 연산량을 줄이기 위해 이진화 이미지로 수평선을 검출하였다. 이미 앞 절에서 이진화를 통해 배경과 바다가 분리되었기 때문에 대부분의 해상 이미지는 그림 5와 같이 수행되게 된다. 이미지 픽셀값을 기준으로 배경은 검정색(0)으로 바다 및 선박(1)은 메모리 버퍼에 저장이 된다. 관심 영역은 이미지 Y축을 기준으로 바다 및 선박에 해당하는 픽셀값을 차례대로 찾아 검색한다. Y축을 기준으로 가장 먼저 찾아내는 픽셀값을 상단에 고정하고 나중에 찾아내는 값은 하단에 고정해 직선 라인을 그어 관심 영역을 설정한다. 하지만 그림 6과 같이 객체와 파도 라인이 분리가 완전하지 않은 상태로 이미지가 존재한다. 본 연구에서는 선박 후보군을 찾아야 하므로 추출된 관심 영역의 Y축을 기준으로 가장 양 끝단으로부터 상단과 하단의 바다 및 해상 부유물 픽셀값을 차례대로 찾아 대각선 라인을 긋는다. 해당 라인을 기준으로 아래에 해당하는 영역은 배경(0)으로 처리함으로써 바다와 해상 부유물을 분리할 수 있게 된다.
(그림 5) 관심 영역 추출
(Figure 5) Region of Interest
(그림 6) 수평선 검출
(Figure 6) Horizon Detection
3.3. 다중 이진 연결 요소 라벨링
그림 7은 선행 연구에서 선박 객체의 픽셀들이 분리되는 문제점을 보여준다. 해상에서 빛의 반사효과나 파도의 세기 등의 영향으로 인해서 이진 연결 요소 라벨링을 적용했을 때 하나의 객체에서 여러 개의 객체 후보군으로 검출된 다. 따라서 본 연구에서는 그림 8과 같이 다중 연결 요소 라벨링을 제안한다. 먼저 연결 요소 라벨링에서 분리된 픽셀들은 Margin 값을 통해 확장하여 픽셀 간의 비어있는 영역들을 연결한다. 여기서 Margin 값은 픽셀 사이의 거리를 의미한다. 이후 재연결된 이진 이미지를 다시 한번 연결 요소 라벨링을 수행하면 최종적으로 객체를 검출하게 된다. 제안하는 방법은 연결 요소 라벨링을 2번 수행하지만 최종 선박 후보군의 수는 기존 방법보다 적어져 영상 전처리 이후에 딥러닝에서 객체 인식의 연산량을 줄일 수 있다.
(그림 7) 객체가 여러 개로 분할되는 경우
(Figure 7) Split Binary Object
(그림 8) 다중 연결 요소 라벨링 처리 과정 (Margin=1)
(Figure 8) Multi Connected-component Labeling Process
(그림 9) 딥러닝 기반 통합 시스템 구현
(Figure 9) Implementation of Deep Learning-Based Integrated System
4. 딥러닝 기반 시스템 통합 및 구현
본 연구에서는 해상 부유물을 고속으로 검출하기 위해 이진화 알고리즘을 최적화하여 영상 전처리를 수행한다. 최종 해상 객체 후보군으로 검출된 영역은 컴퓨터 비전 혹은 딥러닝의 CNN을 통해 객체를 인식하여 분류할 수 있다. 본 연구에서 설계한 알고리즘의 성능을 평가하기 위해 영상 전처리 및 딥러닝을 통합한 시스템을 그림 9와 같이 구현하였다.
4.1 CNN(Convolution Neural Network)
CNN은 영상 인식을 위한 딥러닝 기술로써 인간의 시신경 구조가 정보를 처리하는 방식을 모방하여 만들어진 모델 이다[13]. 일반적으로 콘볼루션 계층, 풀링 계층, 분류 계층 으로 구성된다. CNN에서 성능을 강화할 방법으로는 데이터 세트를 많이 학습하거나 레이어 수를 깊게 하면 더욱 세밀한 정보를 추출할 수 있기에 추론 확률이 높아질 수 있다. 본 연구에서는 제안하는 영상 전처리의 성능을 측정하기 위해 해상 선박을 대상으로 분류할 수 있으면서 비교적 연산량이 적은 CNN 모델이 필요하므로 최소한의 층으로 구성된 CNN 모델을 구축하였으며 입력 영상의 크기와 각 층의 구조와 파라미터에 관한 정보는 표 1에 기술하였다.
(표 1) CNN 구조 및 파라미터
(Table 1) CNN Structure and Parameters
4.2 해상 객체 데이터 세트 구축
CIFAR-10 오픈 데이터 세트는 일반적으로 딥러닝 및 컴퓨터 비전 알고리즘을 훈련 시키는데 사용되는 이미지 모음이다[14]. CIFAR-10에는 약 6만장이 포함되어 있으며 총 10가지 객체를 가지고 있다. 본 연구에서는 해상에 자주 나타나는 객체인 비행기, 새, 선박의 이미지를 데이터 세트 로 수집하였다. 제안하는 영상 전처리 알고리즘은 배경을 제외한 객체 자체만을 인식해야 하므로 오픈 데이터 세트에서 배경을 제거하여 데이터 세트를 전처리하였다. 학습 이미지는 한 객체당 5, 000장으로 3가지 객체가 존재하므로 15, 000장의 데이터 세트를 구축하였다.
4.3 해상 객체 인식을 위한 CNN 학습
4.2절에서 수집된 전체 데이터 세트에서 80%의 이미지를 학습 세트로 20%의 이미지를 검증 세트로 구성하여 학습을 진행하였다. 딥러닝 학습은 파이썬으로 작성된 오픈소스 기반의 Keras를 활용하여 진행하였다. 학습을 위한 파라미터로 batch size=35, epochs=60으로 설정하였으며 그림 10은 훈련과정에서 훈련 횟수에 따른 loss 값을 나타내며 학습이 반복적으로 진행될수록 검증 데이터에 대한 오답률이 0%에 수렴하였다.
(그림 10) 제안하는 학습 데이터 세트 CNN 학습 과정
(Figure 10) Trained CNN using Proposal Data Sets
4.4 영상 전처리를 활용한 딥러닝 통합 시스템 구현
본 논문은 해상에서의 선박을 인식하기 위한 영상 전처리와 CNN을 활용한 2단계 프로세스를 구축하여 시스템을 통합하였다. 입력 영상으로부터 잡음을 제거하기 위해 블 러링 필터를 적용하였고 채널을 줄이기 위해 회색 변환을 이용하였다. 이후 제안하는 영상 전처리 프로세스를 진행 하기 위해 이진화를 수행하고 배경 및 바다를 분리한 상태에서 수평선을 찾아 선박 후보군 영역을 찾는다. 딥러닝의 연산을 줄이기 위해 선박 후보군을 줄이는 다중 연결 요소 라벨링을 수행하여 딥러닝 추론 연산을 최소화한다. 전처리된 영상은 딥러닝 CNN에 입력되어 학습 가중치에 따라 선박을 분류해내며 최종적으로 검출된 위치를 반환하여 사용자에게 알려주는 시스템을 개발하였다. 그림 11은 본 논문이 제안한 해상 객체 인식 통합 시스템에서 검출 및 인식된 20장의 이미지이다. 이미지의 1, 2열은 입력 이미지이고 3, 4열은 영상 전처리를 적용하였으며 5, 6열은 CNN을 통해 최종적으로 선박이 인식된 결과이며 시스템 통합 구현을 통해 해상의 선박이 잘 검출되고 인식되었음을 확인할 수 있었다.
(그림 11) 딥러닝 기반 통합 시스템의 선박 검출 및 인식 결과
(Figure 11) Ship Detection and Recognition Results of Deep Learning-Based Integrated System
5. 성능 평가
본 논문에서 제안한 방법과 기존 해상 검출 전처리를 적용한 방법을 비교하였다. 기존 방법은 허프 변환을 적용하여 수평선을 검출하고 객체 검출은 OpenCV에서 제공하는 기본적인 연결 요소 라벨링을 활용한 것을 말하며 제안하는 방법은 이진화로 수평선을 찾고 다중 연결 요소 라벨링을 활용한 방법을 의미한다. 딥러닝은 일반적인 CNN 방법을 통해 CIFAR-10 데이터 세트를 기반으로 해상 부유물 이미지를 학습하였고 해상 이미지에 대해 인식률을 평가하기 위해서 그림 11에 존재하는 20장의 이미지를 대상으로 평가를 진행하였다.
실험 환경은 임베디드 보드인 라즈베리파이4를 활용하였다. 라즈베리 파이는 1Ghz 이상 쿼드코어 ARM 프로세서를 탑재한 고성능 프로세서이며 여러 운영체제를 지원하기 때문에 임베디드 소프트웨어를 개발하는 데 있어 효율성이 높다. 해상 객체 인식의 성능 평가 방법은 총 2가지로 속도와 성능 측면을 비교하였다. 첫 번째로 속도 측면은 그림 11의 20장의 이미지에 대해 기존 방법과 제안하는 방법의 속도를 그림 12에서 비교하였다.
(그림 12) 딥러닝 통합 시스템 기반 이미지 처리속도
(Figure 12) Image Processing Speed of Integration System
그림 12에서 ‘Preprocessing’은 기존 방법인 허프 변환과 연결 요소 라벨링을 활용하여 선박 후보군을 검출하는 것과 제안하는 이진화 방법 및 다중 라벨링만 수행한 것으 로 영상 전처리만 수행한 것을 의미한다. ‘Deep Learning’ 은 CNN을 포함하여 통합한 시스템을 말한다. 또한 ‘General’은 기존 방법을 의미하며 ‘Proposed’는 본 논문에서 제안하는 알고리즘을 적용한 방법을 말한다. 그림 12의 x축은 그림 11에서 입력 이미지 20개를 차례대로 나열하여 숫자로 라벨링 하였으며 y축은 이미지 1장당 수행 속도 시간을 의미 한다. 전처리부에서 기존 방법은 이미지 당 평균 87ms가 수행시간이 소요되었지만 제안하는 방법은 평균 23ms초 정도로 약 4배 이상의 속도 차이가 발생했다. 딥러닝을 포함한 통합 시스템의 경우에는 기존 방법의 경우 하나의 이미지를 처리하는데 약 0.87초 정도 수행되었지만 제안하는 전처리 방법을 적용한다면 약 0.21초의 수행시간을 얻어 4배 이상의 속도를 높였다. 특히 12, 14번의 이미지 경우 수행시간이 다른 처리 시간보다 월등히 많이 수행되는데 이 경우에는 3.3절에서 언급했듯이 해상의 빛의 반사효과 때문에 선박 객체의 픽셀들이 많이 분리되어 있어 검출된 영역의 개수만큼 CNN에서 연산을 수행해야 해야 하므로 처리속도가 느려졌으며 제안하는 알고리즘의 효율적인 성능이 잘 반영된 것을 확인할 수 있었다.
두 번째로 객체 검출의 평가 방법인 IoU(Intersection over Union) 검증 방법을 활용하여 성능을 측정하였다[15]. IoU는 해상 객체의 정답에 근접하는 최적의 객체 영역 A 와 알고리즘에서 검출된 영역 B의 합집합과 교집합 영역을 수식 1과 같이 계산한 것이며 교집합의 영역의 크기가 클수록 좋은 평가를 나타낸다.
\(I O U=\frac{A \cap B}{A \cup B-A \cap B}\) (1)
그림 13과 같이 두 영역의 교차 영역의 넓이를 합 영역 값을 나누어 값은 0~1 사이로 존재한다. 두 Box의 크기가 동일한 경우 약 2/3 정도 영역이 겹쳐야 0.5의 값이 나오기 때문에 이 이상의 값이 나온 경우를 객체가 제대로 검출 (True Positive)되었다고 판단할 수 있으며 0.5 미만이면 잘못 검출(False Positive)라고 판단할 수 있다. 본 연구에서 제안한 딥러닝 기반 통합 시스템의 IoU 성능은 표2에 기술하였다.
(그림 13) 검출 영역 A와 B에 따른 IoU 값의 평가
(Figure 13) Evaluation of IoU values by Detection Area
표 2에서도 마찬가지로 ‘General’은 기존 방법을 의미 하며 ‘Proposed’는 본 논문에서 제안하는 알고리즘을 적용 평균 IoU의 값은 0.51, 제안하는 방법에서 평균 IoU의 값은 0.61 정도로 확인되었다. IoU 값이 0인 값은 검출이 되지 않았음을 의미하는데 7번째 이미지 같은 경우에는 Otsu 이진화 알고리즘에서 임계값에 의해 선박 영역이 검출되지 않았으며 ‘General’의 13-14번의 이미지인 경우는 관심 영역을 추출하였지만 픽셀이 많이 분리되고 이미지의 크기가 너무 작아 CNN에서 선박을 분류하지 못하였다. 하지만 ‘Proposed’ 방법은 다중 연결 요소 라벨링을 활용하여 분리된 픽셀들을 재연결하여 객체를 찾고 분류함으로 본 연구에서 제안하는 영상 전처리의 유용성을 딥러닝과 통합 구현함으로써 증명 하였다.
(표 2) 제안하는 고속 영상 전처리와 딥러닝 기반 통합 시스템의 IoU 성능
(Table 2) IoU performance of proposed high-speed image preprocessing and deep learning system
6. 결론
본 논문은 딥러닝 CNN 모델을 해상 객체 인식에 적용하였는데 해상 부유물을 인식하기 위해서는 객체 영역을 찾아내야 한다. 기존의 영상 검출 방법은 대부분 PC에서 소프트웨어를 개발하기 때문에 처리속도를 고려하지 않는 알고리즘을 이용하지만 실제 선박에 설치되려면 임베디드 시스템에 적용되는 것을 고려해야 한다. 해상 이미지의 특성을 파악하여 처리속도를 올리기 위해 기존 허프 변환 대신 이진화 알고리즘으로 검출하는 방법과 성능을 높일 수 있도록 다중 연결 요소 라벨링을 제안하였다.
본 논문의 제안하는 해상 객체 인식을 위한 딥러닝 통합 시스템 적용한 결과 속도 측면에서는 약 4배 이상의 속도를 개선할 수 있었고 성능 측면에서도 기존의 알고리즘 방법의 성능 이상을 유지하면서 객체를 찾아내는 효과를 실험을 통해 증명하였다.
현재 연구에서는 범용적인 딥러닝 CNN 모델을 적용하였기 때문에 소프트웨어의 대부분 수행시간 중 컨볼루션이 가장 많은 연산 처리를 차지한다. 실제 임베디드 보드에 적용되기 위해서는 30 FPS 이상을 적용하여야 한다. 향후 경량화 딥 러닝 방법 Weight Pruning 또는 Quantization과 같은 기술을 적용하여 영상 전처리와 경량화 딥러닝을 통합한 소프트웨어로 실시간 임베디드에 적합하도록 최적화하고 FPGA와 같은 병렬처리 하드웨어 가속기를 적용하여 저비용, 저전력을 지원하여 소형 선박에 실제로 활용할 수 있도록 선박 안전 보조 장치 서비스를 지원할 예정이다.
References
- S. Li and K. S. Fung, "Maritime autonomous surface ships (MASS): implementation and legal issues," Maritime Business Review, vol. 4, no. 4, pp. 330-339, Nov. 2019. https://doi.org/10.1108/MABR-01-2019-0006
- J. S. Lee, S. K. Lee, D. W. Kim, S. J. Hong, and S. I. Yang, "Trends on Object Detection Techniques Based on Deep Learning," Electronics and Telecommunications Trends, vol. 33, no. 4, pp. 23-32, Aug. 2018. https://doi.org/10.22648/ETRI.2018.J.330403
- S. W. Lee, G. D. Lee, J. G. Ko, S. J. Lee, and W. Y. Yoo, "Recent Trends of Object and Scene Recognition Technologies for Mobile/ Embedded Devices," Electronics and Telecommunications Trends, vol. 34, no. 6, pp. 133-144, Dec. 2019. https://doi.org/10.22648/ETRI.2019.J.340612
- N. S. Sanjay and A. Ahmadinia, "MobileNet-Tiny: A Deep Neural Network-Based Real-Time Object Detection for Rasberry Pi," IEEE International Conference On Machine Learning And Applications (ICMLA), 2019. https://doi.org/10.1109/ICMLA.2019.00118
- H. Zhao, W. Zhang, H. Sun, and B. Xue, "Embedded Deep Learning for Ship Detection and Recognition," Future Internet, vol. 11, no. 2, p. 53, Feb. 2019. https://doi.org/10.3390/fi11020053
- M. Antonini, T. H. Vu, C. Min, A. Montanari, A. Mathur, and F. Kawsar, "Resource Characterisation of Personal-Scale Sensing Models on Edge Accelerators," in Proceedings of the First International Workshop on Challenges in Artificial Intelligence and Machine Learning for Internet of Things - AIChallengeIoT'19, 2019. https://doi.org/10.1145/3363347.3363363
- T. Praczyk, "A quick algorithm for horizon line detection in marine images," Journal of Marine Science and Technology, vol. 23, no. 1, pp. 164-177, Jul. 2017. https://doi.org/10.1007/s00773-017-0464-8
- C. Y. Jeong, H. S. Yang, and K. Moon, "Fast horizon detection in maritime images using region-of-interest," International Journal of Distributed Sensor Networks, vol. 14, no. 7, pp. 1-11, Jul. 2018. https://doi.org/10.1177/1550147718790753
- J.-R. Lee, K.-R. Bae, and B. Moon, "A Hardware Architecture of Hough Transform Using an Improved Voting Scheme," The Journal of Korea Information and Communications Society, vol. 38A, no. 9, pp. 773-781, Sep. 2013. https://doi.org/10.7840/kics.2013.38A.9.773
- L. Di Stefano and A. Bulgarelli, "A simple and efficient connected components labeling algorithm," in Proceedings 10th International Conference on Image Analysis and Processing, pp. 322-327, 1999. https://doi.org/10.1109/ICIAP.1999.797615
- D. Bradley and G. Roth, "Adaptive Thresholding using the Integral Image," Journal of Graphics Tools, vol. 12, no. 2, pp. 13-21, Jan. 2007. https://doi.org/10.1080/2151237X.2007.10129236
- N. Otsu, "A Threshold Selection Method from Gray-Level Histograms," IEEE Transactions on Systems, Man, and Cybernetics, vol. 9, no. 1, pp. 62-66, Jan. 1979. https://doi.org/10.1109/TSMC.1979.4310076
- Y. LeCun, Y. Bengio, and G. Hinton, "Deep learning," Nature, vol. 521, no. 7553, pp. 436-444, May 2015. https://doi.org/10.1038/nature14539
- A. Krizhevsky and G. Hinton, "Convolutional Deep Belief Networks on CIFAR-10", Unpublished Manuscript, Vol.40, pp. 1-9, 2010.
- H. Rezatofighi, N. Tsoi, J. Gwak, A. Sadeghian, I. Reid, and S. Savarese, "Generalized Intersection Over Union: A Metric and a Loss for Bounding Box Regression," in 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019. https://doi.org/10.1109/CVPR.2019.00075
Cited by
- 선박안전 운항을 위한 이진 분할 알고리즘 기반 해상 객체 검출 하드웨어 가속기 설계 및 구현 vol.24, pp.10, 2020, https://doi.org/10.6109/jkiice.2020.24.10.1331