> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ja/to/vision-events.md).

# Vision Events

## 概要

### 概要

Vision Events は Roboflow のデータストアで、デプロイされたコンピュータビジョンモデルからの視覚情報とともに、欠陥の検出や在庫数などの重要なイベントを記録できます。これにより、本番環境であなたのビジョンシステムが観測したすべての内容について、検索可能でフィルタリング可能な履歴を得られます。

### Vision Event とは何ですか？

Vision Event は、モデルが画像を処理したときに作成されるタイムスタンプ付きの記録です。各イベントでは、必要に応じて次を記録できます：

* **画像**: 処理された元画像と、それに関連付けられた出力画像
* **予測**: モデルが返した物体検出、分類、インスタンスセグメンテーション、またはキーポイント
* **ソースメタデータ**: どのデバイス、ストリーム、またはワークフローがイベントを生成したか
* **カスタムメタデータ**: あなたのドメイン用に定義したキーと値のペア（例： `line_number`, `shift`, `part_number`)

プログラムからアクセスするには、 [Vision Events API リファレンス](#http-api).

{% embed url="<https://www.youtube.com/watch?v=4HlYG1MacRk>" %}

### 主要概念

#### ユースケース

1つの **ユースケース** 共通の目的とカスタムメタデータ構造を共有するイベントをグループ化します。同じユースケース内のイベントは通常、同様のメタデータフィールドを送信するため、一貫してフィルタリングおよびクエリできます。

たとえば、「欠陥検出」ユースケースには、常に `line_id`, `shift`、および `part_number` が含まれる場合があります。たとえイベントが複数の工場やカメラ位置から来ていても同様です。メタデータ構造が根本的に異なる場合は、別々のユースケースを作成してください（例：「PPE準拠」では `zone` および `alert_type` を追跡します）。

### このセクションでは

* [イベントを送信](/deployment/ja/to/vision-events/send-events.md) - ワークフローブロック、REST API、またはエッジデバイスのバックアップからイベントを送信します。
* [トレーニング用の画像を追加](/deployment/ja/to/vision-events/add-images-for-training.md) - キャプチャしたイベント画像をプロジェクトに移してモデルを学習します。
* [オペレーターからのフィードバック](/deployment/ja/to/vision-events/operator-feedback.md) - チームメンバーがイベントを正しい、誤り、または判定不能としてマークできるようにします。
* [サマリーレポート](/deployment/ja/to/vision-events/summary-reports.md) - ユースケースの定期的なダイジェストをチームにメールで送信します。
* [イベントを削除](/deployment/ja/to/vision-events/delete-events.md) - もう必要ないイベントをユースケースから削除します。

## HTTP API

Vision Events API を使用すると、コンピュータビジョンのデプロイから構造化されたイベントを記録し、その後それらをクエリして分析できます。イベントには、画像、検出アノテーション、カスタムメタデータ、品質チェック、在庫数、安全アラートなどのタイプ固有のデータを含めることができます。

Vision Events API を使用すると、次のことができます：

* [ビジョンイベント画像をアップロード](/deployment/ja/to/vision-events/upload-a-vision-event-image.md#http-api)
* [Vision Event を作成](/deployment/ja/to/vision-events/create-a-vision-event.md#http-api)
* [ビジョンイベントを一括作成](/deployment/ja/to/vision-events/batch-create-vision-events.md#http-api)
* [ビジョンイベントを検索](/deployment/ja/to/vision-events/query-events.md#http-api)
* [ユースケース一覧](/deployment/ja/to/vision-events/use-cases.md#http-api)
* [カスタムメタデータスキーマを取得](/deployment/ja/to/vision-events/get-custom-metadata-schema.md#http-api)

### 認証

すべての Vision Events エンドポイントは、Roboflow API キーを使用したベアラートークン認証を利用します：

```
Authorization: Bearer YOUR_API_KEY
```

Vision Events エンドポイントには、特定の [スコープ付き API キー](https://docs.roboflow.com/reference/authentication/authentication/scoped-api-keys) 権限が必要です：

* **読み取り操作** （クエリ、一覧、スキーマ）： `vision-events:read` または `device:read`
* **書き込み操作** （作成、バッチ、アップロード）： `vision-events:write` または `device:update`

### ユースケース

各 vision event はユースケースに関連付けられます。ユースケースの作成と管理方法については、 [ユースケースのドキュメント](/deployment/ja/to/vision-events/use-cases.md).

また、 [既存のユースケースを一覧表示することもできます](/deployment/ja/to/vision-events/use-cases.md#http-api) 。これらは API を通じてイベントを記録しています。

### イベントタイプ

API は 5 つのイベントタイプをサポートしており、それぞれに独自の `eventData` スキーマがあります：

| イベントタイプ             | 説明                  |
| ------------------- | ------------------- |
| `quality_check`     | QA および検査結果          |
| `inventory_count`   | 在庫測定                |
| `safety_alert`      | 安全インシデントとアラート       |
| `custom`            | 自由形式のイベントデータ        |
| `operator_feedback` | モデル予測に対する人間のフィードバック |

### データ保持

イベントは設定可能なルックバック期間（既定：14日間）保持されます。  `lookbackDays`  の値はクエリ応答で返されるため、ワークスペースの実効保持期間を把握できます。

## Python SDK

Roboflow Python SDK は、 `Workspace` オブジェクト上で Vision Event を扱うためのメソッドを提供します。イベントの作成、フィルターとページネーションを使ったクエリ、画像のアップロード、ユースケースの管理ができます。

イベントスキーマ、フィルタリングオプション、レスポンス形式の詳細については、 [Vision Events REST API のドキュメント](#http-api).

### クイックスタート

```python
import roboflow

roboflow.login()

rf = roboflow.Roboflow()
ws = rf.workspace()

# ユースケースを作成
result = ws.create_vision_event_use_case("manufacturing-qa")
use_case_id = result["id"]

# 画像をアップロード
img = ws.upload_vision_event_image("photo.jpg")

# アップロードした画像を使ってイベントを作成
ws.write_vision_event({
    "eventId": "c3d4e5f6-a1b2-4c3d-8e5f-6a7b8c9d0e1f",
    "eventType": "quality_check",
    "useCaseId": use_case_id,
    "timestamp": "2024-01-15T10:30:00Z",
    "images": [{"sourceId": img["sourceId"]}],
    "eventData": {"result": "pass"},
})

# イベントをクエリ
for page in ws.query_all_vision_events(use_case_id):
    for evt in page:
        print(evt["eventId"], evt["eventType"])
```

### 利用可能なメソッド

| メソッド                                                                                                             | 説明                          |
| ---------------------------------------------------------------------------------------------------------------- | --------------------------- |
| [`upload_vision_event_image()`](/deployment/ja/to/vision-events/upload-a-vision-event-image.md#python-sdk)       | イベントで使用する画像をアップロード          |
| [`write_vision_event()`](/deployment/ja/to/vision-events/create-a-vision-event.md#python-sdk)                    | 単一の vision event を作成        |
| [`write_vision_events_batch()`](/deployment/ja/to/vision-events/batch-create-vision-events.md#python-sdk)        | 1回のリクエストで最大100件のイベントを作成     |
| [`query_vision_events()`](/deployment/ja/to/vision-events/query-events.md#python-sdk)                            | フィルターとページネーションを使ってイベントをクエリ  |
| [`query_all_vision_events()`](/deployment/ja/to/vision-events/query-events.md#paginate-through-all-results)      | 一致するすべてのイベントに対して自動ページングでクエリ |
| [`list_vision_event_use_cases()`](/deployment/ja/to/vision-events/use-cases.md#python-sdk)                       | ワークスペース内のユースケースを一覧表示        |
| [`create_vision_event_use_case()`](/deployment/ja/to/vision-events/use-cases.md#create-a-use-case)               | 新しいユースケースを作成                |
| [`rename_vision_event_use_case()`](/deployment/ja/to/vision-events/use-cases.md#rename-a-use-case)               | ユースケースの名前を変更                |
| [`archive_vision_event_use_case()`](/deployment/ja/to/vision-events/use-cases.md#archive-a-use-case)             | ユースケースをアーカイブ                |
| [`unarchive_vision_event_use_case()`](/deployment/ja/to/vision-events/use-cases.md#unarchive-a-use-case)         | ユースケースのアーカイブを解除             |
| [`get_vision_event_metadata_schema()`](/deployment/ja/to/vision-events/get-custom-metadata-schema.md#python-sdk) | 検出済みのカスタムメタデータフィールドの型を取得    |
