Skip to content
← Kõik juhtumiuuringud
#0073. juuni 2026

Tennisematši analüüs — profitasemel skautimine ülekandevideost

~12 tundi
Inimtöö
~33×
Ehituse kiirendus
~30×
Matši kohta vs analüütik
~0,50 €
Pilvekulu / matš
199
Segmenteeritud punkte
2
Avaldatud raporteid

Probleem

Lapsevanem, kelle kaks last mängivad võistlustennist, soovis kahte asja, mida kuni viimase ajani suutis pakkuda ainult professionaalne analüüsiosakond. Esiteks tõelist analüüsi matšist, mille tütar oli juba mänginud — mitte tabloo lõppseisu, vaid seda, miks matš kaotati: kus ta seisis, kuidas ta lõi, millal hoog tegelikult pöördus. Teiseks, ja kiiremas korras, eelanalüüsi homsest vastasest — koostatuna ainsast YouTube'i videost, kus too vastane mängib kedagi kolmandat.

Just seda teenust juba müüakse. Videopõhine tennisanalüütika on välja kujunenud: mängija või akadeemia saadab matšisalvestuse ning analüütik saadab vastu soojuskaardid, löögimustrid, servipaigutuse ja taktikalise ülevaate. Teenus on tõeline ja hea, kuid juuniortennise pere jaoks on see pigem aeg-ajalt lubatav luksus kui iga matši harjumus. Küsimus, millele see projekt vastust otsis, oli konkreetne: kas üks inimene suudab tehisintellekti abil ja tavalise sülearvutiga toota tõeliselt kasuliku versiooni sellisest analüüsist — nii juba peetud matši kui ka vastase eelanalüüsi jaoks — hinnaga, mis teeb selle iga matši puhul korratavaks?

Edu ei tähendanud professionaalse Hawk-Eye paigaldise taset. Edu tähendas ausat ja kaitstavat analüüsi, mille põhjal treener saaks tegutseda: väljakukatvus, kus mängija palli lööb, servikiirus settide kaupa, kes võitis millised punktid, võidulöögid versus vead, hoograafik — ning vastase kohta üheleheküljeline taktikaline kokkuvõte koos mänguplaaniga. Saadaolev videomaterjal oli tavaline: ühe matši teleülekanne ja teise matši liikumatu kaameraga YouTube'i salvestus. Ei ühtki andurit, palli sisse peidetud kiipi ega puhast andmevoogu — ainult video ja sinna sisse kuvatud seis.


Tehisintellekti lähenemine

Kogu lahendus valmis ühe pikema Claude Code'i seansi jooksul, alustades sõna otseses mõttes nullist — operaator polnud kunagi arvutinägemise koodi kirjutanud ja küsis ühel hetkel, mida üldse tähendab „märkmik" (notebook). Töö kulges juhendatud ehitusena: operaator (tenniselapsevanem, mitte insener) andis valdkonnatunnetuse ning tehisintellekt tegi inseneritöö.

Mudelid ja tööriistad ning iga valiku põhjus:

  • Ultralytics YOLO (yolo11x, yolo11m, yolo11x-pose) — mängijate tuvastamine ja kehaasend. Just kehaasend oli võti: serv on „ranne kõrgel pea kohal", löögikontakt on löögiasendis keha. Töötab Maci Apple Siliconi GPU-l (MPS).
  • TrackNet (treenitud tennisepalli jälgija) — määrav komponent. Tavaline pallituvastus värvi ja liikumise põhjal ebaõnnestus täielikult: pall on vaid mõni piksel, liikumishägune ja kaob publiku taustal ära. TrackNet leidis palli trajektoori laiades pallivahetuskaadrites ligikaudu 80% ulatuses.
  • Modal serverivaba GPU (pilve T4) — TrackNeti käivitamine üle terve matši kestab sülearvuti GPU-l 4–5 tundi, kuid pilve T4-del paralleelselt vaid mõne minuti ja paari sendi eest. Just see tööjaotus tegi projekti praktiliseks: raske pallijälgimine pilves, kõik muu kohapeal.
  • Tesseract OCR — tablool kuvatava seisu lugemine: servikiirus, punktid, geimid ja servija märgis. See avas tee punktipõhise analüüsini.
  • Homograafia (OpenCV) — viltuse kaameranurga teisendamine pealtvaateks, nii et jala- ja pallipositsioonidest saavad tõelised väljakukoordinaadid.
  • yt-dlp + Deno — lähtevideote allalaadimine kohapeal (YouTube blokeerib pilve andmekeskuste IP-aadressid, nii et alla tuli laadida koduühenduse kaudu).
  • Next.js / staatiline HTML + Vercel — kaks interaktiivset, parooliga kaitstud raportilehte.

