主要コンセプト
このページを読む必要がありますか?
クイックスタートクイックスタートページを既に完了している場合、通常このページを読む必要はありません。このページでは、より詳しい背景情報を扱っています。
プロジェクト
プロジェクトは、Kognicプラットフォームを利用する際の最上位のコンセプトです。複数のプロジェクトを同時に進行でき、プロジェクトは他のKognicリソースのコンテナとして機能します。プロジェクトの設定は通常、新規顧客との契約開始時のガイドライン合意プロセス(GAP)中に、Kognicプロフェッショナルサービスチームによって行われます。
Kognic APIでは、プロジェクトは外部識別子を使用して識別されます。

バッチ
インプットバッチを使用すると、プロジェクト内でインプットデータを小さなバッチにグループ化できます。デフォルトでは、すべてのプロジェクトに少なくとも1つのインプットバッチがあります。
進行中のプロジェクトでは、複数のバッチを持つことで以下の2つのメリットがあります:
- 特定の期間中に収集されたインプットデータをグループ化する
- 遡及的な変更を必要とせずに、ガイドラインやタスク定義を変更する
バッチステータス
ステータス | 説明 |
|---|---|
pending | バッチは作成されましたが、Kognicによる設定がまだ完了していません。プロジェクトのセットアップ中、またはリクエストされた変更の対応中です。 |
open | バッチは新しいインプットを受け付けています。 |
ready | バッチは公開済みで、新しいインプットは受け付けていません。 |
in-progress | Kognicがバッチ内のインプットのアノテーションを開始しました。 |
completed | アノテーションが完了しました。 |
リクエスト
GAP期間中、プロジェクトには最終目標として複数のアノテーションタイプを設定できます。例えば、画像で構成されるプロジェクトには、車線検出とオブジェクトアノテーションの両方を割り当てることができます。Kognicでは、リクエストは特定のインプットに対する具体的なアノテーション目標を表します。大規模で複雑なプロジェクトは、複数の独立したアノテーションリクエストに分割されます。これにより、以下のことが可能になります:
- アノテーターの認知負荷を軽減する
- より多くのアノテーターが同じデータに対して並行して作業できる
- ユーザーインターフェースを簡素化する
これらすべてが、高い品質レベルを維持しながら、アノテーション作成に必要な総時間の短縮に貢献します。
ガイドライン
アノテーションを作成するためには、何をどのようにアノテーションするかを知る必要があります。この種の情報はガイドラインに記載されています。ガイドラインでは、マークすべき特定のオブジェクト(例:車両や歩行者)と、その方法(例:バウンディングボックス)を定義します。また、データの解釈方法に関する詳細情報も含まれており、例えば車両が「大部分が遮蔽されている」とはどういう意味かなどが記載されています。
タスク定義とアノテーション指示
タスク定義は、何をアノテーションすべきか/できるかを記述します。オブジェクトタイプはいくつあるか?各オブジェクトタイプに対してバウンディングボックス、セマンティックセグメンテーション、またはライン/スプラインのどれを使用するか?各オブジェクトタイプのプロパティは何か?タスク定義はJSONファイルであり、Kognicプロフェッショナルサービスチームがガイドラインから生成します。タスク定義はKognicアプリで適切な描画ツールを構築するために使用されます。つまり、タスク定義はガイドラインを機械可読な形式で表したものと考えることができます。
現在、プラットフォーム上でタスク定義をより直感的に定義する方法としてアノテーション指示を採用しており、このコンセプトについて耳にすることもあるかもしれません。プラットフォームの外部から見ると、アノテーション指示とタスク定義は同じものを指します。つまり、アノテーションツールの設定であり、ひいては完成したラベルの内容です。
シーン
アノテーションタスクを設定する前に、生データをKognicプラットフォームに正しくアップロードする必要があります。シーンは、異なるソースからのデータをどのように組み合わせるかを指定します。リソースには、画像や点群のほか、メタデータやキャリブレーション(センサーのプロパティを定義)が含まれます。以下のようなさまざまな種類のセットアップをサポートしています:
- 単一または複数のカメラからの画像
- カメラからの画像とLiDAR点群の組み合わせ
シーンに関連するもう1つのコンセプトとしてフレームがあります。フレームは、シーンにおける離散的な一時点を表します。シーンは単一フレームまたはシーケンス(複数フレーム)のいずれかです。アノテーションの作成に時間的情報が重要な場合は、シーケンスを使用してください。
シーンタイプ
タイプ | 説明 |
|---|---|
カメラカメラ | 1〜20台のカメラからの画像で構成される単一フレーム |
LiDARとカメラLiDARとカメラ | 1〜20個のLiDAR点群と1〜20台のカメラからの画像で構成される単一フレーム |
カメラシーケンスカメラシーケンス | フレームのシーケンスで、各フレームは1〜20台のカメラからの画像で構成 |
LiDARとカメラシーケンスLiDARとカメラシーケンス | フレームのシーケンスで、各フレームは1〜20個のLiDAR点群と1〜20台のカメラからの画像で構成 |
集約LiDARとカメラシーケンス集約LiDARとカメラシーケンス | フレームのシーケンスで、各フレームは1〜20個のLiDAR点群と1〜20台のカメラからの画像で構成。ただし、点群は時間的に集約され、統合された1つの点群が生成されます。 |
プレアノテーション
プレラベルとも呼ばれます。アノテーションがKognicプラットフォームから出力されるラベルであるのに対し、プレアノテーションはプラットフォームに取り込まれるラベルです。プレアノテーションはOpenLabel JSON形式で、シーンの作成後にアップロードされます。バウンディングボックスの推定値や、再確認が必要な以前の手動ラベリングデータなど、シーンの初期ラベリングを含めることができます。
シーンには0個以上のプレアノテーションがあり、シーンからインプットを作成する際に、プレアノテーションの1つを添付できます。その方法の詳細については、プレアノテーションのページをご覧ください。
プレアノテーションデータは、有効なOpenLabel(JSON)ドキュメントである必要があります。Kognicはさらに、大まかに「妥当」であること(例:シーンと同じセンサー名を使用しているか、正しいフレーム数であるかなど)も検証します。
プレアノテーションがインプットに追加される際には、タスク定義との互換性もさらに検証されます。プレアノテーションが有効なOpenLabelドキュメントであっても、特定のリクエストでの使用には適さない場合があります。
キャリブレーション
キャリブレーションは、正確なマルチセンサーアノテーションに不可欠です。キャリブレーションには、自車両に取り付けられたすべてのセンサーの外部プロパティ(取り付け位置)と、特定のセンサーの内部プロパティ(例:カメラの視野角、解像度)が含まれます。キャリブレーションにより、シーン内の異なる3Dおよび2D座標系間で位置を変換できます。技術的な詳細については座標系座標系をご覧ください。
インプット
シーンがKognicプラットフォームにアップロードされると、アノテーションタスクをインプットとして作成でき、各インプットはリクエストに関連付けられます。インプットとシーンを区別することで、アップロードされたデータを効率的に再利用できます。例えば、同じシーンから複数のインプットを作成し、異なる種類のアノテーション設定を行うことができます。
なお、シーン作成時に関連付けるプロジェクト/バッチを指定することで、シーンとインプットを同時に作成することもできます。例についてはシーンとインプットの操作シーンとインプットの操作をご覧ください。
アノテーション
アノテーションは、リクエスト内でインプットが正常にアノテーションされた際に生成されます。アノテーションは、kognic-io APIを通じてOpenLABEL形式OpenLABEL形式のJSONオブジェクトとして提供されます。アノテーションのダウンロード方法や操作例の詳細については、アノテーションのダウンロードアノテーションのダウンロードの章をご覧ください。
kognic-io APIに加えて、KognicはOpenLABEL JSONオブジェクトの解析と操作を容易にするライブラリkognic-openlabelkognic-openlabelも提供しています。