ショートカット

変更履歴 v2.x

v2.25.0 (2022/5/31)

ハイライト

  • 専用の WandbLogger フックをサポート

  • ConvNeXtDDODSOLOv2をサポート

  • インスタンスセグメンテーション用に Mask2Former をサポート

  • Mask2Former の設定ファイル の名前を変更

後方互換性のない変更

  • Mask2Former の設定ファイル の名前を変更 (#7571)

    v2.25.0 より前 v2.25.0 以降
    • mask2former_xxx_coco.py は、パノプティックセグメンテーション 用の設定ファイルを表します。

    • mask2former_xxx_coco.py は、インスタンスセグメンテーション 用の設定ファイルを表します。

    • mask2former_xxx_coco-panoptic.py は、パノプティックセグメンテーション 用の設定ファイルを表します。

新機能

  • ConvNeXt をサポート (#7281)

  • DDOD をサポート (#7279)

  • SOLOv2 をサポート (#7441)

  • インスタンスセグメンテーション用に Mask2Former をサポート (#7571, #8032)

バグ修正

  • 異なるデバイスでの YOLOX の学習を有効化 (#7912)

  • interval != 1 で評価した場合のログプロットエラーを修正 (#7784)

  • HTC の RuntimeError を修正 (#8083)

改善点

  • 専用の WandbLogger フックをサポート (#7459)

    ユーザーは、次の設定ができます

    cfg.log_config.hooks = [
      dict(type='MMDetWandbHook',
           init_kwargs={'project': 'MMDetection-tutorial'},
           interval=10,
           log_checkpoint=True,
           log_checkpoint_metadata=True,
           num_eval_images=10)]
    

    設定で MMDetWandbHook を使用します。例は、このcolab チュートリアルで見つけることができます

  • OOM を回避するために AvoidOOM を追加 (#7434, #8091)

    GPU のメモリ不足を回避するために AvoidCUDAOOM を使用してみてください。最初に torch.cuda.empty_cache() を呼び出した後で再試行します。それでも失敗する場合は、入力の型を FP16 形式に変換して再試行します。それでも失敗する場合は、計算を続行するために GPU から CPU に入力をコピーしようとします。コードで AvoidOOM を試して、GPU メモリが不足したときにコードの実行を続行できるようにします

    from mmdet.utils import AvoidCUDAOOM
    
    output = AvoidCUDAOOM.retry_if_cuda_oom(some_function)(input1, input2)
    

    ユーザーは、GPU メモリが不足した場合にコードの実行を続行するために、デコレーターとして AvoidCUDAOOM を試すこともできます

    from mmdet.utils import AvoidCUDAOOM
    
    @AvoidCUDAOOM.retry_if_cuda_oom
    def function(*args, **kwargs):
        ...
        return xxx
    
  • cfg.evaluation.gpu_collect から gpu_collect を読み取ることをサポート (#7672)

  • データロードステージを加速することにより、ビデオ推論を高速化 (#7832)

  • ${key}cfg.key の値に置き換えることをサポート (#7492)

  • analyze_result.py での結果分析を加速します。評価時間は 10〜15 倍高速化され、現在では 10〜15 分しかかかりません。 (#7891)

  • DilatedEncoderblock_dilations を設定することをサポート (#7812)

  • パノプティックセグメンテーションの結果分析をサポート (#7922)

  • Swin-Large バックボーンで DyHead をリリース (#7733)

  • ドキュメントの更新と追加

    • SwinTransformeract_cfg のデフォルトの型が間違っていたのを修正 (#7794)

    • チュートリアルのテキストエラーを修正 (#7959)

    • インストールガイド を書き直し (#7897)

    • 便利なフック (#7810)

    • ドキュメント内の見出しアンカーを修正 (#8006)

    • markdownlintmdformat に置き換えて、ruby のインストールを回避 (#8009)

貢献者

このリリースには、合計 20 人の開発者が貢献しました。

@ZwwWayne、@DarthThomas、@solyaH、@LutingWang、@chenxinfeng4、@Czm369、@Chenastron、@chhluo、@austinmw、@Shanyaliux @hellock、@Y-M-Y、@jbwang1997、@hhaAndroid、@Irvingao、@zhanggefan、@BIGWangYuDong、@Keiku、@PeterVennerstrom、@ayulockin に感謝します

v2.24.0 (2022/4/26)

ハイライト

新機能

  • インスタンスセグメンテーションのための強力なデータ拡張手法である Simple Copy-Paste をサポート設定例 を参照 (#7501)

  • クラス対応サンプラーをサポート、ユーザーは次の設定ができます

    data=dict(train_dataloader=dict(class_aware_sampler=dict(num_sample_class=1))))
    

    設定で ClassAwareSampler を使用します。例は、OpenImages データセットの設定で見つけることができます。 (#7436)

  • GPU 数と GPU あたりのサンプル数に応じて LR を自動的にスケーリングすることをサポートします。 (#7482) 各設定には、以下のような LR の自動スケーリングに対応する設定があります。

    auto_scale_lr = dict(enable=True, base_batch_size=N)
    

    ここで、N は設定内の現在の学習率に使用されるバッチサイズ(この設定を学習するための samples_per_gpu * GPU 数にも等しい)です。デフォルトでは、元の使用方法に影響がないように enable=False に設定されています。ユーザーは、各設定で enable=True を設定するか、コマンドラインの後ろに --auto-scale-lr を追加してこの機能を有効にする必要があります。また、カスタマイズされた設定で base_batch_size が正しいことを確認する必要があります。

  • 設定でデータローダー引数を設定することをサポートし、設定の互換性を処理する機能を追加しました。 (#7668) 新旧の使用方法の比較は以下のとおりです。

    v2.23.0 v2.24.0
    data = dict(
        samples_per_gpu=64, workers_per_gpu=4,
        train=dict(type='xxx', ...),
        val=dict(type='xxx', samples_per_gpu=4, ...),
        test=dict(type='xxx', ...),
    )
    
    # A recommended config that is clear
    data = dict(
        train=dict(type='xxx', ...),
        val=dict(type='xxx', ...),
        test=dict(type='xxx', ...),
        # Use different batch size during inference.
        train_dataloader=dict(samples_per_gpu=64, workers_per_gpu=4),
        val_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
        test_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
    )
    
    # Old style still works but allows to set more arguments about data loaders
    data = dict(
        samples_per_gpu=64,  # only works for train_dataloader
        workers_per_gpu=4,  # only works for train_dataloader
        train=dict(type='xxx', ...),
        val=dict(type='xxx', ...),
        test=dict(type='xxx', ...),
        # Use different batch size during inference.
        val_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
        test_dataloader=dict(samples_per_gpu=8, workers_per_gpu=2),
    )
    
  • メモリプロファイルフックのサポート。ユーザーはこれを使用して、トレーニング中のメモリ使用量を監視できます(#7560)

    custom_hooks = [
        dict(type='MemoryProfilerHook', interval=50)
    ]
    
  • MLUチップを使用したPyTorchでの実行をサポート(#7578)

  • タグを使用したデータバッチの再分割をサポート(#7641)

  • MaskHungarianAssignerK-Net によって使用される DiceCost をサポート(#7716)

  • 半教師あり物体検出のためのCOCOデータの分割をサポート(#7431)

  • Config.fromfile 用のPathlibをサポート(#7685)

  • OpenImagesデータセットでファイルクライアントを使用するためのサポート(#7433)

  • Mosaic変換に確率パラメータを追加(#7371)

  • Resize パイプラインでの補間モードの指定をサポート(#7585)

バグ修正

  • deform_sampling後の無効なbboxを回避(#7567)

  • 混同行列のエクスポート時に引数color_themeが有効にならない問題を修正(#7701)

  • Necksの end_level を修正。これは、エンド入力バックボーンレベルのインデックスである必要があります(#7502)

  • MultiImageMixDatasetmix_results がNoneになる可能性があるバグを修正(#7530)

  • 2つのプラグインが使用されている場合のResNetプラグインのバグを修正(#7797)

改善点

  • 再開されたトレーニングログ用にanalyze_logs.pyの load_json_logs を強化(#7732)

  • image_demo.pyに引数 out_file を追加(#7676)

  • SimOTAAssigner での混合精度トレーニングを許可(#7516)

  • 公式のYOLOXと同じになるように、INFを100000.0に更新(#7778)

  • 以下のドキュメントを追加

    • 新しいバックボーンのチャネルを取得する方法(#7642)

    • バックボーンネットワークのフリーズを解除する方法(#7570)

    • fast_rcnnモデルをトレーニングする方法(#7549)

    • Deformable DETRでの提案(#7690)

    • get_started.mdのスクラッチからのインストールスクリプト(#7575)

  • 以下の事前トレーニング済みモデルをリリース

    • Mask2Former (#7595, #7709)

    • ResNet-18を使用したRetinaNetおよびリリースモデル(#7387)

    • EfficientNetバックボーンを使用したRetinaNet(#7646)

貢献者

合計27人の開発者がこのリリースに貢献しました。@jovialio、@zhangsanfeng2022、@HarryZJ、@jamiechoi1995、@nestiank、@PeterH0323、@RangeKing、@Y-M-Y、@mattcasey02、@weiji14、@Yulv-git、@xiefeifeihu、@FANG-MING、@meng976537406、@nijkah、@sudz123、@CCODING04、@SheffieldCao、@Czm369、@BIGWangYuDong、@zytx121、@jbwang1997、@chhluo、@jshilong、@RangiLyu、@hhaAndroid、@ZwwWayne に感謝します。

v2.23.0(2022年3月28日)

ハイライト

新機能

  • Mask2Former をサポート(#6938)(#7466)(#7471)

  • EfficientNet をサポート (#7514)

  • 環境変数 MMDET_DATASETS を介してデータルートを設定するためのサポート。ユーザーは構成ファイルで対応するパスを変更する必要がなくなりました。(#7386)

  • 異なるランクに異なるシードを設定するためのサポート(#7432)

  • slurmなしのマシンでのマルチノードトレーニングの起動をサポートできるように、 dist_train.sh を更新しました(#7415)

  • Torchvisionによって事前トレーニングされた高精度ResNetバックボーンを微調整するための適切なレシピを見つけました(#7489)

バグ修正

  • データディレクトリを削除するVOC単体テストのバグを修正(#7270)

  • get_classesFileClient の順序を調整(#7276)

  • yolox_headの get_bboxes の入力をfloat32に強制(#7324)

  • LoadPanopticAnnotationsの誤った引数を修正(#7388)

  • CELossのreduction = meanを修正。(#7449)

  • CrossEntropyCostの単体テストを更新(#7537)

  • パノプティックセグメンテーション評価でのメモリリークを修正(#7538)

  • YOLOv3での形状ブロードキャストのバグを修正(#7551)

改善点

  • onnx2tensorrt.mdの中国語版を追加(#7219)

  • colabチュートリアルを更新(#7310)

  • ローカリゼーション蒸留に関する情報を更新(#7350)

  • finetune.md の中国語版を追加(#7178)

  • 非正方形入力用のYOLOXログを更新(#7235)

  • パノプティック品質計算用に coco_panoptic.pynproc を追加(#7315)

  • LoadImageFromFileでchannel_orderを設定できるようにする(#7258)

  • マスクポイントヘッドからポイントサンプル関連関数を削除(#7353)

  • coco_panopticのインスタンス評価を追加(#7313)

  • analyze_logs.pyの堅牢性を強化(#7407)

  • sync_random_seedの補足ノート(#7440)

  • クロスエントロピー損失のドキュメント文字列を更新(#7472)

  • Pascal VOCの結果を更新(#7503)

  • xxxの実行方法に関する質問を記録するためのハウツー ドキュメントを作成します。このバージョンでは、以下を追加しました

    • モザイク拡張の使用方法(#7507)

    • mmclsでバックボーンを使用する方法(#7438)

    • COCO test-devセットでパノプティックセグメンテーションモデルの予測結果を生成および送信する方法(#7430))

貢献者

合計27人の開発者がこのリリースに貢献しました。@ZwwWayne、@haofanwang、@shinya7y、@chhluo、@yangrisheng、@triple-Mu、@jbwang1997、@HikariTJU、@imflash217、@274869388、@zytx121、@matrixgame2018、@jamiechoi1995、@BIGWangYuDong、@JingweiZhang12、@Xiangxu-0103、@hhaAndroid、@jshilong、@osbm、@ceroytres、@bunge-bedstraw-herb、@Youth-Got、@daavoo、@jiangyitong、@RangiLyu、@CCODING04、@yarkable に感謝します。

v2.22.0(2022年2月24日)

ハイライト

新機能

  • MaskFormer をサポート (#7212)

  • DyHead をサポート (#6823)

  • ResNet Strikes Back をサポート (#7001)

  • OpenImages Dataset をサポート (#6331)

  • TIMMバックボーン をサポート (#7020)

  • パノプティックセグメンテーションの視覚化をサポート (#7041)

破壊的変更

パノプティックセグメンテーションの視覚化をサポートするために、パノプティックパレットを使用するかどうかを決定するために、get_palette 関数を使用する場合、num_classesNone にすることはできません。

バグ修正

  • key_score がNoneの場合、最適なチェックポイントを保存できないバグを修正(#7101)

  • MixUp変換のフィルターボックスの失敗ケースを修正(#7080)

  • SABLHeadの欠落しているプロパティを追加(#7091)

  • 混同行列にNaNが存在する場合のバグを修正(#7147)

  • ダウンストリームタスクでのPALETTE AttributeErrorを修正(#7230)

改善点

  • SimOTAマッチングを高速化(#7098)

  • docs_zh-CN/tutorials/init_cfg.md の中国語翻訳を追加(#7188)

貢献者

合計20人の開発者がこのリリースに貢献しました。@ZwwWayne、@hhaAndroid、@RangiLyu、@AronLin、@BIGWangYuDong、@jbwang1997、@zytx121、@chhluo、@shinya7y、@LuooChen、@dvansa、@siatwangmin、@del-zhenwu、@vikashranjan26、@haofanwang、@jamiechoi1995、@HJoonKwon、@yarkable、@zhijian-liu、@RangeKing に感謝します。

v2.21.0(2022年2月8日)

破壊的変更

OpenMMLabプロジェクトの構成READMEとメタファイルのコンテンツを標準化するために、各構成ディレクトリのREADMEとメタファイルが大幅に変更されました。テンプレートは将来リリースされる予定です。今のところ、アルゴリズムデータセット、およびバックボーンのREADMEの例を参照してください。標準に合わせるために、dcnの構成はdcndcnv2 という名前の2つのディレクトリに配置されます。

新機能

  • 視覚化中に異なるクラスの色をカスタマイズできるようにする(#6716)

  • CPUトレーニングのサポート (#7016)

  • COCO、LVIS、VOCデータセットのダウンロードスクリプトの追加 (#7015)

バグ修正

  • Swin-Sを使用したRetinaNetの重み変換の問題を修正 (#6973)

  • Compose__repr__を更新 (#6951)

  • Dockerビルド時のBadZipFileエラーを修正 (#6966)

  • 非分散マルチGPUトレーニング/テストのバグを修正 (#7019)

  • PyTorch 1.10でのbboxクランプを修正 (#7074)

  • データセットラッパーのPALETTEの要件を緩和 (#7085)

  • PAAヘッドでの再割り当て前に同じ重みを保持 (#7032)

  • ドキュメントのコードデモを更新 (#7092)

改善点

  • マルチプロセッシングの変数を設定できるようにすることでトレーニングを高速化 (#6974, #7036)

  • readmeに中国語のチュートリアルのリンクを追加 (#6897)

  • 高速化のため、cv2マルチプロセッシングをデフォルトで無効化 (#6867)

  • "python setup.py test"のサポートを非推奨に (#6998)

  • メタファイルと設定readmeを再編成 (#7051)

  • SigmoidGeometricMeanを追加して、TOODトレーニング中のNone grad問題を修正 (#7090)

コントリビューター

このリリースには合計26人の開発者が貢献しました。 @del-zhenwu, @zimoqingfeng, @srishilesh, @imyhxy, @jenhaoyang, @jliu-ac, @kimnamu, @ShengliLiu, @garvan2021, @ciusji, @DIYer22, @kimnamu, @q3394101, @zhouzaida, @gaotongxiao, @topsy404, @AntoAndGar, @jbwang1997, @nijkah, @ZwwWayne, @Czm369, @jshilong, @RangiLyu, @BIGWangYuDong, @hhaAndroid, @AronLinに感謝します。

v2.20.0 (2021/12/27)

新機能

  • TOOD: Task-aligned One-stage Object Detection (ICCV 2021 Oral) をサポート (#6746)

  • 最新のチェックポイントからの自動再開をサポート (#6727)

バグ修正

  • PAAヘッドの誤ったbbox loss_weightを修正 (#6744)

  • バッチ照合におけるgt_semantic_segのパディング値を修正 (#6837)

  • classwiseを使用した場合のlvisのテストエラーを修正 (#6845)

  • get_local_pathのBC破壊を回避 (#6719)

  • BNレイヤーが存在しない場合のsync_norm_hookのバグを修正 (#6852)

  • プラットフォームに関係なくpycocotoolsを直接使用 (#6838)

改善点

  • 有効なbboxがない場合のSimOTAのユニットテストを追加 (#6770)

  • readmeをチェックするためにprecommitを使用 (#6802)

  • 非分散テスト時にGPU-idを選択できるようにサポート (#6781)

コントリビューター

このリリースには合計16人の開発者が貢献しました。 @ZwwWayne, @Czm369, @jshilong, @RangiLyu, @BIGWangYuDong, @hhaAndroid, @jamiechoi1995, @AronLin, @Keiku, @gkagkos, @fcakyon, @www516717402, @vansin, @zactodd, @kimnamu, @jenhaoyangに感謝します。

v2.19.1 (2021/12/14)

新機能

  • YOLOX COCO事前トレーニング済みモデルをリリース (#6698)

バグ修正

  • DenseHeadにおけるDCNの初期化を修正 (#6625)

  • ConvFCHeadの初期化を修正 (#6624)

  • RCNNにおけるPseudoSamplerを修正 (#6622)

  • SwinとPVTの重み初期化を修正 (#6663)

  • BaseDenseHeadのdtypeバグを修正 (#6767)

  • 有効なbboxがない場合のSimOTAを修正 (#6733)

改善点

  • swinとワンステージモデルを組み合わせる例を追加 (#6621)

  • dataset_wrappersにget_ann_infoを追加 (#6526)

  • YOLOXのマルチスケールトレーニングで画像比率を維持できるようにサポート (#6732)

  • YOLOXの拡張機能にbbox_clip_borderをサポート (#6730)

ドキュメント

  • メタファイルを更新 (#6717)

  • readmeにmmhuman3dを追加 (#6699)

  • FAQドキュメントを更新 (#6587)

  • detect_anomalous_paramsのドキュメントを追加 (#6697)

コントリビューター

このリリースには合計11人の開発者が貢献しました。 @ZwwWayne, @LJoson, @Czm369, @jshilong, @ZCMax, @RangiLyu, @BIGWangYuDong, @hhaAndroid, @zhaoxin111, @GT9505, @shinya7yに感謝します。

v2.19.0 (2021/11/29)

ハイライト

  • ラベル割り当て蒸留をサポート

  • Pytorch >= 1.7でpersistent_workersをサポート

  • 更新された公式YOLOXに合わせて精度を調整

新機能

バグ修正

  • 繰り返し出力される警告メッセージを修正 (#6584)

  • 分散トレーニングでの無限GPU待機を回避 (#6501)

  • SSD512設定エラーを修正 (#6574)

  • MMDetectionモデルからONNXコマンドへの変換を修正 (#6558)

改善点

  • FP16モデルの設定をリファクタリング (#6592)

  • 更新された公式YOLOXに合わせて精度を調整 (#6443)

  • PhotoMetricDistortion使用時のトレーニングを高速化し、メモリコストを削減 (#6442)

  • OHEMをシーソー損失で動作するようにする (#6514)

ドキュメント

  • README.mdを更新 (#6567)

コントリビューター

このリリースには合計11人の開発者が貢献しました。 @FloydHsiu, @RangiLyu, @ZwwWayne, @AndreaPi, @st9007a, @hachreak, @BIGWangYuDong, @hhaAndroid, @AronLin, @chhluo, @vealocia, @HarborYuan, @st9007a, @jshilongに感謝します。

v2.18.1 (2021/11/15)

ハイライト

  • QueryInst事前トレーニング済み重みをリリース (#6460)

  • 混同行列のプロットをサポート (#6344)

新機能

  • QueryInst事前トレーニング済み重みをリリース (#6460)

  • 混同行列のプロットをサポート (#6344)

バグ修正

  • 予測bboxの数が0の場合のaugテストエラーを修正 (#6398)

  • PVTのSpatialReductionAttentionを修正 (#6488)

  • PVTとSwin-Transformerにおけるtrunc_normal_initの誤った使用を修正 (#6432)

改善点

  • COCO APIの印刷されたAP情報をロガーに保存 (#6505)

  • チェックポイントをロードするときは常に場所をCPUにマップ (#6405)

  • ユーザーがシードを設定しない場合はランダムシードを設定 (#6457)

ドキュメント

  • Corruption Benchmarkingの中国語版 (#6375)

  • ドキュメントの設定パスを修正 (#6396)

  • GRoIE readmeを更新 (#6401)

コントリビューター

このリリースには合計11人の開発者が貢献しました。 @st9007a, @hachreak, @HarborYuan, @vealocia, @chhluo, @AndreaPi, @AronLin, @BIGWangYuDong, @hhaAndroid, @RangiLyu, @ZwwWayneに感謝します。

v2.18.0 (2021/10/27)

ハイライト

  • QueryInstをサポート (#6050)

  • ONNXエクスポートロジックをget_bboxesから分離し、推論を高速化するために密なヘッドをリファクタリング (#5317, #6003, #6369, #6268, #6315)

新機能

  • QueryInstをサポート (#6050)

  • 無限サンプラーをサポート (#5996)

バグ修正

  • fcn_mask_headのinit_weightを修正 (#6378)

  • RPNのimshow_bboxesのタイプエラーを修正 (#6386)

  • MMDetectionチュートリアルの壊れたcolabリンクを修正 (#6382)

  • scale_factorのデバイスとdtypeがbboxesと同じであることを確認 (#6374)

  • サンプリングのハードコードを削除 (#6317)

  • RandomAffine bbox座標の再修正を修正 (#6293)

  • convfcヘッドにおける最終cls/regレイヤーのinitバグを修正 (#6279)

  • auto_augmentでimg_shapeが壊れる問題を修正 (#6259)

  • 2段階でのkwargsパラメータ欠落エラーを修正 (#6256)

改善点

  • stuffヘッドとパノプティックヘッドのインターフェースを統一 (#6308)

  • readmeを洗練 (#6243)

  • コードスペルpre-commitフックを追加し、タイプミスを修正 (#6306)

  • タイプミスを修正 (#6245, #6190)

  • サンプラーユニットテストを修正 (#6284)

  • get_flopsを有効にするためにYOLACTのforward_dummyを修正 (#6079)

  • 設定ドキュメントのリンクエラーを修正 (#6252)

  • ドキュメントを美しくするために順序を調整 (#6195)

リファクタリング

  • ワンステージのget_bboxesロジックをリファクタリング (#5317)

  • ワンステージモデルのONNXエクスポートをリファクタリング (#6003, #6369)

  • dense_headをリファクタリングして高速化 (#6268)

  • 密なヘッドのトレーニングでprior_generatorを使用するように移行 (#6315)

コントリビューター

このリリースには合計18人の開発者が貢献しました。 @Boyden, @onnkeat, @st9007a, @vealocia, @yhcao6, @DapangpangX, @yellowdolphin, @cclauss, @kennymckormick, @pingguokiller, @collinzrj, @AndreaPi, @AronLin, @BIGWangYuDong, @hhaAndroid, @jshilong, @RangiLyu, @ZwwWayneに感謝します。

v2.17.0 (2021/09/28)

ハイライト

  • PVTPVTv2をサポート

  • SOLOをサポート

  • 大規模なジッタリングと新しいMask R-CNNベースラインをサポート

  • YOLOv3推論を高速化

新機能

  • PVTPVTv2をサポート (#5780)

  • SOLOをサポート (#5832)

  • 大規模なジッタリングと新しいMask R-CNNベースラインをサポート (#6132)

  • モデルの結果の一般的なデータ構造を追加 (#5508)

  • ワンステージインスタンスセグメンテーションの基本クラスを追加 (#5904)

  • YOLOv3推論を高速化 (#5991)

  • Swin Transformer事前トレーニング済みモデルをリリース (#6100)

  • YOLOXで混合精度トレーニングをサポート (#5983)

  • YOLACTvalワークフローをサポート (#5986)

  • torchserveをテストするスクリプトを追加 (#5936)

  • 動的入力形状でonnxsimをサポート (#6117)

バグ修正

  • model_wrappersの関数命名エラーを修正 (#5975)

  • 入力が空のテンソルである場合の回帰損失バグを修正 (#5976)

  • centernet_head におけるスコアが連続していないエラーを修正 (#6016)

  • imshow_bboxes におけるパラメータ不足のバグを修正 (#6034)

  • det_bboxes の長さが0の場合の HTCaug_test のバグを修正 (#6088)

  • 一部の2段階モデルのトレーニングにおける空の提案エラーを修正 (#5941)

  • ONNX の動的形状エクスポートにおける dynamic_axes パラメータエラーを修正 (#6104)

  • SyncRandomSizeHookdynamic_shape バグを修正 (#6144)

  • 設定ファイル内の Swin Transformer の設定リンクエラーを修正 (#6172)

改善点

  • Mosaic 変換にフィルタールールを追加 (#5897)

  • 潜在的なバグを回避するために、flops取得にサイズ除数を追加 (#6076)

  • docs_zh-CN/tutorials/customize_dataset.md の中国語翻訳を追加 (#5915)

  • conventions.md の中国語翻訳を追加 (#5825)

  • データパイプラインの出力の説明を追加 (#5886)

  • PanopticFPN の README ファイルにデータセット情報を追加 (#5996)

  • モデル印刷で詳細を取得するための DropBlock レイヤーに extra_repr を追加 (#6140)

  • CI のメモリ不足を修正し、PyTorch1.9 Python3.9 のユニットテストを追加 (#5862)

  • 一部のモデルのダウンロードリンクエラーを修正 (#6069)

  • XMLデータセットの一般化を改善 (#5943)

  • アサーションエラーメッセージを修正 (#6017)

  • albumentations によって opencv-python-headless の依存関係を削除 (#5868)

  • 変換ユニットテストでdtypeをチェック (#5969)

  • ドキュメントのデフォルトテーマを PyTorch Sphinx テーマに置き換え (#6146)

  • メタファイルの論文とコードのフィールドを更新 (#6043)

  • セグメンテーションマップのパディング値をカスタマイズするサポート (#6152)

  • 複数のセグメンテーションマップのサイズ変更をサポート (#5747)

貢献者

合計24人の開発者がこのリリースに貢献しました。@morkovka1337、@HarborYuan、@guillaumefrd、@guigarfr、@www516717402、@gaotongxiao、@ypwhs、@MartaYang、@shinya7y、@justiceeem、@zhaojinjian0000、@VVsssssk、@aravind-anantha、@wangbo-zhao、@czczup、@whai362、@czczup、@marijnl、@AronLin、@BIGWangYuDong、@hhaAndroid、@jshilong、@RangiLyu、@ZwwWayne に感謝します。

v2.16.0 (2021/8/30)

ハイライト

新機能

  • Panoptic FPN をサポートし、モデルをリリース (#5577, #5902)

  • Swin Transformer バックボーンをサポート (#5748)

  • マルチスケール3xスケジュールで事前トレーニングされたRetinaNetモデルをリリース (#5636)

  • ラベルなし画像リストをcoco形式に変換するスクリプトを追加 (#5643)

  • 損失値が有効かどうかを確認するフックを追加 (#5674)

  • YOLOアンカー最適化ツールを追加 (#5644)

  • ポストプロセスなしでonnxモデルをエクスポートするサポート (#5851)

  • CocoPanopticDatasetでクラスごとの評価をサポート (#5896)

  • 連結されたデータセットのbrowse_datasetを適用 (#5935)

  • AdaptivePadding を使用した PatchEmbedPatchMerging を追加 (#5952)

バグ修正

  • YOLOXのユニットテストを修正 (#5859)

  • imshow_det_bboxes でランダム性を失う問題を修正 (#5845)

  • ImageToTensor の出力結果を連続にする (#5756)

  • いくつかのケースでRoIHeadで regress_by_class を呼び出す際の推論バグを修正 (#5884)

  • alphaが勾配を持つべきではないCIoU損失のバグを修正 (#5835)

  • multiscale_output が定義されているが、HRNetで使用されていないバグを修正 (#5887)

  • EvalHookの優先度をLOWに設定 (#5882)

  • テストモードでbboxのリスケーリングを適用する際のYOLOXバグを修正 (#5899)

  • モザイク座標エラーを修正 (#5947)

  • RandomAffineでのbboxのdtypeを修正 (#5930)

改善点

  • data_pipeline の中国語版を追加 (#5662)

  • モデルの公開時にEMAの状態辞書を削除するサポート (#5858)

  • HTCとSCNetの損失関数をリファクタリング (#5881)

  • logger.warning の代わりに警告を使用 (#5540)

  • VOCのメトリックでレガシー座標を使用 (#5627)

  • customize_losses の中国語版を追加 (#5826)

  • model_zoo の中国語版を追加 (#5827)

貢献者

合計19人の開発者がこのリリースに貢献しました。@ypwhs、@zywvvd、@collinzrj、@OceanPang、@ddonatien、@@haotian-liu、@viibridges、@Muyun99、@guigarfr、@zhaojinjian0000、@jbwang1997、@wangbo-zhao、@xvjiarui、@RangiLyu、@jshilong、@AronLin、@BIGWangYuDong、@hhaAndroid、@ZwwWayne に感謝します。

v2.15.1 (2021/8/11)

ハイライト

新機能

  • YOLOX をサポート (#5756, #5758, #5760, #5767, #5770, #5774, #5777, #5808, #5828, #5848)

バグ修正

  • 正しいSSDモデルを更新 (#5789)

  • マスク構造におけるキャストエラーを修正 (#5820)

  • MMCVデプロイメントドキュメントのリンクを修正 (#5790)

改善点

  • TorchServe dockerfileで動的なMMCVダウンロードリンクを使用 (#5779)

  • より一般的な使用のために、関数 upsample_likeinterpolate_as に名前変更 (#5788)

貢献者

合計14人の開発者がこのリリースに貢献しました。@HAOCHENYE、@xiaohu2015、@HsLOL、@zhiqwang、@Adamdad、@shinya7y、@Johnson-Wang、@RangiLyu、@jshilong、@mmeendez8、@AronLin、@BIGWangYuDong、@hhaAndroid、@ZwwWayne に感謝します。

v2.15.0 (2021/8/2)

ハイライト

  • pipインストール中に MIM の依存関係を追加するサポート

  • SSD-LiteとYOLOv3のMobileNetV2をサポート

  • 中国語ドキュメントのサポート

新機能

  • 関数 upsample_like を追加 (#5732)

  • pdfおよびepub形式のドキュメントを出力するサポート (#5738)

  • Cascade Mask R-CNN 3x事前トレーニング済みモデルをサポートおよびリリース (#5645)

  • CrossEntropyLossに ignore_index を追加 (#5646)

  • pipインストール中に MIM の依存関係を追加するサポート (#5676)

  • YOLOv3用のMobileNetV2設定とモデルを追加 (#5510)

  • COCO Panoptic Datasetをサポート (#5231)

  • カスケードモデルのONNXエクスポートをサポート (#5486)

  • RetinaNetでDropBlockをサポート (#5544)

  • MobileNetV2 SSD-Liteをサポート (#5526)

バグ修正

  • multiclass_nmsでラベルのデバイスを修正 (#5673)

  • 設定ファイルで事前トレーニングされたチェックポイントからのバックボーン初期化エラーを修正 (#5603, #5550)

  • RegNetの事前トレーニング済み重みのダウンロードリンクを修正 (#5655)

  • 空の提案が与えられた場合の2段階ランタイムエラーを修正 (#5559)

  • DETRのflopsカウントエラーを修正 (#5654)

  • NumClassCheckHook が使用されていない場合のユニットテストを修正 (#5626)

  • カスタムデータセットの使用に関する説明のバグを修正 (#5546)

  • グローバルインデックスを返す multiclass_nms のバグを修正 (#5592)

  • RPNHeadでの valid_mask ロジックエラーを修正 (#5562)

  • 事前トレーニング済み設定のユニットテストエラーを修正 (#5561)

  • anchor_head.py のタイプミスエラーを修正 (#5555)

  • データセットラッパーを使用する場合のバグを修正 (#5552)

  • demo/MMDet_Tutorial.ipynb でのタイプミスエラーを修正 (#5511)

  • cfg.log_level が None ではない場合に get_root_logger でクラッシュする問題を修正 (#5521)

  • Dockerバージョンを修正 (#5502)

  • IterBasedRunner を使用する場合のオプティマイザパラメータエラーを修正 (#5490)

改善点

  • MMTracking のユニットテストを追加 (#5620)

  • ドキュメントの中国語翻訳を追加 (#5718, #5618, #5558, #5423, #5593, #5421, #5408. #5369, #5419, #5530, #5531)

  • リソース制限を更新 (#5697)

  • InstaBoostのドックストリングを更新 (#5640)

  • すべての損失関数でキー reduction_override をサポート (#5515)

  • CenterNetトレーニングを高速化するためにrepeatdatasetを使用 (#5509)

  • autoassignで不要なコードを削除 (#5519)

  • init_cfg に関するドキュメントを追加 (#5273)

貢献者

合計18人の開発者がこのリリースに貢献しました。@OceanPang、@AronLin、@hellock、@Outsider565、@RangiLyu、@ElectronicElephant、@likyoo、@BIGWangYuDong、@hhaAndroid、@noobying、@yyz561、@likyoo、@zeakey、@ZwwWayne、@ChenyangLiu、@johnson-magic、@qingswu、@BuxianChen に感謝します。

v2.14.0 (2021/6/29)

ハイライト

  • シングルステージ検出器と2段階検出器の一貫性を向上させるために、密なヘッドに simple_test を追加

  • 効率と可読性を向上させるために、test_mixins を単一画像テストに戻す

  • 3xスケジュールでのマルチスケールトレーニングを使用するFaster R-CNNおよびMask R-CNN設定を追加

新機能

  • MoCo v2とSwAVからの事前トレーニング済みモデルをサポート (#5286)

  • 3xスケジュールでのマルチスケールトレーニングを使用するFaster R-CNNおよびMask R-CNN設定を追加 (#5179, #5233)

  • MSELossに reduction_override を追加 (#5437)

  • 動的形状とバッチ推論を使用したDETRのONNXへのエクスポートの安定したサポート (#5168)

  • PointRendの動的形状およびバッチ推論によるONNXへのエクスポートの安定したサポート (#5440)

バグ修正

  • multiclass_nms におけるサイズの不一致バグを修正 (#4980)

  • MultiScaleDeformableAttention のインポートパスを修正 (#5338)

  • GCNet ResNext101 モデルの設定におけるエラーを修正 (#5360)

  • bbox の結果がない場合の Grid-RCNN のエラーを修正 (#5357)

  • reg_class_agnostic を設定した場合の bbox_head の onnx_export におけるエラーを修正 (#5468)

  • ドキュメント中の AutoAssign の型エラーを修正 (#5478)

  • .md で終わる Web リンクを修正 (#5315)

改善点

  • 単段および二段検出器の一貫性を向上させるために、dense heads に simple_test を追加 (#5264)

  • TTA でのマスクの対角反転のサポートを追加 (#5403)

  • 効率と可読性を向上させるために、test_mixins を単一画像テストに戻す (#5249)

  • YOLOv3 Neck をより柔軟にする (#5218)

  • SSD をリファクタリングして、より汎用的にする (#5291)

  • anchor_generator および point_generator をリファクタリング (#5349)

  • HTC アルゴリズムの mask_head を設定可能にする (#5389)

  • FPN の非推奨警告を削除 (#5311)

  • model.pretrainedmodel.backbone.init_cfg に移動 (#5370)

  • デプロイツールをより使いやすくする (#5280)

  • インストールに関するドキュメントを明確化 (#5316)

  • ImageNet Pretrained Models のドキュメントを追加 (#5268)

  • 学習損失が nan になる解決策と COCO AP または AR が -1 になることに関する FAQ を追加 (#5312, #5313)

  • http のすべての重みリンクを https に変更 (#5328)

v2.13.0 (2021/01/06)

ハイライト

新機能

バグ修正

  • YOLOv3 FP16 学習エラーを修正 (#5172)

  • det_bboxes の長さが 0 の場合の Cacscade R-CNN TTA テストエラーを修正 (#5221)

  • VOC リコール計算関数における iou_thr 変数名の誤りを修正 (#5195)

  • ONNX Runtime での Faster R-CNN のパフォーマンス低下を修正 (#5197)

  • 反復中に Python 3.8 を使用したときの DETR の辞書変更エラーを修正 (#5226)

改善点

  • 2段階検出器の ONNX エクスポートをリファクタリング (#5205)

  • 一貫性のために、MMDetection の EvalHook を MMCV の EvalHook に置き換える (#4806)

  • ONNX 用に RoI エクストラクターを更新 (#5194)

  • より高いパフォーマンスのために YOLOv3 ヘッドでより良いパラメータ初期化を使用 (#5181)

  • 混合精度学習による Mask R-CNN の新しい DCN モデルをリリース (#5201)

  • YOLOv3 モデルの重みを更新 (#5229)

  • DetectoRS ResNet-101 モデルの重みを追加 (#4960)

  • min_bbox_size に等しいサイズの bbox を破棄 (#5011)

  • DETR ヘッドの重複コードを削除 (#5129)

  • クラス定義の不要なオブジェクトを削除 (#5180)

  • ドキュメントリンクを修正 (#5192)

v2.12.0 (2021/01/05)

ハイライト

  • 新しいメソッドをサポート: AutoAssign, YOLOF, および Deformable DETR

  • バッチ画像と動的形状を使用した ONNX へのモデルのエクスポートの安定したサポート (#5039)

後方互換性のない変更

MMDetection は、v2.12.0 から v2.15.0 (おそらくそれ以上) のリリース中に、より一般的で便利な使用法のために大規模なリファクタリングを行っています。v2.12.0 では、MMDetection は MMCV 依存関係、モデル初期化、モデルレジストリ、およびマスク AP 評価を含む、いくつかの BC 破壊をもたらします。

  • MMCV バージョン。MMDetection v2.12.0 は、統一されたパラメータ初期化のための BaseModule、モデルレジストリ、および Deformable DETR 用の CUDA オペレーター MultiScaleDeformableAttn を含む、MMCV 1.3.3 の最新機能に依存しています。MMCV 1.3.2 には、MMDet で使用されるすべての機能がすでに含まれていますが、既知の問題があります。したがって、ユーザーには、MMCV v1.3.2 をスキップして v1.3.3 を使用することをお勧めしますが、ほとんどの場合、v1.3.2 でも動作する可能性があります。

  • 統一されたモデル初期化 (#4750)。OpenMMLab プロジェクトでのパラメータ初期化を統一するために、MMCV は init_cfg を受け入れる BaseModule をサポートし、モジュールのパラメータを柔軟かつ統一された方法で初期化できるようにします。ここで、ユーザーは、モデルを初期化するために、トレーニングスクリプトで明示的に model.init_weights() を呼び出す必要があります (ここのように)。以前は、これは検出器によって処理されていました。MMDetection のモデルは、PR #4750 に基づいて精度を確保するために再ベンチマークされました。ダウンストリームプロジェクトは、MMDetection v2.12.0 を使用するために、それに応じてコードを更新する必要があります

  • 統一されたモデルレジストリ (#5059)。他の OpenMMLab プロジェクトで実装されたバックボーンを簡単に使用できるようにするために、MMDetection は MMCV (#760) で作成されたモデルレジストリを継承するように移行します。このようにして、バックボーンが OpenMMLab プロジェクトでサポートされ、そのプロジェクトも MMCV のレジストリを使用している限り、ユーザーは、そのバックボーンのコードを MMDetection にコピーせずに、設定を変更するだけで MMDetection でそのバックボーンを使用できます。

  • マスク AP 評価 (#4898)。以前のバージョンでは、小さいインスタンス、中程度のインスタンス、および大きいインスタンスのマスク AP を計算する際に、バウンディングボックスを介してマスクの面積を計算していました。マスクの面積を実際に使用するために、マスク AP 計算中にキー bbox をポップします。この変更は、全体的なマスク AP 評価には影響せず、Detectron2 のような他のプロジェクトの同様のモデルのマスク AP に合わせます。

新機能

改善点

  • MMCV MODEL_REGISTRY を使用 (#5059)

  • より柔軟な使用のための統一されたパラメータ初期化 (#4750)

  • アンカーヘッドの変数名を変更し、ドキュメントストリングを修正 (#4883)

  • Cascade RPN で空の GT での学習をサポート (#4928)

  • ドキュメントで test_robustness の使用に関する詳細を追加 (#4917)

  • 1 つの環境で Detectron2 と MMDetection を完全にサポートするために、mmpycocotools の代わりに pycocotools を使用するように変更 (#4939)

  • より多くのバージョンのドッカーをサポートするために、torch serve dockerfile を更新 (#4954)

  • 単一クラスのデータセットでの学習のチェックを追加 (#4973)

  • トランスフォーマーと DETR ヘッドをリファクタリング (#4763)

  • FPG モデルズーを更新 (#5079)

  • 小さい/中程度の/大きいインスタンスのより正確なマスク AP (#4898)

バグ修正

  • 11 ポイントで mAP を計算する際の mean_ap.py のバグを修正 (#4875)

  • キー meta が古いチェックポイントにない場合のエラーを修正 (#4936)

  • reduce_mean の場所を変更することにより、VFNet、GFL、および FCOS で空の GT で学習する際の中断バグを修正 (#4923, #4978, #5058)

  • 非同期推論エラーを修正し、関連するデモを提供する (#4941)

  • IoU 損失の次元が一致しないエラーを修正 (#4982)

  • PyTorch 1.8 を使用する場合の torch.randperm を修正 (#5014)

  • CARAFE を使用する場合の mask_head の空の bbox エラーを修正 (#5062)

  • ゼロサイズの RoI がある場合の supplement_mask バグを修正 (#5065)

  • RoI ヘッドで空の rois でのテストを修正 (#5081)

v2.11.0 (2021/01/04)

ハイライト

新機能

改善点

  • RetinaNet のヘッドでのバッチ推論をサポート (#4699)

  • Faster-RCNN の第2段階でバッチ次元を追加 (#4785)

  • bbox コーダーでのバッチ推論をサポート (#4721)

  • 一意であることを保証するために、COCODatasetann_ids のチェックを追加 (#4789)

  • FPN の結果を表示するためのサポート (#4716)

  • grid_anchor の動的形状をサポート (#4684)

  • pycocotools のバージョンチェックを、使用時に移動 (#4880)

バグ修正

  • バッチ推論を実行する際の TridentNet のバグを修正 (#4717)

  • FASF での Pytorch2ONNX のバグを修正 (#4735)

  • 浮動小数点型で画像を表示する際のバグを修正 (#4732)

v2.10.0 (2021/01/03)

ハイライト

  • 新しいメソッドをサポート: FPG

  • SSD、FSAF、FCOS、YOLOv3、および Faster R-CNN 用の ONNX2TensorRT をサポート。

新機能

  • SSD、FSAF、FCOS、YOLOv3、および Faster R-CNN の ONNX2TensorRT サポート (#4569)

  • Feature Pyramid Grids (FPG) のサポート (#4645)

  • ビデオデモのサポート (#4420)

  • サンプラーのシードオプションの追加 (#4665)

  • ランナーのタイプのカスタマイズのサポート (#4570, #4669)

  • EvalHook での BN バッファの同期のサポート (#4582)

  • GIF デモ用スクリプトの追加 (#4573)

バグ修正

  • ConfigDict AttributeError の修正と Colab リンクの追加 (#4643)

  • GFL ヘッドレスの空の gt トレーニングでのクラッシュの回避 (#4631)

  • RPN 評価での iou_thrs バグの修正 (#4581)

  • モデルバージョンアップグレード時の設定構文エラーの修正 (#4584)

改善点

  • 単体テストファイル構造のリファクタリング (#4600)

  • NMS 設定のリファクタリング (#4636)

  • 設定文字列を介するのではなく、クラスを直接確認することでローディングパイプラインを取得 (#4619)

  • マスクターゲット生成とマスク構造に対する doctest の追加 (#4614)

  • パイプライン引数のコピー時にディープコピーを使用 (#4621)

  • ドキュメントの更新 (#4642, #4650, #4620, #4630)

  • import_modules_from_strings を呼び出す冗長なコードの削除 (#4601)

  • 非推奨の FP16 API のクリーンアップ (#4571)

  • XMLDataset の初期化時に CLASSES が正しく初期化されているかどうかの確認 (#4555)

  • 推論 API でのバッチ推論のサポート (#4462, #4526)

  • 非推奨の警告のクリーンアップと「メタ」エラーの修正 (#4695)

v2.9.0 (2021/02/01)

ハイライト

  • 新しい手法のサポート: SCNet, Sparse R-CNN

  • train_cfgtest_cfg を設定ファイルのモデルに移動

  • 予測品質に基づいた結果の可視化のサポート

新機能

  • SCNet のサポート (#4356)

  • Sparse R-CNN のサポート (#4219)

  • 複数の IoU による mAP 評価のサポート (#4398)

  • テスト用データセットの連結のサポート (#4452)

  • 予測品質に基づいた結果の可視化のサポート (#4441)

  • Pytorch2ONNX スクリプトへの ONNX 簡単化オプションの追加 (#4468)

  • ヘッドとデータセットのクラス番号の互換性をチェックするためのフックの追加 (#4508)

バグ修正

  • Cascade RPN の CPU 推論バグの修正 (#4410)

  • 予測ボックスがない場合の CornerNet の NMS エラーの修正 (#4409)

  • CornerNet 推論での TypeError の修正 (#4411)

  • 背景画像でトレーニングした場合の PAA のバグ修正 (#4391)

  • out_file is not None および show==False の場合にウィンドウデータが破棄されないエラーの修正 (#4442)

  • YOLOv3 のパフォーマンスを低下させる NMS score_factor の順序の修正 (#4473)

  • 検出ボックスの数が 0 の場合の HTC TTA のバグ修正 (#4516)

  • マスクデータ構造でのサイズ変更エラーの修正 (#4520)

改善点

  • LVIS データセットでのクラスのカスタマイズの許可 (#4382)

  • 既存のデータセットを使用して新しいモデルを構築するためのチュートリアルの追加 (#4396)

  • ドキュメントへの CPU 互換性情報の追加 (#4405)

  • バッチ推論用の非推奨の ImageToTensor のドキュメントの追加 (#4408)

  • データセットのカスタマイズに関するドキュメントの詳細の追加 (#4430)

  • imshow_det_bboxes 可視化バックエンドを OpenCV から Matplotlib に切り替え (#4389)

  • image_demo.py での ImageToTensor の非推奨化 (#4400)

  • train_cfg/test_cfg をモデルに移動 (#4347, #4489)

  • bbox ヘッドの reg_decoded_bbox オプションのドキュメント文字列の更新 (#4467)

  • ドキュメントのデータセット情報の更新 (#4525)

  • マルチスケール 3 倍トレーニングスケジュールを使用した事前トレーニング済みの R50 および R101 PAA 検出器のリリース (#4495)

  • 速度ベンチマークのガイダンスの追加 (#4537)

v2.8.0 (2021/01/04)

ハイライト

新機能

バグ修正

  • async_benchmark での結果表示のバグ修正 (#4367)

  • MaskTestMixin のスケールファクターの修正 (#4366)

  • multiclass_nms でインデックスを返す場合のバグ修正 (#4362)

  • resnext バックボーンエラーでの経験的注意のバグ修正 (#4300)

  • 更新されたパフォーマンスとモデルを使用した FCOS-HRNet モデルの img_norm_cfg のバグ修正 (#4250)

  • Cityscapes データセットの Mask R-CNN モデルでの無効なチェックポイントとログの修正 (#4287)

  • データセットが小さすぎる場合の分散サンプラーのバグ修正 (#4257)

  • 「PAFPN has no attribute extra_convs_on_inputs」のバグ修正 (#4235)

改善点

  • モデル URL を aws から aliyun に更新 (#4349)

  • PyTorch 1.6+ の ATSS の更新 (#4359)

  • pre-commit インストールで ruby をインストールするためのスクリプトの更新 (#4360)

  • 非推奨の mmdet.ops の削除 (#4325)

  • Sparse R-CNN でより一般的に使用するためのハンガリアンアサイナーのリファクタリング (#4259)

  • パッケージ依存関係を減らすための DETR での scipy インポートの処理 (#4339)

  • MMCV (1.2.3) が設定でリストの上書きをサポートした後の設定オプションの使用法のドキュメントの更新 (#4326)

  • COCO サブセットでトレーニングされた faster rcnn の事前トレーニング済みモデルの更新 (#4307)

  • Dynamic R-CNN でのベータのゼロまたは小さすぎる値の回避 (#4303)

  • Pytorch2ONNX のドキュメントの追加 (#4271)

  • 非推奨の警告 FPN 引数の追加 (#4264)

  • NMS を使用するときに保持された bbox のインデックスを返すサポート (#4251)

  • GFLHead でテンソルを作成するときにタイプとデバイスの要件を更新 (#4210)

  • CrossEntropyLoss でテンソルを作成するときにデバイスの要件を更新 (#4224)

v2.7.0 (2020/11/30)

  • 新しい手法のサポート: DETR, ResNest, Faster R-CNN DC5.

  • ONNX にエクスポート可能な YOLO、Mask R-CNN、および Cascade R-CNN モデルのサポート。

新機能

  • DETR のサポート (#4201, #4206)

  • トレーニングで最適なチェックポイントにリンクするサポート (#3773)

  • inference.py のオプションを介して設定を上書きするサポート (#4175)

  • ONNX にエクスポート可能な YOLO、Mask R-CNN、および Cascade R-CNN モデルのサポート (#4087, #4083)

  • ResNeSt バックボーンのサポート (#2959)

  • クリップされていない境界 bbox 回帰のサポート (#4076)

  • AP の評価に tpfp 関数を追加 (#4069)

  • 他のバックボーンを使用した SSD 検出器の混合精度トレーニングのサポート (#4081)

  • Faster R-CNN DC5 モデルの追加 (#4043)

バグ修正

  • 分散トレーニングモードでの gpu_id のバグ修正 (#4163)

  • 0.5 より高いバージョンの Albumentations のサポート (#4032)

  • faster rcnn 設定での num_classes バグの修正 (#4088)

  • docs/2_new_data_model.md のコードの更新 (#4041)

改善点

  • VFNet で、DCN オフセットが特徴量と同じタイプであることを確認 (#4198)

  • モデルの README ファイルに設定リンクを追加 (#4190)

  • 損失規約のチュートリアルの追加 (#3818)

  • 30 シリーズ GPU でのインストール問題の解決策の追加 (#4176)

  • get_started.md の docker バージョンの更新 (#4145)

  • 設定 README にモデルの統計を追加し、一部のタイトルを調整 (#4140)

  • FreeAnchor で負の確率をクランプ (#4082)

  • 大きな画像の展開を高速化 (#4089)

  • Pytorch 1.7 の非互換性の問題を修正 (#4103)

  • セグメンテーション違反を解決するためのトラブルシューティングページの更新 (#4055)

  • プロジェクトページの aLRP-Loss の更新 (#4078)

  • 重複した reduce_mean 関数のクリーンアップ (#4056)

  • Q&A のリファクタリング (#4045)

v2.6.0 (2020/11/01)

  • 新しい手法のサポート: VarifocalNet

  • より多くのチュートリアルを含むリファクタリングされたドキュメント。

新機能

  • BboxOverlaps2D での GIoU 計算のサポート、および bbox_overlaps を使用した giou_loss の再実装 (#3936)

  • CPU モードでのランダムサンプリングのサポート (#3948)

  • VarifocalNet のサポート (#3666, #4024)

バグ修正

  • Cascade R-CNN での SABL 検証バグの修正 (#3913)

  • num_pos=0 の場合の PAA ヘッドでのゼロ除算の回避 (#3938)

  • マルチノードテストエラーの一時ディレクトリバグの修正 (#4034, #4017)

  • テストスクリプトの --show-dir オプションの修正 (#4025)

  • GA-RetinaNet r50 モデル URL の修正 (#3983)

  • ドキュメントのコードの更新と破損した URL の修正 (#3947)

改善点

  • pytorch2onnx API を mmdet.core.export にリファクタリングし、pytorch2onnx に generate_inputs_and_wrap_model を使用 (#3857, #3912)

  • v2.5.0 互換性のための RPN アップグレードスクリプトの更新 (#3986)

  • mmcv の tensor2imgs を使用 (#4010)

  • テストの堅牢性を更新 (#4000)

  • トラブルシューティングページを更新 (#3994)

  • PAA のトレーニング速度を加速 (#3985)

  • 検証で batch_size > 1 をサポート (#3966)

  • CPU モードでの推論に MMCV で実装された RoIAlign を使用 (#3930)

  • ドキュメントのリファクタリング (#4031)

v2.5.0 (2020/5/10)

ハイライト

  • 新しいメソッドをサポート: YOLACT, CentripetalNet.

  • より簡単で明確な使用のためにドキュメントをさらに追加。

後方互換性のない変更

FP16 関連のメソッドは、mmdet ではなく mmcv からインポートされます。 (#3766, #3822) mmdet.core.fp16 の混合精度トレーニングユーティリティは、force_fp32, auto_fp16, wrap_fp16_model, Fp16OptimizerHook を含め、mmcv.runner に移動しました。ユーザーが mmdet.core.fp16 からこれらのメソッドをインポートしようとすると、非推奨の警告が表示され、最終的に V2.10.0 で削除されます。

[0, N-1] は前景クラスを表し、N はすべてのモデルで背景クラスを示します。 (#3221) v2.5.0 より前では、RPN の背景ラベルは 0 で、他のヘッダーの場合は N でした。現在、すべてのモデルで動作が一貫しています。したがって、dense_headsself.background_labels が削除され、すべてのヘッダーが self.num_classes を使用して背景ラベルのクラスインデックスを示すようになりました。この変更は、v2.x モデル動物園の事前トレーニング済みモデルには影響しませんが、RPN ヘッダーを持つすべてのモデルのトレーニングに影響します。RPN ヘッダーが softmax を使用する 2 段階検出器は、カテゴリの順序が変更されるため影響を受けます。

test_mode=True および self.filter_empty_gt=True の場合にのみ get_subset_by_classes を呼び出します (#3695) データセット内の関数 get_subset_by_classes がリファクタリングされ、test_mode=True および self.filter_empty_gt=True の場合にのみ画像をフィルタリングします。元の実装では、get_subset_by_classes はフラグ self.filter_empty_gt に関連付けられておらず、test_modeTrueFalse かに関係なく、初期化中にクラスが設定された場合にのみ呼び出されます。これにより、多くのケースであいまいな動作と潜在的なバグが発生します。v2.5.0 以降、filter_empty_gt=False の場合、データセットでクラスが指定されているかどうかに関係なく、データセットは注釈内のすべての画像を使用します。filter_empty_gt=True および test_mode=True の場合、クラスが指定されているかどうかに関係なく、データセットは「get_subset_by_classes」を呼び出して画像をチェックし、GT ボックスを含まない画像をフィルタリングします。したがって、ユーザーはテストデータセットのデータフィルタリング/クリーニングプロセスに責任を負う必要があります。

新機能

  • シングルステージ検出器のテスト時拡張 (#3844, #3638)

  • トレーニング中に実験の名前を表示するサポート (#3764)

  • ShearRotateTranslate 拡張を追加 (#3656, #3619, #3687)

  • ConstrastEqualizeColorBrightness を含む画像のみの変換を追加。(#3643)

  • YOLACT をサポート (#3456)

  • CentripetalNet をサポート (#3390)

  • docker で PyTorch 1.6 をサポート (#3905)

バグ修正

  • 真のボックスがない場合の ATSS のトレーニングのバグを修正 (#3702)

  • num_pos が 0 の場合に Focal Loss を使用するバグを修正 (#3702)

  • データセットブラウザのラベルインデックスマッピングを修正 (#3708)

  • ポジティブな rois がない場合の Mask R-CNN のトレーニングの停止問題を修正 (#3713)

  • rpn ヘッダーで self.rpn_head を使用することにより、RPNTestMixinself.rpn_head.test_cfg のバグを修正 (#3808)

  • mmcv.ops から非推奨の Conv2d を修正 (#3791)

  • RepPoints のデバイスバグを修正 (#3836)

  • SABL の検証バグを修正 (#3849)

  • MMCV をインストールするには、https://download.openmmlab.com/mmcv/dist/index.html を使用 (#3840)

  • PyTorch 1.6.0 の NMS での非ゼロを修正 (#3867)

  • PAA の API 変更バグを修正 (#3883)

  • bbox_flip のスペルミスを修正 (#3886)

  • Dockerfile の ligGL.so.1 の cv2 インポートエラーを修正 (#3891)

改善点

  • 重複コードを避けるために、環境情報を収集するために mmcv.utils.collect_env を使用するように変更 (#3779)

  • ドキュメントのチェックポイントファイル名を v2.0 モデルに更新 (#3795)

  • ランタイム設定の変更 (#3778)、損失の変更 (#3777) のチュートリアルを更新

  • SABL の simple_test_bboxes の機能を改善 (#3853)

  • 堅牢性と高速化のために、マスクを bool に変換してから img のインデックスとして使用 (#3870)

  • モジュールとデータセットのカスタマイズに関するドキュメントを改善 (#3821)

v2.4.0 (2020/5/9)

ハイライト

  • 多数の問題/バグを修正し、トラブルシューティングページを再編成

  • 新しいメソッド SABLYOLOv3、および PAA Assign をサポート

  • バッチ推論をサポート

  • v2.3.0 以降、PyPI に mmdet パッケージの公開を開始

  • モデル動物園を download.openmmlab.com に切り替え

後方互換性のない変更

  • バッチ推論のサポート (#3564, #3686, #3705): v2.4.0 以降、MMDetection は単一 GPU で複数の画像を使用してモデルを推論できます。この変更は、MMDetection およびダウンストリームコードベースのすべてのテスト API に影響します。ユーザーがコードを移行できるように、データセットの初期化中にレガシーテストデータパイプラインを変換するために replace_ImageToTensor (#3686) を使用します。

  • 水平/垂直/斜め方向での RandomFlip のサポート (#3608): v2.4.0 以降、MMDetection はデータ拡張で水平/垂直/斜めフリップをサポートします。これにより、データ拡張プロセスにおける境界ボックス、マスク、および画像の変換と、それらのデータを元の形式にマッピングするプロセスに影響します。

  • COCO および LVIS データセット用に mmlvis および mmpycocotools を使用するように移行 (#3727)。API は、元の lvis および pycocotools と完全に互換性があります。ユーザーは、最初に環境内の既存の pycocotools および lvis パッケージをアンインストールし、mmlvis & mmpycocotools をインストールする必要があります。

バグ修正

  • onnx のデフォルトの mean/std を修正 (#3491)

  • coco 評価を修正し、メトリクス項目を追加 (#3497)

  • install.md のスペルミスを修正 (#3516)

  • gpu ごとのサンプラーが 1 の場合の atss を修正 (#3528)

  • fuse_conv_bn のインポートを修正 (#3529)

  • gaussian_target のバグを修正し、ヒートマップの単体テストを更新 (#3543)

  • 修正された VOC2012 評価 (#3553)

  • リスケールのスケールファクターのバグを修正 (#3566)

  • ベース検出器の with_xxx_attributes を修正 (#3567)

  • 数値が 0 の場合のボックススケーリングを修正 (#3575)

  • ネック構成がリストの場合の rfp チェックを修正 (#3591)

  • benchmark.py での融合 conv bn のインポートを修正 (#3606)

  • Web カメラのデモを修正 (#3634)

  • チュートリアルのスペルミスと項目化の問題を修正 (#3658)

  • FPN の一部のレベルに境界ボックスが割り当てられていない場合の分散トレーニングのエラーを修正 (#3670)

  • 有効フラグ生成におけるストライドの幅と高さの順序を修正 (#3685)

  • Res2Net DCN の重み初期化のバグを修正 (#3714)

  • OHEMSampler のバグを修正 (#3677)

新機能

  • Cutout 拡張をサポート (#3521)

  • ConcatDataset を介した複数のデータセットでの評価をサポート (#3522)

  • PAA assign をサポート #(3547)

  • pickle 結果を使用した eval メトリクスのサポート (#3607)

  • YOLOv3 をサポート (#3083)

  • SABL をサポート (#3603)

  • github-action で Pypi に公開するサポート (#3510)

  • カスタムインポートをサポート (#3641)

改善点

  • ドキュメントの共通の問題をリファクタリング (#3530)

  • CI 構成に pytorch 1.6 を追加 (#3532)

  • ランナーメタに構成を追加 (#3534)

  • テスト用の eval-option フラグを追加 (#3537)

  • 評価フックに init_eval を追加 (#3550)

  • ClassBalancedDataset に include_bkg を追加 (#3577)

  • inference_detector での構成の読み込みの使用 (#3611)

  • モデル動物園に ATSS ResNet-101 モデルを追加 (#3639)

  • URL を download.openmmlab.com に更新 (#3665)

  • CocoDataset の非マスクトレーニングをサポート (#3711)

v2.3.0 (2020/5/8)

ハイライト

  • CUDA/C++の演算子がmmcv.opsに移動しました。後方互換性のため、mmdet.opsmmcv.opsのラッパーとして残されています。

  • 新しい手法であるCornerNetDIOU/CIOU損失、そして新しいデータセットであるLVIS V1をサポートします。

  • より詳細なColabトレーニングチュートリアルと、より完全なドキュメントを提供します。

  • RetinaNetをPyTorchからONNXに変換するサポートを提供します。

バグ修正

  • DetectoRSのモデル初期化バグを修正しました(#3187)。

  • NASFCOSHeadでのモジュール名のバグを修正しました(#3205)。

  • publish_model.pyでのファイル名のバグを修正しました(#3237)。

  • dense headで、inside_flags.any()Falseの場合の次元のバグを修正しました(#3242)。

  • MultiScaleFlipAugでフリップ方向の引き渡しを忘れていたバグを修正しました(#3262)。

  • stem_channelsのデフォルト値によって引き起こされるバグを修正しました(#3333)。

  • CPU推論のためのモデルチェックポイントのロードバグを修正しました(#3318, #3316)。

  • ATSSAssignerで、ボックス数が期待されるtopk数よりも小さい場合のtopkのバグを修正しました(#3361)。

  • center_region_assigner.pyでのgt優先順位のバグを修正しました(#3208)。

  • iou_loss.pyでのiou計算のNaN問題を修正しました(#3394)。

  • coco.pyでの評価時に、iou_thrsが実際には使用されていなかったバグを修正しました(#3407)。

  • RepPointsのテスト時拡張を修正しました(#3435)。

  • Res2Net+DCNで、非連続なテンソルによって引き起こされるruntimeErrorを修正しました(#3412)。

新機能

  • CornerNetをサポートします(#3036)。

  • DIOU/CIOU損失をサポートします(#3151)。

  • LVIS V1データセットをサポートします(#)。

  • トレーニングでカスタマイズされたフックをサポートします(#3395)。

  • 一般化された焦点損失のfp16トレーニングをサポートします(#3410)。

  • RetinaNetをPyTorchからONNXに変換するサポートを提供します(#3075)。

改善点

  • ATSSアサイナーで無視ボックスを処理するサポートを提供します(#3082)。

  • RandomCropで、ground truthなしで画像をクロップできるようにします(#3153)。

  • Accuracyモジュールで、しきい値を設定できるようにします(#3155)。

  • ユニットテストをリファクタリングします(#3206)。

  • RegNets設定で、to_float32norm_cfgのトレーニング設定を統合します(#3210)。

  • 初心者向けのColabトレーニングチュートリアルを追加します(#3213, #3273)。

  • CUDA/C++演算子をmmcv.opsに移動し、後方互換性のためにmmdet.opsをラッパーとして保持します(#3232)(#3457)。

  • ドキュメントのインストールスクリプト(#3290)とdockerfile(#3320)を更新します。

  • 画像リサイズのバックエンドを設定するサポートを提供します(#3392)。

  • バージョンファイルからgitハッシュを削除します(#3466)。

  • mmcvのバージョンをチェックして、バージョンの互換性を強制します(#3460)。

v2.2.0 (2020/1/7)

ハイライト

バグ修正

  • 画像内にgtがない場合のFreeAnchorを修正しました(#3176)。

  • 非推奨になったregister_module()の使用をクリーンアップしました(#3092, #3161)。

  • NAS FCOSでの事前トレーニングのバグを修正しました(#3145)。

  • SSDのnum_classesを修正しました(#3142)。

  • FCOSウォームアップを修正しました(#3119)。

  • tools/publish_model.pyrstripを修正しました。

  • RandomFLipパイプラインでのflip_ratioのデフォルト値を修正しました(#3106)。

  • ms_rcnnでのcityscapes評価を修正しました(#3112)。

  • RPNソフトマックスを修正しました(#3056)。

  • LVIS@v0.5のファイル名を修正しました(#2998)。

  • COCOでフレーム外のgt_bboxesをフィルタリングすることによるnan損失を修正しました(#2999)。

  • FSAFのバグを修正しました(#3018)。

  • FocalLossのnum_classesチェックを追加しました(#2964)。

  • gtがない場合のPISA損失を修正しました(#2992)。

  • iou_calculatorでnanが発生するのを防ぎました(#2975)。

  • 浅いコピーによって引き起こされる可能性のあるロードおよび変換のバグを防止します(#2967)。

新機能

  • DetectoRSを追加しました(#3064)。

  • 一般化された焦点損失をサポートします(#3097)。

  • PointRendをサポートします(#2752)。

  • Dynamic R-CNNをサポートします(#3040)。

  • DeepFashionデータセットを追加しました(#2968)。

  • FCOSトレーニングのトリックを実装します(#2935)。

  • アンカーベースのヘッドのベースクラスとしてBaseDenseHeadを使用します(#2963)。

  • BasicBlockにwith_cpを追加します(#2891)。

  • ResNetにstem_channels引数を追加します(#2954)。

改善点

  • アンカーフリーベースヘッドを追加します(#2867)。

  • githubアクションに移行します(#3137)。

  • データセット、パイプライン、コアモジュール、およびメソッドのドキュメント文字列を追加します(#3130, #3125, #3120)。

  • VOCベンチマークを追加します(#3060)。

  • GRoIにconcatモードを追加します(#3098)。

  • cmd引数autorescale-lrを削除します(#3080)。

  • len(data['img_metas'])を使用してnum_samplesを示すようにします(#3073, #3053)。

  • EpochBasedRunnerに切り替えます(#2976)。

v2.1.0 (2020/6/8)

ハイライト

  • 新しいバックボーンであるRegNetXRes2Netをサポートします。

  • 新しい手法であるNASFCOSPISAGRoIEをサポートします。

  • 新しいデータセットであるLVISをサポートします。

バグ修正

  • CLI引数--validate--no-validateに変更し、デフォルトでトレーニングエポック後の検証を有効にします。(#2651)

  • dockerファイルに不足していたcythonを追加します(#2713)。

  • nmsのcpu実装のバグを修正しました(#2754)。

  • マスクの結果を表示する際のバグを修正しました(#2763)。

  • gccの要件を修正しました(#2806)。

  • 非同期テストのバグを修正しました(#2820)。

  • テストAPIでのマスクのエンコードとデコードのバグを修正しました(#2824)。

  • テスト時の拡張のバグを修正しました(#2858, #2921, #2944)。

  • apis/trainのコメントのタイプミスを修正しました(#2877)。

  • RandomCropで、元の画像にgt bboxがない場合にNoneを返すバグを修正します。RandomCropMinIoURandomCrop、およびExpandモジュールで、gt_bboxes_ignoregt_label_ignore、およびgt_masks_ignoreの処理を忘れていたバグを修正します。(#2810)

  • regnetのbase_channelsのバグを修正しました(#2917)。

  • 基本検出器で事前トレーニング済みの重みをロードする際のロガーのバグを修正しました(#2936)。

新機能

  • IoUモデルを追加しました(#2666)。

  • 推論用のColabデモを追加しました。

  • クラスに依存しないnmsをサポートします(#2553)。

  • 開発専用のベンチマーク収集スクリプトを追加します(#2676)。

  • mmdetベースのプロジェクトリンクを追加しました(#2736, #2767, #2895)。

  • トレーニングで構成をダンプします(#2779)。

  • ClassBalancedDatasetを追加します(#2721)。

  • res2netバックボーンを追加しました(#2237)。

  • RegNetXモデルをサポートします(#2710)。

  • mmcv.FileClientを使用して、さまざまなストレージバックエンドをサポートします(#2712)。

  • ClassBalancedDatasetを追加します(#2721)。

  • コードリリース:オブジェクト検出におけるプライムサンプルアテンション(CVPR 2020)(#2626)。

  • NASFCOSを実装します(#2682)。

  • CrossEntropyLossにクラスの重みを追加します(#2797)。

  • LVISデータセットをサポートします(#2088)。

  • GRoIEをサポートします(#2584)。

改善点

  • アンカーヘッドで異なるxストライドとyストライドを許可します(#2629)。

  • FSAF損失をgtがない場合により堅牢にします(#2680)。

  • 純粋な推論時間を代わりに計算します(#2657)推論速度を更新します(#2730)。

  • 面積が0のパッチが切り取られる可能性を回避しました。(#2704)

  • 非推奨のimgs_per_gpuが使用されている場合、警告を追加します。(#2700)

  • 構成のマスクrcnnの例を追加します(#2645)。

  • モデルzooを更新します(#2762, #2866, #2876, #2879, #2831)。

  • ori_filenameをimg_metasに追加し、テストshow-dirで使用します(#2612)。

  • img_fieldsを使用して、画像変換中に複数の画像を処理します(#2800)。

  • FPNでupsample_cfgサポートを追加します(#2787)。

  • 後方互換性のために、デフォルトのimg_fieldsとして['img']を追加します(#2809)。

  • 事前トレーニング済みのモデルの名前をopen-mmlab://resnet50_caffeopen-mmlab://resnet50_caffe_bgrからopen-mmlab://detectron/resnet50_caffeopen-mmlab://detectron2/resnet50_caffeに変更します。(#2832)

  • ハングの問題を軽減するために、test.pyにsleep(2)を追加しました(#2847)。

  • CARAFEでc10::halfをサポートします(#2890)。

  • ドキュメントを改善します(#2918, #2714)。

  • mmcvでoptimizerコンストラクターを使用し、mmdet.core.optimizerの元の実装をクリーンアップします(#2947)。

v2.0.0 (2020/5/6)

このリリースでは、多くの主要なリファクタリングと変更を行いました。

  1. より高速なスピード。一般的なモデルのトレーニングと推論速度を最適化し、トレーニングで最大30%、推論で25%の高速化を実現しました。詳細については、モデルzooを参照してください。

  2. パフォーマンスの向上。追加コストなしでいくつかのデフォルトハイパーパラメータを変更し、ほとんどのモデルでパフォーマンスが向上しました。詳細については、互換性を参照してください。

  3. ドキュメントとチュートリアルの拡充。ユーザーがよりスムーズに開始できるように、ドキュメントとチュートリアルを多数追加しました。こちらをご覧ください。

  4. PyTorch 1.5 のサポート。1.1 および 1.2 のサポートを廃止し、いくつかの新しい API に切り替えました。

  5. より優れた構成システム。構成の冗長性を減らすために、継承がサポートされるようになりました。

  6. より優れたモジュール設計。シンプルさと柔軟性を目指し、一部のカプセル化を簡素化し、BBoxCoder、IoUCalculator、OptimizerConstructor、RoIHead などの構成可能なモジュールをさらに追加しました。ターゲット計算もヘッダーに含まれており、呼び出し階層がよりシンプルになりました。

  7. 新しいメソッドのサポート:FSAF および PAFPN(PAFPN の一部)。

破壊的変更 MMDetection 1.x でトレーニングされたモデルは 2.0 と完全には互換性がありません。詳細と新しいバージョンへの移行方法については、互換性に関するドキュメントを参照してください。

改善点

  • カスタム演算のための cuda および cpp API の統合。(#2277)

  • 継承を使用した新しい構成ファイル。(#2216)

  • 2番目のステージをRoIヘッダーにカプセル化。(#1999)

  • GCNet/EmpericalAttention をプラグインにリファクタリング。(#2345)

  • IoUベースのbboxアサイナーで低品質マッチをオプションとして設定。(#2375)

  • コードベースの座標系を変更。(#2380)

  • ヘッダーのカテゴリ順序をリファクタリング。0 は、バックグラウンドではなく、最初の正のクラスを意味するようになりました。(#2374)

  • bboxサンプラーとアサイナーのレジストリを追加。(#2419)

  • RPNの推論を高速化。(#2420)

  • すべてのアンカーヘッダーにクラスメンバーとして train_cfg および test_cfg を追加。(#2422)

  • ターゲット計算メソッドをヘッダーに統合。(#2429)

  • 異なるbboxエンコーディングと損失をサポートするためにbboxコーダーを追加。(#2480)

  • 回帰損失のAPIを統一。(#2156)

  • アンカージェネレーターをリファクタリング。(#2474)

  • オプティマイザーのオプション引数として lr を作成。(#2509)

  • MMCVのモジュールとメソッドに移行。(#2502、#2511、#2569、#2572)

  • PyTorch 1.5 のサポート。(#2524)

  • Python 3.5 のサポートを廃止し、コードベースで F 文字列を使用。(#2531)

バグ修正

  • アスペクト比を維持せずにサイズ変更された画像のスケールファクターを修正。(#2039)

  • NMSでスライスする前に max_num > 0 かどうかを確認。(#2486)

  • インスタンスがない場合の変形RoIPoolを修正。(#2490)

  • 割り当てられたラベルのデフォルト値を修正。(#2536)

  • Cityscapesの評価を修正。(#2578)

新機能

  • ResNetにdeep_stemおよびavg_downオプションを追加します。つまり、ResNetV1dをサポートします。(#2252)

  • L1損失を追加。(#2376)

  • インスタンスマスクのポリゴンとビットマップの両方をサポート。(#2353、#2540)

  • 推論用のCPUモードをサポート。(#2385)

  • オプティマイザーの複雑な構成のためのオプティマイザーコンストラクターを追加。(#2397、#2488)

  • PAFPNを実装。(#2392)

  • 一部のモジュールで空のテンソル入力をサポート。(#2280)

  • オーバーライドせずにカスタムデータセットクラスのサポート。(#2408、#2443)

  • cocoデータセットのサブセットをトレーニングするためのサポート。(#2340)

  • より多くのIoU計算メソッドをサポートする可能性のあるiou_calculatorを追加。(2405)

  • クラスごとの平均APをサポート(前回のバージョンで削除されました)。(#2459)

  • テスト結果の画像を保存するオプションを追加。(#2414)

  • MomentumUpdaterHook をサポート。(#2571)

  • 単一の画像を推論するためのデモを追加。(#2605)

v1.1.0 (2020/2/24)

ハイライト

  • データセットの評価は、評価フックとテストスクリプトの両方で使用される統一されたAPIで書き直されています。

  • 新しいメソッドのサポート:CARAFE

破壊的変更

  • 新しいMMDDPは公式のDDPから継承するため、__init__ APIは公式のDDPと同じになるように変更されました。

  • HTC構成ファイルのmask_headフィールドが変更されました。

  • 評価およびテストスクリプトが更新されました。

  • すべての変換では、インスタンスマスクは、nがインスタンスの数である、(h、w)配列のリストではなく、形状(n、h、w)のnumpy配列として格納されます。

バグ修正

  • ignore_iof_thr> 0で、予測ボックスがない場合のIOUアサイナーを修正。(#2135)

  • 無視されたボックスがない場合のmAP評価を修正。(#2116)

  • 変形RoIプーリングの空のRoI入力を修正。(#2099)

  • 複数のワークフローのデータセット設定を修正。(#2103)

  • PyTorch 1.4のtorch.uint8に関連する警告を修正。(#2105)

  • gpu:0以外のデバイスでの推論デモを修正。(#2098)

  • Dockerfileを修正。(#2097)

  • pad_valがPad変換で使用されないバグを修正。(#2093)

  • ground truth bboxがない場合のalbumentation変換を修正。(#2032)

改善点

  • ランダムサンプリングにnumpyの代わりにtorchを使用。(#2094)

  • MMCV v0.3の新しいMMDDP実装に移行。(#2090)

  • ログにメタ情報を追加。(#2086)

  • pytorch拡張機能を使用してSoft NMSを書き直し、依存関係としてcythonを削除。(#2056)

  • データセットの評価を書き直し。(#2042、#2087、#2114、#2128)

  • 変換でマスクにnumpy配列を使用。(#2030)

新機能

  • 「CARAFE:Content-Aware ReAssembly of FEatures」を実装。(#1583)

  • シードが設定されている場合、data_loaderに worker_init_fn() を追加。(#2066、#2111)

  • ロギングユーティリティを追加。(#2035)

v1.0.0 (2020/1/30)

このリリースは主にコード品質を向上させ、より多くのドキュメンテーションを追加します。

ハイライト

  • ドキュメントがオンラインになりました:https://mmdetection.dokyumento.jp

  • 新しいモデルのサポート:ATSS

  • DCNは、通常のconvレイヤーのように、api build_conv_layer および ConvModule で使用できるようになりました。

  • トラブルシューティング用の環境情報を収集するツールが利用可能です。

バグ修正

  • 最新のnumpyとpycocotoolsの非互換性を修正。(#2024)

  • 分散パッケージが利用できない場合(Windowsなど)を修正。(#1985)

  • refine_bboxes() の次元の問題を修正。(#1962)

  • seg_prefix がリストの場合のタイプミスを修正。(#1906)

  • セグメンテーションマップのクロッピングをRandomCropに追加。(#1880)

  • ga_shape_target_single() の戻り値を修正。(#1853)

  • 空の提案のロードされた形状を修正。(#1819)

  • albumentationを使用する場合のマスクデータ型を修正。(#1818)

改善点

  • AssignResultとSamplingResultを強化。(#1995)

  • レジストリで既存のモジュールを上書きする機能を追加。(#1982)

  • 要件を再編成し、albumentationsとimagecorruptionsをオプションにする。(#1969)

  • SSDHead でNaNをチェック。(#1935)

  • ResNe(X)tのDCNをConvModule&Conv_layersにカプセル化。(#1894)

  • mAP評価のリファクタリングと、マルチプロセッシングとロギングのサポート。(#1889)

  • より多くの情報をログに記録するために、Runnerを構築する前にルートロガーを初期化。(#1865)

  • SegResizeFlipPadRescale を異なる既存の変換に分割。(#1852)

  • init_dist() をMMCVに移動。(#1851)

  • ドキュメントとドキュメンテーションの改善。(#1971、#1938、#1869、#1838)

  • マスクの視覚化で同じクラスの色を修正。(#1834)

  • HTCとCascadeR-CNNのオプション keep_all_stages を削除。(#1806)

新機能

  • マスクヘッダーに2つのテスト時間オプションcrop_maskrle_mask_encode を追加。(#2013)

  • グレースケール画像をシングルチャネルとしてロードするためのサポート。(#1975)

  • 「Adaptive Training Sample Selectionを介したアンカーベース検出とアンカーフリー検出のギャップを埋める」を実装。(#1872)

  • sphinx生成ドキュメントを追加。(#1859、#1864)

  • flops計算にGNサポートを追加。(#1850)

  • トラブルシューティングのために環境情報を収集。(#1812)

v1.0rc1 (2019/12/13)

RC1リリースは、主にユーザーエクスペリエンスの向上とバグの修正に焦点を当てています。

ハイライト

  • 新しいモデルのサポート:FoveaBoxRepPoints、および FreeAnchor

  • Dockerfileを追加。

  • jupyter notebookデモとwebcamデモを追加。

  • コードスタイルとCIを設定。

  • たくさんのドキュメンテーションとユニットテストを追加。

  • たくさんのバグを修正。

破壊的変更

  • #621によって導入された、異なるスケール(AP_s、AP_m、AP_l)に関するCOCOスタイルのmAPを計算するバグがありました。(#1679)

バグ修正

  • Libra R-CNNのサンプリング間隔のバグを修正。(#1800)

  • SSD300 WIDER FACEの学習率を修正。(#1781)

  • keep_ratio=False の場合のスケーリングの問題を修正。(#1730)

  • タイプミスを修正。(#1721、#1492、#1242、#1108、#1107)

  • build_dataloader のシャッフル引数を修正。(#1693)

  • マスクターゲットを計算するときに提案をクリップ。(#1688)

  • 一部のコーナーケースのサンプラーで「インデックスが範囲外」バグを修正。(#1610、#1404)

  • GPU:0以外のデバイスでのNMSの問題を修正。(#1603)

  • CPU上のSSDヘッドとGHM損失を修正。(#1578)

  • gt bboxesが多すぎる場合のOOMエラーを修正。(#1575)

  • HTCの誤ったキーワード引数 nms_cfg を修正。(#1573)

  • ExpandおよびMinIoUCrop変換でマスクとセマンティックセグメンテーションを処理。(#1550、#1361)

  • 非ローカル演算のスケールバグを修正。(#1528)

  • gt_bboxes_ignore が None の場合の transforms のバグを修正しました。 (#1498)

  • img_prefix が None の場合のバグを修正しました。 (#1497)

  • grid_anchors および valid_flags に device 引数を渡すようにしました。 (#1478)

  • test_robustness のデータパイプラインを修正しました。 (#1476)

  • 変形プーリングの引数の型を修正しました。 (#1390)

  • クラスが2つしかない場合の coco_eval を修正しました。 (#1376)

  • deformable_group>1 の場合の Modulated DeformableConv のバグを修正しました。 (#1359)

  • RandomCrop でのマスクのクロッピングを修正しました。 (#1333)

  • cuda:0 で実行されていない場合に DeformConv でゼロ出力になる問題を修正しました。 (#1326)

  • Expand の型に関する問題を修正しました。 (#1288)

  • 推論 API を修正しました。 (#1255)

  • Expand におけるインプレース操作を修正しました。 (#1249)

  • ゼロからトレーニングする設定を修正しました。 (#1196)

  • PyTorch 1.2 でエラーを引き起こす RoIExtractor でのインプレース加算を修正しました。 (#1160)

  • 入力画像に正のサンプルがない場合の FCOS を修正しました。 (#1136)

  • 再帰的なインポートを修正しました。 (#1099)

改善点

  • ログに設定ファイルと mmdet のバージョンを出力するようにしました。 (#1721)

  • travis CI でコンパイルする前にコードをリントするようにしました。 (#1715)

  • Expand 変換に確率引数を追加しました。 (#1651)

  • Docker ファイルで PyTorch と CUDA のバージョンを更新しました。 (#1615)

  • 非分散トレーニングで --validate を指定した場合に警告を出すようにしました。 (#1624, #1651)

  • mAP の出力を美しくしました。 (#1614)

  • pre-commit フックを追加しました。 (#1536)

  • バックボーンに引数 in_channels を追加しました。 (#1475)

  • @Erotemic の協力により、多くの docstring とユニットテストを追加しました。 (#1603, #1517, #1506, #1505, #1491, #1479, #1477, #1475, #1474)

  • 共有ストレージがない場合のマルチノード分散テストのサポートを追加しました。 (#1399)

  • Docker イメージのサイズを削減するために Dockerfile を最適化しました。 (#1306)

  • HRNet の新しい結果を更新しました。 (#1284, #1182)

  • FPN に引数 no_norm_on_lateral を追加しました。 (#1240)

  • CI でのコンパイルをテストしました。 (#1235)

  • ドキュメントを別のフォルダに移動しました。 (#1233)

  • Jupyter Notebook のデモを追加しました。 (#1158)

  • トレーニング用に異なるタイプのデータセットをサポートしました。 (#1133)

  • cuda カーネルで long の代わりに int64_t を使用するようにしました。 (#1131)

  • bbox およびマスクヘッドの非正方形 RoI をサポートしました。 (#1128)

  • PyTorch 1.2 との互換性を持たせるために、手動で型プロモーションを追加しました。 (#1114)

  • 検証損失を計算するための検証データセットを許可しました。 (#1093)

  • いくつかの警告を抑制するために、.type() の代わりに .scalar_type() を使用するようにしました。 (#1070)

新機能

  • 各クラスの AP を計算するオプション --with_ap を追加しました。 (#1549)

  • 「FreeAnchor: Learning to Match Anchors for Visual Object Detection」を実装しました。 (#1391)

  • データパイプラインでの拡張に Albumentations をサポートしました。 (#1354)

  • 「FoveaBox: Beyond Anchor-based Object Detector」を実装しました。 (#1339)

  • 水平および垂直の反転をサポートしました。 (#1273, #1115)

  • 「RepPoints: Point Set Representation for Object Detection」を実装しました。 (#1265)

  • HTC および Cascade R-CNN にテスト時の拡張を追加しました。 (#1251)

  • COCO 結果分析ツールを追加しました。 (#1228)

  • Dockerfile を追加しました。 (#1168)

  • Webカメラのデモを追加しました。 (#1155, #1150)

  • FLOP カウンターを追加しました。 (#1127)

  • ConvModule で任意のレイヤー順序を許可しました。 (#1078)

v1.0rc0 (2019/07/27)

  • 多くの新しいメソッドとコンポーネント(混合精度トレーニング、HTC、Libra R-CNN、Guided Anchoring、Empirical Attention、Mask Scoring R-CNN、Grid R-CNN (Plus)、GHM、GCNet、FCOS、HRNet、Weight Standardization など)を実装しました。すべての共同研究者に感謝します!

  • 2つの追加データセット:WIDER FACE と Cityscapes をサポートしました。

  • 損失 API をリファクタリングし、異なる損失と関連するハイパーパラメータをより柔軟に採用できるようにしました。

  • マルチ GPU テストを高速化しました。

  • すべてのコンパイルとインストールを単一のスクリプトに統合しました。

v0.6.0 (2019/04/14)

  • モデルズーと比較して最大 30% の高速化を実現しました。

  • PyTorch の安定版とナイトリー版の両方をサポートしました。

  • NMS と SigmoidFocalLoss を Pytorch CUDA 拡張機能に置き換えました。

v0.6rc0(2019/02/06)

  • PyTorch 1.0 に移行しました。

v0.5.7 (2019/02/06)

  • Deformable ConvNet v2 のサポートを追加しました。(著者と @chengdazhi に感謝します)

  • これは PyTorch 0.4.1 に基づく最後のリリースです。

v0.5.6 (2019/01/17)

  • Group Normalization のサポートを追加しました。

  • RPNHead と単一段階ヘッド(RetinaHead、SSDHead)を AnchorHead で統一しました。

v0.5.5 (2018/12/22)

  • COCO および PASCAL VOC 用に SSD を追加しました。

  • ResNeXt バックボーンと検出モデルを追加しました。

  • Sampler/Assigner のリファクタリングを行い、OHEM を追加しました。

  • VOC データセットと評価スクリプトを追加しました。

v0.5.4 (2018/11/27)

  • SingleStageDetector と RetinaNet を追加しました。

v0.5.3 (2018/11/26)

  • Cascade R-CNN と Cascade Mask R-CNN を追加しました。

  • 設定ファイルで Soft-NMS のサポートを追加しました。

v0.5.2 (2018/10/21)

  • カスタムデータセットのサポートを追加しました。

  • PASCAL VOC アノテーションを期待される形式に変換するスクリプトを追加しました。

v0.5.1 (2018/10/20)

  • BBoxAssigner と BBoxSampler を追加し、設定ファイル内の train_cfg フィールドを再構成しました。

  • ConvFCRoIHead / SharedFCRoIHead を一貫性のために ConvFCBBoxHead / SharedFCBBoxHead に名前を変更しました。