Kuidas analüüs kihthaaval kokku pandi:

  1. Positsioon — tuvasta mõlemad mängijad, eralda nad riietuse värvi järgi (üks kandis valget, teine musta seelikut; hiljem vastane roosas, tema vastane türkiissinises), kaardista jalad väljakukoordinaatideks, koosta soojuskaardid settide kaupa.
  2. Pall — TrackNeti trajektoor; löögikontakt on palli trajektoori järsk vertikaalpööre mängija kohal (pööre ilma lähedal oleva mängijata on lihtsalt põrge).
  3. Tulemus — loe tablool seisu, et jaotada matš 199 üksikuks punktiks; punkti viimane kontakt võrdluses punkti võitjaga annab võidulöögid ja vead, ilma et oleks vaja näha, kuhu pall maandus.
  4. Süntees — hoog (kumulatiivne punktivahe), servikiirus settide kaupa, löögikontakti kõrgus ja sügavus ning vastase taktikaline profiil.

Mida jäeti teadlikult automatiseerimata: iga analüütiline väide kontrolliti enne usaldamist visuaalselt üle — tuvastuste koondpildid, pallitrajektoori ülekatted, identiteedikontrollid. Operaatori tenniseteadmised olid kandev osa, mitte kaunistus: ta parandas mängijate eristamise värvireegli (kaks korda), märkis, et „kõrge löögikontakt" ei tähenda veel „surve all olemist", sõnastas ümber selle, mis kolmandas setis tegelikult muutus, ning andis vastase eelanalüüsi kõige olulisema fakti — et vastane on vasakukäeline —, mis pööras kogu forehandi-ja-backhandi tõlgenduse pea peale.


Inimtöö

Tegu oli ühe järjepideva seansiga, mitte mitmenädalase tootega. See teeb arvestuse ühtpidi selgemaks (üks istumine), teistpidi ähmasemaks (seanssi ei mõõdetud ülesandepõhiste taimeritega, nii et allolevad tunnid on aus rekonstruktsioon, mitte stopperinäit).

Valmis kaks väljundit: täielik matšianalüüs koos interaktiivse raportiga lõpetatud matši kohta ja vastase eelanalüüs eelseisva matši jaoks.

Hinnanguline aktiivse töö jaotus:

EtappAktiivne aegMis toimus
Materjali sõelumine ja väljaku homograafia kalibreerimine (matš 1)~1,5 hÜlekande iseloomu mõistmine, laiade pallivahetuskaadrite leidmine
Katvuse ja riietusepõhise eristuse loogika, müra puhastamine~1,5 hTaustalahutus liikumatute ametnike eemaldamiseks, pallipoiste väljafiltreerimine
Servikiirus ja tabloo OCR (nihkuvad paigutused)~1 hOCR-ala nihkub paremale, kui tabloo settide lisandudes laieneb
TrackNeti sidumine, pilve (Modal) seadistus, palli kontroll~1,5 hSealhulgas seadme- ja mälusilumine ning töö pilves laialijaotamine
Punktideks jaotamine, võidulöögid/vead, hoog~1,5 h199 punkti lugemine seisust, tulemuste loogika
Interaktiivne matširaport (kaks mängijat, hoog, avaldamine)~2 hKujundus, graafikud, parooliga kaitstud Verceli avaldamine
Vastase eelanalüüs: ümberkalibreerimine (roheline väljak, roosa eristus)~1 hKõik tuletati teise ülekande jaoks uuesti
Eelanalüüs: pilve-TrackNet, kontakti- ja serviloogika, taktikaline kokkuvõte ja avaldamine~2 hTäismahus teine läbimäng värskel videol

