{"id":13572181,"url":"https://github.com/LanaSina/evolutionary_illusion_generator","last_synced_at":"2025-04-04T09:32:01.348Z","repository":{"id":45234652,"uuid":"249361820","full_name":"LanaSina/evolutionary_illusion_generator","owner":"LanaSina","description":"EIGen: Evolutionary Illusion Generator, based on predictive coding.","archived":false,"fork":false,"pushed_at":"2025-03-25T02:59:22.000Z","size":3025,"stargazers_count":57,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T03:20:38.977Z","etag":null,"topics":["art","generative-model","illusion","motion-illusions","predictive-coding"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LanaSina.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-03-23T07:22:13.000Z","updated_at":"2025-03-25T02:59:26.000Z","dependencies_parsed_at":"2024-01-16T19:17:19.589Z","dependency_job_id":"3ccc27d9-ab7e-4718-b5df-2f55fa13eef9","html_url":"https://github.com/LanaSina/evolutionary_illusion_generator","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LanaSina%2Fevolutionary_illusion_generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LanaSina%2Fevolutionary_illusion_generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LanaSina%2Fevolutionary_illusion_generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LanaSina%2Fevolutionary_illusion_generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LanaSina","download_url":"https://codeload.github.com/LanaSina/evolutionary_illusion_generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247153712,"owners_count":20892725,"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":["art","generative-model","illusion","motion-illusions","predictive-coding"],"created_at":"2024-08-01T14:01:15.801Z","updated_at":"2025-04-04T09:31:56.334Z","avatar_url":"https://github.com/LanaSina.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# EIGen: Evolutionary Illusion Generator\n\n## Latest publication\n\nEvolutionary Generation of Visual Motion Illusions\n\nLana Sinapayen, Eiji Watanabe\n\nhttps://arxiv.org/abs/2112.13243\n\n## Acknowledgments\n\nThis tool relies on a cost function derived from a model built fron the architecture of W. Lotter and al. (https://coxlab.github.io/prednet/), model implemented, improved and trained by E. Watanabe (https://github.com/eijwat/Predictive_Coding_Deep_Neural_Networks, https://www.frontiersin.org/articles/10.3389/fpsyg.2018.00345/full); on the pyTorch implementation of Ken Stanley's NEAT (https://github.com/uber-research/PyTorch-NEAT); and on useful blog posts by David Ha about graphics generation (https://blog.otoro.net/2016/03/25/generating-abstract-patterns-with-tensorflow/)\n\n## Concept\n\nHow is prediction related to illusions? Watch the talk here: https://www.youtube.com/watch?v=jmC3B-tM2Zc\n\nEIGen generates static images that appear to move: motion illusions. It is based on predictive coding:\n\n![EIGen structure](_EIGen.png)\n\n## Quick Start\n\nOpen illusion_generation.ipynb in Colab: https://colab.research.google.com/github/LanaSina/evolutionary_illusion_generator/blob/master/illusion_generation.ipynb\n\nRun each cell as needed.\n\n## Results\n\nEIGen outputs both the current best pattern and the expected motion vectors.\n\n![circles](gallery/centipede.png)\n![vectors](gallery/centipede_vectors.png)\n\n\u003cimg src=\"gallery/succulents.png\"  width=\"250\"\u003e \u003cimg src=\"gallery/small_bw_1.png\"  width=\"250\"\u003e \u003cimg src=\"gallery/small_bw_3.png\"  width=\"250\"\u003e\n\n![big_color](gallery/color_big.png)\n![big_bw](gallery/big_bw.png)\n\nYou can also choose a different structure(bands):\n\n![bands](gallery/_bands.png)\n\nThe algorithm does not stop automatically. Stop it when you are happy with the results or when it's stagnating.\n\n## I don't see the illusion!!! You're a hack!!!\n\nNot everyone can see illusions. For an average motion illusion, ~25% of people might report seeing something.\nSometimes they are strong, sometimes they are weak. Sometimes the direction reverses depending if your lights are bright or if it's dark. Sometimes you get used to an illusion and it stops working.\n\nThe best way to see it is, in my experience:\n\n\tBe in a brightly lit environment, with the screen light on max\n\n\tLet your eyes wander on the screen or fixate a point in the distance\n\n\tDon't stare at the image directly!\n\nGood luck!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLanaSina%2Fevolutionary_illusion_generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLanaSina%2Fevolutionary_illusion_generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLanaSina%2Fevolutionary_illusion_generator/lists"}