shokuba-probe-2b

職場点検OSS shokuba-lens の追加確認(probe)用にtokimoaがファインチューニングした2B VLMです。写真に対する点検質問(例: ヘルメット未着用者の人数)に、短い構造化回答で答えます。4bit量子化+アダプタ同梱で約1.7GB、Apple Silicon(MLX)で動作します。

汎用VLMは点検質問に対して「見逃さないが数え過ぎる」傾向があり(実測でprecision 0.57)、点検データでの学習によりこれを解消しています。今後も学習を重ねて対応ドメインと汎化性能を広げていきます(モデル名は据え置きで更新します)。

対応している点検質問(12種)

ヘルメット着用 / 安全ベスト着用 / 安全帯(フルハーネス) / 火・煙の有無 / 消火器の本数 / 転倒者の有無 / マスク着用 / ヘアネット着用(厨房) / 手袋着用(厨房) / フォークリフトの台数(倉庫・物流) / パレットトラックの台数(倉庫・物流) / カゴパレットの有無(倉庫・物流)

実測(学習と分離したテストデータ・画像単位)

点検質問 テスト ベース(Qwen3-VL-2B 4bit) shokuba-probe-2b
ヘルメット未着用者の指摘 SHEL5K 400枚 F1 0.520 F1 0.843
安全ベスト未着用者の指摘 55枚 F1 0.415 F1 0.946
安全帯の確認 150枚 F1 0.650 F1 0.892
マスク着用状況 236枚(街頭+厨房) 一致率 0.216 一致率 0.653
ヘアネット未着用の指摘 150枚 F1 0.100 F1 0.964
素手(手袋なし)の指摘 150枚 F1 0.538 F1 0.933
火・煙の有無 200枚 一致率 0.660 一致率 0.855
消火器の本数 300枚 一致率 0.000 一致率 0.930
転倒者の指摘 450枚 一致率 0.000 一致率 0.982
フォークリフトの台数 LOCO 150枚 一致率 0.000 一致率 0.807
パレットトラックの台数 LOCO 150枚 一致率 0.000 一致率 0.687
カゴパレットの有無 LOCO 150枚 一致率 0.273 一致率 0.847

消火器・転倒・倉庫3種のテストは対象が写っていない画像を含みます(誤検知側も測定)。転倒は撮影環境の異なる2データセット(Roboflow・CAUCAFall)で、倉庫3種は学習と撮影環境が異なる物流拠点(LOCO公式val分割)で評価しています。転倒の学習には監視カメラ実映像由来の紛らわしい姿勢(座りかけ・立ち上がりかけ)の陰性も含めています。

学習に一切使っていないデータセット(SHWD 安全ヘルメット検出 150枚・学習画像との重複なしをハッシュ検証済み)のヘルメット判定でも F1 0.954 です。写真だけでなく模式図・図解の読み取りにも対応しています。

使い方

shokuba-lensから:

python -m shokuba_lens.analyze --images site1.jpg \
  --rules rules/construction_ppe.yaml \
  --probe-model tokimoa/shokuba-probe-2b

単体で:

from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config

repo = "tokimoa/shokuba-probe-2b"  # ローカルにDL済みならそのパス
model, processor = load(repo, adapter_path=repo)  # アダプタ同梱
config = load_config(repo)
q = "この画像に写っている人を数えてください。全体の人数、そのうちヘルメット(保護帽)を着用している人数、着用していない人数を「人数:N人、着用:N人、未着用:N人」の形式で答えてください。"
prompt = apply_chat_template(processor, config, q, num_images=1)
print(generate(model, processor, prompt, image=["site.jpg"], max_tokens=60, temperature=0.0).text)

質問文は上記の形式(「人数:N人、着用:N人、未着用:N人」等の回答形式指定つき)が最も安定します。

更新履歴

  • 2026-08-04: 対応点検を9種→12種に拡張(倉庫・物流3種を新設・マルチデータセット学習 第3回)。安全ベストF1 0.897→0.946・マスク一致率0.627→0.653・転倒学習に監視カメラ実映像の紛らわしい姿勢陰性を追加
  • 2026-08-03: 対応点検を8種→9種に拡張(安全帯を新設・マルチデータセット学習 第2回・11データセット)。未学習データセットへの汎化 F1 0.967(SHWD)・模式図読み取り対応・火/煙0.810→0.865・手袋F1 0.875→0.944
  • 2026-08-02: 対応点検を1種→8種に拡張(マルチデータセット学習 第1回)。SHEL5K F1 0.837→0.858
  • 2026-07-31: 初版公開(ヘルメット着用のみ・SHEL5K F1 0.837)

データと帰属

学習・評価は以下データセットのアノテーションから導出しています(評価分は学習から除外):


Developed by tokimoa — データを外に出さないAI活用を支援しています

Downloads last month
27
Safetensors
Model size
0.7B params
Tensor type
BF16
·
U32
·
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for tokimoa/shokuba-probe-2b

Quantized
(84)
this model