open:모바일-환경에서-실시간-portrait-segmentation-구현하기

모바일 환경에서 실시간 Portrait Segmentation 구현하기

최근 딥러닝의 발전으로 전에 없던 다양한 서비스들이 개발되고 있습니다. 그러나 아직 대부분의 딥러닝 기반 서비스는 기술적 한계로 인해 서버 상에 배포되는 경우가 많고, 이런 서버 배포 모델은 통신에 드는 비용으로 인해 실시간 서비스에 적용하기 어려운 문제가 있습니다.

본 세션에서는 하이퍼커넥트에서 서비스 중인 아자르에 모바일 상에서 구동 가능한 실시간 portrait segmentation 기능을 개발하여 적용하기까지 사용했던 기술과 경험을 공유하려 합니다. Portrait segmentation은 사진 혹은 영상 속에서 전경과 배경을 구분해내는 기술로, 세션에서 소개할 방법들을 통해 Galaxy J7과 같은 저가형 휴대폰에서도 single-core로 30 프레임 영상의 전경과 배경을 분리하는 애플리케이션을 만들 수 있었습니다. 세션 내용은 모델의 크기와 추론 시간을 줄일 수 있는 일반적 기술에 대한 소개와 실제로 TFLite를 사용한 모바일 애플리케이션을 만들며 겪은 시행착오 위주로 구성됩니다.

보다 자세한 내용이 궁금하신 분들은 하이퍼커넥트 기술 블로그(https://hyperconnect.github.io)를 참고 부탁드립니다.

  • 1. 모바일 딥러닝
    • 모바일 딥러닝의 현재
    • 데모 프로젝트를 상용 서비스로 만들때의 유의점
  • 2. Portrait Segmentation 101
    • Portrait Segmentation을 어디에 쓸 수 있을까?
  • 3. 추론(inference) 시간을 줄이려면?
    • Quantization
    • Factorization
    • Distillation
    • Model design principles
  • 4. Single-core로 30프레임 성능을 내기까지
    • TFLite 최적화 구현 활용하기
    • TFLite 구현시 마주하는 함정들과 해결법
    • SIMD로 bilinear upsampling 구현하기
  • 서석준하이퍼커넥트 / 머신러닝 엔지니어
  • 하이퍼커넥트에서 실제 서비스에 사용할 수 있는 머신러닝 기술을 만들기 위해 노력하고 있습니다.

  • open/모바일-환경에서-실시간-portrait-segmentation-구현하기.txt
  • 마지막으로 수정됨: 2020/06/02 09:25
  • 저자 127.0.0.1