1. 서론
객체 탐지 및 물체 인식 기술은 자율주행 자동차와 인공지능 로봇에 필수적으로 포함되어야 하는 기술이다. 이는 이동 범위 내에서 물체를 회피하거나 접촉하기 위함으로써 주로 양안식 및 단안식 카메라나 LiDAR 등의 고가 센서를 통해 이루어진다. 고가의 장비인 경우 직접적 거리를 획득 가능하나, 단안식 카메라를 이용할 시 RGB 영상으로부터 깊이 영상을 추출해야 한다[1-4].
기존 연구의 경우 단안식 영상을 활용한 깊이 영상 추출 방법보다는 양안식이나 레이저 등의 센서를 주로 활용함으로써, 계산처리량 및 금전적으로 효율적이지 못한 방법을 활용하고 있다. 물리적으로 두대 이상의 카메라를 둘 수 없는 제한적 환경이나, 카메라가 하나만 장착된 블랙박스 및 기존 판매된 스마트 폰 등에서는 추가적인 센서를 사용하기 힘들다.
즉, 영상 획득 장치가 설치되는 장소는 고정적, 한정적이지 않으므로 그에 유연한 환경을 구성할 수 있어야 한다. 이러한 경우, 정확도를 보장하면서도 깊이 영상을 획득할 방법이 있다면, 계산처리량과 비용을 줄일 수 있을 뿐만 아니라 기존에 획득해둔 영상으로부터 깊이 값을 추출할 수 있기 때문에 다양한 콘텐츠를 위한 3차원 모델 복원이 가능하다[1-4].
기존 단안식에서 깊이맵을 추출하는 연구에서는 다안식 영상이 각 영역 정보가 없으므로 소실점 등에 의존하여 깊이맵을 추출한다. 또한,‘영상 하단이 영상 획득자와 가까운 곳이거나 비디오의 경우 시청자와 가까운 곳임’을 기본적으로 가정하여 깊이 값을 생성하기 때문에 다시점에 비해 정확도가 낮은 문제가 있다. 또한, 영상처리 및 컴퓨터 비전 연구가 발전함에 따라 SIFT와 같이 매우 성능이 좋은 특징 기술자 등의 알고리즘처럼 자주 쓰이는 특징점 추출 알고리즘이 많이 활용되었다[1-7].
최근 영상처리 및 컴퓨터 비전 분야 연구에서는딥러닝을 활용하여 분류 및 영상 복원 등에 대해 정확도가 높은 결과를 보여주고 있다. 이와 마찬가지로단안식 깊이맵 생성 분야에서도 기존 Hand-Crafted특징을 활용하던 연구에서 딥러닝 모델을 활용하는 연구가 활성화되고 있다. 딥러닝은 최근 이미지넷 챌린지(Imagenet Large Scale Visual Recognition Challenge)[8]에서 2012년부터 현재까지 가장 효과적인 성능을 보여주는 알고리즘이다. 이러한 성능으로 영상처리 및 컴퓨터 비전의 다방면 세세 분야에서 높은 정확도로 주목받고 있다. 실제로 대다수의 컴퓨터 비전 기술에서 기존 특징 추출 기술 기반 영상처리보다 딥러닝을 적용할 때 더욱더 좋은 결과를 얻고 있으며, 본 연구 분야에서도 딥러닝 중 영상에 주로 적용하는 CNN을 활용하여 더욱 좋은 결과를 획득한 사례를 볼 수 있다. 하지만 그 추출된 깊이맵의 크기가 만족스럽지 않으며 깊이 정보에서 가장 중요한 에지 부분에서 약간의 흐릿한 결과를 도출한다는 한계를 가지고 있다[1-8].
이러한 한계를 극복하기 위해서는 2차원 영상 전체의 화소 정보를 인근 유사정보로 압축하여 다시원래의 해상도로 회복하기 위해서는 딥러닝에서도주로 압축 및 복원에 사용하는 오토인코더(Auto Encoder) 알고리즘을 활용할 수 있고, 국외 우수 연구에서도 오토인코더 모델을 활용 및 일부 변경하여 좋은 결과를 보여주고 있다[4-6].
본 연구에서는 단안식 영상에 딥러닝을 적용하여 3차원 깊이맵을 추출하는 연구로서, 기존 딥러닝 기술 중 영상 간 변환에 효과적일 뿐 아니라, 오토인코더와 같이 압축 및 복원의 기능이 있는 Pix2 Pix(image to image translation) 모델[9]을 개선하여 속도 측면에서 효과적인 결과를 제시하여 임베디드 환경 등에 적용 가능한 방법을 제안한다.
본 연구에서는 기존 Pix2Pix[9]의 모델 가중치의 수렴속도 및 수렴 방향에 큰 역할을 하는 생성자-구별자의 GAN[10] 구조는 그대로 유지하면서, 생성자의 구조 내의 컨볼루션 형태를 depthwise convolution [11]으로 변경하여 결과는 유지하면서 속도를 개선하고자 한다. 따라서 기존 생성자 구조의 형태인 U-Net[12]에서 입력층 및 deconvolution되기 직전까지의 down-sizing 되는 7개의 은닉층을Depth wise로 변경하여 기존 구조보다 파라미터를 줄인다. 실제 GAN 구조에서 추론(inference)단계에활용되는 것은 생성자 부분이므로, 손실함수의 역할을 하는 구별자의 구조는 그대로 두고 생성자만 연산을 가볍게 하도록 한다[9-12].
2. 관련연구
국내외에서의 3차원 깊이 값 추정 연구는 단안식영상에서 보다, 스테레오 카메라 등의 양안 및 다안식영상에서 더욱 활발한 연구가 이루어졌다. 이는 딥러닝이 활발하게 활용되기 전, 영상처리 및 컴퓨터 비전 분야에서 특징(feature)을 추출하여 문제를 해결하는 방식에 있어 여러 영상으로부터 정보를 얻어정확도 높은 결과를 확보했기 때문이다. 하지만 카메라의 설치 영역이나 센서의 비용적 측면을 고려할 때 단안식 영상에서의 추출 시 효율성이 높아진다는 장점과 함께, 기존에 확보된 영상의 콘텐츠화 측면에서도 꾸준히 연구가 진행되었다[1-7].
딥러닝이 활성화된 이후, 2014년 처음으로 딥러닝구조 중 영상에 활용하는 CNN을 사용한 Eigenetal.[1]의 연구가 제시되었다. 해당 연구에서는 두 단계 스케일 구조(two-scalestructure)의 CNN을 사용하였고 이 방법에서는 처음 스케일 단계에서 해상도가 낮은 대략적인 깊이 추정을 하고 다음 스케일단계에서 이를 조정하여 높아진 해상도에서 깊이 값을 추정하였다. 또한 이들은 스케일 불변의 손실함수(scale invariant loss function)를 사용함으로써 정확도를 높일 방법도 제안하였다.Fig.1은 [1]에서 제안된 모델이다[1].
Fig. 1. The proposed deep learning model of [1].
Fayaoetal.[4]의 연구를 보면, 역시 깊이 영상을 추출하기 위하여 딥러닝을 활용하는 것을 알 수 있는데, 해당 연구에서는 연속 조건부 랜덤 필드를 연계하여 깊은 컨볼루션 뉴럴 필드 모델을 제안하였다.
즉,CNN 모델과 연속 CRF 간의 용량을 공동으로 탐색이 가능한 모델을 제시하여 연구를 수행하였다.
특히 해당 연구에서는 앞서 언급한 슈퍼 픽셀(super-pixel) 개념을 도입하여, 비록 인근에 있는 픽셀이라고 하더라도 깊이 위치가 달라질 수 있음을 통해 슈퍼 픽셀 단위로 업샘플링(upsampling)을 수행하여 오차를 낮추었다. 또한 영상을 다운 샘플링 할 때도슈퍼 픽셀을 단위로 이미지 패치를 잘라 파라미터(parameter)값으로 넣음으로써 오차를 줄이고자 하는 시도를 하였다 Fig.2는 [4]에서 제안한 슈퍼 픽셀기반의 업샘플링 방법이며 그 결과이다[4].
Fig. 2. [4] proposed algorithm and results (left : source image, ground truth, prediction map).
Huetal.[5]의 연구에서 제안한 모델의 예시 Fig. 3을 보면 인코더-디코더 형태의 모델이 깊이 예측에 활용되고 있다는 것을 알 수 있다. 즉, 여러 딥러닝중에서도 오토인코더와 유사한 형태의 다운 샘플링(down sampling)과 업 샘플링(up sampling)이 연결되어 상세한 화소 구조가 깊이맵 화소 구조로 변형되도록 하는 연구가 수행되었다. 해당 알고리즘은 전체 영상이 점차 줄어들다가 다시 한 기점을 중심으로 점차 늘어나는 것을 볼 수 있는데, 이때의 영상을 줄이는 과정은 영상을 단순화시켜 세그멘테이션(segmentation)하는 것과 유사하기 때문이며 다시 늘리는 것은 해상도 복원을 위해 늘린다고 할 수 있다.
하지만 각 컨볼루션 단계에서 손실되는 정보는 각 단계에서 업샘플링 시켜 복원 시에 붙여(이때 붙이는 개념은 Concatenate)서 손실을 적게 하도록 하였다[5].
Fig. 3. The depth map prediction method of [5].
Laina et al.[13]에 의해 제안된 FCRN의 경우 Fully Convolutional Network를 발전시킨 형태의 모델인 Fully Convolutinal Residual Network를 사용하는 연구를 수행하였다. 일반적으로 딥러닝 모델이 깊어질수록 중복성이 커지고 앞선 은닉계층에서 뽑은 특징맵(Feature Map)을 잃는다는 한계를 보이는 것과 달리 ResNet[14]등의 모델은 이의 한계를 개선하고 있는데, 이러한 모델 구조를 차용하여 깊이맵을 생성하였다. 또한 deconvolution시 특수한 보간 방법을 활용하여 앞선 연구보다 좋은 결과를 보여주었다.
해당 연구에서는 ResNet50의 모델 구조를 활용하였다[13,14].
따라서 앞선 연구 결과를 볼 때 최종 결과로 영상을 추출하면서 인코더-디코더의 구조로 구성된 U-Net[12]등의 딥러닝 구조를 차용하여 깊이맵을 추정가능 할 것으로 예측 되며,GAN 등의 연구 방법으로 확장 가능할 것으로 보인다[9-10,12]. 이를 응용한 Pix2Pix의 연구에서는 서론에서 ‘영상을 번역하는 것과 같이 다른 형태로 짝지어진 영상이 변형되는 연구에서는 모두 활용 가능할 것’임을 밝혔다. 이와 관련된 연구를 살펴보면 [15]의 연구에서는 Pix2 Pix를 적용하여 필요 시 정방형의 고정된 크기가 아닌여러 크기의 깊이맵 추출이 가능함을 연구하였고,[16]의 경우 Pix2Pix와 cGAN이 깊이맵 추정에 유의미한 결과를 보인다는 것을 공개 사이트에 업로드 하였다.
하지만 실제로 Pix2Pix의 생성자인 U-Net 구조는 구별자 없이 단독 활용 시 수렴속도가 매우 느릴 뿐 아니라, 은닉 계층이 15번에 걸치므로 컨볼루션 파라미터가 기하급수적으로 증가하는 단점이 있다. 이는 본 연구의 적용대상인 기판매된 블랙박스 혹은 단일 카메라를 보유한 구형 스마트폰 등에 활용되거나 임베디드 환경에서는 속도 측면에서 매우 불합리하다.
2.2 Pix2Pix[9]
GAN[10]은 랜덤한 노이즈가 입력이므로 최종적으로 모델이 수렴하였을 때, 원하는 데이터를 얻지 못할 가능성도 있으며 어떤 데이터가 나올지 예측하는 일이 어렵다.Pix2Pix는 GAN에서처럼 랜덤벡터인 노이즈를 입력으로 받는 것이 아니라 영상을 입력으로 받아서 다른 형식의의 영상을 출력하는 알고리즘이기 때문에 일종의 지도학습 방법이다. 즉, 이를학습시키기 위해서는 입력으로 들어갈 데이터세트와 그 영상이 Pix2Pix를 거쳐서 나올 정답 영상이 필요하다. 따라서 본 연구에서는 불확실성이 높은 GAN보다는, 불확실성이 낮은 Pix2Pix 방법으로 연구를 수행하였다. 이 모델은 영상의 형태를 변형시키는 알고리즘, image translation이라고도 한다[8,17]. 대부분의 CNN 방식에서는 손실함수가 중요한 역할을 하며, 손실함수에 의해 컨볼루션 필터의 가중치가 결정된다. 즉 이는 유클리디안(Euclidean) 거리를 최소화 하는 쪽으로 학습이 되며, 그 결과는 평균을 취하게 된다. 따라서 영상이 대게 블러링(blurring)되는 문제가 발생하며 앞서 살펴본 이전 연구에서도출력되는 결과에서 에지(edge)가 흐려지는 결과가 발생했다[1-7,9,17].
하지만,Pix2Pix는 GAN에 기반하기 때문에 생성자(generator)와 구별자(discriminator)로 구성되어 있다. 구별자가 일종의 손실함수 역할을 하고 있기 때문에 생성자가 추측하는 결과의 정확도를 높이고, 구별자는 생성된 결과와 GT(GroundTruth)를 잘 비교할 수 있도록 하는 특수한 구조를 가지고 있다[9].
Pix2Pix의 생성자(Fig.4)는 U-Net[12] 구조로 구성되어 있다. 즉, 전체적으로 영상의 크기를 다운샘플링 한 후 업샘플링 하는 구조를 갖는다. 이때 영상을 줄일 때는 영상의 크기가 줄어들 때에는 stride가 2인컨볼루션을 이용한다. 다시 커질 때는 전이 컨볼루션(transposed convolution)을 이용한다. 영상이 줄어들면서 생기는 손실은 영상이 커지는 레이어에서 같은 크기일 때 residual network에서 이전 레이어를붙이는 것처럼 더해주기 때문에(concatenate) 손실을 최소화 할 수 있다[8].
Fig.4[17]는 Pix2Pix에서 사용하는 생성자 구조이다. U-Net구조로 구성되어 있으며, 스킵연결(skip connection)이라고 부르는 구조를 따른다. 즉, 각 인코더에서 업샘플링 되는 과정에서 생기는 손실을 디코더에서 활용할 수 있도록 대응되어 있다[9,17].구별자 구조에서는 와 같이 stride가 2인 컨볼루션 계층으로 구성되어 있다. 마지막 뒤의 두 계층의 경우 stride가 1인 컨볼루션으로 되어있으며 두 번 연속적으로 패딩(padding)하여 32×32의 크기를 30×30으로 줄인다. 즉, 영상 전체를 900개의 구역으로 비교할 수 있다. 따라서 영상 전체를 세세하게 보고 진짜인지 아닌지를 판별하는 것이 아니라, 이미지의 각 부분이 진짜인지 아닌지를 판별한다[9].
Fig. 4. Generator and discriminator structure for Pix2Pix.
2.3 데이터베이스
딥러닝 모델 개발은 데이터베이스에 의존되는 연구이며, 알맞은 모델을 연산하는 시간이 상당히 오래 걸린다. 깊이맵 추정 연구에서는 공개된 데이터베이스를 활용하거나 키넥트 등의 깊이 센서가 달린 장비를 통해 깊이맵과 대응되는 영상을 얻어 주로 연구에활용한다. 가장 많이 활용하는 데이터는 키넥트 장비로 촬영되어 공개된 NYU데이터[18]와 KITTI 데이터[19]이며 대부분의 연구 및 기존 기술에서 해당 데이터를 통해 기술 비교를 수행하고 있다. 각 데이터는 실내, 실외로 대표되는 데이터로서 실내외 특성이 달라 개별적으로 연구된다.
NYU 데이터세트(그림 5[18])는 1449개의 정렬된 실내 영상으로서 RGB-D 라벨링이 되어있으며,464
개의 씬 구성으로 이루어져있다. 원형의 영상은 640×480으로 되어있다. 본 연구에서는 NYU 데이터세트를 사용하여 결과를 도출하고자 한다. 이때 NYU 데이터세트는 1449개로 구성 되어 있다[16].
Fig. 5. NYU Dataset.
3. 제안한 방법
본 연구에서는 Pix2Pix의 생성자 구조를 일부 변경하여 결과는 거의 비슷하면서도 연산 파라미터를 줄여 속도를 개선하고자 한다. 딥러닝의 가장 큰 한계는 실용화 시 저사양 환경에서 실시간 연산이 불가능하다. 정확도 측면에서는 딥러닝이 과거 알고리즘을 앞서고 있지만, 대다수의 라즈베리파이, 모바일 등의 환경에서 기존 기술을 고수하는 것은 정확도보다 속도문제가 더 크기 때문이다. 이는 영상처리 시 주로 사용되는 CNN에서도 컨볼루션이 가지는 고유의 특성 때문으로 채널(channel, 혹은 Depth)이 커질수록 연산량이 기하급수적으로 늘어나기 때문이다.
최근 이 계산을 효율적으로 수행하기 위하여 depthwise convolution이나 seperable depthwise convolution 등의 방법이 제시되고 있다[11]. 본 연구에서는 Pix2Pix의 생성자 부분의 down-sizing 부분을 depthwise convolution으로 교체하여 기존 약 39백만개의 파라미터를 12백만 정도로 줄인 모델을 제안한다. Table 1는 기존 Pix2Pix 모델의 생성자 구조 중 다운샘플링 부를 보여주며, 본 연구에서 제안한 Depth wise 형태의 모델을 비교하고 있다. Fig. 6의 왼쪽은 원 모델의 생성자 구조를 보여주고 있으며오른쪽은 본 연구에서 제안한 형태의 모델이다. 상단입력부에서 depthwise convolution을 상세히 그렸으며, 그 아래로는 빨간색 화살표가 해당 개념이다.
컨볼루션의 파라미터는 ‘필터의 사이즈 × 입력 채널 개수 × 출력 채널 개수’로 계산될 수 있는데, 기존 모델의 구조에서 5번째 레이어의 경우 한 레이어에서만 약 4백만 개의 파라미터를 가진다. 이러한 방식으로 모두 더한 뒤, 컨볼루션 단계에서 디컨볼루션(deconvolution)에 합쳐지는 채널 개수까지 모두 합하면 기존 모델의 파라미터는 약 39백만 개에 달한다. 파라미터 수가 많을 시 연산 속도가 늘어나는 것은 당연한 결과이며 연산 시 컨볼루션 채널이 많다고 해서 좋은 결과를 낸다고 볼 수 없다. 오히려 무의미하게 반복되는 레이어의 경우 중복성을 가지는 특징맵(feature map)을 추출할 가능성이 높아지므로 결과가 오히려 나빠지는 사례도 있다.
본 연구에서 제안하는 변형된 모델의 경우 컨볼루션 연산이 수행되는 과정에서 depthwise convolution을 적용하여 전체적으로 파라미터를 줄이고자 한다. 똑같이 5번째 레이어에서의 파라미터를 계산해보면 약 7천개 정도의 파라미터 값을 가지며 역시 앞선 방법과 똑같이 생성자의 전체 파라미터를 모두 더하여 계산 할 시 12백만 개 정도의 파라미터를 가진다. 즉, 기존보다 1/3정도로 파라미터가 줄었다. 따라서 파라미터가 줄기 때문에 추론 시 연산 시간은 빨라진다.
Table 1. Down-sampling section of proposed Pix2Pix generator structure and proposed model
Fig. 6. The original Pix2Pix structure(right) and proposed model (left).
4. 실험 결과 및 고찰
앞서 제안한 방법에 대해 아나콘다 3(Anaconda3) 환경에 설치된 Tensorflow1.9 환경[20]에서 학습과 추론을 모두 수행한다. 상세 실험 환경은 Table 2와 같다. 또한 최종적으로 추론된 결과는 Tensro-flow 학습 후 생성되는 checkpoint를 통해 각 추론용영상을 각 1회씩 시간을 내어 시간 결과를 평균한다.
또한 깊이맵 추정에 대해 객관적인 평가를 위하여 PSNR(Peak Signal to Noise Ratio)[21]를 사용한다. 또한 각 모델마다 총 300번의 epoch를 수행하여 결과를 도출한다. Table3는 학습에 활용한 데이터와 학습 및 결과 테스트를 위하여 분류한 상세 내용이다.
PSNR은 영상의 화질을 객관적인 방법으로 평가하는 방법으로, 원 영상에 비해 얼마나 손실이 생겼는지를 측정하여 제안한 모델과 기존 모델의 결과를 비교하고자 한다. 식 1의 PSNR은 두 영상의 평균오차 제곱(MSE, Mean Squared Error)를 이용하여 Log함수를 통해 데시벨(dB) 값으로 출력하게 된다.
이때의 값은 ground truth인 실측 깊이맵과 예측된 깊이맵에 대해 값을 계산하였다. 식 (1)의 O는 GT, T는 예측값이다[15,20].Table4에서 기존 모델과 제안한 모델의 결과에 대한 값의 평균을 작성하였다.
일반적으로 32이상의 PSNR일 경우 영상의 차이를 느끼지 못한다고 하며, 본 연구의 결과에서는 두 모델 모두 평균적으로 약 18정도 나온 것을 볼 때 손실이나 노이즈가 다수 발생하였으며 아직까지 만족스러운 결과라고 할 수 없다. 또한 제안된 모델의 결과가 미세하게 줄어들었지만 딥러닝 모델은 학습 때마다 약간씩 변화되기도 하므로 해당 값 차이가 유의미한 차이라고 볼 수 없다. 또한 기존 모델과 제안된 모델이 계산량이 줄었음에도 불구하고 유사한 값이출력된다는 것은 기존 모델에서의 연산 시 중복되는 특징맵을 추출 하거나 무의미한 연산이 일부 수행되고 있었음을 예측할 수 있다.
\(\begin{array}{l} M S E=\frac{1}{w \cdot h} \sum_{j=1}^{h} \sum_{i=1}^{w}\left(O_{i j}-T_{i j}\right)^{2} \\ P S N R=10 \log _{10} \frac{255^{2}}{M S E} \end{array}\) (1)
시간 결과적으로는 Table5의 결과를 보였다. 제안된 모델의 파라미터 수가 1/3수준으로 줄어듦에 따라 연산 속도는 기존 모델의 64%수준 정도로 감소한 것을 볼 수 있다. 이는 앞서 유사 수준의 결과를 도출하면서도 결과적으로 빠른 모델이 된 것이므로 해당 속도 변화는 유의미한 결과라고 볼 수 있다. Fig. 7과 8은 각각 기존모델과 제안된 모델로 추출한 추론 결과이다. 앞서 데이터베이스를 약 7:3정도로 분배하였으며 학습 시 사용하지 않았던 데이터중 하나의 이미지를 각 다른 모델에 입력하여 추출하였다. 그림에서 보는 것처럼 두 모델 모두 가장 오른쪽에 위치한 실측값에 비교할 때 만족스럽지 않은 결과를 보인다. 이는 해당 모델이 학습한 모델이 실내 중에서도 여러 공간에 대해 학습하기 때문으로 보이며, 이때의 공간 특성은 학습하고자 하는 영상마다 모두 다르기 때문에 적어도 하나의 공간에 대해 100개 이상의 데이터가 있어야 하며 약 1500개의 NYU 데이터의 양은 적다고 할 수 있다. 즉, 데이터베이스가 충분하게 있다면 더욱 나은 결과를 보일 수 있다.
Fig.9와 10의 경우 제안된 모델이 학습할 시에 사용한 데이터를 하나 입력하여 결과를 추정한 것으로 가장 오른쪽의 실측값과 비교 해봐도 매우 우수한 결과를 도출한다고 할 수 있다. 이는 기존 CNN으로 구성된 깊이맵 추정 알고리즘에, 이미 학습 시 사용한 데이터를 입력 한 경우에 나오는 결과보다 더욱좋다. Fig. 11은 사전학습모델(pretrained model)을 사용하지 않은 FCRN[13]을 활용하여 이미 학습된 영상에 대해 결과를 출력하였다. 즉,GAN 구조를 가진 모델이 에지 등의 부분에서 더욱 효과적임을 알수 있을 뿐 아니라, 고정된 공간에 대해 내부에 있는 사물을 치우거나 추가하는 등의 충분한 데이터베이스를 확보 하여 학습을 수행 할 때 우수한 결과를 도출 할 수 있을 것으로 예상된다.
Table 2. Development and Experimental Environment
Table 3. Data division methods used for learning
Table 4. PSNR Evaluation by Model
Table 5. Evaluation of computation time by models
Fig. 7. Inference results extracted from the original Pix2Pix structure (RGB, Prediction, GT).
Fig. 8. Inference results extracted from the proposed model (RGB, Prediction, GT).
Fig. 9. The learning result of existing model (RGB, Prediction, GT).
Fig. 10. The learning result of proposed model (RGB, Prediction, GT).
Fig. 11. Result of data used during learning extracted by FCRN model (RGB, Prediction, GT).
5. 결론
본 연구에서는 딥러닝 모델의 중복성 및 계산 복잡도의 문제는 컨볼루션에 있다는 것을 확인하였으며, 컨볼루션 연산의 변경을 통해 추론 결과는 유지하면서 연산 속도는 빠른 depthwise convolution 기반 Pix2 Pix 모델을 제안하였다. 추론 결과면에서는 개선점이 아직까지 많기 때문에 향후 손실함수로서의 구별자 역할을 중심적으로 재구성하여 추측(prediction) 결과와 실측(GT)결과를 잘 비교할 수 있는 모델의 제안이 필요하다. 또한 딥러닝 연구에서 데이터베이스의 양과 구성은 매우 중요하므로 이번 연구에서 활용한 NYU 데이터와는 달리 고정적인 공간에서 여러 장을 획득할 수 있는 상황에서의 제안된 Pix2 Pix모델 활용성을 실험해볼 필요가 있다.
단안식 영상을 통한 깊이맵 생성이 가능하다면, 환경적, 계산 비용적, 금전적 제한이 있는 상황에서 많은 렌즈 및 기타 센서를 쓰지 않고 효율적인 3차원 정보를 획득 가능하다. 특히,VR,AR 등에 사용 할수 있는 3차원 콘텐츠의 다방면 활용으로 인해 해당 콘텐츠에 대한 수요가 폭발적으로 증가하고 있기 때문에 본 기술은 2차원-3차원 간 컨버팅 분야에 적극적으로 활용될 기술로 볼 수 있다. 또한, 신규 차량이 아닌 기 구매 차량의 물체인식 기능을 대체할 블랙박스 등에 탑재 될 시 저가형 단안 렌즈로도 물체인식 및 회피를 위한 알림기능을 활성화 시킬 수 있어 산업적으로도 관심 있는 분야이다.
향후 연구에서는 컨볼루션의 연산과정에서 중복성을 가지는 부분을 개선하기위해 더욱 더 효과적이라고 알려진 depthwise separable convolution 등을 통해 파라미터의 갯수를 수십배 이상 줄이고, 연산속도를 획기적으로 줄일 수 있을 것으로 기대된다.
References
- D. Eigen, C. Puhrsch, and R. Fergus, "Depth Map Prediction from a Single Image Using a Multi-scale Deep Network," Proceeding of Conference on Neural Information Processing Systems, Vol. 3, No. 9, pp. 2366-2374, 2014.
- Y. Kim, Two CNN Based Depth Estimation Algorithms Using Single and Stereo Images, Master's Thesis of Graduate School Chonnam National University, 2018.
- S. Lee, H. Kim, and M. Kim, "Implementing a Depth Map Generation Algorithm by Convolutional Neural Network," Journal of the Korean Institute of Broadcast and Media Engineers, Vol. 23, No. 1, pp. 3-10, 2018.
- L. Fayaou, S. Chunhuan, L. Guosheng, and R. Ian, "Learning Depth from Single Monocular Images Using Deep Convolutional Neural Fields," Transactions on Pattern Analysis and Machine Intelligence, Vol. 38, No. 10, pp. 2024-2039, 2016. https://doi.org/10.1109/TPAMI.2015.2505283
- J. Hu, M. Ozay, Y. Zhang, and T. Okatani, "Revisiting Single Image Depth Estimation: Toward Higher Resolution Maps with Accurate Object Boundaries," arXiv preprint arXiv: 1803.08673, 2018.
- L. He, G. Wang, and Z. Hu, "Learning Depth from Single Images with Deep Neural Network Embedding Focal Length," IEEE Transactions on Image Processing, Vol. 27, Issue 9, pp. 4676-4689, 2018. https://doi.org/10.1109/TIP.2018.2832296
- M. Huh, K. Kim, and B. Jang, "Deep Learning Based Video Story Learning Techniques," Journal of Korea Multimedia Society, Vol. 20, No. 3, pp. 23-40, 2016.
- Image-Net, http://www.image-net.org/ (accessed Oct., 16, 2018).
- P. Isola, J.Y. Zhu, T. Zhou, and A.A. Efros, "Image-to-image Translation with Conditional Adversarial Networks," arXiv preprint arXiv: 1611.07004, 2017.
- I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, et al., "Generative Adversarial Nets," In Advances in Neural Information Processing Systems, pp. 2672-2680, 2014.
- F. Chollet, "Xception: Deep Learning with Depthwise Separable Convolutions," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1251-1258, 2016.
- O. Ronneberger, P. Fischer, and T. Brox, "Unet: Convolutional Networks for Biomedical Image Segmentation," International Conference on Medical Image Computing and Computer-Assisted Intervention, pp. 234-241, 2015.
- I. Laina, C. Rupprecht, V. Belagiannis, F. Tombari, and N. Navab, "Deeper Depth Prediction with Fully Convolutional Residual Networks," Proceeding of 2016 Fourth International Conference on 3D Vision, pp. 239-248, 2016.
- K. He, X. Zhang, S. Ren, and J. Sun "Deep Residual Learning for Image Recognition," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 770-778, 2016.
- S. Gang and J. Lee, "Depth Map Extraction from the Single Image Using GAN," Proceeding of 2018 Fall Conference on Korea Multimedia Society, Vol. 21, No. 1, pp. 102-105, 2018.
- Depth Map Estimation from Monocular Images, https://github.com/gautam678/Pix2 Depth, (accessed Mar., 2, 2019).
- Easy Pix2Pix Implementation in Pytorch, https://github.com/taeoh-kim/Pytorch_Pix2Pix, (accessed Mar., 2. 2019).
- N. Silberman, D. Hoiem, P. Kohli, and R. Fergus, "Indoor Segmentation and Support Inference from RGBD Images," Proceeding of European Conference on Computer Vision, pp. 746-760, 2012.
- A. Geiger, P. Lenz, C. Stiller, and R. Urtasun, "Vision Meets Robotics: The KITTI Dataset," The International Journal of Robotics Research, Vol. 32, Issue 11, pp. 1231-1237, 2013. https://doi.org/10.1177/0278364913491297
- Y. Song and Y. Kwon, "Experimental Entry into the Artificial Intelligence Field by Nonexperts," Journal of Korea Multimedia Society, Vol. 20, No. 3, pp. 53-61, 2016.
- PSNR, https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio, (accessed Oct., 20, 2018).
Cited by
- IoT 디바이스를 활용한 고해상도 홍채 카메라 모듈 개발 vol.24, pp.3, 2020, https://doi.org/10.6109/jkiice.2020.24.3.371
- CycleGAN을 활용한 항공영상 학습 데이터 셋 보완 기법에 관한 연구 vol.38, pp.6, 2019, https://doi.org/10.7848/ksgpc.2020.38.6.499