{"id":28206679,"url":"https://github.com/iwatake2222/aiine_transform","last_synced_at":"2026-03-11T04:32:45.619Z","repository":{"id":93745108,"uuid":"409941336","full_name":"iwatake2222/aiine_transform","owner":"iwatake2222","description":"Swapping face using Face Mesh with TensorFlow Lite","archived":false,"fork":false,"pushed_at":"2021-09-24T12:28:59.000Z","size":8979,"stargazers_count":20,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-03T12:39:52.866Z","etag":null,"topics":["cpp","tensorflow-lite"],"latest_commit_sha":null,"homepage":"","language":"C++","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/iwatake2222.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,"zenodo":null}},"created_at":"2021-09-24T11:37:17.000Z","updated_at":"2025-07-30T21:57:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"c5146c31-c576-4cf6-9425-3196d54cc2e3","html_url":"https://github.com/iwatake2222/aiine_transform","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iwatake2222/aiine_transform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwatake2222%2Faiine_transform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwatake2222%2Faiine_transform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwatake2222%2Faiine_transform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwatake2222%2Faiine_transform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iwatake2222","download_url":"https://codeload.github.com/iwatake2222/aiine_transform/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iwatake2222%2Faiine_transform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30370801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"online","status_checked_at":"2026-03-11T02:00:07.027Z","response_time":84,"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":["cpp","tensorflow-lite"],"created_at":"2025-05-17T10:10:14.901Z","updated_at":"2026-03-11T04:32:45.612Z","avatar_url":"https://github.com/iwatake2222.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"https://user-images.githubusercontent.com/11009876/134674223-490af2c8-499b-40b2-a147-76b58f048dd6.mp4\n\n# Aiine Transform (アイン変換)\nSwapping face using FaceMesh. (could be used to unveil masked faces)\n\n![00_doc/demo_00.jpg](00_doc/demo_00.jpg)\n![00_doc/demo_03.jpg](00_doc/demo_03.jpg)\n\n# Tested Environment\n## Computer\n- Windows 10 (x64) + Visual Studio 2019\n    - Intel Core i7-6700 @ 3.4GHz\n- It's not tested, but this project should run on Linux (x64, aarch64)\n\n## Deep Learning Inference Framework\n- TensorFlow Lite with XNNPACK delegate\n\n# How to Build and Run\n## Requirements\n- OpenCV 4.x\n- CMake\n\n## Download \n- Get source code\n    - If you use Windows, you can use Git Bash\n    ```sh\n    git clone https://github.com/iwatake2222/aiine_transform.git\n    cd aiine_transform\n    git submodule update --init --recursive --recommend-shallow --depth 1\n    cd inference_helper/third_party/tensorflow\n    chmod +x tensorflow/lite/tools/make/download_dependencies.sh\n    tensorflow/lite/tools/make/download_dependencies.sh\n    ```\n- Download prebuilt library\n    - Please find `third_party.zip` in https://github.com/iwatake2222/InferenceHelper/releases/\n    - Extract it to `inference_helper/third_party/`\n        - The prebuilt library will be placed at `inference_helper/third_party/ooo_prebuilt`\n\n## Windows (Visual Studio)\n- Configure and Generate a new project using cmake-gui for Visual Studio 2019 64-bit\n    - `Where is the source code` : path-to-cloned-folder\n    - `Where to build the binaries` : path-to-build\t(any)\n- Open `main.sln`\n- Set `main` project as a startup project, then build and run!\n- Note:\n    - Running with `Debug` causes exception, so use `Release` or `RelWithDebInfo` if you use TensorFlow Lite\n    - You may need to modify cmake setting for TensorRT for your environment\n\n## Linux\n```sh\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake\n./main\n```\n\n## Usage\n```\n./main [input]\n - input:\n    - use the default image file set in source code (main.cpp): blank\n        - ./main\n     - use video file: *.mp4, *.avi, *.webm\n        - ./main test.mp4\n     - use image file: *.jpg, *.png, *.bmp\n        - ./main test.jpg\n    - use camera: number (e.g. 0, 1, 2, ...)\n        - ./main 0\n    - use camera via gstreamer on Jetson: jetson\n        - ./main jetson\n```\n\n## Control\n- '0' key: Change masking mode\n- '1' key: Switch main image\n- 'f' key: Capture face image\n- 'g' key: Read face image\n\n\n# Model Information\n## Details\n- Face Detection\n    - BlazeFace\n    - https://github.com/PINTO0309/PINTO_model_zoo/blob/main/030_BlazeFace/01_float32/download.sh\n    - https://github.com/PINTO0309/PINTO_model_zoo/blob/main/030_BlazeFace/01_float32/download_new.sh\n    - https://github.com/google/mediapipe/tree/master/mediapipe/models\n- FaceMesh\n    - FaceMesh\n    - https://github.com/PINTO0309/PINTO_model_zoo/blob/main/032_FaceMesh/01_float32/download.sh\n    - https://github.com/google/mediapipe/tree/master/mediapipe/models#face-mesh\n\n\n# License\n- Copyright 2021 iwatake2222\n- Licensed under the Apache License, Version 2.0\n    - [LICENSE](LICENSE)\n\n\n# Acknowledgements\nI utilized the following OSS in this project. I appreciate your great works, thank you very much.\n\n## Code, Library\n- TensorFlow\n    - https://github.com/tensorflow/tensorflow\n    - Copyright 2019 The TensorFlow Authors\n    - Licensed under the Apache License, Version 2.0\n    - Generated pre-built library\n\n## Model\n- PINTO_model_zoo\n    - https://github.com/PINTO0309/PINTO_model_zoo\n    - Copyright (c) 2019 Katsuya Hyodo\n    - Licensed under the MIT License (MIT)\n    - Copied converted model files\n- MediaPipe\n    - https://github.com/google/mediapipe\n    - Copyright 2020-2021 The MediaPipe Authors.\n    - Licensed under the Apache License, Version 2.0\n\n## Special thanks\n- tflite_gles_app\n   - https://github.com/terryky/tflite_gles_app\n   - Copyright (c) 2019 terryky\n   - Licensed under the MIT License\n   - Got inspiration and the original idea\n\n## Image Files\n- Bakatono\n    - https://stat.ameba.jp/user_images/20180329/04/kituonnbo-karu/27/f7/j/o1078150014159190922.jpg\n    - https://ameblo.jp/kituonnbo-karu/entry-12364059792.html\n- Face images\n    - https://www.photo-ac.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiwatake2222%2Faiine_transform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiwatake2222%2Faiine_transform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiwatake2222%2Faiine_transform/lists"}