휴머노이드 얼굴 감정 표현을 설계할 때, 많은 표현을 만드는 것보다 핵심 기본 감정 6가지를 일관된 품질로 구현하는 것이 중요합니다. 사용자는 로봇의 감정을 세밀하게 분석하기보다, 0.1초 이내의 첫인상으로 "자연스러움" 혹은 "부자연스러움(언캐니)"을 즉각적으로 판단하기 때문입니다.
따라서 저는 실제 프로젝트 경험을 바탕으로, 6대 기본 감정(행복·슬픔·분노·놀람·혐오·공포)을 AU(FACS) 조합과 제어 수치(속도/강도)를 기준으로 표준화하여 바로 적용 가능한 템플릿을 정리했습니다. 이 표준화된 규칙이 로봇의 사용자 경험(UX)을 빠르게 안정시키는 핵심 열쇠였습니다.

핵심 설계 요약
- 6대 기본 감정 구현은 AU 조합(근육 단위) + 강도(0.2~0.9 스케일링) + 전환 속도(0.3~0.8초)를 표준화할 때 가장 효율적입니다.
- 권장 모션 동작 시간은 다음 범위에서 가장 안정적인 결과를 보였습니다.
- 전환(Transition): 감정이 시작되는 과정, 0.3초 ∼ 0.8초
- 유지(Hold): 감정의 최대 표현을 유지하는 시간, 0.6초 ∼ 1.5초
- 복귀(Return): 중립 상태로 돌아오는 시간, 0.4초 ∼ 1.0초
- 얼굴의 자연스러움은 단순히 큰 모션에서 나오는 것이 아니라, 눈가, 눈꺼풀, 입꼬리의 미세한 연동(Sync)에서 결정됩니다.
- 음성 내용, 상황 맥락과 표정이 어긋나는 표정 불일치(Incongruence)는 즉시 언캐니 밸리 현상을 유발합니다. 따라서 로봇의 반응 지연 시간(Latency)은 200ms 이하를 목표로 관리해야 합니다.
1) 구현 파이프라인: 감정 → AU → 모션 → 모터 설계
제가 진행했던 구현 과정은 다음과 같은 순서로 이루어집니다. 이는 감성 모델을 하드웨어로 변환하는 표준적인 설계 과정입니다.
- 감정 상태 : (예) 사용자의 칭찬에 대한 행복 반응
- AU 세트 변환 : 감정을 FACS(Facial Action Coding System) 기반의 AU 조합으로 변환합니다. (예: 행복 → AU6 + AU12)
- 강도 스케일 적용 : 감정의 세기(Intensity)를 0.2(약함)에서 0.9(강함) 범위로 조절합니다.
- 시간 곡선 설계 : 전환/유지/복귀 시간과 가속도 곡선을 적용하여 모션의 속도감을 제어합니다.
- 모션 변위 변환 : AU를 실제 로봇 얼굴의 눈/입/눈썹/턱의 변위(mm)나 각도(°)로 매핑(Mapping)합니다.
- 모터 제어 명령 : 제어 주기(예: 50∼120Hz)에 맞춰 각 모터를 흔들림 없이 구동할 수 있도록 명령을 실행합니다.
2) 강도(Intensity) 기준: 0.2~0.9 스케일 운용 전략
강도 스케일은 표현의 세기를 표준화하는 핵심 기준이며, 1.0은 최대한의 물리적 가동 범위를 의미합니다.
- 0.2 ∼ 0.4: 일상적인 대화에서 "살짝" 느껴지는 미세 감정. 주로 무표정(Neutral)에서 벗어나는 최소 움직임입니다.
- 0.5 ∼ 0.7: 사용자에게 감정이 명확히 전달되면서도 부담스럽지 않은 주력 감정 표현 범위입니다.
- 0.8 ∼ 0.9: 이벤트나 짧은 퍼포먼스용으로 사용하며, 지속 시간을 짧게 제한하는 편이 안전합니다.
운영 팁 및 실제 경험:
- 기본 운용 모드는 0.3~0.6을 중심으로 가져가는 것이 가장 안전하고 자연스러웠습니다.
- 강한 표정(0.7 이상)을 사용할 경우, 유지 시간을 1~3초 이내로 제한해야 사용자의 피로도(Visual Fatigue)를 줄일 수 있습니다.
3) 6대 기본 감정 템플릿: AU 조합과 제어 수치
| 감정 | 대표 AU 조합 (FACS) | 권장 강도 | 권장 시간 (전환/유지/복귀) |
| 행복 (미소) | AU6(볼/눈가) + AU12(입꼬리 상승) | 0.4 ∼ 0.8 | 0.4∼0.7초 / 0.8∼1.5초 / 0.6∼1.0초 |
| 슬픔 | AU1(내측 눈썹 상승) + AU4(눈썹 하강) + AU15(입꼬리 하강) | 0.3 ∼ 0.7 | 0.5∼0.8초 / 0.8∼1.5초 / 0.6∼1.0초 |
| 분노 | AU4(눈썹 하강) + AU5(상안검 상승) + AU7(눈꺼풀 긴장) + AU23(입술 조임) | 0.2 ∼ 0.6 | 0.3∼0.6초 / 0.4∼1.0초 / 0.4∼0.8초 |
| 놀람 | AU1+AU2(눈썹 상승) + AU5(눈 크게 뜸) + AU26(턱 하강) | 0.3 ∼ 0.7 | 0.2∼0.5초 / 0.3∼0.8초 / 0.4∼0.8초 |
| 혐오 | AU9(코 찡그림) + AU10(상순 상승) + AU16(하순 하강) | 0.2 ∼ 0.5 | 0.3∼0.7초 / 0.5∼1.0초 / 0.5∼1.0초 |
| 공포 | AU1+AU2+AU4(눈썹/미간) + AU5(눈 크게) + AU20(입꼬리 당김) + AU26(턱 하강) | 0.2 ∼ 0.6 | 0.3∼0.7초 / 0.4∼1.0초 / 0.5∼1.0초 |
3-1) 행복(미소) 구현 시 전문성 반영
- 핵심: 눈가의 움직임(AU6)을 입꼬리(AU12)와 연동하는 것이 '진실된 미소(Duchenne Smile)'의 핵심입니다. 입만 웃으면 부자연스럽습니다.
- 보조 신호: 미소 강도에 따라 눈꺼풀을 5%∼10% 부드럽게 좁혀서 '웃는 눈'의 느낌을 만듭니다. 동공의 미세 확장(1mm 내외)은 로봇에게 생기를 불어넣는 고급 기법입니다.
3-2) 슬픔 구현 시 전문성 반영
- 핵심: AU1(내측 눈썹)과 AU4(눈썹 하강)의 복잡한 조합으로 미간을 찡그리면서도 눈썹 안쪽을 올리는 것이 사람의 슬픔과 가장 유사합니다.
- 보조 신호: 시선을 정면 고정(100%)하는 대신, 약한 하향 시선(정면 60∼80% 정렬)을 부여하면 침잠하고 고뇌하는 느낌을 강화할 수 있습니다.
3-3) 분노 구현 시 전문성 반영
- 핵심: AU4(눈썹 하강)와 AU7(눈꺼풀 긴장)을 사용하여 눈을 부릅뜨고 미간을 좁히는 위협적인 눈매를 만듭니다. 입은 크게 벌리기보다 AU23(입술 조임)으로 긴장을 전달하는 것이 더 효과적입니다.
- 안전 관리: 강도를 0.6 이하로 제한해야 위압감을 낮출 수 있습니다. 음성 톤이 평온한데 분노 표정이면 사회성 고장으로 인식되므로 음성과의 동기화가 필수적입니다.
3-4) 놀람 구현 시 전문성 반영
- 핵심: AU1+AU2(눈썹 전체 상승)와 AU5(눈 크게 뜸)를 통해 순간적인 눈과 이마의 확장 상태를 만들어야 합니다.
- 주의 사항: 놀람은 '짧은 순간'이 핵심입니다. 전환을 0.2∼0.5초로 빠르게, 유지 시간을 0.3∼0.8초로 짧게 가져가야 공포나 멍함으로 오해되는 것을 방지합니다.
3-5) 혐오 구현 시 전문성 반영
- 핵심: AU9(코 찡그림)와 AU10(상순 상승)을 통해 코 주변과 윗입술을 미세하게 들어 올리는 것이 중요합니다.
- 보조 신호: 혐오는 사용자에게 불쾌감을 유발할 수 있으므로, 강도를 0.5 이하로 낮추고 상황 트리거를 매우 제한적으로 운용하는 것이 안전한 설계입니다.
3-6) 공포 구현 시 전문성 반영
- 핵심: 놀람의 요소(AU1+AU2+AU5+AU26)에 AU4(눈썹 하강)와 AU20(입꼬리 당김)을 추가하여 불안과 긴장 상태를 복합적으로 표현합니다.
- 보조 신호: 눈/눈꺼풀의 강한 긴장감이 핵심이며, 입은 과도한 개방보다 좌우로 당겨짐을 통해 보조적인 불안감을 전달하는 것이 좋습니다.
4) 속도·곡선 설계: 가속도를 제어하는 것이 핵심입니다
전환 시간(0.3∼0.8초)을 충족하더라도, 모션 시작 시 가속도가 너무 급격하면 로봇이 '기계적으로 튕겨져 나오는' 것처럼 부자연스럽게 보입니다.
- 권장 모션 곡선 설계 (경험 기반):
- 시작 20% 구간: 가속도를 완만하게 시작하여 부드러움을 확보합니다.
- 중간 60% 구간: 주 이동을 빠르게 수행합니다.
- 마지막 20% 구간: 부드럽게 감속하여 정지 떨림(Jittering)을 방지합니다.
- 정지 품질의 중요성: 표정은 멈춰 있는 시간이 움직이는 시간보다 훨씬 길기 때문에, 모터의 유격(Backlash)이나 제어 떨림이 감지되면 사용자에게 '고장 난 로봇'이라는 인상을 줄 수 있습니다. 정지 상태의 완벽한 안정화는 표정 품질의 기본입니다.
5) 맥락 일관성 규칙: 표정은 '사회적 상황'을 반영해야 합니다
휴머노이드 표정의 성공은 기술적인 구현뿐만 아니라, 사회적 맥락(Social Context)을 얼마나 잘 반영하는지에 달려 있습니다.
- 반응 지연(Latency) 목표: 사용자 발화나 환경 변화에 대한 표정 반응 지연은 200ms 이하를 유지해야 '대화가 끊기지 않고 자연스럽게 이어진다'는 인상을 줍니다.
- 민감 감정 관리: 분노, 혐오, 공포와 같은 부정적이거나 강한 감정은 기본 강도를 0.2~0.5로 낮춰서 사용자의 거부 반응을 최소화해야 합니다.
- 중립 복귀 설계: 강한 감정 표현 후에는 중립 상태로 0.6초~1.0초에 걸쳐 부드럽게 복귀시키는 과정을 설계해야 합니다.
- 최고의 실패: 사용자가 심각한 정보를 전달했는데, 로봇이 강도 0.8의 행복 표정을 지으면, 단순히 표정이 잘못된 것이 아니라 '사회성이 고장 난 로봇'으로 보입니다.
6) 실패 사례 4가지와 해결 전략 (프로젝트 경험 공유)
| 실패 사례 | 원인 분석 | 해결 전략 및 적용 팁 |
| 표정이 자주 바뀌어 산만합니다 | 프레임 단위의 즉각 반영, 모션 스무딩(Smoothing) 부재 | 0.3초∼1.0초 스무딩 필터 적용 및 강도 변화율 제한 (한 번에 0.2 이상 급변 금지) |
| 분노/혐오가 과장되어 위압적으로 보입니다 | 강도(0.7 이상) 과다, 유지 시간 과다 | 기본 강도 0.2∼0.5로 제한, 유지 시간 1초 이하, 음성 톤과의 동기화(낮은 톤) |
| 웃는 입인데 눈이 차가워 '가식적'입니다 | 입꼬리(AU12)만 움직이고 눈가(AU6)의 연동이 없음 | AU6 연동을 통해 눈꺼풀을 5∼10% 미세하게 좁힘, 동공과 하이라이트 미세 조정 |
| 전환은 좋은데 멈출 때 모터가 떨립니다 | 유격(백래시) 문제, 제어 이득(Gain) 과다 | 기구부 정렬 및 장력 보강, 정지 구간 감속 알고리즘 적용, 소프트웨어 리미트 적용 |
7) 체크리스트 (최종 점검)
| 점검 항목 | 상태 |
| 6대 감정 각각에 AU 조합이 명확히 정의되어 있습니까 | O |
| 강도 스케일(0.2∼0.9)과 안전 운용 범위(0.3∼0.6)가 설정되어 있습니까 | O |
| 전환 0.3∼0.8초, 유지 0.6∼1.5초, 복귀 0.4∼1.0초 규칙이 적용되었습니까 | O |
| 민감 감정(분노/혐오/공포)의 기본 강도가 0.2∼0.5로 제한되었습니까 | O |
| 표정 반영 지연(Latency)이 200ms 이하로 측정됩니까 | O |
| 모션 스무딩 및 강도 변화율 제한(점프 금지)이 적용되었습니까 | O |
| 눈(눈꺼풀/동공)과 입의 연동 규칙이 정의되어 있습니까 | O |
| 정지 시 떨림/유격이 사용자에게 체감되지 않습니까 | O |
8) 관련 글 (URL 수정 완료)
- 휴머노이드 얼굴 표정 생성 알고리즘의 진화
- 휴머노이드 얼굴의 눈 감정 표현 디자인
- 휴머노이드 얼굴에서의 자연스러운 미소 만들기
- 휴머노이드 얼굴 표정과 음성 연동 AI 설계
- 휴머노이드 얼굴의 표정 불일치(언캐니) 해결 전략
9) 결론 및 개인적 인사이트
6대 기본 감정을 AU 조합과 정량화된 강도/속도 규칙으로 표준화하면, 개발 초기 단계에서 표정 품질이 매우 빠르게 안정됩니다. '감성적인 부분'을 '기술적인 수치'로 명확하게 정의하는 것이 이 작업의 핵심이었습니다.
특히, 전환 0.3∼0.8초와 반응 지연 200ms 이하를 지킬 때, 사용자들은 로봇의 표정을 '빠르고 자연스러운 반응'으로 인지하는 경향이 강했습니다. 또한, 분노/혐오 같은 민감 감정은 강도(0.2∼0.5)와 유지 시간을 제한해야만, 로봇이 '친근한 조력자'로서의 포지션을 유지할 수 있었습니다.
기본 6가지 감정 표현이 안정되면, 로봇은 단순히 표정을 보여주는 장치를 넘어 '사용자와 사회적으로 상호작용하는 존재'로 한 단계 도약할 수 있습니다.
Q&A
Q1) 6대 감정만 구현하면 충분합니까
- 초기 제품 단계에서는 충분한 경우가 많습니다.
- 6대 감정이 안정되면, 그 다음에 미세 감정(혼란/당황/집중)을 레이어로 추가하는 방식이 효율적입니다.
Q2) 강한 감정(0.8 이상)을 쓰면 전달력이 더 좋아지지 않습니까
- 전달력은 올라갈 수 있으나, 거부 반응도 함께 올라갈 수 있습니다.
- 따라서 0.8∼0.9는 짧은 이벤트 상황에서만 제한적으로 사용하는 편이 안전합니다.
Q3) 놀람 표정이 자꾸 공포처럼 보이는 이유는 무엇입니까
- 놀람의 유지 시간이 길거나, 눈/턱 개구가 과하면 공포로 해석될 수 있습니다.
- 놀람은 전환을 빠르게(0.2∼0.5초) 하고 유지 시간을 짧게(0.3∼0.8초) 두는 편이 안정적입니다.
Q4) "웃는 입 + 차가운 눈" 문제는 어떻게 해결합니까
- AU12(입꼬리)만이 아니라 AU6(눈가) 연동이 필요합니다.
- 눈꺼풀 5∼10% 미세 연동만으로도 체감이 크게 개선될 수 있습니다.
Q5) 최소 테스트 1가지만 한다면 무엇을 추천합니까
- 6대 감정을 강도 0.4로 통일해 30회 반복 구동하고, "지연(ms) + 정지 떨림 + 사용자 5명 체감 평가"를 함께 보는 테스트를 추천합니다.
- 이 테스트에서 문제 없는 세트가 나오면, 이후 강도 확장은 훨씬 쉬워집니다.
'휴머노이드 얼굴 > 7. 감정·표정 합성 알고리즘' 카테고리의 다른 글
| 휴머노이드 얼굴 LED 기반 ‘감정 보조 표시’ 시스템 기술 분석: 표정이 부족할 때 ‘보조 신호’로만 써야 합니다 (0) | 2025.12.15 |
|---|---|
| 휴머노이드 얼굴의 마이크로 표현(미세 표정) 구현 기술: 0.5mm 이하 움직임이 신뢰도를 바꿉니다 (0) | 2025.12.14 |
| 휴머노이드 얼굴 눈썹 움직임 시스템: 1축·2축·Bowden Cable 비교와 텐션 100~300g 설계 기준 (0) | 2025.12.11 |
| 휴머노이드 얼굴에서의 자연스러운 미소 만들기: 입꼬리 5~12mm, 눈가 연동, 비대칭 ±1mm로 “기계 웃음”을 줄입니다 (0) | 2025.12.11 |
| 휴머노이드 얼굴의 눈 감정 표현 디자인: 동공 1~2mm 변화와 시선·눈꺼풀·눈썹 연동 기준 (0) | 2025.12.11 |
| 휴머노이드 얼굴 표정 생성 알고리즘의 진화: 6단계 로드맵과 적용 체크리스트 (0) | 2025.12.08 |