휴머노이드 얼굴에서 눈동자 미세 흔들림(마이크로 사카드) 구현: 200ms는 참고, UX는 ‘부드러움’이 핵심입니다

인간의 눈은 카메라처럼 완전히 고정되어 있지 않습니다. 우리는 의식하지 못하지만, 눈은 끊임없이 미세하게 떨리고(Microsaccade), 시선 이동 시에는 순간적인 고속 점프(Saccade)를 반복합니다. 이러한 움직임이 합쳐져 상대방에게 “살아있는 생명체”라는 인상과 시선 생동감(Alive Signal)을 전달합니다.

휴머노이드의 눈동자를 설계할 때도 이러한 인간적인 움직임을 재현하는 것이 핵심적인 과제입니다. 눈을 100% 완벽하게 고정시키면 오히려 부자연스럽고 사용자가 '불편함(Uncanny Valley)'을 느끼게 되며, 반대로 너무 과도하게 흔들면 산만하거나 멀미를 유발할 수 있습니다.

 

본 글은 이러한 인간-로봇 상호작용(HRI)의 관점에서, 수년간의 휴머노이드 얼굴 UX 설계 경험을 바탕으로, 인간 평균 사카드 속도( 200ms수준)를 참고하되 로봇 시스템의 특성과 사용자 경험(UX)에 최적화된 마이크로 사카드 구현의 수치적 기준과 설계 가이드를 제시합니다.

 

휴머노이드 얼굴에서 눈동자 미세 흔들림(마이크로 사카드) 구현: 200°/s는 참고, UX는 ‘부드러움’이 핵심입니다
휴머노이드 얼굴에서 눈동자 미세 흔들림(마이크로 사카드) 구현: 200°/s는 참고, UX는 ‘부드러움’이 핵심입니다

핵심 요약: 불안정성 최소화가 리얼리티의 열쇠

  • 휴머노이드 마이크로 사카드는 “리얼리티”를 높이지만, 설계가 잘못되면 “불안정성(Jitter)”으로 인식되어 부정적인 UX를 초래합니다. 따라서 제한된 범위와 리듬을 설정하는 것이 성공의 핵심입니다.
  • 자연스러운 초점 이동은 인간의 시지각 처리 속도를 고려하여 250∼400ms 구간이 가장 부드럽고 자연스럽게 느껴집니다.
  • 응시 비율은 100% 고정 대신 70∼85% 수준으로 분산해야 사용자의 시선 피로와 압박감을 줄일 수 있습니다.
  • 미세 흔들림의 각도 기준은 ±0.1∼0.3° 수준이 초기에 가장 안전하며, 이는 개발 초기 단계에서 사용자 테스트를 통해 보수적으로 튜닝을 시작해야 하는 권장 범위입니다.
  • 개발 실패의 주요 원인은 미세한 움직임이 기계적인 떨림(Jitter)처럼 보이는 것을 막지 못한 경우입니다.

1) 마이크로 사카드가 휴머노이드 UX에 기여하는 효과: 인지 과학적 근거

마이크로 사카드는 단순히 눈동자를 흔드는 기술이 아니라, 사용자에게 로봇의 인지 활동 신호를 전달하는 중요한 비언어적 요소입니다.

  • 생동감(Alive Signal) 증진
    • 정지 상태에서도 눈이 “미세하게 살아 있는” 느낌을 주어 로봇이 덜 기계적으로, 더 생명체처럼 보이게 합니다.
    • 특히 로봇이 대기 상태에 있거나 사용자의 말을 경청하고 있을 때 그 효과는 극대화됩니다.
  • 인지 안정감 및 부담 감소
    • 인간은 누군가에게 100% 응시를 고정당할 때 압박감을 느낍니다. 로봇이 의도적으로 시선을 분산(예: 70∼85% 응시)시키면, 오히려 사용자에게 안정적이고 덜 위협적인 인상을 줄 수 있습니다.
    • 다만, 이 분산이 과도하면 '산만함'으로 연결되므로 섬세한 경계 설정이 중요합니다.

2) 목표 수치 가이드: UX 기반의 초기 튜닝값 제안

