5GX MEC 기반 Vision AI 응용 모델 개발 - Drone vision robust to environment 연구과정(2)

kgy990605 21.09.02
272 4 0

안녕하세요~
SKT AI Fellowship 5번 과제 <5GX MEC 기반 Vision AI 응용 모델 개발>을 주제로 연구를 진행하고 있는 게르브와 입니다.
특히 저희는 5GX MEC의 저지연성, 높은 보안성을 드론에 적용하여 실시간으로 드론이미지 정보를 개선하고 있습니다.

 

⚡PROTOTYPE & FLOW⚡

드론을 매개하여 연구를 진행하기 위해 하드웨어 구성부터 알고리즘 적용까지 연구의 prototype과 flow를 다음과 같이 구성하였습니다.

 

따라서 저희는

1. 쿼드콥터 제작

2. 영상 개선 알고리즘 구축

3. 카메라 모듈 제작 및 서버 구축

세 파트로 나누어 연구를 진행하였습니다.

 

⚡연구 진행 상황⚡

1. 쿼드콥터 제작

저희의 연구에 활용될 쿼드콥터는 일정 하중을 견딜만큼의 추력이 되어야 합니다. 

특히 드론에 있어 무게는 중요한 이슈인데, 비행시간을 고려한 배터리 하중이 증가할 수록 고정하중이 증가해 비행시간에 크게 영향을 미치기 때문입니다. 

저희는 여유하중을 포함하여 드론의 적재하중을 2kg~3kg 정도로 보고 이에 맞게 드론 요소를 구상했습니다. 

제품의 datasheet들을 바탕으로 고정하중은 약 6kg 정도로 예상되고, payload 2~3kg을 기준으로 배터리 22000mah를 사용하였을 때, 대략 17분 정도의 비행시간을 예상했습니다.  

드론역학을 요약해 작성해보면 아래와 같습니다.

figure 및 simulink 회로도 출처는 위의 사용제품이 아니라 작성자에게 있습니다.

 

드론은 Flight Controller(이하 FC), Motor Controller(이하 ESC)로 위와 같이 제어되어 움직입니다. 해당 block diagram의 경우 cascade pid 방식으로 제어되는 드론의 위치제어, 고도제어, 자세제어입니다.

저희는 드론구성의 복잡도를 배제하고자 FC와 ESC 구성은 제품을 사용하여 간단히 하였습니다.

 

현재 구성한 Frame에 FC, ESC, Motor등의 제작을 마무리하였습니다.

 

 

2. 영상개선 알고리즘 구축

초기 단계에서 저희는 드론 카메라 렌즈에 물방울이 맺혀 사진이 뿌옇게 흐려지는 현상을 방지하고자 Attentive GAN을 이용한 알고리즘을 개량하여 드론 카메라에 적용하고자 하였습니다. 다음의 이미지는 관련 알고리즘을 적용한 예시로 물방울에 attention을 주어 물방울이 제거된 깔끔한 GAN 이미지를 얻을 수 있었습니다. 

 

하지만 실제 촬영한 영상에 이 알고리즘을 적용하기에는 문제가 많았습니다. 우선 저희가 사용하고자 하는 렌즈의 경우에는 렌즈의 크기가 그렇게 크지 않아 적용하고자 한 알고리즘을 학습 시킨 데이터처럼 물방울이 명확하게 보이는 경우가 드물었습니다. 각각의 물방울이 보이기 보다는 전체적으로 흐린 이미지가 생성되는 경우가 많아 물방울 자체를 제거하는 알고리즘은 실질적인 영상 개선의 방법이 되지 않을 것이라고 판단하였습니다. 따라서 blur한 이미지를 선명하게 바꾸거나 영상에서 보이는 실제 빗줄기를 없애는 것이 더 효과적인 개선 방법이기 때문에 영상 개선 알고리즘의 방향성을 변경하기로 하였습니다. 

 

따라서 저희 조에서는 새로운 영상 개선 알고리즘을 도입하고자 하였습니다. “Gated Context Aggregation Network for Image Dehazing and Deraining” 이라는 논문의 알고리즘을 기본으로 하여 저희가 적용하고자 하는 환경에 맞춰 개선시켜 사용할 예정입니다. 우선 기본적인 알고리즘의 구조는 다음과 같습니다. 

 

일반적인 Dehazing 방법과 유사하게 hazed된 실제 카메라에 찍힌 이미지를 network의 input으로 주고, haze에 의해 왜곡되기 전인 깨끗한 이미지를 output으로 주어 haze 성분만을 제거하는 네트워크를 학습시킵니다. 
저희가 사용할 알고리즘에서는 이에 추가적으로 Smoothed dilated convolution, Gated fusion sub-network 기술을 이용하여 복원력을 높이고 있습니다. 

[Smoothed Dilated Convolution]
Smoothed dilated convolution은 기존의 dilated convolution의 결점을 완화시킨 기술입니다. 기존의 dilated convolution은 down sampling, convolution, 그리고 up-sampling을 반복하는 네트워크에서 발생하는 해상도 손실을 줄여주는 기술입니다.
 

 

