Tennis-Lab detector inference checkpoints

Tennis-Labの同期マルチカメラ3D再構成で使う 2Dコート検出・ボール検出の推論用checkpointです。各カメラのRGBからコートの形状、 カメラpose、ボールの2D位置を推定します。3D再構成はTennis-Lab側のpipelineが行います。

These are inference checkpoints for the court and ball detectors used by Tennis-Lab. They require the linked repository's model and preprocessing code. Training state has been removed; every model tensor and the saved hyper_parameters are unchanged. The court checkpoint includes the frozen DINOv3 ViT-B/16 backbone.

Code / reproduction commit: 9c74f881b0e52a759f1e3ad1cefe2aa0096981ab (source).

入出力 / Inputs and outputs

Detector Input Output
Court RGB image。公開APIはPIL/NumPy RGBを受け、保存設定の長辺512・patch 16に合わせてresize/padしImageNet正規化する。prepared tensorはfloat32 (1,3,H,W)、同じ正規化が必要。 ordered KP14、7-class segmentation、binary court line、12-class semantic line、raw camera pose10d。head別APIやhybrid homographyはrepo側の推論コードで提供。
Ball float32 RGB (B,T,3,H,W)、値域 [0,1]。標準pipelineは8フレーム窓、288×512へresize。predictorが保存済みImageNet正規化と2ch MDD変換を適用。 native sigmoid heatmap (B,T,H/4,W/4)、格子の端点で正規化した2D座標・confidence、候補点。scoreは未較正で、存在確率ではない。

CourtはDINOv3+Transformer+multiscale DPT(dense head residual depth 3)、 BallはConvNeXt spatiotemporal U-Netです。両方とも学習状態を除去したLightning .ckptのままにし、 モデル全tensor、完全なhyper_parameters、pytorch-lightning_version、hparams_nameを保持しました。 optimizer・scheduler・loop・callback・epoch/global_stepは含みません。推論コードは変更していません。

入力契約と利用方法の正本はコートREADME・ ボールREADMEです。

取得と検証 / Download and verification

Tennis-Labを上記commitで準備し、repo rootから実行します。

.venv/bin/python -m src.utils.model_weights --checkpoint-root "$PWD/ckpt"
.venv/bin/python -m src.utils.model_weights --checkpoint-root "$PWD/ckpt" --verify-only

--model court / --model ballで選択できます。取得物のSHA-256を検査してから配置し、 不一致や欠損はエラーです。既存の異なるファイルは自動で上書きしません。 Hub内のパスを、そのままTennis-Labのckpt/からの相対パスとして使えます。 .ckptはこのrepoのコードで読みます(Transformersのfrom_pretrained形式ではありません)。

コートの現行ローダーは、公開checkpointにbackboneが同梱されていても構築時に third_party/dinov3のコードとckpt/dinov3/dinov3_vitb16_pretrain_lvd1689m-73cec8be.pthを必要とします。 これらの上流資産、GVHMR・SMPLなど他のpipeline資産はこのModel repoの同梱物に含めません。

SHA-256

学習版とファイル名は同じですが、以下は学習状態を除去した公開推論版のhashです。 SHA256SUMSでも同じ値を提供します。

File (relative to ckpt/) SHA-256
court_detection/multiscale_depth3/b863df1f01f0.ckpt bca48cdbdf0b26847b3f650cc4249397b2f7c0a963ba4801b7cd111c6e81522c
ball_detection/i935-mixed-ft-s42-epoch09.ckpt 489bb90fb6bb4deab81e507b17e698fbe40ee945533196e78d6c69e4ee3f5828

再現とCPU検証 / Reproduction

export scriptが 元の学習checkpointをSHA-256で固定し、推論版を生成します。.ckpt形式を維持することで、 保存モデル構成・前処理・target bundleを既存のstrictローダーがそのまま利用できます。 ファイル名も標準pipelineの設定と一致します。

CPU float32、seed 42で次を確認しました。両方ともproduction predictorのstrictロード経路を使い、 コートは入力adapterでDINOv3の4段特徴を準備して全モデルheadを実行しました。

Detector Small input shape Compared outputs Maximum absolute difference
Court (1,3,32,32) kp / seg / line / semantic_line logits + pose10d 0
Ball (1,8,3,32,32) heatmaps + coords + confidence 0

全593 tensor(コート)・242 tensor(ボール)とhyper_parametersも元版と完全一致しました。 これは推論版への変換の同値性を検証するものです。実動画での精度評価やGPU実行の結果ではありません。

学習データと利用条件 / Training provenance and terms

本repoには、異なるライセンスのボール検出重みとコート検出重みが含まれます。ファイルごとの適用範囲とライセンス全文は、ルートのLICENSEを参照してください。

ボール検出重みball_detection/i935-mixed-ft-s42-epoch09.ckptはCC BY-NC 4.0です。初代学習はスクラッチで、外部の事前学習重みは使っていません。この初期化元の根拠は2026-10-19のユーザー回答です。学習にはTrackNet、Meiji、YouTube由来の追加ボール注釈を使用しました。

コート検出重みcourt_detection/multiscale_depth3/b863df1f01f0.ckptはDINOv3 Licenseです。MetaのDINOv3 ViT-B/16のパラメータを含み、TennisCourtDetector由来の実画像とSynthetic Court B00–B03の合成画像を混合して学習しました。利用・再配布・研究発表は同契約に従ってください。コート重み単体に独自の非商用条件やCC BY-NC 4.0は追加しません。

学習はボール位置やコート形状を推定する情報解析を目的としています。ボール重みの公開は、日本の著作権法第30条の4が学習時の利用に適用されるというプロジェクトの判断に基づきます。同条には著作権者の利益を不当に害する場合を除外する規定があります。e-Gov条文、文化庁資料

第三者の学習映像・画像・データセット自体は同梱していません。上の判断は配布元との契約条件や取得時の許可を解決したことを意味せず、未確認事項が残っています。

研究と非商用デモを想定しています。この説明は各ライセンスに用途制限を追加しません。別途使用するGVHMR、SMPL、SMPL-X等の資産やパイプライン出力には、それぞれの条件が適用されます。

Attribution example for the ball checkpoint: Motoki0705 / Motoki098, “Tennis-Lab ball detector”, 2026, model repository, CC BY-NC 4.0. For the court checkpoint, retain and follow the DINOv3 License in LICENSE, including acknowledgment of DINOv3 when publishing research results.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support