{"id":18785291,"url":"https://github.com/andreped/melanomai","last_synced_at":"2025-12-21T17:30:35.775Z","repository":{"id":192560859,"uuid":"475490405","full_name":"andreped/MelanomAI","owner":"andreped","description":"melanoma detection using mobile app","archived":false,"fork":false,"pushed_at":"2023-09-04T13:57:23.000Z","size":79595,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T17:52:22.790Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dart","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/andreped.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}},"created_at":"2022-03-29T14:52:07.000Z","updated_at":"2024-05-21T04:02:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"969bea5f-026e-4251-9bc1-b7a5a10f6d7b","html_url":"https://github.com/andreped/MelanomAI","commit_stats":null,"previous_names":["andreped/melanomai"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2FMelanomAI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2FMelanomAI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2FMelanomAI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreped%2FMelanomAI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreped","download_url":"https://codeload.github.com/andreped/MelanomAI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239701203,"owners_count":19682868,"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":[],"created_at":"2024-11-07T20:46:11.455Z","updated_at":"2025-12-21T17:30:25.764Z","avatar_url":"https://github.com/andreped.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# melanom.ai\nMobile app for Android and iOS for real-time, automatic melanoma detection and classification using a mobile camera.\n\nThis was only a toy project for me to get to know Flutter. I did not finish the project, but as I managed to get the \nreal-time image classifier working, I'm making the code public, as it could be of value to others.\n\nNote that the continuous integration (CI; GitHub Actions) stuff never worked, but it should work fine if you build the app locally.\n\n\u003cp align=\"center\" width=\"100%\"\u003e\n\u003cimg src=\"assets/figures/app-example1.png\" width=\"20%\" height=\"20%\"\u003e \u003cimg src=\"assets/figures/app-example2.png\" width=\"19.5%\" height=\"19.5%\"\u003e\n\u003c/p\u003e\n\n## Tricks\nTo run and test the app on a physical android device, see [here](https://developer.android.com/training/basics/firstapp/running-app).\n\n## ToDo\n* [x] Setup App development environment (ended up using Android Studio and Flutter for cross-platform dev)\n* [x] Setup access to mobile camera\n* [x] Get access to pretrained image classification model in tf-lite format\n* [x] Setup app for running image classification on-the-fly when streaming images with the camera\n* [x] Add FPS counter\n* [x] Setup APK build\n* [x] Build APK on the cloud using GitHub Actions (CI)\n* [x] Test built APK (in debug mode) on new Android device (works!)\n* [x] Try to improve inference speed (currently, FPS: ~ 4.8, using GPU twice as fast as CPU)\n* [x] Add exponential smoothed running average\n* [x] Bug: microphone seems to be needed in order to use the app\n* [ ] Bug: memory leak - something fails to be destroyed for each image during inference\n* [ ] Bug: app does not gracefully exit\n* [ ] Add mole detection model/method\n* [ ] Switch current MobileNetV1 model with melanoma classification model\n* [ ] Bug: When \"closing\" app, it is only minimized, not properly closed (should have listener threads which handles exceptions when app is minimized)\n\n## Credit\nAs I know fuck all about Flutter nor mobile app development, I have taken great inspiration from other open-source projects in the development of my app. These were:\n\n* https://github.com/MCarlomagno/FlutterMobilenet\n* https://github.com/kr1210/Flutter-Real-Time-Image-Classification\n* https://github.com/jagrut-18/flutter_camera_app\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreped%2Fmelanomai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreped%2Fmelanomai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreped%2Fmelanomai/lists"}