研究と科学

発見のためのコードベース

ユーザーだけでなく、研究者のために設計したコードベースです。自由に書き換え、深く覗き込み、その権利に対価を払うことなく発表できます。

「研究ライセンス」は不要

フレームワークによっては、成果を公開せずにコードを調べるためだけに「研究」や「科学」向けライセンスの別料金を求めます。LibreYOLOは求めません。

よくある「科学ライセンス」

  • 研究を非公開に保つには課金が必要
  • 商用の研究開発には利用料
  • 複雑なライセンス階層
  • 論文発表のたびに法務レビュー

LibreYOLO(MIT)

  • 自由に調べて、非公開のままにできる
  • どんな用途でも費用はゼロ
  • シンプルなライセンス1つ、MIT
  • 法務の心配なく発表できる
ネイティブな説明可能性

ブラックボックスの中を見る

解釈可能性と説明可能性のツールを内蔵しています。外部依存も複雑な設定も不要です。フラグと関数呼び出しだけで使えます。

特徴マップの抽出

フラグを1つ。それだけで、すべての層の中間活性を保存できます。各段階でモデルが何を「見て」いるのかを理解するのに最適です。

feature_maps.py
from libreyolo import LibreYOLO

# Enable feature map saving in constructor
model = LibreYOLO(
    model_path="LibreYOLO11m.pt",
    size="m",
    save_feature_maps=True
)

# Run inference - feature maps auto-saved
results = model(image="parkour.jpg")

# Saved to: runs/feature_maps/
backbone_p1.png
1/11
バックボーンP1特徴マップ

CAMの可視化

実験的

7種類のClass Activation Map手法を内蔵しています。model.explain()を呼び出すと、モデルが何に注目しているかを示すヒートマップを生成します。この機能は実験的で、結果は変わることがあります。

explainability.py
from libreyolo import LibreYOLO

model = LibreYOLO(model_path="LibreYOLO11m.pt", size="m")

# One-line CAM visualization
result = model.explain(
    image="parkour.jpg",
    method="gradcam",
    target_layer="neck_c2f22",
    save=True
)

# Returns heatmap and overlay
print(result["heatmap"].shape)

書き換えられることを前提に

コードベースは読みやすく、書き換えやすいように書かれています。新しいバックボーンを試したい。独自のアテンション機構を実験したい。新しい損失関数を追加したい。どうぞご自由に。

yolov11_custom.py
# Your modified architecture

from libreyolo.models.yolov11 import YOLOv11

class YOLOv11Custom(YOLOv11):
    def __init__(self):
        super().__init__()
        # Swap out the backbone
        self.backbone = MyCustomBackbone()

    def forward(self, x):
        features = self.backbone(x)
        return self.head(self.neck(features))

# Train it:
model = YOLOv11Custom()
model.train(data="my_dataset.yaml")

今日から研究を始める

ライセンス料はありません。ペイウォールもありません。成果を非公開にすることへの制限もありません。インストールして、探索を始めるだけです。

$ pip install libreyolo
ドキュメントを見る