
Anatomical Mirror 3D
Anatomiczne lustro: kamera obserwuje człowieka, model kostny odwzorowuje jego ruch w czasie rzeczywistym.
Lokalna aplikacja edukacyjna. AI estymuje pozę 3D, a prawidłowy anatomicznie model układu kostnego powtarza ruch użytkownika — dla osoby siedzącej przy laptopie i dla całej sylwetki. Obraz kamery żyje wyłącznie w pamięci: brak chmury, brak telemetrii, brak zapisu wideo.
PROBLEM
Atlas anatomiczny pokazuje kości w pozycji statycznej. Zrozumienie, co dzieje się z obojczykiem przy uniesieniu ręki albo z kręgosłupem przy pochyleniu nad biurkiem, wymaga wyobraźni przestrzennej, której nie każdy ma — a która jest kluczowa przy nauce anatomii i przy korekcji postawy.
POMYSŁ
Lustro, które zamiast odbicia pokazuje szkielet. Użytkownik rusza ręką, model kostny rusza tak samo — związek między ruchem a mechaniką staje się oczywisty, bo widać go na własnym ciele, w czasie rzeczywistym.
Z twardym warunkiem prywatności: aplikacja obserwuje człowieka przez kamerę, więc obraz nie może nigdzie trafić. Opcjonalny zapis rejestruje wyłącznie współrzędne stawów w pliku JSONL, nigdy klatki wideo.
PROJEKT
Potok zaczyna się od detekcji człowieka i estymacji pozy 3D, po czym trafia na najtrudniejszy etap — retargeting. Punkty stawów zwracane przez model estymacji nie odpowiadają jeden do jednego kościom modelu anatomicznego, więc potrzebna jest jawna mapa przekształceń, zapisana w osobnym pliku konfiguracyjnym.
Model anatomiczny jest przygotowywany w Blenderze i eksportowany do postaci runtime osobnym skryptem. Inwentarz anatomii zajmuje blisko pół megabajta JSON-a — to katalog wszystkich elementów z ich relacjami.
Dwa tryby pracy odpowiadają dwóm sytuacjom: NEAR/DESK dla osoby siedzącej przy laptopie, gdzie w kadrze jest górna część ciała, oraz FULL BODY dla całej sylwetki. Różnią się nie tylko zakresem, ale i sposobem filtracji — przy biurku drobne ruchy mają znaczenie, przy pełnej sylwetce są szumem.
Aplikacja ma dwa tryby wyświetlania: sam szkielet oraz zastąpienie postaci modelem w kadrze kamery. Drugi jest efektowniejszy, pierwszy czytelniejszy dydaktycznie — i to on jest domyślny, bo celem jest zrozumienie mechaniki, a nie efekt wizualny.
Nagrania w formacie JSONL pełnią jeszcze jedną funkcję: pozwalają zbudować zestaw przypadków testowych z realnych ruchów. Sekwencja, na której retargeting się wykłada, staje się plikiem, który da się odtworzyć po każdej zmianie kodu.
REALIZACJA
Aplikacja uruchamia się w kilku wariantach: domyślnym (sam szkielet), z zastąpieniem człowieka modelem, z wyborem kamery oraz — co istotne dla rozwoju — w trybie odtwarzania nagranej pozy z pliku JSONL, całkowicie bez kamery.
Ten ostatni tryb jest odpowiednikiem emulatora z innych projektów: pozwala pracować nad retargetingiem i wizualizacją bez stawania przed kamerą przy każdej zmianie kodu.
Dokumentacja obejmuje decyzję architektoniczną, raport z analizy zasobów blenderowych, plan wdrożenia i raport etapu — projekt jest prowadzony metodycznie mimo edukacyjnego charakteru.
EFEKT
Działa estymacja pozy, retargeting i wyświetlanie modelu kostnego w obu trybach. GPU jest opcjonalne — procesor wystarcza dla pełnego modelu, co ma znaczenie przy zastosowaniu edukacyjnym, gdzie sprzęt bywa przypadkowy.
GALERIA
01 ZDJĘĆAnatomical Mirror — nakładka szkieletu na sylwetkę, wyjście testu · zrzut z projektu
WNIOSKI
Retargeting okazał się trudniejszy niż sama estymacja pozy. Model rozpoznający szkielet zwraca punkty umowne, a kość ma długość, oś obrotu i ograniczenia zakresu ruchu. Bez ich uwzględnienia szkielet powtarza ruch w sposób anatomicznie niemożliwy — czyli dokładnie odwrotnie do celu aplikacji.
Wniosek dotyczący prywatności okazał się przy tym zaskakująco praktyczny. Ograniczenie zapisu do samych współrzędnych stawów nie tylko chroni użytkownika, ale też radykalnie zmniejsza objętość nagrań — sesja zapisana jako JSONL waży tyle, co pojedyncza klatka wideo, i nadaje się do odtworzenia w trybie replay.


