Home

Awesome

MLKP

CVPR18 Paper: Multi-scale Location-aware Kernel Representation for Object Detection. Paper can be found in arXiv and CVPR2018.

MLKP is a novel compact, location-aware kernel approximation method to represent object proposals for effective object detection. Our method is among the first which exploits high-order statistics in improving performance of object detection. The significant improvement over the first-order statistics based counterparts demonstrates the effectiveness of the proposed MLKP.

Citing

If you find MLKP useful in your research, please consider citing:

@InProceedings{Wang_2018_CVPR,
author = {Wang, Hao and Wang, Qilong and Gao, Mingqi and Li, Peihua and Zuo, Wangmeng},
title = {Multi-Scale Location-Aware Kernel Representation for Object Detection},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2018}
}
@article{wang2021multi,
  title={Multi-scale structural kernel representation for object detection},
  author={Wang, Hao and Wang, Qilong and Li, Peihua and Zuo, Wangmeng},
  journal={Pattern Recognition},
  volume={110},
  pages={107593},
  year={2021},
  publisher={Elsevier}
}

The code is modified from py-faster-rcnn.

For multi-gpu training, please refer to py-R-FCN-multiGPU

Machine configurations

Slight changes may not results instabilities

PASCAL VOC detection results

We have re-trained our networks and the results are refreshed as belows:

VOC07_Test set results

NetworksmAPaerobikebirdboatbottlebuscarcatchaircowtabledoghorsembikepersonplantsheepsofatraintv
VGG1678.480.483.077.670.071.884.287.586.767.083.170.384.985.581.979.252.679.779.681.781.4
ResNet81.080.387.180.873.571.686.088.488.866.986.272.888.787.486.784.356.784.981.086.781.7

VOC12_Test set results

NetworksmAPaerobikebirdboatbottlebuscarcatchaircowtabledoghorsembikepersonplantsheepsofatraintv
VGG1675.586.483.478.260.557.980.679.591.256.481.058.691.384.484.383.556.577.867.583.967.4
ResNet78.087.285.679.767.363.381.282.092.960.282.161.091.284.786.685.560.680.869.585.872.4

Results can be found at VGG16 and ResNet

MS COCO detection results

NetworksAvg.Precision,IOU:Avg.Precision,Area:Avg.Recal,#Det:Avg.Recal,Area:
0.5:0.95 0.50 0.75Small Med. Large1 10 100Small Med. Large
VGG1626.9 48.4 26.98.6 29.2 41.125.6 37.9 38.916.0 44.1 59.0
ResNet30.0 51.3 31.09.6 32.4 47.227.8 40.7 41.716.4 46.8 65.1

MLKP Installation

  1. Clone the MLKP repository

    git clone https://github.com/Hwang64/MLKP.git
    
  2. Build Caffe and pycaffe

    cd $MLKP_ROOT
    git clone https://github.com/Hwang64/caffe-mlkp.git
    cd caffe-mlkp
    make clean
    make all -j16 && make pycaffe
    
  3. Build the Cython modules

    cd $MLKP_ROOT/lib
    make
    
  4. installation for training and testing models on PASCAL VOC dataset

    3.0 The PASCAL VOC dataset has the basic structure:

     $VOCdevkit/                           # development kit
     $VOCdevkit/VOCcode/                   # VOC utility code
     $VOCdevkit/VOC2007                    # image sets, annotations, etc.
     
    

    3.1 Create symlinks for the PASCAL VOC dataset

     cd $MLKP_ROOT/data
     ln -s $VOCdevkit VOCdevkit2007
     ln -s $VOCdevkit VOCdevkit2012
    

    For more details, please refer to py-faster-rcnn.

  5. Test with PASCAL VOC dataset

    We provide PASCAL VOC 2007 pretrained models based on VGG16 and ResNet, please download the models manully from BaiduYun or GoogleDrive and put them in $MLKP_ROOT/output/

    4.0 Test VOC07 using VGG16 network

    python ./tools/test_net.py --gpu 0\
             --def models/VGG16/test.prototxt\
             --net output/VGG16_voc07_test.caffemodel\
             --imdb voc_2007_test\
             --cfg experiments/cfgs/faster_rcnn_end2end.yml
    

    The final results of the model is mAP=78.4%

    4.1 Test VOC07 using ResNet-101 network

    python ./tools/test_net.py --gpu 0\
              --def models/ResNet/test.prototxt\
              --net output/ResNet_voc07_test.caffemodel\
              --imdb voc_2007_test\
              --cfg experiments/cfgs/faster_rcnn_end2end.yml
    

    The final results of the model is mAP=81.0%

  6. Train with PASCAL VOC dataset

    Please download ImageNet-pretrained models first and put them into $data/ImageNet_models.

    5.0 Train using single GPU

    python ./tools/train_net.py --gpu 0\ 
            --solver models/VGG16/solver.prototxt\
            --weights data/ImageNet_models/VGG16.v2.caffemodel\
            --imdb voc_2007_trainval+voc_2012_trainval\ 
            --cfg experiments/cfgs/faster_rcnn_end2end.yml 
    

    5.1 Train using multi-GPUs

    python ./tools/train_net_multi_gpu.py --gpu 0,1,2,3\
            --solver models/VGG16/solver.prototxt\
            --weights data/ImageNet_models/VGG16.v2.caffemodel\
            --imdb voc_2007_trainval+voc_2012_trainval\
            --cfg experiments/cfgs/faster_rcnn_end2end.yml