{"id":50302295,"url":"https://github.com/vitali2y/aicam_libfacedetection","last_synced_at":"2026-05-28T13:31:01.286Z","repository":{"id":225670553,"uuid":"725089735","full_name":"vitali2y/aicam_libfacedetection","owner":"vitali2y","description":"Self-hosted on your tiny device an AI Computer Vision-based face detection app for video surveillance and notification","archived":false,"fork":false,"pushed_at":"2024-03-03T21:27:32.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-04T16:56:05.599Z","etag":null,"topics":["computer-vision","face-detection","face-recognition","motion-detection","opencv","surveillance","telegram"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/vitali2y.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}},"created_at":"2023-11-29T12:18:41.000Z","updated_at":"2024-03-03T21:14:25.000Z","dependencies_parsed_at":"2024-03-03T16:51:51.177Z","dependency_job_id":null,"html_url":"https://github.com/vitali2y/aicam_libfacedetection","commit_stats":null,"previous_names":["vitali2y/aicam_libfacedetection"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vitali2y/aicam_libfacedetection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitali2y%2Faicam_libfacedetection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitali2y%2Faicam_libfacedetection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitali2y%2Faicam_libfacedetection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitali2y%2Faicam_libfacedetection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vitali2y","download_url":"https://codeload.github.com/vitali2y/aicam_libfacedetection/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitali2y%2Faicam_libfacedetection/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33611247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["computer-vision","face-detection","face-recognition","motion-detection","opencv","surveillance","telegram"],"created_at":"2026-05-28T13:31:01.028Z","updated_at":"2026-05-28T13:31:01.277Z","avatar_url":"https://github.com/vitali2y.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n           _|                                      \n   _|_|_|        _|_|_|    _|_|_|  _|_|_|  _|_|    \n _|    _|  _|  _|        _|    _|  _|    _|    _|  \n _|    _|  _|  _|        _|    _|  _|    _|    _|  \n   _|_|_|  _|    _|_|_|    _|_|_|  _|    _|    _|\n```\n\n## aicam\n\n### Self-hosted on your tiny device an AI Computer Vision-based face detection app for video surveillance and notification\n\n**Simple. Fast. Rust.**\n\nBased on `opencv` and `libfacedetection` libs.\n\n\u003chr/\u003e\n\n- [1. General](#1-general)\n- [2. OpenCV lib](#2-opencv-lib)\n  - [2.1 Getting sources](#21-getting-sources)\n  - [2.2. Building @ Linux (x86\\_64)](#22-building--linux-x86_64)\n  - [2.3. Cross-compiling for Odroid U3](#23-cross-compiling-for-odroid-u3)\n  - [2.4. Cross-compiling for Banana Pi M64](#24-cross-compiling-for-banana-pi-m64)\n  - [2.5. Cross-compiling for Raspberry Pi 4](#25-cross-compiling-for-raspberry-pi-4)\n  - [2.6. Cross-compiling for Orange Pi Zero 2W](#26-cross-compiling-for-orange-pi-zero-2w)\n- [3. aicam](#3-aicam)\n  - [3.1. Building and running @ Linux (x86\\_64)](#31-building-and-running--linux-x86_64)\n  - [3.2. Cross-compiling for Odroid U3](#32-cross-compiling-for-odroid-u3)\n  - [3.3. Cross-compiling for Banana Pi M64](#33-cross-compiling-for-banana-pi-m64)\n  - [3.4. Cross-compiling for Raspberry Pi 4](#34-cross-compiling-for-raspberry-pi-4)\n  - [3.5. Cross-compiling for Orange Pi Zero 2W](#35-cross-compiling-for-orange-pi-zero-2w)\n\n\n### 1. General\n\nThis application performs face recognition (usually in motion detection) followed by notification you by uploading captured images to your `Telegram` group. You can run it on any self-hosted tiny device, like `Banana Pi M64` or `Raspberry Pi 4` as I do.\n\n**IMPORTANT:** please do not forget to configure [preliminary generated](https://core.telegram.org/bots#how-do-i-create-a-bot) both `token` and `channel` params under `telegram` section of your [config/aicam.toml](config/aicam.toml) config file.\n\n### 2. OpenCV lib\n\n#### 2.1 Getting sources\n```\n➜  ✗ git clone --recursive https://github.com/opencv/opencv.git \u0026\u0026 cd ./opencv\n```\n\n\n#### 2.2. Building @ Linux (x86_64)\n```\n➜  opencv git:(4.x) mkdir -p build/x86_64 \u0026\u0026 cd build/x86_64\n➜  x86_64 git:(4.x) cmake -DCMAKE_INSTALL_PREFIX=../../dist/x86_64 -DCMAKE_TOOLCHAIN_FILE=../../platforms/linux/gnu.toolchain.cmake ../..\n➜  x86_64 git:(4.x) make -j $(nproc)\n➜  x86_64 git:(4.x) make install\n```\n\n\n#### 2.3. Cross-compiling for Odroid U3\n\nTBD\n\n\n#### 2.4. Cross-compiling for Banana Pi M64 \n\nTBD\n\n\n#### 2.5. Cross-compiling for Raspberry Pi 4\n\nTBD\n\n\n#### 2.6. Cross-compiling for Orange Pi Zero 2W\n\nTBD\n\n\n### 3. aicam\n\n#### 3.1. Building and running @ Linux (x86_64)\n```\n➜  ✗ git clone https://github.com/vitali2y/aicam_libfacedetection.git \u0026\u0026 cd aicam_libfacedetection\n➜  aicam_libfacedetection git:(master) ✗ git clone --recursive https://github.com/vitali2y/libfacedetection-rs.git\nCloning into 'libfacedetection-rs'...\n~...~\n➜  aicam_libfacedetection git:(master) ✗ export LD_LIBRARY_PATH=./dist/x86_64:$LD_LIBRARY_PATH\n➜  aicam_libfacedetection git:(master) ✗ RUST_LOG=debug mold -run cargo r  # or, just: RUST_LOG=debug cargo run\n    Updating crates.io index\n~...~\n    Finished dev [unoptimized + debuginfo] target(s) in 25.70s\n     Running `target/debug/aicam_libfacedetection`\naicam 0.1.0\nAI face detection \u0026 notification app (opencv + libfacedetection)\n[2024-03-03T13:50:53Z DEBUG aicam] camera /dev/video0 (640x480) is running...\n[2024-03-03T13:50:56Z DEBUG aicam] face: Face { confidence: 94, x: 220, y: 240, width: 262, height: 223, landmarks: [(271, 398), (378, 410), (296, 480), (269, 524), (360, 534)] }\n[2024-03-03T13:50:56Z DEBUG aicam] saving to ./output/aicam_20240303155056.jpg\n[2024-03-03T13:50:56Z DEBUG aicam::upload] uploading ./output/aicam_20240303155056.jpg\n[2024-03-03T13:50:56Z DEBUG reqwest::connect] starting new connection: https://api.telegram.org/\n[2024-03-03T13:50:57Z DEBUG aicam] saving to ./output/aicam_20240303155056.jpg\n[2024-03-03T13:50:57Z DEBUG aicam::upload] uploading ./output/aicam_20240303155056.jpg\n[2024-03-03T13:50:57Z DEBUG reqwest::connect] starting new connection: https://api.telegram.org/\n[2024-03-03T13:50:58Z DEBUG aicam] saving to ./output/aicam_20240303155057.jpg\n[2024-03-03T13:50:58Z DEBUG aicam::upload] uploading ./output/aicam_20240303155057.jpg\n[2024-03-03T13:50:58Z DEBUG reqwest::connect] starting new connection: https://api.telegram.org/\n[2024-03-03T13:51:00Z DEBUG aicam] saving to ./output/aicam_20240303155059.jpg\n[2024-03-03T13:51:00Z DEBUG aicam::upload] uploading ./output/aicam_20240303155059.jpg\n[2024-03-03T13:51:00Z DEBUG reqwest::connect] starting new connection: https://api.telegram.org/\n~...~\n```\n\n\n#### 3.2. Cross-compiling for Odroid U3\n\nTBD\n\n\n#### 3.3. Cross-compiling for Banana Pi M64 \n\nTBD\n\n\n#### 3.4. Cross-compiling for Raspberry Pi 4\n\nTBD\n\n\n#### 3.5. Cross-compiling for Orange Pi Zero 2W\n\nTBD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitali2y%2Faicam_libfacedetection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitali2y%2Faicam_libfacedetection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitali2y%2Faicam_libfacedetection/lists"}