휴머노이드의 눈동자 제어는 사람의 시선 움직임을 모방하되, 로봇의 기계적 한계와 UX의 안정성을 최우선으로 고려해야 합니다. 아래는 수년간의 경험을 통해 도출된 초기 튜닝을 위한 권장 시작값입니다.

  • 미세 흔들림 범위 (진폭)
    • 초기 권장: ±0.1∼0.3°
    • 설명: 이 범위는 대부분의 사용자에게 미세한 생동감으로 인지되면서도 떨림으로 오해되지 않는 안전 영역입니다. ±1° 이상으로 범위를 넓힐 경우, 특히 사용자와 가까운 거리(30∼50cm)에서는 눈이 '불안정하게 떨리는' 것처럼 느껴져 UX를 크게 해칠 수 있습니다.
  • 미세 흔들림 빈도 (리듬)
    • 초기 권장: 0.5∼2.0Hz 범위의 느린 변동
    • 설명: 너무 빠른 빈도(예: 3∼5Hz)는 기계적인 '진동'이나 '떨림'처럼 보이게 됩니다. 느린 변동은 생명체의 미세한 호흡이나 인지 활동처럼 느껴지도록 유도합니다.
  • 초점 이동(큰 사카드) 타이밍
    • 권장: 250∼400ms 구간에서 부드러운 이동 속도
    • 설명: 인간의 눈이 한 초점에서 다른 초점으로 이동하는 데 걸리는 시간과 유사하게 설정하여 자연스러움을 확보합니다. 이동 사이 간격은 2∼6초와 같이 대화나 상황에 기반한 랜덤 패턴으로 두는 것이 로봇의 인지 능력을 표현하는 데 효과적입니다.
  • 응시 비율 (Gaze Ratio)
    • 권장: 사용자 얼굴을 직접 바라보는 비율 70∼85%
    • 설명: 이 비율은 사용자와의 연결감을 유지하면서도, 나머지 시간(15∼30%) 동안은 시선 휴지(아래/옆)나 대화 중 언급된 사물(화면/표지판)로 시선을 분산시켜 사용자의 부담감을 효과적으로 낮춥니다.

3) 구현 구조 및 알고리즘 설계: 3-레이어 안정화 모델

성공적인 마이크로 사카드 구현은 정밀한 하드웨어(HW) 제어안정적인 3단계 소프트웨어(SW) 제어 정책의 조합으로 이루어집니다.

  • 하드웨어 구성 (예시)
    • 눈동자 2축 Gimbal(좌우/상하)로 설계하며, 안전한 회전 범위(30°∼40° 내외)를 설정합니다.
    • 눈꺼풀(깜빡임: 150∼300ms 리듬)과 눈동자 움직임을 연동하면 생동감이 극대화될 수 있습니다.
  • 알고리즘 설계: 3-레이어 안정화
    • Layer 1: 목표 시선(Target Gaze): 사용자 얼굴의 코, 눈, 입 등 인지 목표점을 설정합니다. 대화의 흐름에 따라 이 목표점을 2∼6초 간격으로만 바꾸는 상황 기반 전환 정책이 안정적입니다.
    • Layer 2: 마이크로 사카드(Micro Saccade) 합성: Layer 1의 목표점에 ±0.1∼0.3° 범위의 미세 이동을 합성합니다. 순수한 '랜덤'이 아닌, 설정된 범위 내에서만 움직이는 '제한된 랜덤(Clamped Random)' 방식을 사용해야 합니다.
    • Layer 3: 안정화(Stabilization) 필터: 기계적 오차나 정지 지터(Jitter)를 억제하기 위해 데드밴드(Deadband) 제어나 저역통과 필터(Low-Pass Filter)를 최종적으로 적용합니다. 핵심은 “미세 흔들림”“기계 떨림”으로 사용자가 오인하지 않도록 명확하게 분리하는 것입니다.

4) UX 정책 및 실패 사례 분석: '불안'으로 바뀌는 순간

마이크로 사카드의 강도는 로봇과 사용자의 거리대화 상황에 따라 유동적으로 조절되어야 성공 확률을 높일 수 있습니다.

  • 거리 기반 자동 조절 (예시)
    • 30cm 이내의 초근접 상호작용에서는 미세 흔들림 범위를 50%로 감쇠(예: ±0.2° → ±0.1°)시켜 불안감을 낮춥니다.
    • 1m 이상의 원거리에서는 정상 범위(예: ±0.2°)를 적용하여 생동감을 유지합니다.
  • 상황 기반 조절 (예시)
    • 경청 상태: 미세 흔들림을 유지하여 로봇의 활발한 인지 활동을 표현합니다.
    • 정밀 안내/주의 집중: 흔들림을 일시적으로 줄여 집중감과 신뢰도를 강화합니다.

