{"id":19722026,"url":"https://github.com/sensoranalyticsaus/km-mod","last_synced_at":"2026-05-16T17:37:42.704Z","repository":{"id":240686241,"uuid":"803298791","full_name":"SensorAnalyticsAus/KM-MOD","owner":"SensorAnalyticsAus","description":"Image Classifier for Security Cameras","archived":false,"fork":false,"pushed_at":"2024-09-22T02:50:41.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-11T13:12:59.687Z","etag":null,"topics":["image-classification","kmeans-clustering","raspberry-pi"],"latest_commit_sha":null,"homepage":"https://www.sensoranalytics.com.au","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/SensorAnalyticsAus.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":"2024-05-20T13:07:21.000Z","updated_at":"2024-09-22T02:50:44.000Z","dependencies_parsed_at":"2024-05-27T16:08:45.841Z","dependency_job_id":null,"html_url":"https://github.com/SensorAnalyticsAus/KM-MOD","commit_stats":null,"previous_names":["sensoranalyticsaus/km-mod"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SensorAnalyticsAus/KM-MOD","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorAnalyticsAus%2FKM-MOD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorAnalyticsAus%2FKM-MOD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorAnalyticsAus%2FKM-MOD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorAnalyticsAus%2FKM-MOD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SensorAnalyticsAus","download_url":"https://codeload.github.com/SensorAnalyticsAus/KM-MOD/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SensorAnalyticsAus%2FKM-MOD/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33112159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["image-classification","kmeans-clustering","raspberry-pi"],"created_at":"2024-11-11T23:16:15.592Z","updated_at":"2026-05-16T17:37:42.660Z","avatar_url":"https://github.com/SensorAnalyticsAus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n### About ###\n*KM-MOD* provides a standalone image classifier for use with date-time stamped (YYYYMMDD-HHMMSS) images which most security cameras produce. Repetitive images are filtered out leaving only images of interest. Selected images are converted into a time-lapse video. \n\n### Requirements\n* RPI4 2GB or higher\n* Python 3.4 or higher\n\n### Setup\n```\npython -m pip install -U pip\npython -m pip install -U scikit-image \npip install opencv-python\npip install shutils\npip install -U scikit-learn (for kmeans)\npip install matplotlib\n\nsudo apt update\nsudo apt upgrade\nsudo apt install ffmpeg\n```\n\n### Getting Started\n`git clone https://github.com/SensorAnalyticsAus/KM-MOD.git`\n\n`cd KM-MOD`\n\n### Config\nPaths and the `DV` identifier string need to be set to actual paths/value at the beginning of these files. The `DV` value must be the same among `daily-driver-mp`, `moviefrm-list`, and `moviefrm-list-ni`\n\n```\nconfig.py\ndaily-driver-mp\nmoviefrm-list\nmoviefrm-list-ni (non-interactive version used by `daily-driver-mp`)\n```\n\n### Example 1\nStep 1 train\n\n`/path/to/.venv/bin/python train-km-mp.py on 1 10 20240506000000 20240506235959`\n\nStep 2 predict (output frames from selected clusters from step 1)\n\n`/path/to/.venv/bin/python predict-km.py 80`\n\nStep 3 create a time-lapse video\n\n`./moviefrm-list 20`\n\n### Example 2\n`./daily-driver-mp on` \n\nor\n\n`./daily-driver-mp off` \n\n`off` prevents the progress-bar from showing, useful for `cron`\nThis is best run at say 7am and 7pm daily as a `cron` job","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsensoranalyticsaus%2Fkm-mod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsensoranalyticsaus%2Fkm-mod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsensoranalyticsaus%2Fkm-mod/lists"}