Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
테크니컬
리포트
2020년 2차
인공지능
학습용
데이터 구축
미디어 영역 사람행동 영상 과제
신체 말단 움직임 영상 데이터
개요: 신체말단 데이터셋
신체말단 중 가장 중요도가 높은 손과 입술의 각 부위에 대한 2D/3D 위치 데이터로 구성되어 있다. 손 자세 추정(Hand Pose Estimation)과 독순술(Lip reading) 기술 개발에 활용할 수 있는 학습 데이터 셋으로 ㈜KT에서 구축했으며, 손과 입 각각 5만 클립, 10만 클립의 영상, 2D/3D 관절 위치, 3차원 형상(mesh)으로 구성되어 있다.
손 자세 추정(Hand Pose Estimation)은 각 관절의 높은 자유도, 시점 변화, 자기폐색(self occlusion)등의 원인으로 도전적인 분야 중의 하나이다. 독순술(Lip reading)은 입술 움직임을 분석하여 상대방이 무슨 말을 하는지 알아듣는 기술로 전세계적으로 청각 장애인들에게 보급하기 위한 연구가 진행되고 있다.
신체말단 위치 추정의 사례에 대해서는 아래를 참고할 수 있다.
그림 1 신체말단 위치 추정의 사례(좌 : 손, 우: 입)
데이터셋의 구성
· 손 데이터셋
본 데이터셋은 손 자세 추정 연구에 활용될 수 있도록 어노테이션된 2차원 영상 5만 클립, 손가락과 손바닥 영역으로 분할된 2차원 영상 5만 클립, 3차원 관절 위치 10만 개 , 3차원 손 모델 10만개로 구성되어 있다.
데이터 종류
2D 영상
3D 모델
3D 손 자세
손 영역 분할
예시
데이터 구성
Full-HD 영상,
카메라 파라미터
30K 이상 polygon
21개 관절 위치
6개 영역 분할
데이터 포맷
jpg 파일 포맷
obj 파일 포맷
json 파일 포맷
png 파일 포맷
표 1 손 학습용 데이터셋 구성
데이터 종류
데이터 규모
제공 방식
2D 영상
2~3초 동작 클립
5만 클립(50만장)
mp4, JSON 파일
3D 데이터
3D 모델
10만개
OBJ 포맷 파일
Labeling 데이터
3D 손 자세(관절 위치)
10만개
JSON 포맷 파일
2D 손 영상분할
5만 클립(50만장)
mp4, JSON 파일
표 2 손 데이터의 종류와 규모
· 입술 데이터셋
입술 데이터셋은 한글 독순술 연구에 활용하는 2차원 영상 10만 클립과 2차원 위치 50만장, 그리고 3차원 입술모델 10만개로 구성되어 있다. 2차원 영상 국립국어연구원에서 배포한 ‘한국어 학습용 어휘’에서 자주 사용하는 단어 1,000개를 선정하여 200명의 배우를 대상으로 발화하는 영상을 직접 촬영하였다. 2차원 위치는 입술 특징점 24개에 대한 2차원 좌표를 표시하였으며, 입술의 위치 정보를 검출하기 위해 사용된다. 3차원 입술모델은 10개의 카메라로 촬영하여 획득한 시점으로 생성한 3차원 모델로 3차원 위치를 추정하기 위해 사용된다.
데이터 종류
2D 비디오
2D 입술 데이터
3D 모델
예시
데이터 구성
Full-HD 영상,
카메라 파라미터
22개
입술 특징 위치 (x, y)
30K 이상 polygon
데이터 포맷
mp4 파일 포맷
json 파일 포맷
obj 파일 포맷
표 3. 입술 학습용 데이터셋 구성
데이터 종류
데이터 규모
제공 방식
2차원 영상
단어 말하는 영상
10만 클립
mp4 포맷 파일
3D 데이터
3D 모델
10만개
OBJ 포맷 파일
Labeling 데이터
입술 특징 위치
50만장
JSON 포맷 파일
표 4 입술 데이터의 종류와 규모
데이터셋의 설계 기준과 분포
데이터셋은 subject 외형의 다양성 및 다양한 움직임을 포함하도록 설계되었다. 손과 입술 데이터셋 모두 남녀 100명씩 200명에 대해 촬영을 진행하였으며 연령대는 10대부터 60대까지 골고루 분포 시킴으로써 데이터셋의 편향성을 최소화하였다.
연령대 인원(명)
10대 이하
10대
20대
30대
40대
50대
60대 이상
20
20
35
35
30
30
30
표 5 신체 말단 데이터셋 촬영 인원 분포
그림 2 데이터셋 연령대 별 분포
· 손 데이터셋
한국인들이 일상적으로 사용하는 손 자세와 악기를 다루는 손 자세 및 지문자로 구성된 데이터셋은 손가락 움직임의 다양성을 가지도록 설계되었다.
- 구축 데이터 동작 분류: 약 70개
- 손 동작 분류
기본일상
악기
지문자
일상
숫자
인터페이스
양손
도구
피아노
가야금
기타
자음
모음
80,000
50,000
20,000
40,000
80,000
20,000
32,000
32,000
126,000
28,000
그림 3 데이터셋 구성 개요
손 자세 종류의 구성은 다음과 같다.
· 기본 일상 : 손하트, 엄지척과 같은 일상의 손 제스처 15종, 손가락으로 숫자를 표현하는 10종, AR/MR기기에서 쓰이는 인터페이스 제스처 4종, 양손을 사용하는 제스처 4종, 그리고 도구를 사용하는 손 자세 8종으로 구성되어 있다.
· 악기 연주 : 일반인이 가장 많이 연주하는 피아노와 기타가 포함되어 있고, 한국 전통악기인 가야금이 추가되어 있다. 각 악기별로 평균 7종의 손 자세 데이터셋으로 구성되어 있다.
· 지문자 : 한글 지문자는 한글 자음 모음 체계에 따라 구성되어 있으며 같은 손 자세가 회전에 따라 다른 자음 또는 모음을 나타내는 경우는 같이 촬영하여 데이터셋을 획득하였고, 16종으로 구성되어 있다.
index
동작분류
동작
세부설명
비고
1
기본
일상
일상
손바닥 펴기 & 붙이서 펴기
2
손 하트
3
주먹 쥐기
4
손가락 오므리기
5
통화 모양
6
지켜 봄
7
장수와 번영
8
air quote
9
엄지 척
10
락앤롤
11
가려운 곳 긁는 손
12
꼬집기
13
손 앞으로 모으기
14
검지, 중지 교차
15
엄지, 중지 붙이기
16
엄지, 약지 붙이기
17
엄지, 소지 붙이기
18
숫자
1~2 숫자 세기
19
3~4 숫자 세기
20
5~6 숫자 세기
21
7~8 숫자 세기
22
9~0 숫자 세기
23
인터
페이스
엄지, 검지 붙였다 떼기/이동
24
손바닥 좌우로 휘젓기
25
검지 구부렸다 펴기
26
손가락 모았다 펴기(bloom)
27
양손
양손 붙이기
28
양손 하트
29
약속하기
30
응원하기
31
도구
사용
탁구 라켓 잡은 손
32
골프채 잡은 손
33
글씨 쓰는 손 1
34
글씨 쓰는 손 2
35
스마트폰 잡고 문자하는 손
36
머그컵 잡은 손
37
농구공 잡은 손
38
악기
연주
피아노
키보드 치는 손
39
한 손가락으로 건반 누름
40
두 손가락으로 건반 누름
41
세 손가락으로 건반 누름
42
네 손가락으로 건반 누름
43
다섯 손가락으로 건반 누름
44
가야금
튕김 주법 1
45
튕김 주법 2
46
농현 주법 1
47
농현 주법 2
48
전성 주법 1
49
전성 주법 2
50
전성주법 3
51
기타
손가락으로 줄 튕김
52
피크 잡은 손
53
코드 잡은 손 1
54
코드 잡은 손 2
55
코드 잡은 손 3
56
코드 잡은 손 4
57
코드 잡은 손 5
58
코드 잡은 손 6
59
지문자
자음
ㄱ,ㄴ
60
ㄷ,ㅅ,ㅑ,ㅕ,ㅛ,ㅠ
61
ㄹ
62
ㅁ
63
ㅂ
64
ㅇ
65
ㅈ
66
ㅊ
67
ㅋ
68
ㅌ
69
ㅍ
70
ㅎ
71
모음
ㅏ,ㅓ,ㅜ,ㅗ
72
ㅡ,ㅣ
73
ㅐ,ㅔ,ㅚ,ㅟ,ㅢ
74
ㅒ,ㅖ
표 6 손 동작 분류 74가지
· 입술 데이터셋
입술 데이터셋은 국립국어원에서 배포한 ‘한국어 학습용 어휘’에서 자주 사용하는 단어 1,000개를 선정하였으며, 200명의 배우를 섭외하여 단어를 발화하는 영상을 촬영하였다. 단어는 다양성을 고려하기 위해 11개의 품사에서 선정하였으며, 추가로 일상에서 자주 사용되는 생활용어를 추가하였다.
감탄사
고유
명사
관형사
대명사
동사
보조
용언
부사
수사
의존
명사
형용사
명사
생활
용어
합계
12
21
25
25
151
2
61
35
28
69
514
57
1,000
그림 4 품사별 분류 분포
데이터 구조
· 손 데이터셋
데이터셋의 어노테이션 설계는 손의 3D 자세 및 형태 추정에 도움을 줄 수 있도록 3D 손 자세(skeleton)와 3D 메쉬로 구성함.
1. 3D 손 자세 정보
· 21개의 관절로 구성되어 있고, 이는 HANDS2019의 구성을 참고하여 데이터셋의 확정성을 보장한다. 구체적인 관절 이름과 위치는 다음 그림과 같다.
그림 5 3D 손 관절 위치
2. 파일 구조 및 데이터 형태
· Mesh 파일 이름 형태
{actor_index}_{mesh_index}_{cloth_index}_{motion_index}_{person_ID}_{frame}.obj
· 데이터셋 폴더 구조
{actor_index}_{mesh_index}_{left_index}_{motion_index}_{frame} (directory)
3. 어노테이션 포맷
No
항목
내용
타입
필수여부
1
Mesh
Mesh 정보
List
Y
1
Id
Mesh ID
Number
Y
2
texture_file_name
Texture 파일 이름
String
Y
3
obj_file_name
Obj 파일 이름
String
Y
4
image_list
Mesh 구성 영상 목록
List
Y
5
actor_id
배우 ID
Number
Y
2
Images
영상 (image)
List
Y
1
image_id
영상 (image) ID
Number
Y
2
height
영상 세로 크기
Number
Y
3
width
영상 가로 크기
Number
Y
4
frame_index
비디오 내 프레임 인덱스
Number
Y
5
file_name
영상 파일 이름
String
Y
6
license
라이선스 정보
Number
Y
7
depth_file
깊이 영상 파일 이름
Number
Y
3
categories
카테고리
List
Y
1
type
데이터 타입
String
Y
2
type_id
데이터 타입 ID
Number
Y
3
structure
손 구조
List
Y
3-1
structure[i]
손 연결 정보
List[a, b]
Y
4
key points
손 특징점 라벨
List
Y
4-1
key points[i]
손 특징점 라벨 정보
String
Y
5
segments
손 영역 라벨
List
Y
5-1
segments[I]
각 손 영역 라벨 정보
String
Y
6
word
단어 정보
Int
Y
4
annotations
어노테이션
List
Y
1
id
어노테이션 ID
Number
Y
2
image_id
영상 ID
Number
Y
3
video_id
비디오 ID
Number
Y
4
actor_id
배우 ID
Number
Y
5
type_id
데이터 타입 ID
Number
Y
6
box
바운딩 박스
List [x, y, w, h]
Y
7
segmentation
손 영역
List
Y
7-1
counts
RLE 방식의 영역 분할
List
Y
7-2
size
손 영역 맵 크기
List [w, h]
Y
8
area
바운딩 박스 내 영역 크기
Number
Y
10
keypoints_2d
2차원 위치
List
Y
10-1
x, y, visibility
2차원 위치 정보
Number
Y
11
keypoints_3d
3차원 위치
Number
Y
11-1
x, y, z
3차원 위치 정보
Number
Y
5
actors
배우
List
N
1
license
라이선스 정보
String
N
2
image_id
영상 고유번호
Number
N
3
image_path
영상 파일 경로
String
N
4
video_id
비디오 고유번호
Number
N
6
videos
비디오
List
Y
1
Id
비디오 ID
List
Y
2
frame_rate
프레임 레이트
Number
Y
3
width
비디오 가로 크기
Number
Y
4
height
비디오 세로 크기
Number
Y
5
camera_id
카메라 ID
Number
Y
6
parameters
카메라 파라미터
List
Y
6-1
intrinsic
내부 파라미터
List
Y
6-2
extrinsic
외부 파라미터
List
Y
7
file_name
비디오 파일 이름
String
Y
8
date_capture
촬영 날짜
String
N
7
license
라이선스 정보
List
Y
1
id
라이선스 ID
Number
Y
2
name
라이선스 이름
String
N
3
url
라이선스 사이트 주소
String
N
8
info
기타정보
String
Y
1
version
데이터 버전
String
N
2
description
데이터 이름
String
N
3
year
생성 년도
Number
N
4
contributor
제공자
String
N
5
url
데이터 사이트 주소
String
N
6
date_create
생성 날짜
String
N
표 7. 손 어노테이션 포맷
4. 데이터 구성 형태
Data
Format
├ Annotation
Json
⎿ Section
Array
├ Image
JPG, PNG
├ Word [1]
├ Camera [1]
├ Camera [∙∙∙]
├ Camera [N]
├ Word [∙∙∙]
⎿ Word [1000]
├ Video
AVI, MP4
├ Word [1]
├ Camera [1]
├ Camera [∙∙∙]
├ Camera [N]
├ Word [∙∙∙]
⎿ Word [100]
⎿ Mesh
OBJ
├ Word [1]
├ Word [∙∙∙]
⎿ Word [100]
표 8. 손 데이터 구성 형태
· 입술 데이터셋
1. 2D 입술 정보
총 24개의 특징점으로 구성되며 크게 바깥쪽 입술과 안쪽 입술로 구분한다. 인덱스 0 ~ 11은 입술의 바깥쪽이며, 12 ~ 23은 입술의 안쪽이다. 0번은 입술 바깥쪽의 좌측, 6번은 우측, 3번은 상단(움측 패인 부분), 9번은 하단, 2번과, 4번은 입술의 튀어나온 부분이다.
그림6. 입술 특징점
Index
입술 정보
Index
입술 정보
0
outer_0_left
12
inner_0_left
1
outer_1
13
inner_1
2
outer_2
14
inner_2
3
outer_3_top
15
inner_3_top
4
outer_4
16
inner_4
5
outer_5
17
inner_5
6
outer_6_right
18
inner_6_right
7
outer_7
19
inner_7
8
outer_8
20
inner_8
9
outer_9_bottom
21
inner_9_bottom
10
outer_10
22
inner_10
11
outer_11
23
inner_11
표 9. 입술 특징점 위치 및 label
2. 파일 구조 및 데이터 형태 - Mesh 파일 이름 형태
{actor_index}_{mesh_index}_{word_index}_{person_ID}_{frame}.obj
- 폴더 구조
Dataset (root)
{actor_index}_{mesh_index}_{word_index}_{frame} (directory)
3. 어노테이션 포맷
No
항목
내용
타입
필수여부
1
Mesh
Mesh 정보
List
Y
1
Id
Mesh ID
Number
Y
2
texture_file_name
Texture 파일 이름
String
Y
3
obj_file_name
Obj 파일 이름
String
Y
4
image_list
Mesh 구성 영상 목록
List
Y
5
actor_id
배우 ID
Number
Y
2
Images
영상 (image)
List
Y
1
image_id
영상 (image) ID
Number
Y
2
height
영상 세로 크기
Number
Y
3
width
영상 가로 크기
Number
Y
4
frame_index
비디오 내 프레임 인덱스
Number
Y
5
file_name
영상 파일 이름
String
Y
6
license
라이선스 정보
Number
Y
7
depth_file
깊이 영상 파일 이름
Number
Y
3
categories
카테고리
List
Y
1
type
데이터 타입
String
Y
2
type_id
데이터 타입 ID
Number
Y
3
structure
입술 구조
List
Y
3-1
structure[i]
입술 연결 정보
List[a, b]
Y
4
key points
입술 특징점 라벨
List
Y
4-1
key points[i]
입술 특징점 라벨 정보
String
Y
5
segments
입술 영역 라벨
List
Y
5-1
segments[I]
각 입술 영역 라벨 정보
String
Y
6
word
단어 정보
Int
Y
4
annotations
어노테이션
List
Y
1
id
어노테이션 ID
Number
Y
2
image_id
영상 ID
Number
Y
3
video_id
비디오 ID
Number
Y
4
actor_id
배우 ID
Number
Y
5
type_id
데이터 타입 ID
Number
Y
6
box
바운딩 박스
List [x, y, w, h]
Y
7
segmentation
입술 영역
List
Y
7-1
counts
RLE 방식의 영역 분할
List
Y
7-2
size
입술 영역 맵 크기
List [w, h]
Y
8
area
바운딩 박스 내 영역 크기
Number
Y
10
keypoints_2d
2차원 위치
List
Y
10-1
x, y, visibility
2차원 위치 정보
Number
Y
11
keypoints_3d
3차원 위치
Number
Y
11-1
x, y, z
3차원 위치 정보
Number
Y
5
actors
배우
List
N
1
license
라이선스 정보
String
N
2
image_id
영상 고유번호
Number
N
3
image_path
영상 파일 경로
String
N
4
video_id
비디오 고유번호
Number
N
6
videos
비디오
List
Y
1
Id
비디오 ID
List
Y
2
frame_rate
프레임 레이트
Number
Y
3
width
비디오 가로 크기
Number
Y
4
height
비디오 세로 크기
Number
Y
5
camera_id
카메라 ID
Number
Y
6
parameters
카메라 파라미터
List
Y
6-1
intrinsic
내부 파라미터
List
Y
6-2
extrinsic
외부 파라미터
List
Y
7
file_name
비디오 파일 이름
String
Y
8
date_capture
촬영 날짜
String
N
7
license
라이선스 정보
List
Y
1
id
라이선스 ID
Number
Y
2
name
라이선스 이름
String
N
3
url
라이선스 사이트 주소
String
N
8
info
기타정보
String
Y
1
version
데이터 버전
String
N
2
description
데이터 이름
String
N
3
year
생성 년도
Number
N
4
contributor
제공자
String
N
5
url
데이터 사이트 주소
String
N
6
date_create
생성 날짜
String
N
표 10. 입술 어노테이션 포맷
3. 데이터 구성 형태
Data
Format
├ Annotation
Json
⎿ Section
Array
├ Image
JPG, PNG
├ Word [1]
├ Camera [1]
├ Camera [∙∙∙]
├ Camera [N]
├ Word [∙∙∙]
⎿ Word [1000]
├ Video
AVI, MP4
├ Word [1]
├ Camera [1]
├ Camera [∙∙∙]
├ Camera [N]
├ Word [∙∙∙]
⎿ Word [100]
⎿ Mesh
OBJ
├ Word [1]
├ Word [∙∙∙]
⎿ Word [100]
표 11. 입술 데이터 구성 형태
데이터 구축 과정
1. 데이터 구축 개요
데이터는 총 6단계의 과정-적재, 전처리, 작업자 관리, 가공, 검증, 분할-을 거치며 구축되어진다. 어노테이션 및 라벨링은 분석, 설계, 세팅, 가공의 순서에 맞춰 진행되고 효율적인 작업을 위해 가공 전문 툴을 기반으로 어노테이션 및 라벨링을 진행한다.
그림 7. 데이터 획득, 가공, 검증 프로세스
2. 데이터 획득
· 모든 데이터 직접 촬영: 웹 크롤링 같은 간접 데이터 수집이 아닌 컨소시엄 참여업체를 통한 직접 획득을 통해 원천 데이터 - 2D 영상 및 3D 모델 을 확보함
· [개인정보 보호 준수] 법률적 확보 방안: 명확한 용도 제시와 사용 목적이 포함된 개인정보 및 초상권에 대한 사용 동의서를 작성하고, 데이터 제공자에게 충분히 알린 다음, 동의를 구하여 법률적 문제를 해결함
·
3. 데이터 가공
분석 절차에서는 데이터셋 및 요구사항을 정의하고, 설계 및 세팅 절차에서는 어노테이션 유형, 분류, 기준등을 설청하고 작업이미지를 포팅한다. 가공 절차에서는 온라인 및 오프라인으로 가공 작업을 진행하고 완료되면 검수자에게 자동으로 전달되고 작업자간 실시간 소통으로 가이드라인 기준 보완등을 가능하게 한다.
그림 8. 어노테이션 및 라벨링 절차
그림 9. 어노테이션 및 라벨링 툴
검수와 품질 확보
어노테이션 공정별 6단계 절차로 검수 진행(2인 이상 수작업 검증 실시)하고, 공정별 품질 관리 목표를 설정하고 진단 개선을 통해 고품질 AI 학습 데이터를 제작한다.
구 분
프로세스
설명
데이터 분석
대상 식별
고객사의 품질관리 요구사항을 확인
품질관리를 수행할 대상을 구체화 및 문서화
데이터 설계
규칙 정의
품질관리 대상에 대한 프로파일링을 시행하고
품질 측정 및 통제를 위한 지표를 설정
설정된 품질규칙은 데이터 가공 업무규칙에 반영
데이터 가공
측정
데이터 가공 결과물 중 품질관리 대상에 대한 품질 측정
분석
품질 측정 결과를 품질지표와 비교하여 시사점 도출
개선이 필요한 부분에 대한 원인 및 개선방법 분석
개선
오류의 영향도 및 시급성을 고려하여 개선 시행
통제
품질측정-분석-개선이 선순환 구조를 이룰 수 있도록 지속적인 모니터링 수행
표12. 데이터 품질 관리 프로세스
구분
측정 지표
정량 목표
정확도
구조 및 형식
공통
(손,입)
어노테이션 포맷 정확도
정합률 97 % 이상
참값(Ground Truth)
참값 정확도
미태깅율 3% 이하
유효성
학습 성능
손
손 관절 정확도(MPJPE)
논문 기준 1mm 이상
성능 향상 목표
입
독순술 정확도(WER)
논문 기준 Top-5 정확도
3% 이상 성능 향상 목표
표13. 검수 기준표
데이터 구축 담당자
담당
기관
담당자 이름
연락처 (이메일)
데이터 셋 총괄
(주) 케이티
소영준
AI 모델 설계 (손)
주) 케이티
이유
AI 모델 설계 (입)
주) 케이티
이규철
데이터 수집
(주) 이오이스
김헌기
데이터 정제
홍익대학교 산학협력단
임익수
데이터 가공
(주) 에이모
윤여근
1
신체
말단
검출