Zespół badaczy z Uniwersytetu w Tel Awiwie opublikował kody źródłowe związane z systemem uczenia maszynowego MDM (Motion Diffusion Model), który umożliwia generowanie realistycznych ruchów ludzkich. Kod napisano w języku Python z wykorzystaniem frameworka PyTorch i jest dystrybuowany na licencji MIT. Do przeprowadzania eksperymentów można wykorzystać zarówno gotowe modele, jak i przeprowadzić trening modeli samodzielnie za pomocą dostarczanych skryptów, na przykład korzystając z kolekcji trójwymiarowych obrazów ludzi HumanML3D. Do uczenia systemu wymagany jest GPU z obsługą CUDA.
Zastosowanie tradycyjnych możliwości animowania ruchów ludzkich jest utrudnione z powodu komplikacji związanych z dużą różnorodnością możliwych ruchów i trudności ich formalnego opisu oraz z powodu dużej wrażliwości ludzkiego postrzegania na nienaturalne ruchy. Wcześniejsze próbki wykorzystania generatywnych modeli uczenia maszynowego miały problemy z jakością i ograniczoną ekspresyjnością.
W proponowanym systemie podjęto próbę zastosowania modeli dyfuzji do generowania ruchów, które same w sobie lepiej nadają się do symulacji ruchów ludzkich, ale nie są pozbawione wad, takich jak wysokie wymagania względem zasobów obliczeniowych i trudność w zarządzaniu. Aby zminimalizować wady modeli dyfuzyjnych, w MDM wykorzystano sieć neuronową z architekturą typu „transformer” oraz prognozowanie próbki zamiast prognozowania szumu na każdym etapie, co upraszcza zapobieganie anomaliom, takim jak utrata kontaktu powierzchni z nogą.
Do zarządzania generowaniem przewidziano możliwość zastosowania opisu działania w języku naturalnym (na przykład: „człowiek idzie naprzód i pochyla się, aby podnieść coś z ziemi”) lub wykorzystanie typowych działań, takich jak „bieganie” i „skoki”. System można także stosować do edytowania ruchów oraz uzupełniania utraconych szczegółów. Badacze przeprowadzili testy, w których uczestnikom zaproponowano wybór z kilku opcji bardziej jakościowego wyniku — w 42% przypadków ludzie wybrali ruchy syntetyzowane zamiast rzeczywistych.

Źródło: opennet.ru
