{"id":31011960,"url":"https://github.com/keneandita/fidel-vision","last_synced_at":"2026-05-01T18:33:05.485Z","repository":{"id":311913437,"uuid":"1045104529","full_name":"KeneanDita/Fidel-Vision","owner":"KeneanDita","description":"A Deep Learning + Streamlit web app for recognizing handwritten Amharic fidel characters (34 root groups × 7 orders). It uses a CNN model built with TensorFlow/Keras, trained on a custom dataset of handwritten Amharic letters, and serves predictions through a Streamlit interface.","archived":false,"fork":false,"pushed_at":"2026-03-06T11:48:54.000Z","size":14940,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-06T15:46:50.065Z","etag":null,"topics":["amharic-letters","deep-learning","docker","keras","machine-learning","streamlit"],"latest_commit_sha":null,"homepage":"https://fidel-vision-o7g3mngme3hazfamlacsxn.streamlit.app/","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/KeneanDita.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-26T16:56:31.000Z","updated_at":"2026-03-06T11:48:57.000Z","dependencies_parsed_at":"2025-08-27T20:45:20.599Z","dependency_job_id":"2dd8e883-0c9d-44ce-8542-3d38218da1ff","html_url":"https://github.com/KeneanDita/Fidel-Vision","commit_stats":null,"previous_names":["keneandita/fidel-vision"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KeneanDita/Fidel-Vision","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FFidel-Vision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FFidel-Vision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FFidel-Vision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FFidel-Vision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KeneanDita","download_url":"https://codeload.github.com/KeneanDita/Fidel-Vision/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeneanDita%2FFidel-Vision/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32508901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["amharic-letters","deep-learning","docker","keras","machine-learning","streamlit"],"created_at":"2025-09-13T05:15:32.208Z","updated_at":"2026-05-01T18:33:05.477Z","avatar_url":"https://github.com/KeneanDita.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amharic Handwritten Character Recognition\n\nA **Deep Learning + Streamlit web app** for recognizing handwritten **Amharic fidel characters** (34 root groups × 7 orders).\nIt uses a **CNN model built with TensorFlow/Keras**, trained on a custom dataset of handwritten Amharic letters, and serves predictions through a Streamlit interface.\n\nAuthor : [Kenean Dita](https://github.com/KeneanDita)\n\n### Acknowledgements\n\n* Dataset: [Custom handwritten Amharic letters.](https://www.kaggle.com/datasets/shahabdulmazid/handwritten)\n* Frameworks: [TensorFlow](https://www.tensorflow.org/), [Streamlit](https://streamlit.io/).\n\n## Sample outputs\n\n- Using the canvas inside the webapp\n\n![Sample](assets/1.png)\n\n- By uploading an image to the webapp\n\n![Sample](assets/2.png)\n\n## Features\n\n* **CNN model** trained on 32×32 grayscale images of handwritten fidel.\n* Supports **34 × 7 = 238 Amharic characters**.\n* **Streamlit web app** for interactive testing.\n* Dataset images stored in a single `data/` folder.\n* **Label mapping** from dataset class names → real Amharic letters.\n\n## Project Structure\n\n```PS\n.\n├── data/                    # Dataset (images of letters)\n├── Models/\n│   ├── amharic_cnn.h5       # Trained CNN model\n│   ├── class_names.npy      # Encoded class labels\n├── UI.py                    # Streamlit web app\n├── training_notebook.ipynb  # Training notebook\n├── requirements.txt         # Python dependencies\n├── License\n├── Dockerfile               # For containerizaiton purposes\n├── README.md                # Project documentation\n```\n\n## Usage\n\n### Environment Setup\n\nClone the repo:\n\n```bash\ngit clone https://github.com/KeneanDita/Fidel-Vision\ncd .\\fidel-vision\n```\n\nCreate a virtual envionment and install dependencies\n\n```bash\npython -m venv env\n.\\env\\source\\activate  # for windows\nsource env\\source\\activate # for linux/mac\npip install -r requirements.txt\n```\n\n### Train the model (optional)\n\nIf you want to retrain:\n\n```bash\njupyter notebook train.ipynb\n```\n\n### Run the Streamlit app\n\n```bash\nstreamlit run .\\UI.py\n```\n\n* Upload a handwritten Amharic character image or draw using the second tab as an option.\n* The app preprocesses it → feeds it into the CNN → predicts the fidel.\n\n## Model\n\n* Input size: **32×32 grayscale** but accepts 28x28 and 63x64 too\n* Architecture:\n\n  * Conv2D(32) → MaxPool → Conv2D(64) → MaxPool → Conv2D(128)\n  * Flatten → Dense(256, relu) → Dense(238, softmax)\n* Optimizer: **Adam**\n\n## Amharic Fidel Mapping\n\nI used the **Amharic syllabary table (34 roots × 7 orders)** to map model outputs into their corresponding fidel characters, e.g.:\n\n```P\nሀ ሁ ሂ ሃ ሄ ህ ሆ\nለ ሉ ሊ ላ ሌ ል ሎ\nመ ሙ ሚ ማ ሜ ም ሞ\n...\nፐ ፑ ፒ ፓ ፔ ፕ ፖ\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeneandita%2Ffidel-vision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeneandita%2Ffidel-vision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeneandita%2Ffidel-vision/lists"}