実際のところ
labelImgでYOLO用の学習データをつくると、以下のようなファイルがでてきます
$ cat 002.txt 0 0.731534 0.440972 0.258523 0.305556 0 0.407670 0.190972 0.264205 0.312500 0 0.213068 0.616319 0.198864 0.288194
スペース区切りで画素に対する%表記なのは推測がつくのですが元画像からして意味がわからず……
UI上は回転とかが出来なかったので、漠然とXYの座標指定なんだろうと思ってました
labelMGのソースコードを読んだところ……
def bnd_box_to_yolo_line(self, box, class_list=[]): x_min = box['xmin'] x_max = box['xmax'] y_min = box['ymin'] y_max = box['ymax'] x_center = float((x_min + x_max)) / 2 / self.img_size[1] y_center = float((y_min + y_max)) / 2 / self.img_size[0] w = float((x_max - x_min)) / self.img_size[1] h = float((y_max - y_min)) / self.img_size[0] # PR387 box_name = box['name'] if box_name not in class_list: class_list.append(box_name) class_index = class_list.index(box_name) return class_index, x_center, y_center, w, h
……まさか中央値とはね……画像処理でよく使うからでしょうか