2020年12月22日記事を更新しました
はじめに
GluonCVの学習済みモデルを使って物体検出を行いました。コードはたったの11行です。

実行ファイル
import mxnet as mx from gluoncv import model_zoo, data, utils from matplotlib import pyplot as plt ctx = mx.gpu() if mx.context.num_gpus() >0 else mx.cpu() im_fname = utils.download('https://raw.githubusercontent.com/zhreshold/mxnet-ssd/master/data/demo/person.jpg') net = model_zoo.get_model('yolo3_darknet53_voc', pretrained=True, ctx=ctx, root="./models") x, img = data.transforms.presets.yolo.load_test(im_fname, short=512) class_IDs, scores, bounding_boxs = net(x.as_in_context(ctx)) ax = utils.viz.plot_bbox(img, bounding_boxs[0], scores[0], class_IDs[0], class_names=net.classes) plt.axis('off') plt.show()
環境
GPUあり/なしの二つの環境で動作確認しました。インストールが必要なのは「mxnet」と「gluoncv」のみです。
(gluoncvのインストールは環境によって失敗することがあります。その時はこちらを参照して下さい。)
GPUあり
Windows 10 GTX 1080 CUDA Toolkit 10.1 Python 3.7.9
pip install mxnet-cu101==1.7.0 -f https://dist.mxnet.io/python/cu101 pip install gluoncv
gluoncv==0.9.0 mxnet-cu101==1.7.0
GPUなし
Windows10 GPUなし Python 3.8.6
pip install mxnet pip install gluoncv
gluoncv==0.9.0 mxnet==1.7.0.post1
その他
CenterNetに関しても記事を書いています。touch-sp.hatenablog.com