# coco-analyze **Repository Path**: EbenezerO/coco-analyze ## Basic Information - **Project Name**: coco-analyze - **Description**: coco 人体关键点检测分析工具 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: release - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-02 - **Last Updated**: 2022-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## coco-analyze Repository This repository contains the code release from the paper [***Benchmarking and Error Diagnosis in Multi-Instance Pose Estimation***](http://www.vision.caltech.edu/~mronchi/projects/PoseErrorDiagnosis). If you find this work useful please cite our paper: ``` @InProceedings{Ronchi_2017_ICCV, author = {Ronchi, Matteo Ruggero and Perona, Pietro}, title = {Benchmarking and Error Diagnosis in Multi-Instance Pose Estimation}, booktitle = {The IEEE International Conference on Computer Vision (ICCV)}, month = {Oct}, year = {2017} } ``` ### Important Content: - `pycocotools/COCOanalyze.py`: wrapper of the COCOeval class for multi-instance keypoint estimation error analysis. - `COCOanalyze_demo.ipynb`: ipython notebook showing how to use COCOanalyze as a standalone class. - `analysisAPI`: API using COCOanalyze for an extended analysis. - `run_analysis.py`: script generating a pdf summary of the extended analysis. ### Installation Use the Makefile to install the coco-analyze api: - `make all` will compile and install locally. (RECOMMENDED) - `make install` will install the api to the Python site-packages folder. NOTE This might override your current pycocotools installation. ### Usage To run the extended multi-instance keypoint estimation error analysis: update the paths of the detections and annotations and execute the command line. [annFile] -> ./annotations/keypoints_val2014.json [dtsFile] -> ./detections/fakekeypoints100_keypoints_val2014_results.json [saveDir] -> ./results/fakekeypoints100 [teamName] -> fakekeypoints100 [version] -> 1.0 $ python run_analysis.py [annFile] [dtsFile] [saveDir] [teamName] [version] ### Results - A summary file called `[teamName]_performance_report.tex` will be created once the analysis is complete. - All the generated plots are stored using `[saveDir]` as the base directory. - Additional *std_output* information regarding the analysis can be found in the text files named `std_out.txt`. ### Automatically Generated Performance Reports You can find examples of the reports generated by the analysis code: - [Mask-RCNN](http://www.vision.caltech.edu/~mronchi/projects/PoseErrorDiagnosis/Reports/2017_MASKRNN.pdf) - [CMU](http://www.vision.caltech.edu/~mronchi/projects/PoseErrorDiagnosis/Reports/2016_CMU.pdf) - [GRMI](http://www.vision.caltech.edu/~mronchi/projects/PoseErrorDiagnosis/Reports/2016_GRMI.pdf) ### Notes: - The [`./pycocotools/COCOeval`](https://github.com/matteorr/coco-analyze/blob/release/pycocotools/cocoeval.py) class contained in this repository is a modified version of the original [mscoco COCOeval class](https://github.com/pdollar/coco/blob/master/PythonAPI/pycocotools/cocoeval.py). - The duration of the full analysis depends on the number of detections and size of the ground-truth split. - You can comment out parts of [`run_analysis.py`](https://github.com/matteorr/coco-analyze/blob/release/run_analysis.py#L91-L120) to run the analysis only for specific types of error. - Set `USE_VISIBILITY_FOR_PLOTS=True` in [localizationErrors.py](https://github.com/matteorr/coco-analyze/blob/release/analysisAPI/localizationErrors.py#L159) if during the analysis you wish to visualize only the keypoints whos visibility flag is 1 (visible but occluded), or 2 (visible). Check [issue #14](https://github.com/matteorr/coco-analyze/issues/14) for more details.