하지만 이 기술은 convolution 당시 kernel을 한 칸씩 간격을 두어 진행하기 때문에 output에서 각 픽셀 사이의 receptive field 정보가 사라진다는 단점을 가지고 있게 됩니다. 따라서 smooth dilated convolution에서는 dilated convolution이전에 한번 추가적으로 convolution을 진행하여 각 픽셀 간의 관계를 추가로 학습시키는 과정을 거쳐 이러한 문제를 해결할 수 있게 되었습니다.

 

[Gated Fusion Sub-Network]
이 기술의 경우 서로 연산 된 정도가 다른 서로 다른 레벨의 feature map을 융합하는 feature pyramids network 방법을 이용한 것입니다. 이 알고리즘에서는 residual 연산이 된 정도에 따라 3가지의 feature map (Fl, Fm, Fh)를 gated fusion sub-network G에서 합쳐주는 과정을 진행합니다. 따라서 각 feature map에서의 합쳐서 dehazing을 진행하기 때문에 각 경우에서 알맞게 학습된 weight를 통합하여 dehazing을 진행할 수 있게 되는 것입니다. 

다음 이미지는 모델 학습에 사용되지 않은 새로운 이미지를 이용하여 deraining을 테스트한 결과 입니다. 

 

그리고 실제 저희가 물방울을 뿌려 흐리게 만든 이미지에 dehazing 알고리즘을 적용시킨 결과는 다음과 같습니다. 

 

 

3. 카메라 모듈 제작 및 서버 구축

제작할 쿼드콥터의 여유 payload에 맞추기 위해 카메라 모듈을 적절히 아래와 같이 구성하였습니다.

위와 같이 젯슨 나노 보드 위에 카메라, 통신 모듈을 부착하여 구축하였습니다. NVDIA 사의 Jetson 시리즈에는 NVIDIA의 좋은 GPU인 CUDA가 존재하기 때문에 이미지를 학습 및 처리하는 결과를 모듈제작 단계에서도 확인할 수 있었습니다.
SKT의 5GX MEC 통신 인프라를 활용하는 시스템을 구성하기 위해 카메라 모듈 단계에서 5G 통신을 사용했습니다. 따라서 보드에 올라가는 5G 통신 단말이 필요한데, 접근성이 좋은 휴대폰의 5G 단말을 이용하고자 USB tethering으로 통신하기로 하였습니다.
각 기기의 무게는 위와 같이 측정되었고, 기타 연결 잭 및 최종 조립 부품을 합하면 대략 1.5kg~2kg 을 예상했습니다. 따라서 2~3kg의 추가 payload를 기준으로 구성한 쿼드콥터에 안전하게 부착 할 수 있습니다.

젯슨나노의 환경은 위와 같이 구성했습니다. VNC 서버도 구축하여 잘 동작함을 확인하였고, 영상도 선명하게 찍히는 것을 확인하였습니다.

5GX MEC 대체 서버로 5g 통신망에서 아마존 AWS 서버를 사용하기로 하였습니다. 특히 AWS Kinesis Video Streams는 실시간 비디오 양방향 스트리밍을 지원하고 Amazon Rekognition Video 등에서 비전 학습 등을 진행할 수 있습니다.

 

 

⚡추후 진행 계획⚡

1. 쿼드콥터 제작

쿼드콥터 제작 단계에서 남은 과제는 파워 연결 회로를 납땜을 통해 완성시키고 Controller에 landing gear와 ESC를 연결하는 것입니다. 마지막으로 전선을 정리한 후 드론 프레임을 재조립하고 드론 제작을 마무리 할 계획입니다. 납땜기와 흡입기, 환풍 공간이 필요한 작업이라 POSTECH 창업 단지 내에 공작실이 9월 중순에 개관하여 그곳에서 9월 안으로 하드웨어 프로젝트는 완성시킬 계획입니다.

 

2. 영상개선 알고리즘 구축

흐림 개선과 빗줄기를 제거하는 알고리즘을 동영상에 적용했을 때 연속성이 떨어진다는 문제가 있습니다. 저희는 앞으로 알고리즘에 Robustness를 주기 위해 기존 학습 데이터를 augumentation 방법을 이용하여 양을 늘리고 generalize하여 조금의 input 변화에는 output의 영향력이 떨어지는 것을 이용해 동영상의 연속성을 높이려고 합니다.

 

3. 카메라 모듈 제작 및 서버 구축

AWS 프레임워크 내에서 스트리밍과 알고리즘 적용 부분을 구성할 것입니다. 또한 웹 UI/UX를 매우 간단히 구성하여 사용자가 웹을 통해 손쉽게 스트리밍 할 수 있도록 할 것입니다. 오로지 스트리밍을 위한 단방향 서버 구축을 예상하고 있습니다.

 

최종 발표때 시연이 가능하도록 남은 기간 더욱 더 연구에 매진하도록 하겠습니다. 많은 도움을 주신 정승록 멘토님 및 담당자님 분들께 매우 감사드리고 앞으로도 잘 부탁드립니다! 

 

 

🌈게르브와

이석호 (leeseokho@postech.ac.kr)
김계윤 (gyeyoonkim@postech.ac.kr)
이종목 (jongmok7@postech.ac.kr)

 

kgy990605 님의 최신 블로그

더보기

관련 블로그