{"id":21371788,"url":"https://github.com/angeligareta/deepfakes-overview","last_synced_at":"2025-08-25T07:34:23.681Z","repository":{"id":126755415,"uuid":"342503734","full_name":"angeligareta/deepfakes-overview","owner":"angeligareta","description":"Research whose goal is to introduce deep fakes, presenting the state-of-the-art implementations in the area and examples of what such technology is capable of doing.","archived":false,"fork":false,"pushed_at":"2021-02-26T09:43:22.000Z","size":12791,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-13T07:39:23.732Z","etag":null,"topics":["deep-fake","deep-fakes","demo","implementation","research"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/angeligareta.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-02-26T07:58:35.000Z","updated_at":"2024-08-24T00:05:37.000Z","dependencies_parsed_at":"2023-06-17T23:02:19.790Z","dependency_job_id":null,"html_url":"https://github.com/angeligareta/deepfakes-overview","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/angeligareta/deepfakes-overview","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angeligareta%2Fdeepfakes-overview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angeligareta%2Fdeepfakes-overview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angeligareta%2Fdeepfakes-overview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angeligareta%2Fdeepfakes-overview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angeligareta","download_url":"https://codeload.github.com/angeligareta/deepfakes-overview/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angeligareta%2Fdeepfakes-overview/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272024671,"owners_count":24860528,"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","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"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":["deep-fake","deep-fakes","demo","implementation","research"],"created_at":"2024-11-22T08:15:10.095Z","updated_at":"2025-08-25T07:34:23.672Z","avatar_url":"https://github.com/angeligareta.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eDeepfakes: Introduction and Latest Implementation\u003c/h1\u003e\r\n\u003ch4 align=\"center\"\u003e This research aims to introduce deep fakes,\r\npresenting the state of the art implementations in the area and examples of what such technology is capable of doing. \u003c/h4\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg alt=\"UPM\" src=\"https://img.shields.io/badge/EIT%20Digital-UPM-blue?style=flat-square\"\u003e\r\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/angeligareta/deepfakes-overview?style=flat-square\" /\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n\u003cimg src=\"docs/general-deepfake.gif\" alt=\"general deepfake\"  width=\"85%\"/\u003e\r\n\u003c/p\u003e\r\n\r\n## Abstract\r\n\r\nDeep Learning algorithms are being used in several fields nowadays, such as Self-driving\r\ncars, Healthcare or Voice-Activated Assistants. Programs developed with these algorithms are\r\ngetting easier for not experienced users to use and their features are constantly growing. Despite\r\nthis being positive for contributing to previous sectors, deep learning-powered applications that\r\ncould cause threats in politics, privacy and security are being developed too. An example of this\r\nis the so-called \"deep fakes\". This research has the goal of introducing this type of algorithms,\r\nshowing state-of-the-art implementations in the area and examples of what this technology is\r\ncapable of.\r\n\r\nBelow is presented a summary of the actual research, the full paper can be found at [Deepfakes: Introduction and Latest Implementation](docs/deepfakes_general.pdf) or [Deepfakes: Introduction and Applications in Digital Health](docs/deepfakes_digital_health.pdf) for a more focused report on Digital Health. Also, here is a video summarizing the research presented, in case you prefer the visual to the textual 😄\r\n\r\n\u003ca href=\"https://youtu.be/pMBDYBeo8cE\" alt=\"Watch the video\" target=\"_blank\"\u003e\r\n\u003cp align=\"center\"\u003e\r\n\u003cimg src=\"docs/deepfakes-video-preview.jpg\" alt=\"general deepfake\"  width=\"75%\"/\u003e\r\n\u003c/p\u003e\r\n\u003c/a\u003e\r\n\r\n## Introduction\r\n\r\nDeepfake is a deep learning technique used to create convincing image, audio and video hoaxes.\r\nThe most common application is to swap a person in an existing image or video with another one,\r\ngenerating a fake synthetic media. The difference with traditional techniques such as Photoshop\r\nis that deepfakes consists of powerful techniques for generating visual or audio content with high\r\npotential to deceive. Some of the popular areas where these algorithms are used are fake news,\r\nfinancial fraud, revenge porn and celebrity pornographic videos. As these are critical areas, most of\r\nthe academic research surrounding Deepfake seeks to detect this content [10]. Later some techniques\r\nfor deepfake detection will be presented. According to the legal response, some countries have been\r\nintroducing legislation to tackle deepfake content. For instance, in the United States, some states\r\nsuch as California, Texas and New York have introduced \"The Malicious Deep Fake Prohibition\r\nAct\", which will make a federal crime to create or distribute a deepfake when doing so will facilitate\r\nillegal conduct [4].\r\n\r\nThe technology used by deepfakes algorithms includes previous techniques such as autoencoders\r\nand generative adversarial networks. A drawback in these algorithms would be the high quantity\r\nof data needed to train models to create realistic synthetic content. For this reason, most of the\r\ninitial targets for the deepfakes are public celebrities or politicians, which have a large number of\r\nvideos and images available online. However, these techniques are improving significantly over time\r\nand there are some techniques available to generate deepfake content with few images, through an\r\napproach called few shot learning.\r\n\r\nThe first deepfake video was produced in 2017 where a popular face was swapped in pornographic\r\ncontent and published on Reddit. In 2018, the famous website banned this type of content classified\r\nas fake porn, which was followed by Twitter or Gfycat [6]. On top of that, these algorithms can be\r\nused to threaten the national security of an entire country, for instance publishing a video of the\r\npresident of the United States giving a fake speech [14], which could affect election campaigns or\r\nmilitary actions. It could be used as part of social engineering scams through the branch of audio\r\ndeepfakes, fooling people into thinking they are receiving instructions from a trusted source. In\r\n2019, a UK energy firm CEO was scammed $243, 000 when he was ordered by a supposed chief\r\nexecutive from the parent’s company to transfer the money to a Hungarian bank [5].\r\n\r\nDespite all these dark applications of deepfake, there are many positive ones such as creating\r\nvoices for those who have lost theirs, recording the same character in a film through different ages,\r\nsuch as in the Netflix film ’The Irishman’ [16] or updating episodes in movies without shooting\r\nthem again [11].\r\n\r\n## Deepfake Tools and Demo\r\n\r\nNowadays there exist multiple open source projects to generate deepfakes that any user with no additional experience in the field could use. After researching the state-of-the-art ones, they have been\r\nrepresented in table 1. The purpose of this list is to enhance efforts into research and development\r\nof deepfakes and their detection and not to support the creation of nefarious content.\r\n\r\n| Name                                         | Description                                                                                                                                               | Link                                                        |\r\n| -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |\r\n| DeepFaceLab                                  | - Leading software for generating deepfakes. \u003cbr/\u003e - It contains advance techniques and workflow so that the users can achieve more professional results. | https://github.com/iperov/DeepFaceLab                       |\r\n| FaceSwap                                     | - Tool that utilizes deep learning to recognizeand swap faces in pictures and videos.                                                                     | https://github.com/deepfakes/faceswap                       |\r\n| DFaker                                       | - A generator of larger resolution facesmasked, weirdly warped, deepfakes.                                                                                | https://github.com/dfaker/df                                |\r\n| First Order Motion Model for Image Animation | - Applicate the animation of a drivingvideo to a unique source image. \u003cbr/\u003e - Included Demo with Google Colab and Python.                                 | https://github.com/AliaksandrSiarohin/first-order-model     |\r\n| Motion Supervised co-part Segmentation       | - Self-supervised deep learning method for co-part segmentation. \u003cbr/\u003e - Included Demo with Google Colab and Python.                                      | https://github.com/AliaksandrSiarohin/motion-cosegmentation |\r\n| Disrupting Deepfakes                         | - Tool to disrupt deep fake creationon conditional image translation networks.                                                                            | https://github.com/natanielruiz/disrupting-deepfakes        |\r\n\r\nRegarding face swapping, by using the Google Colab demo from the repository Motion Supervised co-part Segmentation [8], the results represented in the figure below were generated. The first\r\nresult was produced through unsupervised segmentation, while the second one was formed using\r\nsupervised part-swaps.\r\n\r\n\u003cp align=\"center\"\u003e\r\n \u003cimg src=\"docs/motion-supervised.jpg\" alt=\"motion-supervised\"  width=\"50%\"/\u003e\r\n\u003c/p\u003e\r\n\r\nOn top of that, below are displayed some examples from the First Order Motion\r\nModel for Image Animation Demo [13]. It was made in Google Colab modifying the original version\r\nof the demo and generating deepfakes with a picture of myself as the source image. It was tested\r\nin different driving videos, two of them represented in the figure.\r\n\r\n\u003cp align=\"center\"\u003e\r\n\u003cimg src=\"docs/greta-deepfake.gif\" alt=\"greta deepfake\"  width=\"70%\"/\u003e\r\n\u003c/p\u003e\r\n\r\n## Conclusions\r\n\r\nThe current state in deepfakes is complicated. Every time a new deepfake technology is released,\r\nusers will try to develop a technology to detect the images generated with that technology, and\r\nthen hackers would try to bypass that detection and ideate a new approach for generating them,\r\nand this will continue with a virus/anti-virus dynamic. On top of that, despite achieving high\r\naccuracy in deepfake detection, for instance, 99%, sometimes that 1% of no detected deepfakes\r\ncould compromise users of platforms such as Instagram or Twitter.\r\n\r\nAnother idea in the area for tackling this issue is to use programs that can automatically watermark and identify\r\nimages taken on cameras or implementing blockchain technology to verify content from trusted sources [15].\r\nHowever, the likely future is that none of these approaches would help ’solve’ this issue, it is an endless competition that can have very critical results in terms of privacy, safety and political concerns. People need to be aware of these technologies as well as verify\r\neach source they read or watch. Besides, governments should take imminent measures for people\r\ngenerating or sharing deepfakes for unethical uses.\r\n\r\n## Author\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"https://angeligareta.com\" alt=\"Angel Igareta\" target=\"_blank\"\u003e\r\n    \u003cimg\r\n      style=\"max-width: 420px\"\r\n      src=\"https://lh3.googleusercontent.com/d/1a8GtvbvSP-kPeUBbFue3xuYZIMffFvFW=w600\"\r\n    /\u003e\r\n  \u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n## References\r\n\r\n[1] Deep convolutional generative adversarial network : Tensorflow core.\r\n\r\n[2] Agarwal, S., Farid, H., Gu, Y., He, M., Nagano, K., and Li, H. Protecting world\r\nleaders against deep fakes. In Proceedings of the IEEE Conference on Computer Vision and\r\nPattern Recognition Workshops (2019), pp. 38–45.\r\n\r\n[3] Badr, W. Auto-encoder: What is it? and what is it used for? (part 1), Jul 2019.\r\n\r\n[4] Brown, N. I. Congress wants to solve deepfakes by 2020. that should worry us., Jul 2019.\r\n\r\n[5] Damiani, J. A voice deepfake was used to scam a ceo out of $243,000, Sep 2019.\r\n\r\n[6] Kelion, L. Reddit bans deepfake porn videos, Feb 2018.\r\n\r\n[7] Korshunov, P., and Marcel, S. Vulnerability assessment and detection of deepfake videos.\r\nIn The 12th IAPR International Conference on Biometrics (ICB) (2019), pp. 1–6.\r\n\r\n[8] Lathuilière, S., Tulyakov, S., Ricci, E., Sebe, N., et al. Motion-supervised co-part\r\nsegmentation. arXiv preprint arXiv:2004.03234 (2020).\r\n\r\n[9] Li, Y., Chang, M.-C., and Lyu, S. In ictu oculi: Exposing ai created fake videos by\r\ndetecting eye blinking. In 2018 IEEE International Workshop on Information Forensics and\r\nSecurity (WIFS) (2018), IEEE, pp. 1–7.\r\n\r\n[10] Manke, K., and Manke, K. Researchers use facial quirks to unmask ’deepfakes’, Jun 2019.\r\n\r\n[11] Marr, B. The best (and scariest) examples of ai-enabled deepfakes, Jul 2019.\r\n\r\n[12] Nguyen, T. T., Nguyen, C. M., Nguyen, D. T., Nguyen, D. T., and Nahavandi, S.\r\nDeep learning for deepfakes creation and detection. arXiv preprint arXiv:1909.11573 (2019).\r\n\r\n[13] Siarohin, A., Lathuilière, S., Tulyakov, S., Ricci, E., and Sebe, N. First order\r\nmotion model for image animation. In Advances in Neural Information Processing Systems\r\n32, H. Wallach, H. Larochelle, A. Beygelzimer, F. d'Alché-Buc, E. Fox, and R. Garnett, Eds.\r\nCurran Associates, Inc., 2019, pp. 7137–7147.\r\n\r\n[14] Suwajanakorn, S., Seitz, S. M., and Kemelmacher-Shlizerman, I. Synthesizing\r\nobama: learning lip sync from audio. ACM Transactions on Graphics (TOG) 36, 4 (2017),\r\n1–13.\r\n\r\n[15] Vincent, J. Deepfake detection algorithms will never be enough, Jun 2019.\r\n\r\n[16] Wood, C. A deepfake artist’s attempt to make robert de niro look younger in ’the irishman’\r\nis being hailed as superior to netflix’s cgi, Jan 2020.\r\n\r\n[17] Xuan, X., Peng, B., Wang, W., and Dong, J. On the generalization of gan image\r\nforensics. In Chinese Conference on Biometric Recognition (2019), Springer, pp. 134–141.\r\n8\r\n\r\n[18] Zakharov, E., Shysheya, A., Burkov, E., and Lempitsky, V. Few-shot adversarial\r\nlearning of realistic neural talking head models. In Proceedings of the IEEE International\r\nConference on Computer Vision (2019), pp. 9459–9468.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangeligareta%2Fdeepfakes-overview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangeligareta%2Fdeepfakes-overview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangeligareta%2Fdeepfakes-overview/lists"}