注: Pytorchの学習を始めたとき、このプロジェクトでより速いRCNNを再実装しました。次に、すべてのプロジェクトでPytorchを使用します。 Pytorch層としてCUDAコードを構築する方法を見つけてから1週間かかったのを今でも覚えています:)。しかし、実際にはこれは良い実装ではなく、元のCaffeコードと同じマップを達成しませんでした。
このプロジェクトはもはや維持されておらず、最新のPytorch(0.4.0以降)と互換性がない場合があります。だから私は提案する:
これは、より高速なRCNNのPytorch実装です。このプロジェクトは、主にPy-Faster-RCNNおよびTFFRCNNに基づいています。
R-CNNの詳細については、R-CNNをより高速に順番に参照してください。ShaoqingRen、Kaiming He、Ross Girshick、Jian SunによるRegion Proposal Networksを使用したリアルタイムオブジェクトの検出に向けて。
要件をインストールします(PIPまたはAnacondaを使用できます):
conda install pip pyyaml sympy h5py cython numpy scipy
conda install -c menpo opencv3
pip install easydict
より速いR-CNNリポジトリをクローンします
git clone [email protected]:longcw/faster_rcnn_pytorch.gitNMSおよびROI_PoolingレイヤーのCythonモジュールを構築する
cd faster_rcnn_pytorch/faster_rcnn
./make.sh訓練されたモデルvggnet_fast_rcnn_iter_70000.h5(更新)をダウンロードし、 demo.pyでモデルパスを設定します
デモpython demo.pyを実行します
このプロジェクト(TFFRCNN)に従って、Training、Validation、Test Data、およびImagenetで事前に訓練されたVGG16モデルをダウンロードして準備します。
プログラムは、 faster_rcnn_pytorch/dataにデータをデフォルトで読み込んでいるため、データパスを次のように設定できます。
cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007次に、 train.pyのハイパーパラメーターを.ymlファイルでトレーニングパラメーターに設定できます。
今、私はVOC07に0.661のマップを取得し、Origin Paperに0.699のマップがありました。 faster_rcnn/faster_rcnn.pyで定義された損失関数を自分でチューニングする必要がある場合があります。
Crayonの助けを借りて、深い学習フレームワークのためにTensorboardの視覚化能力にアクセスできます。
テンソルボードを使用するには、Crayon(https://github.com/torrvision/crayon)をインストールし、 faster_rcnn/train.pyでuse_tensorboard = Trueを設定します。
test.pyで訓練されたモデルのパスを設定します。
cd faster_rcnn_pytorch
mkdir output
python test.pyライセンス:MITライセンス(MIT)