{"id":28059563,"url":"https://github.com/shakthirekak11/deepfake-detection-using-graph-convolutional-networks","last_synced_at":"2026-04-25T11:33:29.239Z","repository":{"id":291947432,"uuid":"973087888","full_name":"Shakthirekak11/DeepFake-Detection-using-Graph-Convolutional-Networks","owner":"Shakthirekak11","description":"🤖 Deepfake detection using Graph Convolutional Networks (GCNs) to analyze facial landmark graphs.  Combines computer vision, graph-based learning, and facial geometry for robust media forensics.","archived":false,"fork":false,"pushed_at":"2025-05-07T10:12:02.000Z","size":1763,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-12T08:07:10.655Z","etag":null,"topics":["cnn","deep-learning","deepfake-detection","face-detection","facial-landmarks","graph-convolutional-networks","keras-tensorflow","opencv-python","python","pytorch","transfer-learning","video-classification"],"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/Shakthirekak11.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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-26T08:22:51.000Z","updated_at":"2025-05-07T10:17:58.000Z","dependencies_parsed_at":"2025-05-07T11:35:09.106Z","dependency_job_id":null,"html_url":"https://github.com/Shakthirekak11/DeepFake-Detection-using-Graph-Convolutional-Networks","commit_stats":null,"previous_names":["shakthirekak11/deepfake-detection-using-graph-convolutional-networks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Shakthirekak11/DeepFake-Detection-using-Graph-Convolutional-Networks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shakthirekak11%2FDeepFake-Detection-using-Graph-Convolutional-Networks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shakthirekak11%2FDeepFake-Detection-using-Graph-Convolutional-Networks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shakthirekak11%2FDeepFake-Detection-using-Graph-Convolutional-Networks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shakthirekak11%2FDeepFake-Detection-using-Graph-Convolutional-Networks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shakthirekak11","download_url":"https://codeload.github.com/Shakthirekak11/DeepFake-Detection-using-Graph-Convolutional-Networks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shakthirekak11%2FDeepFake-Detection-using-Graph-Convolutional-Networks/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259360728,"owners_count":22845817,"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":["cnn","deep-learning","deepfake-detection","face-detection","facial-landmarks","graph-convolutional-networks","keras-tensorflow","opencv-python","python","pytorch","transfer-learning","video-classification"],"created_at":"2025-05-12T08:07:08.218Z","updated_at":"2026-04-25T11:33:24.217Z","avatar_url":"https://github.com/Shakthirekak11.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🔍 Deepfake Detection Using Graph Convolutional Networks (GCNs)\n\nIn this project, we tackle the growing threat of deepfakes—AI-generated fake videos that can spread misinformation and violate personal privacy—by moving beyond traditional CNN-based detection methods. Instead, we leverage **Graph Convolutional Networks (GCNs)** to capture the **spatial and geometric relationships between facial landmarks**, providing a more nuanced understanding of facial structures.\n\n### 🚀 What We Did:\n\n* ✅ **Built a deepfake detection pipeline** that transforms video frames into facial landmark graphs.\n* 🧠 **Applied GCNs** to model facial dependencies, outperforming CNNs in detecting subtle manipulations.\n* 📊 **Achieved over 90% accuracy**, with high precision (92%), recall (89%), and F1-score (90.5%) on the Deepfake Detection Challenge dataset.\n* 👁️‍🗨️ **Visualized facial graphs**, highlighting key regions (eyes, mouth) where manipulation often occurs.\n\n### 🛠️ Skills \u0026 Technologies:\n\n* Graph Convolutional Networks (GCNs)\n* Facial landmark detection\n* Deep learning and computer vision\n* Video preprocessing \u0026 frame extraction\n* Model evaluation (Accuracy, Precision, Recall, F1-Score)\n* Python, PyTorch (or TensorFlow, depending on your stack)\n\nThis work demonstrates the potential of **graph-based deep learning** in media forensics and opens the door to more robust, interpretable deepfake detection systems.\n\n\n### 📁 Dataset: Deepfake Detection Challenge (DFDC)\n\nThe **DFDC dataset** is a large-scale benchmark developed by Facebook AI in collaboration with industry partners to advance deepfake detection research. It comprises over **100,000 video clips** featuring both real and AI-manipulated content, created using various deepfake generation techniques. The dataset includes:\n\n* **Diverse Subjects**: Videos of **3,426 paid actors**, ensuring a wide range of facial features, expressions, and backgrounds.\n* **Varied Manipulations**: Deepfakes generated using multiple face-swapping methods, including GAN-based and non-learned techniques, to simulate real-world scenarios.\n* **Balanced Dataset**: A mix of authentic and manipulated videos to train models effectively.\n* **Ethical Considerations**: All participants provided consent for their likenesses to be used and altered in the dataset.\n\nThis dataset serves as a comprehensive resource for training and evaluating models aimed at detecting deepfake videos. For more details and access to the dataset, visit the [DFDC Kaggle page](https://www.kaggle.com/competitions/deepfake-detection-challenge).\n\n\n\n### 🧪 Methodology Overview\n\nOur deepfake detection approach consists of the following key steps:\n\n1. **Frame Extraction**: Extract individual frames from video samples.\n2. **Facial Landmark Detection**: Use a landmark detector to identify key facial points (e.g., eyes, nose, mouth).\n3. **Graph Construction**: Represent each face as a graph, where nodes are landmarks and edges denote spatial relationships.\n4. **GCN Processing**: Pass the facial graphs through a multi-layer Graph Convolutional Network to learn spatial and geometric features.\n5. **Classification**: Use the extracted features to classify each frame as **real** or **fake**.\n\nThis graph-based method enables the model to understand complex facial structures and detect subtle manipulations typical in deepfake videos.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakthirekak11%2Fdeepfake-detection-using-graph-convolutional-networks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshakthirekak11%2Fdeepfake-detection-using-graph-convolutional-networks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakthirekak11%2Fdeepfake-detection-using-graph-convolutional-networks/lists"}