Розробка AI-віртуального асистента з реалістичною мімікою та жестами
Різниця між віртуальним асистентом з реалістичними виразами обличчя та без них — це різниця між інструментом та досвідом. Мімика створює емоційний резонанс, знижує когнітивне навантаження на сприйняття та підвищує довіру до інформації. Ми будуємо повний стек: від діалогу до рендеру.
Технічний стек мімики
FACS-based Facial Animation: Facial Action Coding System (Ekman) — стандарт описання мімики через Action Units (AU). Система генерує AU-вектори в реальному часі на основі:
- Емоційного тону LLM-відповіді (sentiment analysis → emotion mapping)
- Акцентів у TTS-аудіо (prosody analysis → brow raise, lip corners)
- Контексту діалогу (питання → кивок, невпевненість → нахмуривання)
NVIDIA Audio2Face: Нейромережевий lip sync: аудіо → анімація м'язів обличчя (jaw, lips, cheeks). Latency: <33 мс при запуску локально. Інтеграція з MetaHuman через LiveLink.
Gesture Generation: Gesticulator (paper: NeurIPS 2020) / DiffuseStyleGesture — нейромережева генерація жестів рук, синхронізованих зі мовою. Speech2Gesture — data-driven підхід на основі motion capture корпусів.
Eye Behavior: Процедурна система: saccades (швидкі рухи), smooth pursuit, blink rate (адаптується до контексту — internal thinking → slower blink), vergence (фокус на мовця через face tracking webcam).
Діалогова система
LLM (GPT-4o або Llama 3 70B self-hosted) + RAG для domain knowledge. Emotion-aware system prompt: крім відповіді модель генерує JSON з emotion tag {emotion: "curious", intensity: 0.7} → emotion controller → мімика.
Streaming TTS (ElevenLabs WebSocket API) для sub-second first audio. Аватар починає рухатися до завершення генерації повної відповіді.
Рендеринг
Web: Three.js + morph targets для browser-based без плагінів (30 fps на mid-range hardware)
Desktop/Kiosk: Unreal Engine 5 Pixel Streaming (60 fps фотореалізм, потребує GPU-сервер)
Mobile: Unity + ARKit/ARCore (25–30 fps на iPhone 12+)
Конвеєр розробки
Тижні 1–4: Дизайн та 3D-моделювання аватара. Налаштування FACS-системи.
Тижні 5–9: Dialogue pipeline (STT → LLM → TTS з emotion tagging). Audio2Face інтеграція.
Тижні 10–14: Gesture system. Eye behavior. Інтеграція всіх компонентів.
Тижні 15–18: Оптимізація latency. Нагрузочне тестування. UX-тестування з користувачами.
Latency цільові показатели
| Компонент | Цільова затримка |
|---|---|
| STT (Whisper large) | 200–400 мс |
| LLM (streaming first token) | 100–300 мс |
| TTS (перший аудіочанк) | 100–200 мс |
| Lip sync початок | <33 мс від аудіо |
| Загальна сприйнята відповідь | 500–1000 мс |
Дослідження користувачів показують: затримка до 1200 мс сприймається як нормальна у розмовному контексті.







