Skip to content

Digital-System-Design-Lab/Selfie-Camera-by-Human-Segmentation-Depth-Map

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Human Segmentation과 Depth Map으로 구성된 3D 가상 환경에서의 Selfie-Camera Application 구현

  • Project Name: Selfie-Camera Application In 3D Virtual Space With Human Segmentation of 360 Image And Depth Map
  • Project Member: 김현조(@hyunjoebrother), 이성인(@adultlee)
  • Project Team: 인하대학교 정보통신공학과 정보통신종합설계 (지도교수: 이채은 교수님)
  • Project Date: 2022.06.21 ~ 2022.12.14



✔요약

본 논문은 Selfie-Camera 어플리케이션을 통해 실내 공간의 360 이미지 배경을 바탕으로 구성된 3D 가상환경에서 사용자는 입체적인 공간과 Object와 상호작용을 경험할 수 있는 서비스를 제안한다. Unity를 통해 이미지 배경으로 3D 가상환경을 구현하고, 해당 환경에서 Human Segmentation으로 real-time하게 사용자와 배경을 자연스럽게 분리하는 동시에 자이로센서를 이용한 Background Control을 한다. 360 이미지로부터 도출한 Depth Map으로 공간 정보를 담고 있는 Point Cloud를 생성하여 Mesh를 구성해 3D 공간 내 Object와 상호작용을 하여 사용자에게 다양한 경험을 제공하도록 한다.

✔Abstract

In this paper, we propose a service that user can experience the three-dimensional space which is 3D virtual environment that composed by 360 background indoor-aspect image and can interaction with the object by this Selfie-Camera Application. Using by Unity to develop 3D virtual environment with background image, need to naturally separate user and background on real-time using by Human Segmentation at the same time progress with Background Control by Gyro sensor at same environment. Using Depth Map which derived from the 360 image can generate Point Cloud that contain spatial information and construct the mesh to interaction with object which placed inside of 3D space and finally makes to offer various experience for user.



⚙개발환경

  • Unity Editor 2020.3.37f1
  • Barracuda 1.3.2-preview
  • Graphic API - OpenGLES3, minimum API level 24 (Android 7.0 'Nougat')
  • Python 3.9.12 Open3d 0.15.1 Conda 4.12.0
  • SW CloudCompare, MeshLAB



✨설계블록도 flowchart




📌주요 기능1️⃣ - Human Segmentation

✔BodyPix

  • ML 라이브러리인 tensorflow를 이용하여 브라우저에서 사람과 신체의 각 부분을 분할
  • 딥러닝에 기반한 이미지 분할 분석 모델은 CNN 네트워크를 기반으로 만들어짐
  • Tensorflow Blog 공식 문서

✔Barracuda

  • Unity를 위한 경량으로 크로스 플랫폼의 뉴럴 네트워크 추론 라이브러리
  • AI모델의 형태와 무관하게 내장 가능
  • Unity-Technologies 깃허브


📌주요 기능2️⃣ - Virtual Space Background

✔360 Background Space 생성

  • 360 Background Image를 가상 공간 Sphere의 Texture로 입혀서 3D 오브젝트 겉표면에 mapping

✔자이로센서 Background Control

  • 자이로센서 (Gyro Sensor), 스마트폰의 미세한 회전방향과 기울기를 감지
  • 이동하는 각도와 방향에 따라서 Background Control하여 사용자에게 자연스러운 3D 내부 환경을 인식

✔Pre-trained Model로 Depth Map 도출

✔Open3d를 통한 Point Cloud 및 Mesh 생성



💥Project Result

✔Human Segmentation & Android Build

✔Pre-trained Model로 Depth Map 도출 결과

✔Point Cloud 및 Mesh 생성 결과



📊Experimental Analysis

✔Pre-trained Model Compare

✔FPS Compare by Optimization

| ✒ Optimization

  • Resize Background Image Resolution (10000x5000, 29.1MB > 1024x512, 133KB)
  • Segmentation useless Mesh (23.5MB > 18.6MB)


About

2022년도 인하대학교 정보통신공학과 졸업프로젝트 작품

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 81.9%
  • ShaderLab 18.1%