{"id":18777419,"url":"https://github.com/cloudera/cml_amp_object_detection_inference","last_synced_at":"2025-04-13T10:32:01.126Z","repository":{"id":37574024,"uuid":"357966680","full_name":"cloudera/CML_AMP_Object_Detection_Inference","owner":"cloudera","description":"Interact with a blog-style Streamlit application to visually unpack the inference workflow of a modern, single-stage object detector.","archived":false,"fork":false,"pushed_at":"2023-07-13T09:58:06.000Z","size":79314,"stargazers_count":2,"open_issues_count":0,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-03-15T18:13:48.353Z","etag":null,"topics":["computer-vision","object-detection","pytorch","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-14T16:10:39.000Z","updated_at":"2023-06-26T13:13:16.000Z","dependencies_parsed_at":"2022-09-17T03:00:41.092Z","dependency_job_id":null,"html_url":"https://github.com/cloudera/CML_AMP_Object_Detection_Inference","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudera%2FCML_AMP_Object_Detection_Inference","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudera%2FCML_AMP_Object_Detection_Inference/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudera%2FCML_AMP_Object_Detection_Inference/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudera%2FCML_AMP_Object_Detection_Inference/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudera","download_url":"https://codeload.github.com/cloudera/CML_AMP_Object_Detection_Inference/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223581918,"owners_count":17168655,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","object-detection","pytorch","streamlit"],"created_at":"2024-11-07T20:10:37.217Z","updated_at":"2024-11-07T20:10:37.911Z","avatar_url":"https://github.com/cloudera.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Object Detection Inference: _Visualized_\n\n\n\n![](images/collage.png)\n\n\n\nThis repository offers a blog-style Streamlit application to help visualize the inference workflow of a single-stage object detector. Specifically, we see how a [RetinaNet](https://arxiv.org/abs/1708.02002) architecture processes an image to quickly and accurately detect objects, while also exploring the following fundamental object detection concepts along the way:\n\n- Multi-scale feature extraction with Feature Pyramid Networks (FPNs)\n- Inline anchor box generation with Region Proposal Networks (RPNs)\n- Detection post-processing with Non-Maximum Suppression (NMS)\n\nThroughout the repo, we utilize a [PyTorch implementation of RetinaNet](https://github.com/pytorch/vision/blob/master/torchvision/models/detection/retinanet.py) that has been pre-trained on the [Common Objects in Context (COCO) 2017](https://cocodataset.org/#home) dataset. \n\n## Repository Structure\n\nThis project is organized with the following directory structure:\n\n```\n.\n├── cml                           # Scripts that facilitate the project setup on CML\n    ├── install_dependencies.py\n    └── launch_app.py\n├── app                           # Streamlit application files\n    ├── SessionState.py\n    ├── app.py\n    └── app_pages.py\n├── src                           # Modules supporting the model, data, and application\n    ├── anchor_utils.py\n    ├── app_utils.py\n    ├── data_utils.py\n    ├── model_utils.py\n    └── retinanet.py\n├── data                           # Storage directory for data assets\n├── images\n├── LICENSE\n├── README.md  \n├── requirements.txt \n└── .project-metadata.yaml\n```\n\n\n\n## Deploying on CML\n\nThere are three ways to launch this project on CML:\n\n1. **From Prototype Catalog** - Navigate to the Prototype Catalog on a CML workspace, select the \"Object Detection Inference: _Visualized_\" tile, click \"Launch as Project\", click \"Configure Project\"\n2. **As ML Prototype** - In a CML workspace, click \"New Project\", add a Project Name, select \"ML Prototype\" as the Initial Setup option, copy in this repo URL, click \"Create Project\", click \"Configure Project\"\n3. **Manual Setup** - In a CML workspace, click \"New Project\", add a Project Name, select \"Git\" as the Initial Setup option, copy in the repo URL, click \"Create Project\". Launch a Python 3 Workbench Session and run `!pip3 install -r requirements.txt` to install requirements. Then create a CML Application as described in the [CML documentation](https://docs.cloudera.com/machine-learning/1.1/applications/topics/ml-applications.html), using `app/app.py` as the launch script.\n\n\n\n## Setup outside of CML\n\nThe code and applications within were developed against Python 3.8.6. To setup the application outside of a CML environment,  first create and activate a new virtual environment through your preferred means, then pip install dependencies from the requirements file:\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip3 install -r requirements.txt\n```\n\nTo start the application, run the following command from the root directory of the repo:\n\n```\nstreamlit run app/app.py\n```\n\n**Note -** you may need to configure ports depending on where the application is launched from.\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudera%2Fcml_amp_object_detection_inference","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudera%2Fcml_amp_object_detection_inference","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudera%2Fcml_amp_object_detection_inference/lists"}