A FitVision projekt egy olyan webes alkalmazás amelynek segítségével a felhasználó visszajelzést kap arról, hogy a feltöltött videón látható gyakorlatot helyesen hajtotta-e végre. Az alkalmazás célja, hogy segítse az embereket a biztonságosabb és hatékonyabb edzésben, valamint hozzájáruljon a helyes testtartás és mozgástechnika kialakításához.

A felhasználó rögzíti magát gyakorlat közben, feltölti a gyakorlatról szóló videót, az alkalmazás pedig kiértékeli a gyakorlat formáját, visszajelzést ad a helyes ismétlésszámokról, és építőjellegű tanácsokat ad a felhasználó számára, hogy hogyan tudná helyesebben elvégezni a mozdulatokat. A rendszer a videó elemzése során figyelembe veszi a test helyzetét, a mozdulatok kivitelezését és a gyakorlat egyes fázisait. Az eredmények alapján megmutatja, hogy mely területeken teljesített jól a felhasználó, illetve hol szükséges javítania.

A Fitivison projekt különösen hasznos lehet azok számára, akik otthon szeretnének edzeni, és nincs lehetőségük személyi edző segítségét igénybe venni. Az alkalmazás egyszerűen kezelhető felületet biztosít, így kezdők és haladó sportolók egyaránt használhatják. Az alkalmazás továbbá támogatja a felhasználók fejlődésének nyomon követését is. Az edzések előzményeinek mentésével és a teljesítményről készített statisztikák segítségével a felhasználók visszatekinthetnek korábbi eredményeikre, összehasonlíthatják azokat a jelenlegi teljesítményükkel, és nyomon követhetik a fejlődésüket hosszú távon.

A szoftver két fő pillérre épül: a felhasználó a bejelentkezést követően megtekintheti a felhős adatbázisban tárolt korábbi edzésnaplóit és fejlődési statisztikáit, vagy új videót tölthet fel azonnali kielemzésre. Az alkalmazás célja, hogy a felhasználók objektív visszajelzést kapjanak a gyakorlatok végrehajtásáról, valamint hosszú távon is nyomon követhessék saját fejlődésüket. A rendszer elsősorban az otthoni edzést végzők számára nyújthat segítséget, de azok számára is hasznos lehet, akik szeretnék tudatosabban és pontosabban végezni az edzéseiket. A háttérben lefutó több lépcsős feldolgozás során a rendszer először képkockánként kinyeri a főbb test-kulcspontok, például a váll, a könyök, a csípő, a térd és a boka koordinátáit, és elmenti azokat a további feldolgozáshoz. Ezek a koordináták alapvető információkat szolgáltatnak a test helyzetéről és a mozgás irányáról. A videó feldolgozása során a rendszer megpróbálja azonosítani azokat a mozgásmintákat, amelyek alapján meghatározható a gyakorlat típusa és annak egyes végrehajtási fázisai. Ez a lépés fontos szerepet játszik abban, hogy a későbbi elemzés a megfelelő szempontok szerint történjen.

Második lépésben egy egyedileg betanított gépi tanulási (ML) modell azonosítja a végrehajtott gyakorlat típusát a kinyert koordináták alapján. A modell feladata kizárólag azoknak a gyakorlatoknak a felismerése, amelyekkel a tanítási folyamat során megismerkedett. Amennyiben a felismert gyakorlat szerepel a rendszer által támogatott gyakorlatok között, a feldolgozás a hozzá tartozó elemzési módszerrel folytatódik. Ezt követően a gyakorlatnak megfelelő mozgáselemző algoritmus kiszámítja a végtagok által bezárt ízületi szögeket, számlálja az ismétléseket, és megállapítja a kivitelezés pontosságát. Az ízületi szögek vizsgálata lehetővé teszi a testhelyzetek összehasonlítását az adott gyakorlatra jellemző elvárt mozgásmintákkal. Az algoritmus segítségével azonosíthatók azok az esetek, amikor a felhasználó nem megfelelő testtartással, túl kis mozgástartománnyal vagy helytelen mozdulatsorral hajtja végre a gyakorlatot. Az ismétlésszámlálás szintén fontos funkció, hiszen így a felhasználónak nem kell külön figyelnie az elvégzett ismétlések számára, hanem az edzésre és a megfelelő technikára összpontosíthat. Végül a rendszer összesíti az elemzés során keletkezett adatokat, és egy nagy nyelvi modell (LLM) segítségével jól értelmezhető, célzott visszajelzést fogalmaz meg a felhasználó számára. A visszajelzés tartalmazhatja az elvégzett ismétlések számát, a helyesen elvégzett ismétlések számát, a gyakorlat kivitelezésének értékelését, valamint azokat a területeket, amelyeken javításra van szükség. A cél nem csupán a hibák felsorolása, hanem olyan gyakorlati tanácsok megfogalmazása is, amelyek segítenek a helyesebb mozgás kivitelezésében. A felhasználó így könnyebben megértheti, hogy mely mozdulatokon érdemes változtatnia a következő edzés során.

Az alkalmazás másik fontos eleme az edzési előzmények és a fejlődési statisztikák kezelése. A rendszer a bejelentkezett felhasználó korábbi elemzéseit egy felhős adatbázisban tárolja, így az eredmények később is visszakereshetők. Az edzésnapló segítségével megtekinthetők a korábban elvégzett gyakorlatok, azok ismétlésszámai és az elemzések során kapott visszajelzések. A statisztikák lehetőséget biztosítanak az egyes edzések eredményeinek összehasonlítására, valamint a teljesítmény időbeli változásának megfigyelésére. Ezáltal a felhasználó képet kaphat arról, hogy mely területeken fejlődött, és melyeken van még szüksége további gyakorlásra.

Összességében a szoftver egy olyan komplex rendszert biztosít, amely egyesíti a videóalapú mozgáselemzést, a gépi tanulást, a személyre szabott visszajelzéseket és az edzési adatok hosszú távú tárolását. A rendszer célja, hogy a felhasználók számára könnyen elérhetővé tegye a gyakorlatok technikai ellenőrzését, miközben támogatja a tudatosabb edzést és a fejlődés folyamatos nyomon követését.

Technológiák:

  • React
  • FastAPI
  • MediaPipe
  • TensorFlow
  •  Ollama
  • PostgreSQL
  • Docker
  • Kubernetes
  • Terraform
  • Microsoft Azure
  • Azure Kubernetes Service
  • Azure Blob Storage
  • Azure Flexible Server for PosgreSQL
  • Gitlab CI/CD

Csapattagok:

Balázs és Dani

Mentorok:

Roli és Bence