{"id":25743976,"url":"https://github.com/knightron0/android_plushie","last_synced_at":"2026-05-09T05:08:34.528Z","repository":{"id":141562124,"uuid":"229304071","full_name":"knightron0/android_plushie","owner":"knightron0","description":"Simple classifier for android plushies.","archived":false,"fork":false,"pushed_at":"2021-01-27T06:03:39.000Z","size":120,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T10:46:44.937Z","etag":null,"topics":["android-plushie","keras","tensorflow"],"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/knightron0.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}},"created_at":"2019-12-20T16:58:39.000Z","updated_at":"2021-01-27T06:03:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"a34f2715-4d31-4be6-a7f7-d78ce16a82f0","html_url":"https://github.com/knightron0/android_plushie","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/knightron0/android_plushie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightron0%2Fandroid_plushie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightron0%2Fandroid_plushie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightron0%2Fandroid_plushie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightron0%2Fandroid_plushie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knightron0","download_url":"https://codeload.github.com/knightron0/android_plushie/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightron0%2Fandroid_plushie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32807868,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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":["android-plushie","keras","tensorflow"],"created_at":"2025-02-26T10:46:03.537Z","updated_at":"2026-05-09T05:08:34.524Z","avatar_url":"https://github.com/knightron0.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Image Classifier Model with Tensorflow and Keras to detect Android Plush Toys\n\n# Data Collection and Pre-processing\nA conventional dataset for Android Plushies was not readily available, so I had to collect the data manually. I simply scraped the images from a simple Google search which contained an Android Plushie in them. But these images were just 54 in number, so I used a widely known technque to expand data known as *Data Augmentation* I carried out this process with the help of **OpenCV** and **Numpy**. I generated new images using the following techniques.\n\n- Addition of Salt and Pepper Noise\n- Addition of Gaussian Noise\n- Inverting Colours\n- Flipping the Image\n- Addition of Speckle Noise\n- Conversion to Grayscale\n\nPS: Before augmenting the data, I also resized all of the images to 225x225 pixels, to provide the network with a fixed input.\n\nAfter this process, I ended up with 1080 images that contained Android Plushies. \nNow, all I had to do was to collect images that did not contain Android Plushies. For this, I recorded a small video around my house and then run the footage through **ffmpeg** which extracted the frames at a certain frame rate and ended up with around ~1110 images.\nI resized all of these images to 225x225 pixels as done before and my data was ready.\n\n# Building the Network\nI used Keras with Tensorflow to build my Neural Network. It consisted of 2 hidden layers of 500 nodes each with the *Relu* activation function. The output layer used the *Softmax* activation function with converted the output to a list of probabilities of each class, in this case 2. I first created a .h5 model (using Keras) and then used the *tf.lite.TFLiteConverter* to convert it to a .tflie model.\n\n# Training the Network\nDue to a small amount of data, I ran the network through very few epochs to prevent overfitting. Using hit and trial, I decided that 20 Epochs would be the most suitable number of epochs.\n\n\nPS: Due to Github's file size restriction, the data and the model is [here](https://drive.google.com/open?id=1k3lto3AvX1WPVQIDQ6lxGr3CcJxL-12k).\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknightron0%2Fandroid_plushie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknightron0%2Fandroid_plushie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknightron0%2Fandroid_plushie/lists"}