Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1229-3431(Print)
ISSN : 2287-3341(Online)
Journal of the Korean Society of Marine Environment and Safety Vol.28 No.7 pp.1216-1221
DOI : https://doi.org/10.7837/kosomes.2022.28.7.1216

A Study on Image-Based Mobile Robot Driving on Ship Deck

Seon-Deok Kim*, Kyung-Min Park**, Seung-Yeol Wang***
*PhD Candidate, Division of Maritime Engineering, Mokpo National Maritime University, Mokpo, Republic of Korea
**Professor, Division of Coast Guard, Mokpo National Maritime University, Mokpo, Republic of Korea
***Master Studuent, Division of Ocean System Engineering, Mokpo National Maritime University, Mokpo, Republic of Korea

* First Author : ttlrilo@mmu.ac.kr, 061-240-7232


Corresponding Author : allre@mmu.ac.kr
September 22, 2022 November 28, 2022 December 28, 2022

Abstract


Ships tend to be larger to increase the efficiency of cargo transportation. Larger ships lead to increased travel time for ship workers, increased work intensity, and reduced work efficiency. Problems such as increased work intensity are reducing the influx of young people into labor, along with the phenomenon of avoidance of high intensity labor by the younger generation. In addition, the rapid aging of the population and decrease in the young labor force aggravate the labor shortage problem in the maritime industry. To overcome this, the maritime industry has recently introduced technologies such as an intelligent production design platform and a smart production operation management system, and a smart autonomous logistics system in one of these technologies. The smart autonomous logistics system is a technology that delivers various goods using intelligent mobile robots, and enables the robot to drive itself by using sensors such as lidar and camera. Therefore, in this paper, it was checked whether the mobile robot could autonomously drive to the stop sign by detecting the passage way of the ship deck. The autonomous driving was performed by detecting the passage way of the ship deck through the camera mounted on the mobile robot based on the data learned through Nvidia’s End-to-end learning. The mobile robot was stopped by checking the stop sign using SSD MobileNetV2. The experiment was repeated five times in which the mobile robot autonomously drives to the stop sign without deviation from the ship deck passage way at a distance of about 70m. As a result of the experiment, it was confirmed that the mobile robot was driven without deviation from passage way. If the smart autonomous logistics system to which this result is applied is used in the marine industry, it is thought that the stability, reduction of labor force, and work efficiency will be improved when workers work.



선박 갑판에서 이미지 기반 이동로봇 주행에 관한 연구

김 선덕*, 박 경민**, 왕 승열***
*목포해양대학교 기관시스템공학부 박사과정
**목포해양대학교 해양경찰학부 교수
***목포해양대학교 해양시스템공학과 석사과정

초록


