【物体検知】xmlファイルをtxtファイルに変換する【アノテーション】

YOLOを使って物体検知のAIの精度を向上させるには画像データと画像データに付随したアノテーションデータを用意する必要があります。

YOLOの場合、アノテーションデータはxmlファイルではなくtxtファイルである必要があります。

xmlファイル形式のアノテーションデータは持っているけれども、これをtxtファイル形式にするにはどうすれば良いかわからない方も多いのではないでしょうか。

この記事ではxmlファイルをtxtファイルに変換する方法について紹介していきます。

アノテーションについて

アノテーションについて簡単に確認していきましょう。

アノテーション作業について 注意点や工夫点、外注コストを解説

labelImgにはPascalVOC形式とYOLO形式がある

アノテーションとはAIの学習データを作成する作業で、一般的に使用されているのはlabelImgというツールです。

アノテーションデータの保存形式には2つあり、PascalVOC形式とYOLO形式があります。

YOLOで物体検知をするにはtxtファイルでアノテーションデータを保存しなければならない

YOLOを使って物体検知をする際は、xml形式ではなくtxt形式でデータを用意する必要があります。

しかし、すでに用意してあったデータの形式がPascalVOC形式でxmlファイルだったということもあるでしょう。

その場合はxmlファイルをtxtファイルに変換しなければなりません。

xmlファイルをtxtファイルに変換する

xmlファイルをtxtファイルに変換する方法を見ていきましょう。

以下のコードを参考にさせていただきました。

Convert Pascal VOC XML Annotation files to YOLO format text files

Google Driveに画像、xmlファイルを用意する

以下がxmlファイルをtxtファイルに変換するコードです。

指定するGoogle Driveディレクトリはすべて同じもので問題ないです。

自分で用意したデータを取得する

今回は画像を100枚用意しました。

用意したデータを取得してみると、しっかり準備ができました。

まとめ

この記事ではxmlファイルをtxtファイルに変換する方法について紹介しました。

初学者はエラー対応だけでもとても長い時間を取られてしまいます。

この記事が、物体検知に取り組んでいる企業の皆さんのお役に立てれば幸いです。

【PyTorch】GPUのメモリ不足エラーの対処方法

AIによる部資材(鉄筋)の個数カウントについて課題から開発手順まで解説!