1.01k likes | 1.39k Views
Recognition of Human Gesture. 김 진형 KAIST 전산학과 인공지능패턴인식연구실. 국가지정연구실. Gesture. A motion of the limbs or body made to express or help express thought or to emphasize speech. Excerpted from The American Heritage Dictionary of the English Language,. Gesture 의 분류. Speech 와 동시 사용 여부에 따라서
E N D
Recognition of Human Gesture 김 진형 KAIST 전산학과 인공지능패턴인식연구실 국가지정연구실
Gesture • A motion of the limbs or body made to express or help express thought or to emphasize speech. • Excerpted from The American Heritage Dictionary of the English Language,
Gesture의 분류 • Speech와 동시 사용 여부에 따라서 • Gesticulation • 예 : “저기 …” • Autonomous gestures • 수화 • 2-D or 3-D gesture • Static vs. Dynamic • Act or Symbol • Act : 흉내 • Symbol : “O-Kay” sign, Hitchhike sign
Applications of Gesture Recognition • Tele-operations • Control remote robot by gesture input • TV control by hand motion • Object manipulation in Virtual Reality • Gesture enhanced CAD • Text editing on Pen Computers • Sign language Interpretation • Wearable computer
Speech/Handwriting Recognition vs Gesture Recognition • Recognition of some trajectory in space and time • S/H recog.systems match transformed input signal against a stored representation (called model)
Speech/Handwriting Recognition • Speaker Independent / dependent • Discrete or continuous • Isolated word recognition • Coarticulation effect • Vocabulary size • Context processing • Recognition accuracy • Human : speech : 99.2 %. • Human : Handwritten Roman alphabet : 95%
Input Signal for Gesture Recognitionsystem • From Attached Device • data gloves • From Visional sensor • With White gloves • Special lighting effect / natural light • Natural skin
Research Issues • Hand and Object Detection • Hand and body tracking • Occlusion analysis • Static (Finger) posture analysis • 2D or 3D Modeling • Dynamic Gesture recognition • Map into predefined primitive motions • Probabilistic reasoning • Hidden Markov Model, Neural Network • Context dependent interpretation
겹침현상을 고려한 손추적 By 김 영민 (MS 97년도 졸업)
개 요 손추적 • 손추적이란 • 이동하는 손을 추적 • 손에 대한 feature를 생성 • 손의 운동궤적, 모양, 면적, 장축과 단축의 비 • 문제점 • 겹침현상 • 손과 유사한 피부색인 얼굴, 목등과의 겹침 • 복잡한 배경과의 겹침 • 가려짐현상(Occlusion) • 다른 물체에 의해 손의 일부분이 가려짐 • 변형이 있는 물체 • 움직임중에 생기는 손의 변형
연구배경 • 겹침현상 (Occlusion) 의 문제점 • 정확한 윤곽의 추출이 어려움 • 원하는 feature추출 불가능 • 연구목표 • 모양이 변형되는 손의 이동시 얼굴과 겹쳤을 때에도 손의 윤곽의 파악
겹침 현상 발생 파악 겹침 현상 부재 겹침 현상 존재 • 정확한 윤곽 파악 • 겹침 현상 발생시 이용 • 대략적인 윤곽 파악 • 획득된 손의 윤곽 이용 겹침현상의 해결방안 • 겹침 현상 발생 여부에 따라 상이한 방법 적용
손추적방법 입력영상 • YIQ칼라공간 [Ko96] • Y: 명도, I : 채도, Q: 색상정보 표현 • I성분을 이용( 피부색에 대한 표현이 가능) • RGB =>YIQ변환식 I성분 그림
손추적방법 탐색영역의 축소 • 이전영상과 현재 영상과의 차이를 이용 • 탐색영역내에서만 초기 위치 탐색 • 변화가 없을때에는 이전에 획득한 탐색영역을 적용 • 초기위치는 모든 화면에서 GHT 적용 <지정>
손추적방법 겹침현상 판단 • Threshing 을 통하여 피부 영역 결정 • 영역에서 물체의 구분 • 간단한 것은 Histogram 분석으로 • 복잡한 것은 Connected component Labeling으로
손추적방법 모델의 초기위치 설정 • GHT(Generalized Hough Transform)의 적용 • 겹침현상이 발생하지 않았을 경우 • Snakes모델의 초기위치 설정역할 • 축소된 탐색영역에서 초기위치 설정 • 겹침현상이 발생했을 경우 • 손의 윤곽을 모델로 이용해서 손의 위치 획득 • 이전 영상에서 얻은 손의 윤곽을 이용 • Snakes모델이 적용되었을 경우 생기는 변이를 피함
Snakes (Active Contour Model) • Snakes란 • 정의된 에너지함수를 최소화하는 곡선모델[Kass88] • 적절한 에너지함수의 정의 snakes모델의 예
Snakes (계속) • 목적 • 모델의 변형을 통해 물체의 정확한 윤곽 추출 • 특징 • 영상에서의 윤곽을 표현하는데 유용한 방법 • 물체의 부분적인 변형 흡수 • 움직임 추적등에 사용 • 단점 • 특정 feature(직선, 기하학적 곡선모양)에 대해서 적용됨 • 일반적인 모양에 대한 적용에는어려움 • 모델 초기 위치 및 에너지함수의설정이 중요
손의 변형 흡수 • 에너지 최소화 • Snakes모델의 에너지를 최소화하는 과정 • 겹침현상이 발생하지 않았을 경우 수행 • 목적 • 보다 정확한 손의 윤곽을 추출 • 겹침현상이 발생할때의 손의 모델을 제공 에너지 최소화
실험환경 • 데이타 수집 • CCD Camera, Meteor Board in Pentium100 • 동작당 8 Frame씩을 동일 간격으로 추출 • 3가지 제스츄어 총 137동작 • 1096 Frames, 2인의 subject • 손추적 시스템 • Sparc 20 • C++환경
결과분석 • Data분석 • 겹침현상이 일어난 Frame수 • 343 Frames ( 343 / 1096 = 전체 Frame의 31%) • 겹침현상이 일어났을때 손을 제대로 찾지 못한 Frame수 • 38Frames ( 38 / 343 = 11%의 에러율) • 89%의 겹침현상에 대해서는 원하는 윤곽과 위치를 획득 • 오추출의 원인 • 손의 절반 이상이 얼굴에 가려짐 • 다른 모델로의 오인식
실험결과 결과 I : 정확한 추출의 예
실험결과 결과 II : 잘못 추출된 예 손의 대부분이 얼굴과 겹쳤을때 다른 모델에 대한 오인식
실험결과 결과 III : 연속된 영상에서의 손추적
연구 결과로서 • 겹침문제의 해결 • 얼굴과의 겹침현상이 발생할때에도 손의 추적가능 • 겹침현상의 유/무에 따른 서로 다른 적용 • 겹침이 발생하지 않을때 • 손의 변형을 고려한 윤곽추출 • 겹침이 발생할때 • 손의 모양을 고정적으로 보고 윤곽추출 • 손의 변형을 고려한 손추적시스템 • 변형을 고려하면서 추적 • 손의 정확한 윤곽과 위치를 얻음
연속 영상을 이용한모델기반의 3차원 손 모양 인식 By 백 창현(MS 98년도 졸업)
서론 손모양 인식 • 손 모양 인식이란? • 손의 영상에서 손 모양 판단. • 두 가지 접근 방법 • 손이 미리 정의된 패턴 중의 어떤 것인가? : 형태 인식 • 손의 모양에 가장 근접한 원형 선택 • 2D 모델과 손 영상의 이용 • 손의 제한된 정보 추출 • 빠른 속도, 대략적인 손의 영상 정보로 충분 • 손이 어떠한 모양을 하고 있는가?: 구조 인식 • 인식 모델이 손모양의 3차원적인 결과를 표출 • 3D 모델과 손 영상의 이용 • 손의 완전한 정보 추출 • 정확한 손의 영상 정보 필요
서론 연구 배경 • 손 모양 인식의 어려운 점 • 손가락의 많은 자유도 • 손 모양의 변화가 매우 다양함 • 겹침 현상 • 손의 일부가 다른 부분을 가림
서론 기존의 손 인식 방법론
서론 연구 목표 • 연구 목표 • 영상으로부터 손의 완전한 3차원적 구조 인식 • 맨손의 영상을 이용 • 겹침 현상을 극복 • 인식 환경 • 연속 영상 • 칼라 영상 • 단일 카메라
손모양 인식 방법 제안 • 손모양 인식 • 손가락 관절각 계산 영상에서의 정보 (손톱, 손끝) 3차원 구조 (관절각 계산) 손 모양 인식시스템 손의 구조적 특성 • 환경 제한 • 손바닥이 카메라를 향하는 방향 • 손의 구조적 정보 미리 등록 • 손목 위치 • 손마디 길이 • 단일 배경
구조적 손 모델[Lee95] • 골격 구조 모델 • 손의 골격 구조 • 손의 구조적 특성을 잘 반영 둘째관절 셋째관절 첫째관절
관절각 꺾임각 : 손가락의 꺾인 각 이산각 : 손가락의 벌여진 각 손가락 관절은 평면 상의 움직임을 가짐 관절각의 범위 꺾임의 비례 관계 자연스러운 손의 움직임에서 셋째 = 둘째 손의 구조적 특성 손가락 관절 움직임의 특성[Lee95]
색상정보를 이용한 손 영역 분리 [Ko96] YIQ 칼라 공간계의 이용 Y : 명도, I : 채도, Q:색상 살색 색상은 I,Q값에 의해 구분이 잘 됨 I,Q 값의 Thresholding 오류 제거 외부 에러 픽셀 손이 아닌 부분이 손으로 이웃 픽셀들과의 연결도 고려 내부 에러 픽셀 손 부분이 손이 아닌 부분으로 손 외곽지역을 하나의 Connected Component로 탐색 손영역 분리
특징점 추출- 손끝 • 손끝 • 펴진 형태 : 손가락 끝 • 접혀진 형태 : 손마디 돌출 부위 • 손끝의 추출 • 윤곽선의 변곡점 탐색 • X좌표의 변화 이용 • 잘못 추출된 변곡점 제거 • 변곡점들간의 거리 이용 • 손가락의 너비보다 가까운 변곡점들의 병합 • 변곡점의 위치 이용 • 손 전체에서의 상대적 위치
손톱 • X : Red • Y : Green • Z : Blue 非손톱 특징점 추출 - 손톱 • 손톱 픽셀의 추출 • RGB공간에서 MultiLayer Perceptron를 이용하여 학습 • 잘못 분리된 픽셀 제거 • 이웃 픽셀과의 연결도 고려 • 손톱 영역의 판단 • Connected Component 추출 • 크기와 밀집도를 이용한 손톱의 판단
측정값 손끝의 수직 위치 : X 손끝의 수평 위치 : Y 이산각의 계산 = tan-1( ) 손가락 관절의 이산각 계산
손가락의 형태 구분 • 접힘에 따른 손가락 형태 • 형태1 : 손가락이 펴진 형태 • 사용 가능 정보 • 손끝의 위치 • 첫째 = 0 • 세째 = 둘째 • 형태2 : 손가락이 접혀진 형태 • 사용 가능 정보 • 손끝의 위치 • 손톱의 위치 • 세째 = 둘째 • 형태 구분 방법 • 손톱의 존재 여부와 손끝의 위치로 결정
손끝의 위치를 이용한 관절 꺾임각 계산 사전 등록 L1,L2,L3 : 마디의 길이 제한 첫째= 0 셋째 = 둘째 측정값 손끝까지의 길이 : X 꺾임각의 계산 : 둘째 X = L1 + L2*cos(둘째 ) +L3*cos(둘째 + 둘째 ) 손가락 관절의 꺾임각 계산-손가락이 펴진 형태
손톱과 손끝의 위치를 이용한 관절 꺾임각 계산 사전 정보 L1,L2,L3 : 마디의 길이 제한 셋째 = 둘째 측정값 손끝까지의 길이 : X1 손끝에서 손톱까지 길이 : X2 꺾임각의 계산 X1 = L3*cos(첫째 ) X2 = L2*cos(첫째+둘째 ) +L1*cos(첫째+ 둘째 + 둘째 ) 손가락 관절의 꺾임각 계산-손가락이 접혀진 형태
연속 영상을 이용한 오류 보정 • 오류의 발생 • 손끝과 손톱의 추출 오류 • 손가락 형태 판단의 오류 • 오류의 보정 • 동작의 연속성을 이용한 Filtering • 관절의 꺾임각 Filtering • Kalman Filter 이용
Kalman Filter [Christopher 1995] 물체 추적에 사용되는 Filter Mean Square Error를 최소화한 평가치(Estimation)산출 Optimal Estimation! 선형 움직임에 적용 가능 관절각의 선형 근사 짧은 구간에서 선형으로 근사 이전의 N Frame만 이용 Kalman Filter 의 적용
실험 • 실험 환경 • Pentium Pro • Meteor Board • 단일 배경 • 240*180 Image • 손의 최대 크기 : 200*150 • 인식 속도 • 4 frame / s
실험 결과 손톱 추출 • MLP를 이용한 손톱의 분리 • 훈련 Data • 손톱 픽셀 : 658 개 • 非손톱 픽셀 : 1042 개 • 분류 성공률 : 85% • 손톱 추출 예제
결론 • 3D 손 인식을 위한 방법론 제안 • 손가락의 관절각 계산 • 손의 구조적 정보 이용 • 맨손 영상의 인식 • 손톱과 손끝의 추출 • 손가락이 접혀질 때 발생하는 겹침 현상을 극복 • 손동작의 연속성을 이용한 오류 보정 • 연속 영상에 Kalman Filter를 적용