선박은 화물 운송의 효율을 증대시키기 위해 대형화되는 추세이다. 선박 대형화는 선박 작업자의 이동시간 증가, 업무 강도 증가 및 작업 효율 저하 등으로 이어진다. 작업 업무 강도 증가 등의 문제는 젊은 세대의 고강도 노동 기피 현상과 맞물러 젊은 세대의 노동력 유 입을 감소시키고 있다. 또한 급속한 인구 노령화도 젊은 세대의 노동력 유입 감소와 복합적으로 작용하면서 해양산업 분야의 인력 부족 문 제는 극심해지는 추세이다. 해양산업 분야는 인력 부족 문제를 극복하기 위해 지능형 생산설계 플랫폼, 스마트 생산 운영관리 시스템 등의 기술을 도입하고 있으며, 스마트 자율물류 시스템도 이러한 기술 중의 하나이다. 스마트 자율물류 시스템은 각종 물품들을 지능형 이동로봇 을 활용하여 전달하는 기술로서 라이다, 카메라 등의 센서를 활용해 로봇 스스로 주행이 가능하도록 하는 것이다. 이에 본 논문에서는 이동 로봇이 선박 갑판의 통행로를 감지하여 stop sign이 있는 곳까지 자율적으로 주행할 수 있는지를 확인하였다. 자율주행은 Nvidia의 End-to-end learning을 통해 학습한 데이터를 기반으로, 이동로봇에 장착된 카메라를 통해 선박 갑판의 통행로를 감지하여 수행하였다. 이동로봇의 정지 는 SSD MobileNetV2를 이용하여 stop sign을 확인하여 수행하였다. 실험은 약 70m 거리의 선박 갑판 통행로를 이동로봇이 이탈 없이 주행 후 stop sign을 확인하여 정지하는지를 5회 반복 실험하였으며, 실험 결과 경로이탈 없이 주행하는 결과를 얻을 수 있었다. 이 결과를 적용한 스 마트 자율물류 시스템이 산업현장에 적용된다면 작업자가 작업 시 안정성, 노동력 감소, 작업 효율이 향상될 것으로 사료된다.



    1. 서 론

    선박은 화물의 운송 시 한 번에 많은 양을 운송할수록 운 송의 효율이 증가되기 때문에 계속적으로 대형화되는 추세 이다. 선박의 대형화는 고중량의 기부속, 작업공구 및 선용 품을 옮겨야하는 작업자의 이동시간 증가, 업무 강도 증가 및 작업 효율 저하 등으로 이어진다. 작업 강도 증가 등의 문제는 젊은 세대의 고강도 노동력을 기피하는 현상과 맞물 러 해양산업 분야로의 젊은 세대의 인력 유입을 감소시키고 있다. 또한, 한국의 인구구조 변화는 급속도로 노령화가 진 행되고 있으며, 이로인해 생산 가능인구 감소와 경제활동 연령 상승으로 이어지고 있다. 해양산업 분야는 인구 노령 화에 따른 인력 노령화 및 젊은 세대의 인력 유입 감소 문제 가 복합적으로 작용하여 인력 부족 문제는 극심해지는 추세 이다. 해양산업 분야는 인력 감소 문제를 극복하고 지속적 인 경쟁력 강화를 위해 선박 건조 공정의 스마트화가 진행 되고 있으며 지능형 생산설계 플랫폼, 가공 공정 고도화, 의 장품 제작 고도화, 스마트 자율물류 시스템, 스마트 통합 생 산 계획 시스템, 스마트 정도 관리 및 품질 모니터링, 스마 트 생산 운영관리 시스템 등의 기술을 도입하여 기존의 선 박 공정 패러다임에서 벗어나기 위해 노력하고 있다(Baek et al., 2018). 이들 신기술 중 스마트 자율 물류 시스템은 각종 물품들을 지능형 이동로봇을 활용하여 전달하는 기술로서 라이다, 카메라, 초음파 센서 등 여러 센서를 활용해 차량, 보행자, 차선, 신호등, 자전거 등의 주행환경을 인식함으로 서 이동로봇 스스로 주행이 가능하게 하는 것이다(Hwang and Noh, 2019). 물류 이송로봇은 영역, 속도, 유도선 설치 등 제한된 조건하에 주행함으로서 물류창고, 공장, 공항, 호텔, 병원, 식당 등 각각의 목적에 맞게 상용화되고 있으며 실외 에서도 차선, 신호등 등의 유무에 따른 제한된 조건하의 자 율주행기술이 향상되고 있어 물류 이송의 자동화 범위가 넓 어지고 있다.

    이동로봇이 안전하게 물류를 이송하기 위해서는 로봇의 위치를 인식하여야 하는데 이를 위해 초음파, 엔코더, 적외 선 센서 등을 이용하여 자기 위치 좌표 및 장애물의 위치를 인식하였다(Park and Yang, 2013). 근래에는 라이다(LiDAR) 센 서와 카메라(Camera)센서를 이용하여 객체를 검출하고 검출한 객체의 위치에 따라 이동로봇을 제어한다(Weon et al., 2019). 라이다 센서는 레이저 펄스를 발사하여 되돌아오는 시간을 측정하여 스캔하는 기술로서 이동로봇의 주변 환경에 대한 객 체 및 거리정보 등의 데이터를 수집하여 이동로봇의 주행에 활용되고 있으나 가격이 비싼 단점이 있다(Kim et al., 2012).

    본 연구에서는 선박 갑판에서 물류 이송 자동화를 위해 지능형 이동로봇을 선박 갑판에 적용하고자 한다. 선박의 갑판에는 작업자의 보행을 위한 통행로(Passage-Way)가 있으 며, 이를 이동로봇의 주행에 활용하였다. 통행로 이미지를 학습하여 이미지 기반으로 이동로봇을 제어하였으며, 멈춤 신호가 있을 시 정지하도록 하였다. 실제 선박의 갑판에서 이동로봇을 주행함으로서 그 성능을 평가하였다.

    2. 연구 방법

    2.1 카메라 센서

    지능형 이동로봇의 구현을 위해서는 사람의 눈과 귀처럼 주행 상황에 대한 데이터를 수집 후 판단하여 주행 경로를 결정하는 기능이 필요하며 이를 위해 라이다, 레이더, 카메 라 등의 센서들이 적용되고 있다(Park et al., 2019). 이들 중 비교적 가격이 저렴한 카메라 센서는 질감, 색상, 대비 등의 데이터를 수집할 수 있고, 근래에는 인공지능 기술과 융합 한 컴퓨터 비전 분야의 객체 검출(Object Detection)은 이미지 를 분석하여 객체의 종류와 위치를 파악하는 것으로서 이동 로봇의 주행경로와 주변사물을 검출하기 위해 적용되고 있 다(Lim, 2021).

    2.2 End-to-end learning

    본 연구에서는 갑판의 통행로를 카메라로 검출하여 이동 로봇을 주행하고자 Nvidia 사의 End-to-end learning 모델을 적 용하였다(Bojarski et al., 2016). 이 모델은 Nvidia 사에서 자율 주행 연구를 위한 DAVE2 프로젝트 수행 시 고안한 것으로 카메라의 이미지 정보만을 이용하여 주행경로를 결정하도 록 하였다(Song et al., 2019).

    Fig. 1은 학습 과정의 블록다이어그램을 나타낸 것으로서 네트워크는 카메라를 통해 얻은 도로의 이미지를 CNN (Convolutional Neural Network)의 입력으로 사용하여 얻은 네 트워크 계산 조향 명령(Network Computed Steering Command) 과 운전자의 핸들 조향 명령(Desired Steering Commnad)을 비 교한 후 역전파(Back Propagation)을 통해 가중치를 조절하여 네트워크 계산 조향 명령과 운전자의 핸들 조향 명령의 차 이가 최소가 되도록 학습을 실시한다.

    Fig. 2는 학습된 네트워크 모델을 통해 조향 각도를 결정 하는 순서를 보여주는 블록다이어그램이다. 학습된 네트워 크는 카메라를 통해 이미지를 입력 받고 특성을 추출하여 핸들 조향 각도를 계산하고, 계산된 조향 각도를 이동로봇 에게 보내준다.

    Table 1은 End-to-end learning 모델의 구조를 나타낸 것으로 1개의 Normalization 층(Layer), 5개의 Convolution 층 그리고 3 개의 Fully-connected 층으로 총 9개의 층으로 구성되어 있다.

    머신러닝 알고리즘은 이미지 데이터가 가진 특성들을 비 교하여 데이터의 패턴을 찾는다. 그런데 이미지 데이터가 가진 특성의 스케일이 심하게 차이가 나는 경우 머신러닝 알고리즘이 정확한 데이터 패턴을 찾지 못하는 문제가 발생 한다. 이런 문제를 막기 위해 End-to-end learning 모델은 Normalization 층을 통하여 스케일을 0~1 사이값으로 정규화 시켜 스케일에 따른 데이터 특성 검출의 영향을 줄이고 있 다. Convolution 층은 필터를 이용하여 이미지가 가지는 특성 정보들을 추출하는 역할을 하며, Fully-connected 층은 이미지 를 통해 조향 각도를 결정하는 역할을 한다. Kernel은 Convolution 층에서 특성 정보들을 추출하는 필터 역할을 하 며, Stride는 Kernel이 이미지를 횡단할 때 Kernel의 스텝 사이 즈이다.

    2.3 SSD

    객체 검출 알고리즘은 크게 1단계 검출기(One-Stage Detector) 와 2단계 검출기(Two-Stage Detector)로 분리되고 있다(Zou et al., 2019). 2단계 검출기는 객체 검출을 위해 먼저 객체 후보 영역을 선정한(Localization) 후 선정된 후보군 중 분류하지만 (Classification), 1단계 검출기는 후보 영역과 분류를 동시해 수행한다. 2단계 검출기는 상대적으로 정확하기는 하나 연 산량이 많은 단점이 있어, 소형 디바이스 환경에서는 속도 가 빠른 1단계 검출기가 사용되고 있으며 SSD(Single Shot Detector)는 1단계 검출기 중 하나이다(Wei et al., 2016).

    SSD는 Fig. 3과 같이 VGG16을 기본구조로 사용하고 기본 구조 뒤에 보조구조를 추가한 구조를 가지고 있다. 컨볼루 션(Convolution) 층에서 얻은 특징 맵(Feature Map)은 6개 (38×38, 19×19, 10×10, 5×5, 3×3, 1×1)의 서로 다른 크기(Scale) 를 가지고 이를 객체 검출에 이용한다.

    2.4 MobileNetV2

    MobileNetV2는 소형 디바이스 환경에서 사용가능한 합성 곱 신경망 모델 중 하나(Sandler et al., 2019)로서 Depthwise Separable Convolution을 사용한 MobileNet모델(Howard et al., 2017)에 Inverted Residual Block을 추가한 것이다. Fig. 4는 Depthwise Separable Convolution의 블록을 나타낸 것으로 입력 된 채널별로 분리하여 각 채널에 3×3필터를 적용한 Depthwise Convolution과 1×1필터를 적용하여 채널수를 조절 할 수 있는 Pointwise Convolution이 결합된 형태이다.

    Fig. 5는 Inverted Residual 블록을 나타낸 것으로 연산량을 줄이기 위해 먼저 채널을 확장시킨 후 축소하는 방식이며, 손실되는 정보를 상쇄하기 위해 선형 활성화 함수를 사용하 였다. MobileNetV2는 2가지 종류의 블록이 있으며 (a)는 Stride를 1로 설정하고 입력과 출력을 더해주는 구조이며, (b) 는 Stride를 2로 설정하여 데이터의 크기를 감소시키는 구조 이다.

    Table 2는 SSD와 결합한 다양한 모델들의 성능평가를 나 타내고 있다(Kang 2020). 본 논문에서는 소형 디바이스에 적 용하기 위해 비교적 정확도는 낮지만 초당 프레임 수가 많 고 크기가 작은 SSD-MobileNetV2를 적용하였다.

    3. 실 험

    3.1 실험환경

    본 연구에서는 바퀴형 이동로봇(Wheeled Mobile Robot)을 이용하여 계단이나 높낮이가 있는 구조물 등의 장애물이 없 는 선박 갑판 통행로로 한정하여, 카메라로 갑판 통행로를 검출하여 자율주행 하고자 하였다. Fig. 6은 이동로봇과 통행 로를 나타내고 있으며, 실험 선박의 전장(Length Over All)은 94m이며 주행 테스트 길이는 약 73m이다. 이동로봇의 크기 는 16W × 26D × 12H cm이며 통행로의 폭은 30cm이다. 이동로 봇을 제어하기 위해서 소형 디바이스인 라즈베리파이4 모델 B를 사용하였다. 이 모델의 사양은 CPU 1.5GHz Quad-core Broadcom BCM2711 Cortex-A72, RAM 4GB, 500MHz VideoCore VI이며, 카메라는 5 Mega Pixel, 160 Degree Field of View를 사 용하였다.

    3.2 통행로 검출기 학습

    선박 갑판에서 이미지 기반으로 이동로봇을 주행하기 위 한 이미지 데이터 셋을 구축 후 학습시켰다. 이미지 데이터 는 통행로를 45〬(좌회전), 90〬(직진), 135〬(우회전)으로 분류하여 각각 540, 936, 311장의 이미지를 획득하였으며 Fig. 7은 그 예를 나타내고 있다.

    학습 모델은 End-to-end learning에 과적합을 방지하기 위한 드롭아웃(Drop-Out)을 추가하였으며, Table 3은 사용한 모델 의 요약으로 총 252,219 파라미터를 가진다.

    통행로 이미지 학습은 랩톱 Intel(R) Core(TM) i7-10750H CPU 2.60GHz, 32GB RAM, 라이브러리 Keras 2.2.5, Tensorflow 1.14 환경에서 진행하였다. 획득한 이미지는 8대2 비율로 학 습 데이터와 검증 데이터로 분리하였으며, 학습 시 손실함수 (Loss)는 MSE(Mean Squared Error), 최적화(Optimizer)는 Adam (Adaptive Moment Estimation), 학습률(Learning Rate)은 1e-3, 배 치(Batch) 크기는 100, 에폭(Epoch)은 20으로 설정하였다.

    Fig. 8은 학습과정으로 가로축은 학습 횟수, 세로축은 손 실함수이며, 손실함수는 예상 이미지와 실제 이미지와의 차 이를 나타낸다. 그래프에서 파란색은 학습 단계의 손실함수 를 의미하고, 빨간색은 검증 단계의 손실함수를 의미한다. 학습 결과를 살펴보면 반복 횟수가 증가할수록 20회에 손실 함수는 0에 가까워지는 것을 확인할 수 있다.

    Fig. 9는 검증 데이터를 이용한 성능평가로서 실제각도와 예측각도와의 차이를 나타낸다. diff는 실제각도와 예측각도 의 차이를 나타내며, 0에 가까울수록 실제각도와 예측각도 의 차이가 작기 때문에 학습이 잘되었다고 판단한다. Fig. 9 (a)는 45〬일 때의 검증 데이터를 이용하여 예측한 모습이다. 실제각도가 45〬를 나타내며, 예측각도도 45〬, diff는 0으로 실제 각도를 정확히 예측한 모습이다. (b)는 90〬를 예측한 모습으 로 diff가 0으로 또한 정확히 예측하였다. (c)는 135〬를 예측한 것으로 실제각도는 135〬, 예측각도는 134〬, diff는 -1로 결과값 이 나온 것을 확인 할 수 있다. diff가 -1로 매우 작은 값이기 때문에 예측을 잘하였다고 판단할 수 있다.

    3.3 실험 결과

    실험은 학습한 모델을 이용하여 선박 갑판에서 주행 성 능 테스트를 하였다. 이동로봇이 주행 중 stop 신호가 검출 되면 자동으로 정지시키는 기능을 추가하였으며, 이를 위해 사람, 자전거, 자동차, 버스 등 총 91개의 COCO 데이터 셋 을 SSD-MobileNetV2로 학습한 모델을 사용하였다. 실험은 선 박 갑판을 총 5번 왕복 주행을 하였으며 경로이탈 없이 자 율주행을 수행하였다. 주행 시간은 평균 440sec이고 속도는 약 0.165m/sec이다. Fig. 10은 갑판에서 이동로봇의 주행 테스 트 한 모습을 나타낸다.

    4. 결 론

    본 논문에서는 선박 갑판에서 소형 디바이스로 제어되는 이동로봇을 이미지 기반으로 자율주행 하였다. 이동로봇의 주행 기능은 갑판의 통행로 이미지를 End-to-end learning 모 델로 학습하여 주행에 적용하였으며, 정지 기능은 stop 신호 가 학습되어 있는 SSD-MobileNetV2 모델을 적용하였다. 선박 갑판에서 이동로봇을 주행 테스트 하였으며 경로이탈 없이 주행하는 결과를 나타내었다.

    선박의 건조 및 운항 분야는 고강도의 노동력이 요구되는 직업군으로서 선박이 지속적으로 대형화됨에 따라 선박에 종사하는 근로자는 이동 시간이 증가하게 되고 이로 인해 업무 강도가 증가하게 된다. 이동로봇을 적용하여 작업도구 나 중량물을 이동시킨다면 작업 시 안전성, 노동력 감소, 작 업 효율이 향상될 것으로 기대된다.

    향후에는 성능향상을 위해 시간과 날씨 변화에 따른 다양 한 환경의 데이터 셋 구축과 선박의 운항 시에도 안정적인 이동이 가능하도록 보안할 계획이다. 또한 본 연구에서는 실험 장소를 장애물이 없는 선박 갑판으로 한정하였으나, 실제 선박에는 계단 및 다양한 높낮이의 구조물이 존재하기 때문에 이동로봇이 장애물을 회피 또는 통과할 수 있는 연 구를 진행할 계획이다.

    감사의 글

    이 논문은 2022년도 정부(산업통상자원부)의 재원으로 한 국산업기술진흥원의 지원을 받아 수행된 연구임[P0017006, 2022년 산업혁신인재성장지원사업].

    Figure

    KOSOMES-28-7-1216_F1.gif

    Block diagram of training the neural network.

    KOSOMES-28-7-1216_F2.gif

    Block diagram of steering command (trained network).

    KOSOMES-28-7-1216_F3.gif

    Architecture of single shot detector.

    KOSOMES-28-7-1216_F4.gif

    Block of depthwise separable convolution.

    KOSOMES-28-7-1216_F5.gif

    Block of inverted residuals.

    KOSOMES-28-7-1216_F6.gif

    Wheel type mobile robot and passage-way.

    KOSOMES-28-7-1216_F7.gif

    Example of image data by angle.

    KOSOMES-28-7-1216_F8.gif

    The loss curves of training and validation.

    KOSOMES-28-7-1216_F9.gif

    Evaluation of validation dataset.

    KOSOMES-28-7-1216_F10.gif

    Drive test on the deck.

    Table

    CNN architecture of End-to-end learning

    Performance of various models combined with SSD

    Summary of experiment learning model

    Reference

    1. Baek, T. H. , D. G. Oh, Y. G. Jeong, R. R. Lee, and Y. Wo. Gwon (2018), Technology fields and core technologies for smart shipbuilding process in shipyard, The Society of Naval Architects of Korea, Vol. 55, No. 4, pp. 9-15.
    2. Bojarski, M. , D. Testa, D. Dworakowski, B. Firner, B. Flepp, P. Goyal, L. Jackel, M. Monfort, U. Muller, J. Zhang, X. Zhang, J. Zhao, and K. Zieba (2016), End to End Learning for Self-Driving Cars, arXiv:1604.07316v1 [cs.CV].
    3. Howard, A. G. , M. Zhu, B. Chen, D. Kalenichenko, W. Wang, T. Weyand, M. Andreetto, and H. Adam (2017), MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications, arXiv:1704.04861v1 [cs.CV].
    4. Hwang, S. Y. and K. S. Noh (2019), Robot driving technology for industrial logistics transport, The Korean Society of Mechanical Engineers, Vol. 59, No. 5, pp. 27-31.
    5. Kang, Y. (2020), Research on SSD base network, IOP Conf. Series: Materials Science and Engineering, 2020, 072031,
    6. Kim, J. D. , K. K. Kwon, and S. J. Lee (2012), Trends and Applications on Lidar Sensor technology, Electronics and Telecommunications Research Institue, Vol. 27, No. 6, pp. 134-143.
    7. Lim, H. (2021), Overview of Image-based Recognition AI technology for Autonomous Vehicles, Journal of the Korea Institute of Information and Communication Engineering, Vol. 25, No. 8, pp. 1117-1123.
    8. Park, K. , M. Lee, S. Noh, S. Park, C. Lee, J. Woo, and K. Jung (2019), Object recognition deep learning network and implementation method for autonomous vehicles, Institution of Electronics and Telecommunication Engineers, Vol. 46, No. 1, pp. 18-29.
    9. Park, S. J. and T. K. Yang (2013), A Study on Design of Intelligent Mobile Robot based on Localization Sensor for Unmanned Transport Logistics, Journal of Korean Institute of Information Technology, Vol. 11, No. 9, pp. 7-13.
    10. Sandler, M. , A. Howard, M. Zhu, A. Zhmoginov, and L. Chen (2019), MobileNetV2: Inverted Residuals and Linear Bottlenecks, arXiv:1801.04381v4 [cs.CV]
    11. Song, H. S. , S. Kim, and S. Park (2019), A Study on E2E Deep Learning based Autonomous Navigation Robot from Virtual Environment to Real Environment using Transfer Leaning, Journal of Institute of Control, Robotics and Systems, Vol. 25, No. 5, pp. 381-387.
    12. Wei, L. , D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C. Fu, and A. C. Berg (2016), SSD:Single Shot MultiBox Detector, arXiv:1512.02325v8 [cs.CV].
    13. Weon, I. S. and S. G. Lee (2019), Environment Recognition Based on Multi-sensor Fusion for Autonomous Driving Vehicles, Journal of Institute of Control, Robotics and Systems, Vol. 25, No. 2, pp. 125-131.
    14. Zou, Z. , Z. Shi. Y. Guo, and J. Ye (2019), Object Detection in 20 Years: A Survey, arXiv:1905.05055v2 [cs.CV].