{"id":20589004,"url":"https://github.com/ciscodevnet/ppe-detection","last_synced_at":"2025-04-14T22:04:38.131Z","repository":{"id":142020883,"uuid":"200587318","full_name":"CiscoDevNet/ppe-detection","owner":"CiscoDevNet","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-08T21:03:10.000Z","size":36725,"stargazers_count":36,"open_issues_count":5,"forks_count":12,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-14T22:04:20.119Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/CiscoDevNet.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-05T05:21:28.000Z","updated_at":"2024-12-27T04:13:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"4a993ab0-807c-43ca-a50f-67008a9fdd0e","html_url":"https://github.com/CiscoDevNet/ppe-detection","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiscoDevNet%2Fppe-detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiscoDevNet%2Fppe-detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiscoDevNet%2Fppe-detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CiscoDevNet%2Fppe-detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CiscoDevNet","download_url":"https://codeload.github.com/CiscoDevNet/ppe-detection/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248968737,"owners_count":21191159,"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":[],"created_at":"2024-11-16T07:27:29.427Z","updated_at":"2025-04-14T22:04:38.117Z","avatar_url":"https://github.com/CiscoDevNet.png","language":"Python","readme":"# Personal Protection Equipment Detection based on Deep Learning\n\nReal time Personal Protection Equipment(PPE) detection running on NVIDIA Jetson TX2 and Ubuntu 16.04\n\n  - Person, HardHat and Vest detection\n  - Input from Video file or USB Camera\n  - A backend service which can push message to \"console\" or \"Cisco® Webex Teams space\" when an abnormal event is detected.\n\n![PPE Image](data/ppe.jpg)\n\n# Requirements\n  - NVIDIA Jetson TX2 or Ubuntu 16.04\n  - NVIDIA GPU on Ubuntu 16.04 is optional\n  - Python3\n\n# How to run\n\n## Video Inference Service\n\n```sh\n$ cd inference\n$ pip3 install -r requirements.txt\n$ python3 video_demo.py --model_dir=xxx  --video_file_name=xxx --show_video_window=xxx --camera_id=xxx\n```\n* model_dir: the path to model directory\n* video_file_name: input video file name or usb camera device name, you can get camera device name on ubuntu or NVIDIA Jeston by running\n```sh\n$ ls /dev/video* \n```\n* show_video_window: the flag to show video window, the options are {0, 1}\n* camera_id: It is just convenient for humans to distinguish between different cameras, and you can assign any value, such as camera001\n\n## Backend Service\nrun the following command\n```\n$ cd backend\n$ pip3 install -r requirements.txt\n$ python3 main.py\n```\n\nrun application as docker\n```\ndocker-compose up\nor\ndocker-compose up --build\n```\n\nsend notification\n\nBy default, it will use the console notification, this just print the notification to stdout.\nIf you want to use Cisco® Webex Teams, use change the config referring to `config.py`.\nOr you can write your own if you write your provider inheriting the `notification.Provider`\n\nsetup Cisco® Webex Teams\n\n* create a robot referring to https://developer.cisco.com/webex-teams/, you will get the token\n* create a webex-teams room and add the robot to that team\n* go to https://developer.webex.com/docs/api/v1/rooms/list-rooms to get the new created room id\n* put the above info to the `config.py`\n\nAlert Message Format\n\n![PPE Image](data/alert.jpg)\n\n* total_person: number of people detected\n* without_hardhat: number of people without hard hat\n* without_vest: number of people without Vest\n* without_both: number of people without hard hat and vest\n\n# Training Program\nBased on TensorFlow Object Detection API, using pretrained ssd_mobilenet_v1 on COCO dataset to initialize weights.\n\n# Training Data\ncoming soon!\n\n# Reference work\n* TensorFlow Object Detection: https://github.com/tensorflow/models/tree/master/research/object_detection\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciscodevnet%2Fppe-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fciscodevnet%2Fppe-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciscodevnet%2Fppe-detection/lists"}