{"id":19053351,"url":"https://github.com/georgiosioannoucoder/fervi","last_synced_at":"2025-09-07T06:33:14.699Z","repository":{"id":162762401,"uuid":"637257312","full_name":"GeorgiosIoannouCoder/fervi","owner":"GeorgiosIoannouCoder","description":"Facial Expression Recognition on Video and Image (FERVI) is an open-source project created for the Data Science track for the program CUNY Tech Prep (CTP) in Cohort 8. 📷","archived":false,"fork":false,"pushed_at":"2024-10-01T17:49:53.000Z","size":21380,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T20:12:47.641Z","etag":null,"topics":["classification","cnn-model","data-science","emotion","emotion-detection","emotion-recognition","facial-expression-recognition","image-classification","image-emotion-classification","machine-learning","opencv"],"latest_commit_sha":null,"homepage":"https://fervi.herokuapp.com","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/GeorgiosIoannouCoder.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":"2023-05-07T01:48:51.000Z","updated_at":"2024-10-01T17:49:56.000Z","dependencies_parsed_at":"2024-01-14T15:55:07.844Z","dependency_job_id":"54ead5db-8e8b-410c-9dec-dd29e93811e5","html_url":"https://github.com/GeorgiosIoannouCoder/fervi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GeorgiosIoannouCoder/fervi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgiosIoannouCoder%2Ffervi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgiosIoannouCoder%2Ffervi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgiosIoannouCoder%2Ffervi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgiosIoannouCoder%2Ffervi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeorgiosIoannouCoder","download_url":"https://codeload.github.com/GeorgiosIoannouCoder/fervi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeorgiosIoannouCoder%2Ffervi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274005343,"owners_count":25205934,"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-09-07T02:00:09.463Z","response_time":67,"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":["classification","cnn-model","data-science","emotion","emotion-detection","emotion-recognition","facial-expression-recognition","image-classification","image-emotion-classification","machine-learning","opencv"],"created_at":"2024-11-08T23:30:15.642Z","updated_at":"2025-09-07T06:33:12.468Z","avatar_url":"https://github.com/GeorgiosIoannouCoder.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv\u003e\n    \u003ch1  align=\"center\" \u003eFacial Expression Recognition on Video and Image 📷\u003c/h1\u003e\n\u003c/div\u003e\n\n## INTRODUCTION\n\n\u003cp align=\"center\"\u003e\n   \u003ca\n      href=\"https://fervi.herokuapp.com/\" target=\"_blank\"\u003e\n      \u003cimg src=\"static/images/landmarks.png\"\n      alt=\"Waveform illustration\" width=\"150\" height=\"200\"/\u003e\n   \u003c/a\u003e\n\u003c/p\u003e\n\nAn emotion classification project which takes image files captured from human face and predicts the emotion conveyed from the facial expression. Please visit the application [here](https://fervi.herokuapp.com/) to explore the project and its capabilities including real-time video emotion classification and real-time graphs.\n\n## DATASETS USED\n\n1. [FER2013](https://www.kaggle.com/datasets/deadskull7/fer2013)\n   \u003cbr /\u003e\n   \u003cp\u003eThe data consists of 48x48 pixel grayscale images of faces. The faces have been automatically registered so that the face is more or less centered and occupies about the same amount of space in each image. The seven categories in the dataset are: (0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral). The data set has three columns: \"emotion\", \"pixels\", and \"Usage\". The \"emotion\" column contains a numeric code ranging from 0 to 6, inclusive, for the emotion that is present in the image. The \"pixels\" column contains a string surrounded in quotes for each image. The contents of this string a space-separated pixel values in row major order. The \"Usage\" column indicates which images are for Training(80%), Public Test(10%), and Private Test(10%). This dataset ontains 35,887 images. This dataset was prepared by Pierre-Luc Carrier and Aaron Courville, as part of an ongoing research project. They have graciously provided the workshop organizers with a preliminary version of their dataset to use for this contest.\u003c/p\u003e\n\n2. [The Extended Cohn-Kanade Dataset (CK+)](https://www.kaggle.com/datasets/davilsena/ckdataset)\n   \u003cbr\u003e\n   \u003cp\u003eThis dataset contains 920 images from 920 original CK+ dataset. Data is already reshaped to 48x48 pixels, in grayscale format and facecropped using haarcascade_frontalface_default. Noisy (based on room light/hair format/skin colour) images were adapted to be clearly identified using Haar classifier. Columns from file are defined as emotion/pixels/Usage. Emotions are defined as:\n   \n   0 : Anger     (45 samples)\n\n   1 : Disgust   (59 samples)\n\n   2 : Fear      (25 samples)\n\n   3 : Happiness (69 samples)\n\n   4 : Sadness   (28 samples)\n\n   5 : Surprise  (83 samples)\n\n   6 : Neutral   (593 samples)\n\n   7 : Contempt  (18 samples)\n   \n   Pixels contains 2304 pixels (48x48) each row.\n   \n   Usage is determined as Training(80%) / PublicTest(10%) / PrivateTest(10%).\n   \n   This dataset was first developed to make a comparison to [ROHIT VERMA - FER2013].\u003c/p\u003e\n\n## TECHNOLOGIES\n\n1. [Tensorflow](https://www.tensorflow.org/)\n2. [Keras](https://keras.io/)\n3. [Scikit-Learn](https://scikit-learn.org/stable/)\n4. [Numpy](https://numpy.org/)\n5. [Pandas](https://pandas.pydata.org/)\n6. [Imbalanced-Learn](https://imbalanced-learn.org/stable/index.html)\n7. [Plotly](https://plotly.com/)\n8. [Matplotlib](https://matplotlib.org/)\n9. [Seaborn](https://seaborn.pydata.org/)\n10. [Jupyter Notebook](https://jupyter.org/)\n11. [OpenCV](https://opencv.org/)\n12. [Python](https://www.python.org/)\n13. [Flask](https://flask.palletsprojects.com/en/2.3.x/)\n14. [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML)\n15. [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS)\n16. [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript)\n17. [Heroku](https://www.heroku.com/)\n18. [Kaggle](https://www.kaggle.com/)\n\n## UI\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"static\\images\\UI.png\"\n      alt=\"User Interface Design illustration\" width=\"1600\" height=\"500\"/\u003e\n\u003c/p\u003e\n\n## NOTEBOOK VIEWER LINK\n\nYou can check the Jupyter Notebook for all the workings of the model [here](https://nbviewer.org/github/GeorgiosIoannouCoder/fervi/blob/main/fervi-notebook.ipynb).\n\n## Report\n\nYou can find the report of the project [here](https://github.com/GeorgiosIoannouCoder/fervi/blob/main/report/Ioannou_Georgios_Report.pdf).\n\n## SETUP INSTRUCTIONS\n\nYou can view all the setup instructions depening on your operating system in the setup folder [here](https://github.com/GeorgiosIoannouCoder/fervi/tree/main/setup).\n\n## CONTRIBUTION AND FEEDBACK\n\nIf you would like to contribute or have any feedback for this project please feel free to contact me on [LinkedIn](https://www.linkedin.com/in/georgiosioannoucoder/).\n\n## CODE LICENSE\n\nMIT License\n\nCopyright (c) 2023 Georgios Ioannou\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgiosioannoucoder%2Ffervi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeorgiosioannoucoder%2Ffervi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgiosioannoucoder%2Ffervi/lists"}