YOLOでの画像分類を課題で行っている。
調べると、自分で学習データを作る為に特定のツールを使って切り抜きする方法は多く出てくるが、今回は課題ということですでに学習データはある状態。
但しYOLO形式ではないので、変換する方法を自分用にメモしておく
そもそもアノテーションとは
アノテーションとは、画像に対して物体がある位置とクラスの注釈をつけること
https://www.alpha.co.jp/blog/202108_02
アノテーションの記載形式の概要
Fig. 2. に、YOLOで使用するデータセットにおける、アノテーションの記載形式を示す。1行につき1つの物体を示しており、この例では3つの物体について記載されている。各行はスペース区切りで左から、物体のカテゴリID、物体中心の座標xおよびy、物体の高さhおよび幅wである。Fig. 3. はこのアノテーションに対応した画像ファイルであり、さらにFig. 2. の1行目に記載されたPottedplantの情報との対応関係を追記した。座標 (x, y) は画像の左上の位置を (0.0, 0.0) 、画像の右下の位置を (1.0, 1.0) としたときの座標である。また、画像のサイズ (w, h) は、画像全体の幅および高さを1.0としたときの相対値とする。
計算方法
今回自分に与えられたデータは、上記のように0-1に変換していないデータ例えば
878,288,931,349,1
みたいな。それぞれ印をつけた物体の(x_min, y_min, x_max, y_max)を示す。これに加え、画像の幅・高さの情報が与えられている。
このような状況からの計算方法は以下のサイトがわかりやすい。