ShapeY


NameShapeY JSON
Version 0.1.8 PyPI version JSON
download
home_pagehttps://github.com/njw0709/ShapeY
SummaryBenchmark that tests shape recognition
upload_time2022-12-21 22:49:24
maintainer
docs_urlNone
authorJong Woo Nam
requires_python
licenseMIT
keywords tests shape recognition capacity
VCS
bugtrack_url
requirements torch torchvision numpy kaleido tqdm cupy-cuda102 matplotlib gdown h5py hydra twine black pylint
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ShapeY

ShapeY is a benchmark that tests a vision system's shape recognition capacity. ShapeY currently consists of ~68k images of 200 3D objects taken from ShapeNet. Note that this benchmark is not meant to be used as a training dataset, but rather serves to validate that the visual object recogntion / classification under inspection has developed a capacity to perform well on our benchmarking tasks, which are designed to be hard if the system does not understand shape.

## Installing ShapeY
Requirements: Python 3, Cuda version 10.2 (prerequisite for cupy)

To install ShapeY, run the following command:
```
pip3 install shapey==0.1.7
```

## Step0: Download ShapeY200 dataset
Run `download.sh` to download the dataset. The script automatically unzips the images under `data/ShapeY200/`.
Downloading uses gdown, which is google drive command line tool. If it does not work, please just follow the two links down below to download the ShapeY200 / ShapeY200CR datasets.

ShapeY200:
https://drive.google.com/uc?id=1arDu0c9hYLHVMiB52j_a-e0gVnyQfuQV

ShapeY200CR:
https://drive.google.com/uc?id=1WXpNUVRn6D0F9T3IHruml2DcDCFRsix-

After downloading the two datasets, move each of them to the `data/` directory. For example, all of the images for ShapeY200 should be under `data/ShapeY200/dataset/`.

## Step1: Extract the embedding vectors from your own vision model using our dataset
Implement the function `your_feature_output_code` in `step1_save_feature/your_feature_extraction_code.py`. The function should take in the path to the dataset as input and return two lists - one for the image names and another for the corresponding embedding vectors taken from whatever system.

## Step2: Run macro.py
After you have implemented the function, run `macro.py` to generate the results.
`macro.py` will automatically run the following steps:
1. Compute correlation between all embedding vectors (using `step2_compute_feature_correlation/compute_correlation.py`)

2. Run benchmark analysis (using `step3_benchmark_analysis/get_nn_classification_error_with_exclusion_distance.py`)

3. Graph results (top1 object matching error, top1 category matching error, etc.)
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/njw0709/ShapeY",
    "name": "ShapeY",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "tests shape recognition capacity",
    "author": "Jong Woo Nam",
    "author_email": "namj@usc.edu",
    "download_url": "https://files.pythonhosted.org/packages/3d/83/3a9496be1f7487ffec581d96d96f49b4dc20b5aa462d3aadb158da579008/ShapeY-0.1.8.tar.gz",
    "platform": null,
    "description": "# ShapeY\n\nShapeY is a benchmark that tests a vision system's shape recognition capacity. ShapeY currently consists of ~68k images of 200 3D objects taken from ShapeNet. Note that this benchmark is not meant to be used as a training dataset, but rather serves to validate that the visual object recogntion / classification under inspection has developed a capacity to perform well on our benchmarking tasks, which are designed to be hard if the system does not understand shape.\n\n## Installing ShapeY\nRequirements: Python 3, Cuda version 10.2 (prerequisite for cupy)\n\nTo install ShapeY, run the following command:\n```\npip3 install shapey==0.1.7\n```\n\n## Step0: Download ShapeY200 dataset\nRun `download.sh` to download the dataset. The script automatically unzips the images under `data/ShapeY200/`.\nDownloading uses gdown, which is google drive command line tool. If it does not work, please just follow the two links down below to download the ShapeY200 / ShapeY200CR datasets.\n\nShapeY200:\nhttps://drive.google.com/uc?id=1arDu0c9hYLHVMiB52j_a-e0gVnyQfuQV\n\nShapeY200CR:\nhttps://drive.google.com/uc?id=1WXpNUVRn6D0F9T3IHruml2DcDCFRsix-\n\nAfter downloading the two datasets, move each of them to the `data/` directory. For example, all of the images for ShapeY200 should be under `data/ShapeY200/dataset/`.\n\n## Step1: Extract the embedding vectors from your own vision model using our dataset\nImplement the function `your_feature_output_code` in `step1_save_feature/your_feature_extraction_code.py`. The function should take in the path to the dataset as input and return two lists - one for the image names and another for the corresponding embedding vectors taken from whatever system.\n\n## Step2: Run macro.py\nAfter you have implemented the function, run `macro.py` to generate the results.\n`macro.py` will automatically run the following steps:\n1. Compute correlation between all embedding vectors (using `step2_compute_feature_correlation/compute_correlation.py`)\n\n2. Run benchmark analysis (using `step3_benchmark_analysis/get_nn_classification_error_with_exclusion_distance.py`)\n\n3. Graph results (top1 object matching error, top1 category matching error, etc.)",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Benchmark that tests shape recognition",
    "version": "0.1.8",
    "split_keywords": [
        "tests",
        "shape",
        "recognition",
        "capacity"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "80204e94c3fb61d40aca29e663b39497",
                "sha256": "7386d460965c89f88ff6a425db145d1a40d0e045d12072c3330a7ad9c293e33b"
            },
            "downloads": -1,
            "filename": "ShapeY-0.1.8.tar.gz",
            "has_sig": false,
            "md5_digest": "80204e94c3fb61d40aca29e663b39497",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 19857,
            "upload_time": "2022-12-21T22:49:24",
            "upload_time_iso_8601": "2022-12-21T22:49:24.094475Z",
            "url": "https://files.pythonhosted.org/packages/3d/83/3a9496be1f7487ffec581d96d96f49b4dc20b5aa462d3aadb158da579008/ShapeY-0.1.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-21 22:49:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "njw0709",
    "github_project": "ShapeY",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "torch",
            "specs": [
                [
                    ">=",
                    "1.10.0"
                ]
            ]
        },
        {
            "name": "torchvision",
            "specs": [
                [
                    ">=",
                    "0.11.2"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.18.4"
                ]
            ]
        },
        {
            "name": "kaleido",
            "specs": [
                [
                    ">=",
                    "0.0.1"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    ">=",
                    "4.48.0"
                ]
            ]
        },
        {
            "name": "cupy-cuda102",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.3.1"
                ]
            ]
        },
        {
            "name": "gdown",
            "specs": []
        },
        {
            "name": "h5py",
            "specs": [
                [
                    ">=",
                    "2.10.0"
                ]
            ]
        },
        {
            "name": "hydra",
            "specs": [
                [
                    ">=",
                    "1.1.1"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": []
        },
        {
            "name": "black",
            "specs": []
        },
        {
            "name": "pylint",
            "specs": []
        }
    ],
    "lcname": "shapey"
}
        
Elapsed time: 0.02620s