Hinnanguline aktiivne inimtöö kokku: ~12 tundi, ühe seansiga. Lisaks kulus palju kalendriaega järelevalveta arvutusele — TrackNeti ja kehaasendi läbimängud, mida operaator pigem ootas kui käsitsi tegi.

Iseloomulik joon oli paranduste tihedus. Operaator püüdis kinni ja keeras tagasi mitu enesekindlat, ent ekslikku väljundit — vahetatud identiteedid, kolmanda seti languse vale tõlgenduse, peegeldamata kontaktikaardi, mis paigutas löögid „võrgust valele poole", ning vastase käelisuse. See ei ole kulu, mida tuleks minimeerida; see ongi mehhanism, mis hoidis analüüsi ausana.


Traditsiooniline võrdlusalus

Sellel juhtumil on kaks õiguspärast „ilma tehisintellektita" võrdlust ja kasutaja palus mõlemat. Need vastavad eri küsimustele.

A. Ehita see tarkvarana (ühekordne kulu)

Sama võimekuse loomine harilik tarkvaraprojektina — väike tööriist, mille arendaja saaks igal matšil uuesti käivitada — on tõsine arvutinägemise töö:

KomponentHinnang
Väljaku tuvastamine, homograafia, ülekandepõhine kalibreerimine20–40 h
Mängijate tuvastamine ja jälgimine, riietusepõhine eristus, müra puhastamine40–60 h
Kehaasendil põhinev servi- ja löögikontakti tuvastus30–50 h
Pallijälgimine: mudeli sidumine, pilve-GPU lahendus30–50 h
Tabloo OCR (servikiirus, punktid, geimid, servija; nihkuvad paigutused)40–70 h
Punktideks jaotamine ja võidulöögi/vea loogika30–50 h
Katvuse, kontakti ja hoo analüütika ning visualiseerimine30–50 h
Kaks viimistletud, interaktiivset, avaldatud raportilehte40–80 h
Sidumine, silumine, kontroll40–80 h
Kokku~300–530 h
Kulu (60–100 €/h)18 000–53 000 €
Kalendriaeg2–3 kuud, väike meeskond

Keskmine planeerimisarv: ~400 tundi.

B. Tooda samad väljundid käsitsi, iga matši kohta (korduv kulu)

Tennisepere jaoks on see olulisem võrdlus, sest alternatiiv valmis tööriistale ei ole „ehita tarkvara", vaid „maksa analüütikule iga kord uuesti". Et toota käsitsi ühe matširaporti või ühe eelanalüüsi ekvivalent:

KäsitööÜhe matši kohta
Iga löögi ülesmärkimine (iga punkt, kontakt, serv, tulemus) — Match Charting Projecti standardiga kulub 2–3× matši kestust6–9 h
Väljakupositsiooni ja katvuse märkimine videolt4–8 h
Servi, kontaktitsoonide ning võidulöökide/vigade koondamine3–6 h
Hoog, settide kaupa jaotus, koondnäitajad1–2 h
Raporti kirjutamine ja kujundamine6–12 h
Oskuslik analüütiku- ja kujundustöö kokku~20–37 h matši kohta
Kulu analüütiku tunnihinnaga1500–3000 € matši kohta
Ja see kordub — iga uus matš algab otsast peale.

Kommertsteenus surub selle oma (sageli osalt automatiseeritud) tööriistadega kokku, kuid pere maksab ikkagi matši kaupa ja vastus tuleb päevadega, mitte samal õhtul.


Kiirendustegur

Et projekt on ühtaegu ühekordne ehitus ja korduvkasutatav võimekus, on aus vastus kaks arvu.

VõrdlusTraditsioonilineTehisintellektigaTegur
Ühekordne ehitus vs tarkvaraprojekt~400 h~12 h~33×
Iga järgnev matš vs käsitsianalüütik~30 h / matš~1 h inimtööd + ~30 min pilve / matš~25–30× matši kohta, korduvalt
Otsekulu matši kohta1500–3000 €~0,50 € pilve + aeg>1000×

