コード例 #1
0
def main(datasetdir, lv):
    start = time.time()
    """
    評価コードのメイン
    :param datasetdir データセットを格納したディレクトリへのパス
    """

    # 初期化
    print("Now evaluation...")

    alcon = AlconUtils(datasetdir)
    myalgorithm = MyAlgorithm(datasetdir)

    # ターゲットの読み込み
    fn = "target_lv" + lv + "_test_5.csv"
    alcon.load_annotations_target(fn)

    results = {}
    prev = None
    # 1ターゲットずつ認識していくループ
    for bb_id, target in alcon.targets.items():
        img_file_id, *bb = target
        img_filename = os.path.join(datasetdir, "images", img_file_id + ".jpg")

        if prev != img_filename:
            # ページ全体の画像
            full_img = cv2.imread(img_filename)
            prev = img_filename

        # 認識処理(ここで各自のアルゴリズムを呼び出します)
        result = myalgorithm.predict(full_img, bb)

        # boundingbox id と紐付けて保存
        results[bb_id] = result

    # 評価
    fnGround = "groundtruth_lv" + lv + "_test_5.csv"
    alcon.load_annotations_ground(fnGround)
    alcon.evaluation(results)

    # ファイルに結果を書き込む
    alcon.write_results(results)

    elapsed_time = time.time() - start
    print("elapsed_time:", elapsed_time, "[sec]")
コード例 #2
0
imgs = {}
results_pre = {}
# 1ターゲットずつ認識していくループ
print("coco")

def predict_preprocess(full_img, bbox):
# 対象領域を切り出す
    x, y, w, h = bbox
    target_img = full_img[y:y+h, x:x+w, :]

    # 画像から特徴抽出
    return MyAlgorithm.feature_extraction(target_img)

for bb_id, target in alcon.targets.items():
    img_file_id, *bb = target
    print(bb_id)
    # ページ全体の画像
    imgs[bb_id] = cv2.imread( os.path.join(datasetdir, "images", img_file_id+".jpg") )
    results_pre[bb_id] = predict_preprocess(imgs[bb_id], bb)
print("coco")

# 評価
alcon.load_annotations_ground("groundtruth" + file_name_last)
alcon.evaluation( results )
print("coco")


print(len(results_pre))
        
#with open('test0.1', 'wb') as f:
 #   pickle.dump(results_pre, f)