mmdetection予測
7442 ワード
mmdetection2.0バージョンは以前に比べて変更されましたが、公式ドキュメントの詳細が更新されていないため、mmdetectionで予測する際にエラーが発生し、多くのブログが元のままです.xのバージョンなので、2.0は具体的にこの方法を参照してください.https://blog.csdn.net/ruiying413/article/details/106477509
また、予測については、ネット上では1枚の画像や数枚の画像のようなもので、フォルダ全体を読み取ることができないので、自分で書いてみました.下に予測シートと予測フォルダの中の画像のコードを貼って、参考にしてください.
また、予測については、ネット上では1枚の画像や数枚の画像のようなもので、フォルダ全体を読み取ることができないので、自分で書いてみました.下に予測シートと予測フォルダの中の画像のコードを貼って、参考にしてください.
予測シート:
from mmdet.apis import init_detector, inference_detector,show_result_pyplot
import numpy as np
import os
import cv2
import random
import mmcv
config_file = 'configs/ms_rcnn/ms_rcnn_r50_fpn_1x_coco.py'#
checkpoint_file = 'work_dirs/ms_rcnn_r50_fpn_1x_coco/epoch_200.pth'#
# build the model from a config file and a checkpoint file
model = init_detector(config_file, checkpoint_file, device='cuda:0')
test_img='demo/test.jpg'#
# test a single image and show the results
#img = 'demo/test.jpg' # or img = mmcv.imread(img), which will only load it once
img=test_img
result = inference_detector(model, img)
# visualize the results in a new window
model.show_result(img, result)
# or save the visualization results to image files
model.show_result(img, result, out_file='demo/result.jpg')
show_result_pyplot(model, img, result)
複数の予測:
from mmdet.apis import init_detector, inference_detector,show_result_pyplot
import numpy as np
import os
import cv2
import random
import mmcv
config_file = 'configs/ms_rcnn/ms_rcnn_r50_fpn_1x_coco.py'
checkpoint_file = 'work_dirs/ms_rcnn_r50_fpn_1x_coco/epoch_200.pth'
# build the model from a config file and a checkpoint file
model = init_detector(config_file, checkpoint_file, device='cuda:0')
in_folder='data/coco/test2017/'
out_folder='data/coco/test_out2017/'
if not os.path.exists(out_folder):
os.makedirs(out_folder)
for file_name in os.listdir(in_folder):
img_path=os.path.join(in_folder,file_name)
img=cv2.imread(img_path)
# test a single image and show the results
#img = 'demo/test.jpg' # or img = mmcv.imread(img), which will only load it once
# img=test_img
result = inference_detector(model, img)
# visualize the results in a new window
model.show_result(img, result)
# or save the visualization results to image files
save_path=os.path.join(out_folder,file_name)
model.show_result(img, result, out_file=save_path)
show_result_pyplot(model, img, result)