{"id":17176172,"url":"https://github.com/haydenshively/aslan","last_synced_at":"2026-05-08T04:38:37.003Z","repository":{"id":103376922,"uuid":"111046846","full_name":"haydenshively/Aslan","owner":"haydenshively","description":"uses mosse algorithm and TF object detection to adjust graphics based on user's head position, creating a 3D effect","archived":false,"fork":false,"pushed_at":"2020-07-20T02:37:26.000Z","size":20344,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T21:42:36.753Z","etag":null,"topics":["3d","opencv","tensorflow","vtk"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"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/haydenshively.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":"2017-11-17T02:20:12.000Z","updated_at":"2020-11-11T22:16:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"93ae4f6a-5c9a-41ee-bdd7-8aff6e02867e","html_url":"https://github.com/haydenshively/Aslan","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/haydenshively/Aslan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haydenshively%2FAslan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haydenshively%2FAslan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haydenshively%2FAslan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haydenshively%2FAslan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haydenshively","download_url":"https://codeload.github.com/haydenshively/Aslan/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haydenshively%2FAslan/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259790459,"owners_count":22911547,"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":["3d","opencv","tensorflow","vtk"],"created_at":"2024-10-14T23:59:21.451Z","updated_at":"2026-05-08T04:38:31.975Z","avatar_url":"https://github.com/haydenshively.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aslan  \nAslan combines Visual Toolkit (VTK) Python bindings with Google’s TensorFlow Object Detection library to create the\nillusion of 3D on a 2D screen.\n  \nSince I wrote most of this code in early 2018, the SOTA model for fast object tracking was MobileNet(V1)-SSD. To make\nAslan, I retrained Google's model on the FDDB faces dataset. Since my laptop didn't have a GPU, this model was unable to\nprocess images from the webcam feed in real time. To fix that, I designed a queue-based multi-threaded framework that\ncombines ML with a traditional Mosse tracker. Whenever Mosse loses accuracy, its bounding box is reinitialized from the\nMobileNet predictions. This allows Aslan to run in real time, even on older hardware.  \n  \nOnce the face's location is known, I use VTK to re-position the camera (with off-axis projection) such that everything\nlooks 3-Dimensional to the user. This can be done with any VTK scene; I've provided a few demos, including one which displays .STL\nCAD files.\n  \nDemo video available here: https://www.haydenshively.info/aslan\n  \n## Usage\n1. Install requirements from `environment.yml` using Anaconda\n2. Run `python main.py`\n3. To try out different scenes, modify lines 19 and 20 of `main.py`. If you're using a .STL file and the scale doesn't\nlook right, try modifying line 176 of `scenes.py` (`stl_actor.Set_Scale(...)`)\n  \nTraditionally, VTK for Python is pretty poorly documented, so if you're having issues, let me know directly. You're\nunlikely to find answers in forums.\n  \n## Future Updates\nIf this repo ever gets any stars, I'll try to update it with command line arguments for STL file usage.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaydenshively%2Faslan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaydenshively%2Faslan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaydenshively%2Faslan/lists"}