Ehituse kiirendus (~33×) on teiste Kodulabori tarkvarajuhtumitega samas suurusjärgus. Ent kandev arv on siin piirkulu matši kohta: kui lahendus on olemas, tähendab uus matš umbes tundi inimese kalibreerimis- ja kontrollitööd ning poolt tundi pilvearvutust, mis maksab umbes viiskümmend senti. Täiesti käsitsi tehtud alternatiiv on kakskümmend kuni kolmkümmend oskustundi iga kord. Pere jaoks, kes sooviks seda hooaja kümnel matšil, varjutab korduv võrdlus ühekordse täielikult.

Ja üht ei suuda see tegur tabada: suurem osa sellest analüüsist poleks kunagi valminudki. Ükski tenniselapsevanem ei märgi käsitsi üles 199 punkti ega koosta juuniormatšile hoograafikut. Realistlik vastandstsenaarium ei ole „sama asi, aga aeglasemalt", vaid „mitte midagi" — või parimal juhul „aeg-ajalt tasuline raport ainult kõige tähtsamatel matšidel". Lahendus muudab seda, mida on üldse võimalik küsida, mitte ainult seda, kui ruttu vastus tuleb.


Kvaliteedi hindamine

Väljund on ühtaegu tõeliselt kasulik ja tõeliselt ebatäiuslik, ning raamistik väärtustab mõlema selget väljaütlemist.

Mis vastas tõelisele tasemele:

  • Punktideks jaotamine pidas teadaoleva tulemuse proovile vastu. Settide kaupa punktiarvud taastasid iseseisvalt tegeliku matšitulemuse (Anikina võitis 1. seti ning kaotas 2. ja 3.) — tugev märk, et seisu lugemine ja punktiloogika olid õiged.
  • Võidulöögid ja vead paljastasid tõelise loo. Peamine leid — ta võitis rohkem punkte kui vastane, kuid kaotas matši, ning tema lõpulöögi veaprotsent hüppas kolmandas setis ~41%-lt 68%-le — on tõeline, treeneritasemel mõistmine, mida pelk tulemus varjab.
  • TrackNeti pallijälgimine töötas seal, kus tavalised meetodid täielikult ebaõnnestusid, ning pallikinnitusega löögikontaktid kontrolliti kaaderhaaval üle.
  • Vastase eelanalüüs andis kasutatava mänguplaani — sügav kaitsemängija, võrku ei tule, forehandile toetuv vasakukäeline —, mille iga punkti saab treener kasutusele võtta.

Mida professionaalne süsteem teeks paremini:

  • Tõeline palli sees/väljas ja põrkekoha määramine (vajaks kalibreeritud mitut kaamerat või Hawk-Eye-tasemel jälgimist; siin oli see tuletatud).
  • Servipaigutus — kehaasendil põhinev servituvastaja leidis eelanalüüsi matšis puhtalt vaid 6 servi, sest kaugjoone servid jäävad liiga väikeseks. Servipaigutust polnud võimalik lugeda.
  • Pööris, täpne löögitüüp ja formaalne sunnitud/sunnimata vea eristus — enam, kui üks ülekandekaamera võimaldab.
  • Kalibreeritud absoluutne väljakusügavus — homograafia sobitati iga kaamera jaoks käsitsi, nii et sügavusvõrdlused on suhtelised, mitte meetrilised.

Mida tuli inimotsusega parandada: mängijate eristus (kaks korda), kolmanda seti languse tõlgendus (põhjus oli teostus, mitte väljakupositsioon ega löögikontakti kõrgus — mõlemad jäid muutumatuks), peegeldamist vajanud kontaktikaart ja vastase käelisus. Ühtegi neist ei taibanud tehisintellekt ise.


Lõksud ja piirangud

See projekt läks rohkemast kohast rikki kui ükski teine Kodulabori kogumikus ja just see on selle juures kõige õpetlikum.

1. Tavaline pallituvastus ebaõnnestus täielikult — kaks korda. Värvi ja liikumise põhjal tuvastatud „pall" oli eristamatu kingadest, nahast ja väljakule kirjutatud sõnast „TARBES". Aus test (piirdu ainult laiade pallivahetuskaadritega) andis viie minuti kohta ühe tõelise tuvastuse. Läbimurde tegi alles treenitud mudel (TrackNet). Õppetund: kõige riskantsem eeldus — „kas me palli üldse näeme?" — tuleb läbi proovida enne, kui sellele midagi peale ehitada.

