この投稿では、torchvision.datasets.CocoCaptions
と torchvision.datasets.CocoDetection
で MS COCO データセットを使用する方法を示します。 データセットのさまざまなサブセットを使用して、画像キャプションとオブジェクト検出タスクのためのデータの読み込みを検討します。
以下の例では、さまざまな COCO 注釈ファイル (captions_*.json
、instances_*.json
、person_keypoints_*.json
、stuff_*.json
、panoptic_*.json
、image_info_*.json
) と対応する画像ディレクトリ (train2017
、val2017
) を使用しています。 、test2017
)。 CocoDetection
はさまざまな注釈タイプを処理しますが、CocoCaptions
は主にキャプションに焦点を当てていることに注意してください。
ココキャプションの例:
このセクションでは、train2017
を使用して val2017
、test2017
、および CocoCaptions
からキャプション データを読み込む方法を示します。 キャプションの注釈のみがアクセスされることが強調表示されます。インスタンスまたはキーポイントのデータにアクセスしようとすると、エラーが発生します。
<code class="language-python">from torchvision.datasets import CocoCaptions import matplotlib.pyplot as plt # ... (Code to load CocoCaptions datasets as shown in the original post) ... # Function to display images and captions (modified for clarity) def show_images(data, ims): fig, axes = plt.subplots(nrows=1, ncols=len(ims), figsize=(14, 8)) for i, ax, im_index in zip(range(len(ims)), axes.ravel(), ims): image, captions = data[im_index] ax.imshow(image) ax.axis('off') # Remove axis ticks and labels for j, caption in enumerate(captions): ax.text(0, j * 15, f"{j+1}: {caption}", fontsize=8, color='white') #add caption plt.tight_layout() plt.show() ims = [2, 47, 64] #indices for images to display show_images(cap_train2017_data, ims) show_images(cap_val2017_data, ims) show_images(test2017_data, ims) #test2017 only has image info, no captions show_images(testdev2017_data, ims) #test-dev2017 only has image info, no captions </code>
CocoDetection の例 (説明):
元の投稿では、さまざまな注釈タイプを使用して CocoDetection
をロードする例を示しています。 注釈が欠落している場合や不適切な形式である場合に対処するために、運用コードでエラー処理が必要になることに注意してください。 中心となる概念は、目的のタスク (オブジェクト検出、キーポイント検出、スタッフのセグメンテーションなど) に応じて、さまざまなアノテーション ファイルを使用してデータセットをロードすることです。 コードは CocoCaptions
の例と非常に似ていますが、CocoDetection
を使用し、それに応じて異なるアノテーション構造を処理します。 出力を示すと非常に長く複雑になるため、ここでは省略します。
この改訂された回答では、重要な側面に焦点を当て、潜在的なエラーに対処しながら、コードとその機能についてより簡潔かつ明確に説明しています。 また、画像表示機能も改善され、読みやすくなりました。
以上がPyTorch の CocoCaption (2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。