주요 실패 사례 3가지

  • 사례 1 (과도한 진폭): 각도 범위가 ±1°를 초과하여 사용자가 눈이 ‘떨린다’고 느끼는 경우.
  • 사례 2 (잦은 빈도): 빈도가 3∼5Hz 이상으로 높아져 진동처럼 보이는 경우.
  • 사례 3 (오류 패턴): 기구 유격이나 제어 루프 문제로 인해 미세 움직임이 불규칙하게 ‘튀는’ 패턴이 발생하는 경우.

5) 효과적인 평가 방법: 사용자 체감 및 기계 로그의 교차 분석

마이크로 사카드 설계의 완성도는 최종적으로 사용자 테스트를 통해서만 검증될 수 있습니다.

  • 사용자 체감 지표 측정 (1∼7점 척도)
    • 자연스러움 (목표 5점 이상)
    • 불편함 (목표 3점 이하)
    • 산만함 (목표 3점 이하)
  • 기계 지표 동시 측정
    • 각도 지터(°), 제어 루프 지연 시간(ms), 목표 전환 빈도(회/분) 등의 로그를 남겨 체감 지표와 상관관계를 분석합니다.
    • 가까운 거리(30∼50cm) 조건에서 불편함이 급격히 증가하는 지점을 찾는 것이 특히 중요합니다.
  • A/B 테스트 기반 튜닝 (예시)
    • A안(±0.1° / 1Hz)과 B안(±0.3° / 1Hz)을 20명 내외의 사용자에게 보여주고, 불편함 평균 점수가 가장 낮은 설정을 최종 UX 정책으로 채택하는 보수적인 접근이 성공 확률을 높입니다.

관련 글

결론: 절제된 움직임이 만드는 최고의 리얼리티

휴머노이드의 눈은 사용자에게 가장 강력하고 가까운 센서이자 인터페이스입니다. 마이크로 사카드를 통해 눈의 생동감을 구현할 때, ‘리얼리티 최대화’보다는 ‘사용자 불편함 최소화’(3점 이하) 및 ‘산만함 방지’를 목표로 삼는 절제된 접근이 성공 확률을 압도적으로 높입니다. 초기 설계를 ±0.1∼0.3°와 70∼85% 응시 비율 같은 보수적인 수치로 시작하고, 이후 정량적인 사용자 테스트를 통해 점진적으로 튜닝하는 것이 가장 안전하고 효과적인 개발 전략입니다.

Q&A

Q1) 인간 평균 사카드 속도 200°/s를 그대로 따라야 합니까

  • 그대로 따라갈 필요는 없습니다.
  • 휴머노이드는 거리·디스플레이·모터 특성이 다르기 때문에 UX 안전 범위로 재해석하는 것이 중요합니다. 특히 “인간의 사카드는 매우 빠르다”는 사실만 참고하고, 구현은 로봇의 안정적인 움직임에 초점을 맞추어야 합니다.

Q2) 왜 응시를 100%로 고정하면 안 좋습니까

  • 사용자는 100% 고정 응시를 “압박”이나 “스토킹”으로 느낄 수 있습니다.
  • 70∼85%로 분산하면 피로와 부담을 줄이고, 로봇이 주변 상황도 인지하고 있다는 인상을 주어 상호작용의 자연스러움을 높일 가능성이 큽니다.

Q3) 미세 흔들림을 얼마나 크게 주면 좋습니까

  • 초기에는 ±0.1∼0.3°부터 시작하는 것을 추천합니다.
  • ±1° 이상은 가까운 거리에서 산만하게 보일 수 있으며, 이 범위는 대부분의 로봇 제어 시스템에서 떨림으로 간주될 위험이 높습니다.

Q4) 깜빡임과 함께 쓰면 더 자연스러워집니까

  • 연동이 잘 되면 자연스러움이 올라갈 수 있습니다. 특히 큰 사카드 직후 깜빡임을 넣으면 시선 전환이 더 부드럽게 느껴질 수 있습니다.
  • 다만 타이밍이 충돌하면 리듬이 이상해질 수 있어, 깜빡임(150∼300ms)과 시선 이벤트를 분리 설계하고, 상호작용 정책(Policy)으로 통합하는 편이 안전합니다.

Q5) 가장 추천하는 검증 방법은 무엇입니까

  • 사용자 20명 내외에게 10초 대화 클립을 보여주고 자연스러움/불편함/산만함(1∼7점)을 측정하는 정량적 사용자 체감 지표 측정 방법을 추천합니다.
  • 동시에 각도 지터와 시선 전환 빈도를 로그로 남기면, 사용자의 부정적 반응(불편함 점수 증가)이 어떤 기계적 수치와 관련이 있는지 분석할 수 있어 개선이 훨씬 빨라집니다.