2. Tehisintellekt jutustas enesekindlalt kolm valet lugu ja andmed lükkasid kõik ümber. „Agressiivsuskõver" (muutumatu), „servikiiruse kokkukukkumine" (muutumatu) ja „rohkem kõrgeid palle kolmandas setis" (muutumatu) olid kõik usutavad narratiivid, mida mõõdikud keeldusid kinnitamast. Mõõdiku sundimine loosse sobima on kõige suurem patt; oskus eristada seda, mida andmed näitavad, sellest, mida me ootasime, oligi vahe tõelise analüüsi ja meelitava jutu vahel.

3. Positsioon ei ole kavatsus ja kõrgus ei ole surve. Jalapositsioon ei näidanud „agressiivsust" ja löögikontakti kõrgus ei näidanud „ebamugavust". Operaatori parandus — et kolmas sett kaotati teostusvigade, mitte kehapositsiooni tõttu — suunas kogu analüüsi tulemusmõõdikute (võidulöögid ja vead) poole, kus tõde tegelikult peitus.

4. Mängijate eristus läks kaks korda sassi. Riietuse värvil põhinev reegel rakendati tagurpidi (operaator tunneb ju oma tütart) ning kaugel väljakuotsas tumedates riietes pallipoisid lekkisid sisse tumeda seelikuga mängija pähe, kuni lisati nõue „peab kandma valget pluusi".

5. Tabloo liikus. Servikiirus ja punktid kuvatakse kindlatel kohtadel — ainult et kast nihkub paremale, kui see settide lisandudes laieneb, mistõttu fikseeritud OCR-ala luges märkamatult ainult esimest setti. Lahenduseks tuli lugeda kogu riba ja eraldada sealt number.

6. Iga uus matš tähendab uut kalibreerimist. Vastase eelanalüüs nõudis väljakumaski (roheline väljak, mitte oranž liiv), homograafia (teine, liikumatu kaamera) ja eristusvärvi (roosa, mitte valge) nullist tuletamist. Meetodid kanduvad üle, pikslikoordinaadid ja värvilävendid mitte. See ongi suurim takistus valmis kujul taaskasutamisele.

7. Käelisus vajas inimest. Forehandi-backhandi jaotus eeldas paremakäelisust ja näitas 64% ühele tiivale. Operaatori üksainus tähelepanek — „ta on video põhjal vasakukäeline" — pööras selle ümber: tegu on 64% forehandi-ülekaaluga, mis muutis mänguplaani „katseta mõlemat tiiba" asemel „jahi backhandi".

8. Praktiline takerdumine. Kaks avaldamist ebaõnnestusid õpetlikult — üks viis live'i tühja kausta (vaikne kopeerimisviga → elav 404) ja YouTube blokeeris pilvest allalaadimise täielikult, sundides materjali tooma koduühenduse kaudu. Mõlemad on igapäevased apsakad, mida ükski demo ei näita.


Korratavuse hinne

3 viiest.

Ülesehitus on taaskasutatav ja selle projekti tööjuhend pandi selgelt kirja. Teine inimene saaks kogu lähenemise üle võtta: YOLO + kehaasend mängijate jaoks, TrackNet Modalis palli jaoks, Tesseract tabloo jaoks, homograafia väljaku jaoks ning loogika, mis tunneb löögikontakti ära trajektoori pöördest.

Kõrgemat hinnet takistab miski väga reaalne, mida koges ühe seansiga kaks korda: iga uus ülekanne vajab uut kalibreerimist — väljakuvärv, tabloo pikslialad, riietuselävendid, kaamera homograafia — ning analüüs vajab valdkonna asjatundlikkust tulemuste kontrollimiseks ja tõlgendamiseks. Operaatori tenniseteadmised püüdsid kinni vead, mida tehisintellekt ei suutnud. Tennist mittetundev arendaja esitaks enesekindlaid valejäreldusi; inseneritööta tennisetreener ei jõuaks esimesest skriptist kaugemale. Tulemus vajab mõlemat — just seepärast ongi hinne 3, mitte 5.


Otsus

Aastakümneid tähendas „professionaalne matšivideo analüüs" osakonda, teenuslepingut või mitte midagi. See projekt näitab kolmandat võimalust: valdkonna asjatundja ja tehisintellekt toodavad ühe seansiga kaitstava matširaporti ja kasutatava vastase eelanalüüsi — pilvearvutuses kohvi hinna eest ja korratavalt igal matšil.

