2017-12-11 9 views
1

私はオブジェクト検出モデル(特に画像内のあるタイプのオブジェクトの複数のインスタンス)をトレーニングするためにMXNet/Gluonを使用しようとしていますが、im2recツールはバウンディングボックス情報を.recファイルに追加するようには見えません。バウンディングボックスとラベルを画像と共にRecordIOにパックすることは可能ですか?

mxnet.recordio.pack_img()は、画像とラベルを一緒に梱包する作業を行っているようですが、ピクセルスペースにバウンディングボックス情報を含める場所や方法はわかりません。ドキュメントから:

label = 4 # label can also be a 1-D array, for example: label = [1,2,3] 
id = 2574 
header = mx.recordio.IRHeader(0, label, id, 0) 
img = cv2.imread('test.jpg') 
packed_s = mx.recordio.pack_img(header, img) 

ヘッダーにはバウンディングボックス情報のスポットがありません。どのようにこれを行うにはどのようなアイデア?

答えて

1

私は答えを見つけたと信じています。 .lstファイル内のラベルのパッケージ化は、拡張された一連の情報を取り込むことができます。 documentationは、その情報がどのように予想されるかを記述しています。

残っているのは、im2rec.pyを編集して単なるラベルインデックスを拡張情報(この記事の時点では50行目と60行目)に置き換えることです。次のようなもの:

def parse_label_file(fp): 
    with open(fp, 'r') as f: 
     data = f.readlines() # or json.load() if appropriate 
     ### Some code here to parse and return the image dimensions 
     ### width, height, id, xmin, ymin, xmax, ymax 
    return (4, 5, width, id, height, xmin, ymin, xmax, ymax) 

... 
label_file_path = path[:-4] + ".txt" # or .json as appropriate 
if path not in cat: 
    cat[path] = parse_label_file(label_file_path) 
... 
関連する問題