1 of 65

지속가능한 서비스를 위한

개발자용 플랫폼

AI

2 of 65

3 of 65

주제 선정의 이유

AI 모델 개발에서의 난관

파이프라인 부재, 부진한 진척

불필요한 리소스 활용

개발, 배포, 최적화 업무의 협업 어려움

4 of 65

앞선 문제들을 극복하기 위해, 머신러닝 모델의 효율적인 개발과 배포를 가능하게하는 인프라를 구축 및 프로세스를 자동화하는 플랫폼이 필요

주제 선정의 이유

5 of 65

주제 소개

WALKER

기존에 수많은 데이터가 존재하고,

사람마다 달라 정답이 정해져 있지 않은

“걷기"

를 실제와 같이 관절의 움직임과 힘 등을 통해 AI를 학습시킨다.

྿ 학습 데이터 생성, 전처리 파이프라인 구성, (추가)학습, CI/CD, 자원 관리 및

시각화등을 ML-Ops 기반으로 효율적으로 수행하여 개발자의 부담을 최소화한다.

6 of 65

달성 목표

Effectiveness

Reality

Expansion

파이프라인, 클라우드 플랫폼과 CI/CD 서비스로 불필요하거나 반복 작업 시간 단축

Spark 등의 분산 데이터 처리 클러스터 구성으로 작업 효율화

현실성 있는 모델 학습을 위해 다수의 Parameter 설정, 일반화된 모델 구현

실제와 같은 3D 환경에서 물리법칙 하에 움직임이 수행됨

관절의 움직임과 가해지는 힘으로 행동

Kubernetes, Docker와 Jenkins 등을 활용한 플랫폼 확장

AWS S3 등의 DB를 활용하여 접근성 높임

7 of 65

8 of 65

9 of 65

상세설명 - Kubernetes

10 of 65

상세설명 - Kubernetes

Kubernetes Cluster

Master Node

Worker Node1

Worker Node3

Worker Node2

pod

container

pod

container

pod

container

pod

container

pod

container

pod

container

  • API server
  • Controller
  • Scheduler

pod

container

pod

container

Docker Engine (host)

Docker Engine (host)

Docker Engine (host)

11 of 65

상세설명 - Kubernetes

Docker, Helm

spakr_master_deployment.yml

spakr_master_svc.yml

jenkins_tree

docker images

helm list

12 of 65

상세설명 - Kubernetes

상세설명 - Kubernetes

pod

13 of 65

상세설명 - Spark

Spark Master Web UI

14 of 65

상세설명 - Kafka

15 of 65

상세설명 - ZooKeeper

Kafka, Spark를 관리하는 Zookeeper

16 of 65

17 of 65

18 of 65

19 of 65

20 of 65

21 of 65

22 of 65

23 of 65

24 of 65

25 of 65

26 of 65

27 of 65

28 of 65

29 of 65

30 of 65

31 of 65

32 of 65

이름 변경

파일 업로드 후, 삭제

33 of 65

34 of 65

35 of 65

36 of 65

Topic List

37 of 65

38 of 65

이미지 저장

이미지 처리

39 of 65

40 of 65

41 of 65

42 of 65

43 of 65

① 전처리 후 csv 파일 전송

② csv 파일로 demo 학습 데이터 생성

③ 강화학습 & 모방학습, pt 파일과 onnx 파일 전송

44 of 65

상세설명 - 인공지능

프레임 관절 데이터 추출 (Openpose)

① 전처리 후 csv 파일 전송

45 of 65

상세설명 - 인공지능

2D 관절 데이터 ➡ 3D 관절 데이터

① 전처리 후 csv 파일 전송

Light3DPose: Real-time Multi-Person 3D Pose Estimation from Multiple Views

https://github.com/Jacob12138xieyuan/3d-tf-pose-real-time.git

46 of 65

상세설명 - 인공지능

관절 위치 데이터 ➡ 관절 방향 데이터

① 전처리 후 csv 파일 전송

P

Q

P

Q

P

Q

47 of 65

상세설명 - 인공지능

방향 데이터 분석 (기존 Sample)

time-series 데이터를 frequency기반으로 변환한 결과, 특정 주파수에 주도적인 흐름을 확인

① 전처리 후 csv 파일 전송

48 of 65

상세설명 - 인공지능

방향 데이터 분석 (기존 Sample)

=> 연결된 Part간 Direction의 Dependency 높음

① 전처리 후 csv 파일 전송

49 of 65

상세설명 - 인공지능

유효 변수 최소화 및 최적화

forearm

arm

thigh

shin

=> 4개의 값만 시간에 따라 잘 조정하기

① 전처리 후 csv 파일 전송

50 of 65

상세설명 - 인공지능

프레임 방향 데이터 Interpolation

FFT (Fast Fourier Transform)

FFT는 오디오 및 음향 측정 과학 분야에서 중요한 측정법.

신호를 개별 스펙트럼 구성요소로 변환하여 신호에 대한 주파수 정보 제공

어떠한 주기적인 신호의 흐름도 삼각함수의 합으로 구현할 수 있음.

① 전처리 후 csv 파일 전송

51 of 65

상세설명 - 인공지능

보정된 데이터 확인

① 전처리 후 csv 파일 전송

52 of 65

전처리 시연 영상

53 of 65

상세설명 - 인공지능

강화학습과 모방학습 진행계획

Unity에서 ml-agents 출시와 함께 발표된 Walker

오랜 시간 강화학습을 거쳐 Target object를 향해 걷는 법을 익힘

FFT 데이터 전처리를 거쳐, 3D Openpose로부터 추정한 관절 데이터로 움직이는 Walker

(별도의 학습 진행하기 전의 상태)

강화학습

전처리

모방 학습

강화 학습

54 of 65

상세설명 - 인공지능

모방학습 데이터셋 생성

② csv 파일로 demo 학습 데이터 생성

55 of 65

강화학습 Reward 조건

타겟 방향과의 일치, 서 있는 프레임 수, 발 움직임

타겟과의 충돌

③ 강화학습 & 모방학습, pt 파일과 onnx 파일 전송

56 of 65

강화학습 Reward 조건 시연영상

③ 강화학습 & 모방학습, pt 파일과 onnx 파일 전송

57 of 65

모방학습 & 강화학습 시연영상

③ 강화학습 & 모방학습, pt 파일과 onnx 파일 전송

58 of 65

상세설명 - 인공지능

결과 onnx 모델과 .pt 파일 생성

③ 강화학습 & 모방학습, pt 파일과 onnx 파일 전송

59 of 65

상세설명 - 인공지능

여러 모델의 학습 결과 분석

60 of 65

61 of 65

62 of 65

DevOps란

63 of 65

64 of 65

65 of 65