{"id":19525447,"url":"https://github.com/cyriacjohn/malayalam-character-recognition","last_synced_at":"2026-05-12T21:33:06.248Z","repository":{"id":261119574,"uuid":"883323332","full_name":"cyriacjohn/Malayalam-character-recognition","owner":"cyriacjohn","description":" A deep learning project inspired by my love for the Malayalam language.","archived":false,"fork":false,"pushed_at":"2024-11-13T14:02:45.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T01:43:27.292Z","etag":null,"topics":["keras-tensorflow","neural-networks","opencv"],"latest_commit_sha":null,"homepage":"","language":"Python","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/cyriacjohn.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":"2024-11-04T19:05:11.000Z","updated_at":"2024-11-13T14:02:48.000Z","dependencies_parsed_at":"2024-11-04T20:26:20.675Z","dependency_job_id":"85486988-26df-4a76-ab03-b7ebd3d800d6","html_url":"https://github.com/cyriacjohn/Malayalam-character-recognition","commit_stats":null,"previous_names":["cyriacjohn/malayalam-character-recognition"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyriacjohn%2FMalayalam-character-recognition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyriacjohn%2FMalayalam-character-recognition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyriacjohn%2FMalayalam-character-recognition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyriacjohn%2FMalayalam-character-recognition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyriacjohn","download_url":"https://codeload.github.com/cyriacjohn/Malayalam-character-recognition/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240777555,"owners_count":19855856,"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":["keras-tensorflow","neural-networks","opencv"],"created_at":"2024-11-11T01:04:30.836Z","updated_at":"2026-05-12T21:33:06.182Z","avatar_url":"https://github.com/cyriacjohn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Malayalam Character Recognition\n\nAs a proud Malayali, I've always been captivated by the beauty and complexity of the Malayalam script. This project, **Malayalam Character Recognition**, is inspired by my love for my native language and its unique script. The goal is to build a tool that recognizes handwritten Malayalam characters using deep learning, contributing to the digital accessibility of this culturally rich language.\n\n## 🌟 Project Overview\n\nThis project uses a Convolutional Neural Network (CNN) to recognize and classify handwritten Malayalam characters. By identifying individual characters from images, it has potential applications in OCR (Optical Character Recognition) systems, educational tools, and digital libraries. The project aims to help digitize handwritten Malayalam text, promoting accessibility for Malayalam speakers and learners alike.\n\n## 🚀 Features\n\n- **Accurate Character Recognition**: Uses deep learning to accurately recognize and classify core Malayalam characters.\n- **Preprocessing Pipeline**: Built-in preprocessing for image-based character data to improve model accuracy.\n- **User-Friendly Interface**: Functions for loading images and obtaining character predictions.\n- **Scalable Architecture**: Easily adaptable for scaling with additional data or new languages.\n- **Flexible Input**: Works with scanned or photographed images of handwritten text, making it versatile for a variety of use cases.\n\n## 🛠️ Technologies Used\n\n- **Python**: Core programming language\n- **TensorFlow/Keras**: For deep learning model implementation\n- **OpenCV**: Image processing library\n- **Numpy**: Data manipulation and preprocessing\n- **Jupyter Notebooks**: For experimenting and evaluating model performance\n\n### Prerequisites\n\n1. **Python 3.7+**: Ensure Python is installed on your system.\n2. **Virtual Environment (recommended)**: To isolate project dependencies.\n3. **Clone the Repository**:\n   ```bash\n   git clone https://github.com/cyriacjohn/malayalam-character-recognition.git\n   cd malayalam-character-recognition\n   ```\n### Installation\nCreate a virtual environment (optional but recommended):\n\n```bash\npython3 -m venv venv\n.\\venv\\Scripts\\activate\n```  \nInstall required packages:\n\n```bash\npip install -r requirements.txt\n```\n\n### Dataset Preparation:\n\n- Download the Dataset from [here](https://drive.google.com/file/d/1WjZnnmmfjv7-N-WakhJdLoDhiHEi5dOb/view)\n- Organize the dataset in data/raw folder as per your requirements.\n- Training the Model\n- To train the model, run:\n\n```bash\npython src/main.py --mode train --epochs 20\n```\n- Evaluating the Model\n- To evaluate the trained model on test data, use:\n```bash\npython src/main.py --mode evaluate\n```\n- Running Prediction\nTo predict on a single image:\n```bash\npython src/main.py --mode predict --image_path path/to/your/image.png\n```\n\n## ⚙️ Model Architecture\nThe CNN architecture consists of:\n\n- Convolutional Layers: To detect character patterns.\n- Pooling Layers: To reduce dimensionality.\n- Fully Connected Layers: For classification.\n- Hyperparameters\n- Learning Rate: 0.001\n- Batch Size: 32\n- Epochs: Configurable, recommended 20-30\n\n## 📊 Results and Performance\n- Training Accuracy: 92%\nValidation Accuracy: 89%\nThese metrics are based on the dataset used and may vary with different data.\n\n## 🤝 Contributing\nContributions are welcome to help improve this project! Feel free to:\n\n1. Fork the repository.\n   Clone your fork and create a new branch:\n```bash\ngit checkout -b feature-branch\n```\n2. Make your changes and commit them.\n3. Push your branch and create a Pull Request.\n\nMy goal is to contribute to the accessibility of Malayalam and promote its use in the digital world.\n\n### You can reach out to me/check out my blogs:\n[Linkedin](https://www.linkedin.com/in/cyriac-john-5b7844216/)\u003c/t\u003e\n[Email](yohncyriac2002@gmail.com)\u003c/t\u003e\n[Medium](https://www.medium.com/@cyriacjohn)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyriacjohn%2Fmalayalam-character-recognition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyriacjohn%2Fmalayalam-character-recognition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyriacjohn%2Fmalayalam-character-recognition/lists"}