Aus raamistus on kahe haruldase asja koostöö. Tehisintellekt andis võimekuse, mida ükski üksikisik üksinda kokku ei paneks — treenitud pallijälgimismudel, pilve-GPU-d, kehaasendi tuvastus, OCR —, ühendades need töötavaks tervikuks kellegi käes, kes polnud kunagi arvutinägemise koodi kirjutanud. Inimene andis otsustusvõime, mis hoidis selle tõesena: püüdis kinni vahetatud identiteedid, keeldus meelitavatest narratiividest ja andis ainsa fakti (vasakukäelisus), mida video üksi ei suutnud anda. Kumbki pool sellist tulemust üksi ei tooda. Koos asendavad nad ühe pere jaoks võimekuse, mis varem nõudis tervet firmat.

Kellele see sobib: lapsevanemale, treenerile või mängijale, kellel on tõelised valdkonnateadmised ja kannatust iga väidet üle kontrollida. Valdkonnatunnetus ei ole valikuline — see on pool süsteemi.

Kellele mitte: sellele, kes loodab valmis „lae video üles, saa analüüs" nuppu. See ei ole niisugune lahendus ja ümberkalibreerimise hind on reaalne. Tegu on võimekusega, mida sa kasutad, mitte tootega, mida sa ostad — ning selle hea kasutamine eeldab spordi piisavat tundmist, et öelda tehisintellektile, millal too eksib.

Kõige sügavam õppetund kajab fitness-treeneri juhtumit teise nurga alt: tehisintellekt kahandab analüüsi ehitamise ja käitamise kulu, kuid ei kahanda otsustamise kulu. Lahendus ise on odav. Töö seisneb selles, et teada, kas seda uskuda.


See juhtumiuuring on koostatud Kodulabori hindamisraamistiku alusel. Metoodika ja leiud on avalikult avaldatud aadressil kodulabor.ai.


Andmelisa

NäitajaVäärtus
Väljundid1 matšianalüüsi raport + 1 vastase eelanalüüs, mõlemad avaldatud
Analüüsitud matše2 (üks täismahus teleülekanne, üks liikumatu kaameraga eelanalüüsi matš)
Hinnanguline aktiivne inimtöö~12 tundi (üks seanss, stopperiga mõõtmata)
Ehituse kiirendus vs tarkvaraprojekt~33× (~12 h vs ~400 h)
Piirkiirendus vs käsitsianalüütik~25–30× matši kohta, korduvalt
Punktideks jaotatud (matš 1)199, tabloo OCR-i põhjal
Pallikinnitusega löögikontakte (matš 1)1086 (866 + 220 mängija kaupa)
Jälgitud positsioone / kontakte (eelanalüüs)3899 positsiooni, 898 kontakti
Pilves jälgitud laiu pallivahetuslõike374 (matš 1) + 115 lõiku (eelanalüüs)
TrackNeti töödeldud kaadreid (pilves)~96 000 (matš 1) + ~171 000 (eelanalüüs)
Pallituvastuse määr (pallivahetuse ajal)~80% (matš 1), ~60% (eelanalüüs, raskem kaameranurk)
Kohaliku GPU kiirendus (TrackNet, MPS vs CPU)~9× (138 ms/kaader vs 1279 ms/kaader)
Pilve-GPUModal, T4, paralleelne jaotus, terve matš mõne minutiga
Hinnanguline pilvekulupaar senti kuni ~1 € matši kohta
Kasutatud mudelidyolo11x / yolo11m / yolo11x-pose, TrackNet (yastrebksv), Tesseract OCR
Avaldatud raporteid2 (Vercel, parooliga kaitstud, edge-vahekihi autentimine)
Operaatori kinnitatud analüütilisi parandusi4+ (eristus ×2, kolmanda seti tõlgendus, kontaktikaardi peegeldamine, käelisus)
Teise matši jaoks vajalik ümberkalibreerimineväljakumask, homograafia, eristusvärv, tabloo alad
Operaatori varasem arvutinägemise kogemuspuudus (küsis alguses „mis on märkmik?")