2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)
테크니컬 · 2020. 12. 16. · 10_F160A_003.obj 3D Shape 표1데이터구성 2D...
Transcript of 테크니컬 · 2020. 12. 16. · 10_F160A_003.obj 3D Shape 표1데이터구성 2D...
테크니컬
리포트
2020년 1차
인공지능
학습용
데이터 구축
헬스케어영역
사람인체자세 3D
개요: 사람인체자세 3D AI 데이터셋이란?
사람의 자세와 형태를 추정하기 위한 데이터셋으로 ㈜스위트케이에서 구축했으며, 50만건의 3D 인체 형상
모델과 이미지 200만장으로 구성되어 있다.
활용 AI 임무로는 이미지로부터 사람의 2차원 관절 정보를 추정하는 2D Human Pose Estimation, 3차원 관절
좌표를 추정하는 3D Human Pose Estimation, 사람의 3차원 형태를 추정하는 Human Pose Estimation 등에
활용 및 연구되고 있다.
그림 1 사람 인체 자세 데이터셋의 이해 및 AI 임무 유형
데이터셋의 구성
본 데이터셋은 기 공개되어 있는 3D 데이터셋 분석 및 설문 조사를 통하여 총 70종의 동작을 선정하고 이를
성별, 신장, 몸무게에 따라 선별된 24명의 액터들이 수행한다. 데이터셋 구성은 액터별 기본 Shape parameter,
3D 스캔 정보와 동작 종류, 촬영 카메라 정보가 기본적으로 포함 되어 있으며 촬영된 액터의 이미지와 2D, 3D
관절 데이터, Point cloud 데이터, 3D shape 데이터로 구성되어 있다. 이미지는 촬영된 동작별 액터 영상에서
프레임 단위로 이미지를 추출한다. 이렇게 생성된 이미지를 통해서 2D 및 3D 관절 정보를 추출하며, Point
cloud 데이터는 영상 촬영시 100여대의 Multi view 카메라에서 획득한다.
그림 2 데이터셋 구성
데이터셋의 설계 기준과 분포
데이터셋을 설계할 때 가장 중요하게 고려했던 점은 데이터 밸런스이다. 남/여 , 신장, 비만도 등 체형 별로
다양한 액터를 구성 하고, 기 공개되어 있는 3D 데이터셋 분석 및 설문 조사를 통한 동작 종류를 선정하여
데이터를 분류 하여 골고루 데이터가 분포되도록 설계하여 학습 시 발생할 수 있는 데이터 편향성을 최소화
하도록 했다.
엑터별 분류 특징은 다음과 같다.
� 성별 : 총 24명을 액터 중 성인기준으로 남자 12명, 여자 12명으로 선별 하였다.
� 신장: 남자는150cm ~ 189cm이하, 여자는 150cm ~ 179cm 신장을 가진 액터를 선별 하였다. 여자의
신체적 특징으로 180이상 액터는 제외 하였다.
� 몸무게 : 남자는 60~ 99kg , 여자는 40,~79kg을 기준으로 엑터를 선별 하였다. 남, 여 신체적
특징으로 남자 40~59kg, 여자 80~99kg 은 제외 하였다.
그림 3 엑터별 분류 분포
동작분류는 기 공개되어 있는 3D 데이터셋 분석 및 설문 조사를 통한 동작 종류를 선정하였다. 걷기,
손흔들기와 같은 일반적인 기본 동작부터, 홈트레이닝, 요가, 스트레칭 등 운동자세, 재활치료에 필요한
BBS등으로 구성하여 다양한 분야에서 활용될 수 있도록 다양하게 구성되어 있다
그림 4 동작 구성
데이터 구조
데이터셋에 따른 항목과 해당 값은 아래 테이블과 같다.
구분 파일 네이밍룰 산출물명
공통 “BodyModel” + “_” + 남/여 + “.fbx”Ex) BodyModel_F.fbx 3D Body Model
액터
actor_no + “.json”Ex) F160A.json Shape Parameter
액터actor_no + “.PLY”Ex) F160A.ply 3D Scan
동작종류 Sequence.json Sequence
카메라 정보
동작종류 + “_” + actor_no+ “_” + 카메라번호 + “.json”Ex)
01_F160A_001.json
Camera Calibration
시퀀스
동작종류 + “_” = actor_no+ “_” + 카메라번호 + “_” +
FrameSeq + “.jpg”Ex) 01_F160A_1_001.jpg
Image
시퀀스동작종류 + “_” = actor_no+ “_” + 카메라번호 + “_”
+ FrameSeq + “.json”Ex) 01_F160A_1_001.json
2D Pose
시퀀스“3D_” + 동작종류 + “_” + actor_no+ FrameSeq +
“.json”Ex) 3D_01_F160A_001.json
3D Pose
시퀀스동작종류 + “_” + actor_no+ FrameSeq + “.ply”Ex)
11_F160B_001.ply
Point Cloud
시퀀스동작종류 + “_” + actor_no+ “.obj”Ex)
10_F160A_003.obj
3D Shape
표 1 데이터 구성
2D 어노테이션 데이터셋 포멧
No 항목 길이 타입필수여부 비고
한글명 영문명
1
1 데이터셋정보 info Object Y
11-1 상위카테고리정보 info.supercategory 100 String Y Human
11-2 동작종류 식별자
info.action_categor
y_id
3 Number Y 70
11-3 액터식별자 info.actor_id 15 String Y F160A
11-4 이미지 가로 사이즈 info.img_width 5 Number Y 1920
11-5 이미지 세로 사이즈 info.img_height 5 Number Y 1080
11-6 카메라 번호 info.camera_no 2 Number Y 1
11-7 데이터셋2D위치값 info.2d_pos 100 List Y [“Pelvis”,...
정보 .]
2
2 어노테이션정보 annotations List Y
22-1 이미지식별자
annotations[].img_
no
100 Number Y
22-2 프레임식별자
annotations[].frame
_no
100 Number Y
22-3 이미지파일경로
annotations[].img_
path
100 String N
22-4 데이터셋2D위치값
annotations[].2d_p
os
1000 List Y
표 2 2D 어노테이션 포멧
3D 어노테이션 데이터셋 포멧
No 항목 길이 타입 필수여부 비고
한글명 영문명
1 데이터셋정보 info Object Y
1-1
데이터셋카테고리
정보
info.supercategory 100 String Y
1-2
데이터셋동작식별
자
info.action_categor
y_id
100 Number Y
1-3
데이터셋액터식별
자
info.actor_id 200 String Y
1-4
데이터셋3D위치값
정보
info.3d_pos 100 List Y
1-5
데이터셋3D회전값
정보
info.3d_rot 100 List Y
2 어노테이션정보 annotations List Y
2-1 프레임식별자
annotations[].frame
_no
100 String Y
2-2 OBJ파일경로
annotations[].obj_p
ath
100 String N
2-3 데이터셋3D위치값
annotations[].3d_p
os
1000 List Y
2-4 데이터셋3D회전값
annotations[].3d_ro
t
1000 List Y
표 3 3D 어노테이션 포멧
데이터 예시
이 데이터는 어노테이션 데이터와 3D Pose 데이터에 대한 예시이다.
그림 5 어노테이션 데이터
데이터 구축 과정
데이터 구축에 필요한 원시 데이터를 선정 한다. 원시데이터 종류는 아래와 같다.
구분 파일 산출물 확장자 산출물 내용
2D & PhotoGeometri
이미지 이미지 *.jpg 2D 이미지
2D & PhotoGeometri포인트
클라우드생성
포토지오메트리 데이터 *.mpo
2D & PhotoGeometri메쉬 데이터 3D 메쉬 데이터 *.obj
표준 모델 데이터 표준 파라미터 적용 모델 3D 메쉬 데이터 *.obj
모션 데이터 2D 이미지에서 얻은 모션 데이터 모션데이터 *.fbx
표준 데이터 모션 데이터가 적용된 표준 모델 표준 모델 애니메이션 *.fbx
표 4 원시데이터 산출물 형태
데이터 획득은 성별, 신장, 몸무게 등으로 24명의 액터를 분류하고, 기 공개되어 있는 3D 데이터셋 분석 및
설문 조사를 통해 선정된 70종의 동작을 수행하며 이를 100여대의 카메라가 동시 촬영이 가능한 스튜디오
환경을 만들어 촬영 하였다.
그림 6 카메라의 구성 및 워크플러우
이렇게 생성된 데이터들은 사전에 액터별로 구축된 스캔 데이터를 이용하여 SMPL model에 fitting하여
획득하며 이 과정을 통해 액터별 shape parameter를 구축 한다.
그림 7 데이터 정제 프로세서
원시 데이터를 얻기 위해서 Captury와 같은 소프트웨어가 필요하며, 액터의 Skeleton 데이터 취득 후,
시나리오에 근거해 촬영된 동영상에서 Skeleton 데이터를 취득한다.
그림 8 데이터 획득 과정
이후 데이터들은 데이터 가공을 위해 웹 기반의 AI 학습 데이터 가공 및 검수 시스템을 활용하여 데이터 가공
및 품질을 확보한다.
구축단계 세부 절차 설명 필수여부
데이터 가공
관절정보 정의 3D/2D 관절정보 정의 필수
데이터 가공 데이터
전처리
3D/2D 데이터 전처리 필수
데이터 가공 시스템 기반
가공 프로세스
시스템 기반 2D 데이터
가공 절차
필수
데이터 가공 관절 데이터
검수
2차 검수자가 DCAMP를
이용하여 어노테이션
데이터 확인 및 수정
필수
표 5 어노테이션/라벨링 절차표
검수와 품질 확보
대량의 데이터를 높은 품질로 생성하기 위하여, 단가는 낮지만 품질 관리가 어려운 크라우드 소싱 방식의
데이터생성 작업을 보완하기 위한 검수 프로세스의 정립은 데이터셋 구축에 매우 중요한 의미를 갖는다. 이
데이터셋에서는 3단계 검수 체계를 구축했는데, 첫번째로는 사전 검수를 통하여 촬영 영상에 문제가 없는지
판단 하였고 두번째로는 데이터 가공 시 전수 검수 과정을 거친다. 한차례 소개 하였던 웹 기반의 AI 학습
데이터 가공 및 검수 시스템을 활용하여 데이터 가공 및 검수를 동시에 실행 한다. 검수 과정은 2차례의 검수
시스템을 통해 진행 되며 품질관리 리더에 의해 수시 교육을 진행하고 2차 검증을 통해 품질을 상향 평준화
한다.
그림 9 2차례 검수 시스템 흐름도
최종적으로 학습의 통해 3차 검증을 진행 한다. 데이터와 관련된 대표적인 모델을 선정하여 2차례 검증이
완료된 데이터에 대해 학습을 진행함으로써 실제 사용자에 관점에서 검증을 진행 한다. 이후 훈련 데이터의
손실 함수 그래프를 통해 학습 데이터의 편향 또는 노이즈에 대한 검수를 진행 한다.