{"id":13856878,"url":"https://github.com/nicholaskajoh/ivy","last_synced_at":"2025-07-13T19:33:00.117Z","repository":{"id":37597832,"uuid":"152116071","full_name":"nicholaskajoh/ivy","owner":"nicholaskajoh","description":"Video-based object counting software.","archived":true,"fork":false,"pushed_at":"2022-10-02T17:29:42.000Z","size":49953,"stargazers_count":425,"open_issues_count":9,"forks_count":170,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-08-06T03:02:25.813Z","etag":null,"topics":["computer-vision","object-counter","object-counting","video-analysis","video-processing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicholaskajoh.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":"2018-10-08T17:03:46.000Z","updated_at":"2024-07-05T20:38:34.000Z","dependencies_parsed_at":"2023-01-19T02:15:18.050Z","dependency_job_id":null,"html_url":"https://github.com/nicholaskajoh/ivy","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/nicholaskajoh%2Fivy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholaskajoh%2Fivy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholaskajoh%2Fivy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicholaskajoh%2Fivy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicholaskajoh","download_url":"https://codeload.github.com/nicholaskajoh/ivy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225912350,"owners_count":17544153,"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-counter","object-counting","video-analysis","video-processing"],"created_at":"2024-08-05T03:01:17.182Z","updated_at":"2024-11-22T14:31:09.070Z","avatar_url":"https://github.com/nicholaskajoh.png","language":"Python","funding_links":[],"categories":["Python","HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# Ivy\nIvy is an open-source video-based object counting software for tallying pretty much anything (vehicles, people, animals — you name it).\n\n\u003e Need help setting up Ivy and analyzing the logs? Visit https://trafficlogic.co or send an email to contact@trafficlogic.co.\n\n![](object_counting.jpg)\n\n## Requirements\n- Python 3 (tested with version 3.7)\n\n## Setup\n- Clone this repo `git@github.com:nicholaskajoh/ivy.git`.\n- Create and/or use a virtual environment (optional but recommended) `mkvirtualenv -p python3.7 ivy`.\n- Install the dependencies in _requirements.txt_ `pip install -r requirements.txt`.\n- Choose a detector and install its dependencies where necessary (if you're not sure what to pick, we recommend you start with `yolo`).\n\n| Detector | Description | Dependencies |\n|---|---|---|\n| `yolo` | Perform detection using models created with the YOLO (You Only Look Once) neural net. https://pjreddie.com/darknet/yolo/ | |\n| `tfoda` | Perform detection using models created with the Tensorflow Object Detection API. https://github.com/tensorflow/models/tree/master/research/object_detection | CPU: `pip install tensorflow-cpu` \u003cbr\u003e GPU: `pip install tensorflow-gpu` |\n| `detectron2` | Perform detection using models created with FAIR's Detectron2 framework. https://github.com/facebookresearch/detectron2 | `python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'` (https://github.com/facebookresearch/detectron2/blob/master/INSTALL.md) |\n| `haarcascade` | Perform detection using Haar feature-based cascade classifiers. https://docs.opencv.org/3.4/db/d28/tutorial_cascade_classifier.html | |\n\n## Run\n- Create a _.env_ file (based on _.env.example_) in the project's root directory and edit as appropriate.\n- Run `python -m  main`.\n- Run using Docker `docker build -t nicholaskajoh/ivy .`.\n\n## Demo\nDownload [ivy_demo_data.zip](https://drive.google.com/open?id=1JtEhWlfk1CiUEFsrTQHQa0VkTi3IKbze) and unzip its contents in the [data directory](/data). It contains detection models and a sample video.\n\n## Test\n```\npython -m pytest\n```\n\n## Debug\nBy default, Ivy runs in \"debug mode\" which provides you a window to monitor the object counting process. You can:\n- press the `p` key to pause/play the counting process\n- press the `s` key to capture a screenshot\n- press the `q` key to quit the program\n- click any point on the window to log the coordinates of the pixel in that position\n\n## Community\nGot questions, contributions, suggestions, concerns? [Let us know](https://github.com/nicholaskajoh/ivy/discussions)! Also follow us on Twitter [@CountWithIvy](https://twitter.com/CountWithIvy) to get notified about new features, fixes and initiatives.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicholaskajoh%2Fivy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicholaskajoh%2Fivy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicholaskajoh%2Fivy/lists"}