Mengqi-Lei/count-anything

Code and implementation guidelines for the paper ✨Counting Anything. Project Page: https://mengqi-lei.github.io/count-anything-projectpage/

📊 Count Anything – 文字引導的物件計數

是什麼 – 一種研究級的視覺-語言模型,給定一張影像與自然語言查詢(例如「飛機」或「有細胞核的細胞」),可返回所有符合查詢的物件的精確位置。回傳的點數即為計數結果。它可在多個不同領域中運作,如日常場景、衛星影像、醫學顯微鏡、農業與微生物學。

為何重要 – 傳統計數方法要麼輸出密度圖(難以解讀),要麼僅限於固定類別集合。Count Anything 統一了類別條件計數與空間定位,並在 CLOC(跨域大規模物件計數)基準上訓練(約 22 萬張影像,619 個類別,1,500 萬個實例)。論文顯示,它在所有六個領域上均優於近期的開放世界模型(如 LocateAnything-3B)。


核心概念

組件 功能
區域級稀疏計數器(RSC) 檢測並錨定大型、稀疏分佈的物件(例如飛機、樹木)。
像素級密集計數器(PDC) 預測微小或密集物件(例如細胞、穀物)的密集點雲。
補充計數融合(CCF) 無需額外參數即可融合 RSC 與 PDC 的輸出,去除重複點,同時保留補充檢測結果。
以點為中心的監督 所有訓練標註(框、遮罩、多邊形等)均轉換為每個實例一個點,簡化學習訊號。

快速上手(只想執行模型的使用者)

  1. 建立環境
    conda create -n countanything python=3.12 -y
    conda activate countanything
    pip install -r requirements.txt   # 最小依賴;如需請安裝對應 CUDA 版本的 PyTorch
    
  2. 下載模型檢查點
    • 前往 README 中連結的 Hugging Face 倉庫,下載 count_anything.pt
    • 放置於 checkpoints/count_anything.pt
  3. 對單張影像執行推論
    from count_anything import CountAnything
    
    model = CountAnything("checkpoints/count_anything.pt")
    results = model("path/to/image.jpg", "airplanes")
    print("Count:", results[0].count)
    results[0].save()   # 保存疊加影像與包含點的 JSON
    
    輸出資料夾為 exp/count_anything_inference/<image>__<query>__<timestamp>/

訓練 / 評估(研究用途)

  • 資料 – 倉庫預期使用 CLOC 資料集。僅提供標註檔案;您必須自行下載原始影像(授權限制)。data/README.md 中的輔助腳本說明如何組裝完整資料集,或向作者申請現成副本。
  • 權重 – 訓練從公開的 SAM3 主幹網絡開始。請從官方 SAM3 Hugging Face 頁面下載 sam3.pt,並放入 pretrained/ 目錄。
  • 腳本
    • train.sh – 啟動多 GPU 訓練(預設設定 config/count_anything_train_cloc.yaml)。
    • val.sh – 在 CLOC 驗證集上執行驗證。
    • test.sh – 在 CLOC 測試集上評估並產生 predictions.json
  • 設定 – 所有路徑、批次大小、學習率排程等均在 config/ 目錄下的三個 YAML 檔案中。若更改資料集結構或硬體,請相應調整這些檔案。

資料集 – CLOC

  • 範圍 – 6 個視覺領域(一般場景、遙測、組織病理科、細胞顯微鏡、農業、微生物學)。
  • 規模 – 約 22 萬張影像,619 個文字類別,1,500 萬個標註物件實例。
  • 標註格式 – JSON 檔案列出 image_path、文字查詢,以及目標類別的點(或可選框)標註。
  • 版本 1.1 – 2026 年 7 月發布,包含對雜訊標籤的手動清理;請參閱 data/README.md 取得下載連結。

更多資訊


TL;DR

Count Anything 是一個跨域、文字驅動的物件計數模型,輸出明確的點位置,基於大規模多域基準(CLOC)訓練。倉庫提供模型檢查點、訓練腳本,以及清晰的推論、訓練與資料集準備說明。這是一個真正的 AI 研究專案,而非簡單示範或精選清單。

相關

  • 專案
  • 專案
  • Dispatch
  • Dispatch
  • Dispatch