CVAT APIの使用方法を学ぼう!
目次
- CVAT REST APIの使用方法
- CVAT REST APIの認証方法
- CVATでタスクを作成する方法
- アノテーション済みタスクをデータセットとしてエクスポートする方法
- Swaggerを使用したインタラクティブドキュメンテーション
- Swaggerを使用してCVATのAPIとやり取りする方法
CVAT REST APIの使用方法
CVAT REST APIの使用方法について解説します。CVAT REST APIでは、ユーザーがHTTPリクエストを送信してサーバーにデータを送信し、サーバーが一連のアクションを実行して応答するプル型のインタラクションモデルを使用します。使用するデータや受け取るデータについては、スライドの下部にリンクされているドキュメントページでドキュメントを確認することができます。また、APIのリファレンスとスキーマも同様の情報を提供しています。リクエストの実行方法に関する詳細は、インフォグラフィックを参照してください。サーバーには多くのREST APIエンドポイントがあり、タスク、プロジェクト、ユーザーなどのコンテキストによってグループ化されています。認証システムにはクレデンシャルとキーが使用されます。エンドポイントへのアクセスには認証が必要で、基本認証とトークンベースの認証の2つの方法があります。基本認証では、ユーザー名とパスワードを/api/auth/loginエンドポイントに送信します。認証に成功すると、キーまたはトークンが返され、そのキーまたはトークンを使用して後続の認証を行うことができます。このようなパターンはすべてのエンドポイントに適用されます。詳細な認証情報については、リンクを参照してください。CVATでタスクを作成する方法の例を見てみましょう。まず、ログインを行い、その後新しいタスク構成を含むPOSTリクエストをtasksエンドポイントに送信します。タスクのフィールドについては、APIのリファレンスページを参照してください。サーバーがタスクを作成した後、新しいタスクオブジェクトが応答として返されます。その後、画像やビデオ、ポイントクラウドなどのタスクデータを含む新しいPOSTリクエストをtasksエンドポイントに送信します。データの処理が完了するまで、サーバーに対してGETリクエストをループで送信します。タスクのステータスが「finished」になるまでGETリクエストを送信し、その後、タスクがアノテーションやその他の操作に使用可能であることを期待することができます。なお、他のステータス(「failed」など)も受け取る可能性があることに注意してください。アノテーション済みのタスクをデータセットとしてエクスポートする方法の例を見てみましょう。まず、ログインを行い、認証トークンを取得します。その後、タスクIDのデータセットエンドポイントにGETリクエストを送信し、エクスポートする形式などのいくつかのパラメータを含めます。最初のリクエストに対する応答には、「受け付け済み」を意味する202のステータスが含まれ、データセットの準備がサーバー上で開始されました。サーバーがデータの準備を行うまで待つ必要があります。201のステータスが表示されるまで同じリクエストを続ける必要があります。この時点で、「action=download」というクエリパラメータを追加してダウンロードを開始します。ダウンロードされるファイルには、アノテーション付きのデータセットが含まれます。CVATにはSwaggerによるインタラクティブドキュメンテーションも提供されています。Swaggerを使用すると、リクエストの実験やサーバーAPIの探索、エンドポイントのドキュメントの閲覧などが行えます。具体的な使用例を見てみましょう。Swaggerのページでは、サーバーが提供するすべてのエンドポイントに関するドキュメント、スキーマ、および例が表示されます。Swaggerを使用すると、ドキュメントだけでなく、リクエストを送信してサーバーとやり取りすることもできます。まず、ブラウザで必要なトークンを取得するために認証を行います。その後、Swaggerページに移動して、サーバーAPIとやり取りすることができます。「Try it out」ボタンを使用して、現在のユーザーに利用可能なタスクのリストを取得してみましょう。このボタンを使用すると、入力データを設定し、リクエストを送信することができます。「Execute」ボタンをクリックすると、リクエストを実行し、応答の内容を表示することができます。ほとんどの場合、応答はJSONエンコードされた構造体であり、いくつかのフィールドと有用なデータを含んでいます。宿題として、Swagger APIで実験を行い、SwaggerとcURLなどのツールを使用してさまざまなエンドポイントを試してみてください。また、Pythonとrequestsライブラリを使用してタスクを作成するスクリプトを作成してみてください。ご視聴ありがとうございました!
CVAT REST APIの認証方法
CVAT REST APIの認証方法について解説します。CVATでは、基本認証とトークンベースの認証の2つの方法があります。基本認証では、ユーザー名とパスワードを/api/auth/loginエンドポイントに送信して認証を行います。認証に成功すると、キーまたはトークンが返されます。トークンベースの認証では、キーまたはトークンを使用して認証を行います。トークンベースの認証は、安全性が高いため、毎回のリクエストでクレデンシャルを入力または送信する必要がないため、推奨されています。詳細な認証情報については、リンクを参照してください。
CVATでタスクを作成する方法
CVATでタスクを作成する方法について解説します。まず、ログインし、新しいタスクの構成を含むPOSTリクエストをtasksエンドポイントに送信します。タスクの構成に関する情報は、APIのリファレンスページで確認することができます。タスクの作成後、サーバーから新しいタスクオブジェクトが応答として返されます。その後、画像やビデオ、ポイントクラウドなどのタスクデータを含んだ新しいPOSTリクエストをtasksエンドポイントに送信します。サーバーはデータを処理し、これには数分かかることがあります。最後に、タスクの状態を確認するために、"tasks ID status"エンドポイントに対してループでGETリクエストを送信します。タスクの状態が「finished」になるまで、このGETリクエストを繰り返し送信します。タスクが利用可能になると、アノテーションやその他の操作が行えるようになります。また、タスクの状態が「failed」などの他のステータスになる場合もあります。この場合、レスポンスデータには失敗の原因が含まれます。
アノテーション済みタスクをデータセットとしてエクスポートする方法
アノテーション済みタスクをデータセットとしてエクスポートする方法について解説します。まず、ログインし、認証トークンを取得します。その後、タスクIDのデータセットエンドポイントに対してGETリクエストを送信します。このリクエストには、エクスポートするデータセットの形式などのパラメータが含まれます。最初のリクエストに対する応答は、「accepted」を意味する202のステータスを持ち、サーバーでデータセットの準備が開始されました。データの準備が完了するまで、同じリクエストを繰り返し送信する必要があります。201のステータスが表示されたら、「action=download」クエリパラメータを追加してダウンロードを開始します。ダウンロードされるファイルには、アノテーション付きのデータセットが含まれています。
Swaggerを使用したインタラクティブドキュメンテーション
Swaggerを使用したインタラクティブドキュメンテーションについて解説します。Swaggerを使用すると、リクエストの実験やサーバーAPIの探索、エンドポイントのドキュメントの閲覧などが行えます。Swaggerのページでは、サーバーが提供するすべてのエンドポイントに関するドキュメント、スキーマ、および例が表示されます。Swaggerを使用すると、ドキュメントだけでなく、リクエストの送信なども行うことができます。具体的な使用例として、現在のユーザーに利用可能なタスクのリストを取得することを試してみました。Swaggerを使用すると、入力データを設定し、リクエストを送信し、応答の内容を表示することができます。
Swaggerを使用してCVATのAPIとやり取りする方法
Swaggerを使用してCVATのAPIとやり取りする方法について解説します。まず、ブラウザで認証を行い、必要なトークンを取得します。その後、Swaggerページに移動し、サーバーAPIとやり取りすることができます。Swaggerの「Try it out」ボタンを使用して、現在のユーザーに利用可能なタスクのリストを取得するためのリクエストを送信することができます。このボタンをクリックすると、入力データを設定し、リクエストを送信することができます。また、下にある「Execute」ボタンをクリックすると、リクエストを実行し、応答の内容を表示することができます。ほとんどの場合、応答はJSONエンコードされた構造体であり、多くのフィールドや有用なデータを含んでいます。Swagger APIを使用してさまざまなエンドポイントを試し、cURLなどのツールを使用して自身のスクリプトを作成することをお勧めします。お楽しみください!
FAQ
Q: CVAT REST APIを使用するためには、何が必要ですか?
A: CVAT REST APIを使用するには、認証が必要です。基本認証またはトークンベースの認証を使用して、認証キーまたはトークンを取得する必要があります。
Q: Swaggerを使用したインタラクティブドキュメンテーションはどのように使いますか?
A: Swaggerを使用したインタラクティブドキュメンテーションでは、APIエンドポイントのドキュメントを閲覧したり、リクエストを送信したりすることができます。認証を行った後、Swaggerページに移動して、サーバーAPIとやり取りすることができます。
Q: CVATでタスクを作成するには、どのような手順が必要ですか?
A: CVATでタスクを作成するには、まずログインし、新しいタスクの構成を含むPOSTリクエストを送信します。その後、タスクデータを含む別のPOSTリクエストを送信して、タスクを作成します。
Q: アノテーション済みのタスクをデータセットとしてエクスポートするには、どのような手順が必要ですか?
A: アノテーション済みのタスクをデータセットとしてエクスポートするには、まずログインし、認証トークンを取得します。その後、データセットの形式などのパラメータを含むGETリクエストを送信して、データセットをエクスポートします。エクスポートが完了するまで、同じリクエストを繰り返し送信する必要があります。
Q: CVAT REST APIを使用する上での利点は何ですか?
A: CVAT REST APIを使用することで、タスクの作成やデータセットのエクスポートなどの機能を自動化することができます。また、Swaggerを使用してAPIのドキュメントを閲覧し、リクエストを送信することもできます。