Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model Accuracy and App Size #4

Open
pranjalchalise opened this issue Jul 13, 2021 · 11 comments
Open

Model Accuracy and App Size #4

pranjalchalise opened this issue Jul 13, 2021 · 11 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@pranjalchalise
Copy link
Member

pranjalchalise commented Jul 13, 2021

Work on improving model accuracy, simultaneously reducing the app size. The app was not supported by many devices due to its large application size. Since it is not 100% accurate, users are skeptical of the app. The developers have a task to improve the accuracy while reducing the app size at the same time.

@pranjalchalise pranjalchalise added enhancement New feature or request help wanted Extra attention is needed labels Jul 13, 2021
@rabinacharya11
Copy link

we can drastically improve the app size by just using few commands:

flutter clean
flutter build apk --split-per-abi

I tried the normal command of [ flutter clean, flutter build apk ] the apk file size was like 16.5MB and after I used the above-mentioned commands I was shocked to know that apk size has been reduced to 5.4MB, cutting off 11.1MB(i m bad at maths)

@aadarshadhakalg
Copy link
Contributor

I think the app size can't be further decreased unless we decrease the model size. The model is occupying almost 25MB. On further improving model for accuracy might increase the model size also. I know nothing about ML and AI but the only way to compress the app size is to compress the model size.

May be we can deploy the model somewhere in server and access it. But it's requires internet access. Or, we can add a feature to download model for offline use.

@rabinacharya11
Copy link

Yes, we can do that we can upload in the server of AWS or somewhere like that and use Hive data to store the model in the device local storage and also to send the data back to the server validating the data is not for the injection purpose or something like that.

I have some... let's say comment or doubt, how can visually disabled people use a smartphone? I mean I understand the concept of the app: like the button, the user will press, will be speaking out loud.

But, my concern or let's say question is can't we use voice commands just for making it easy to use for the users to enhance the user experience.?

There is package "speech_to_text" in the pub.dev but I guess that will work on English commands but we can somehow ideate on how can we make the commands as easier as possible and also useful for doing the functionality.

we can use this package to grab what the user is saying and we can store that in the form of variables and use the conditions, to run the particular code or functions...

I am also a newbie in this industry but until now I have learned that anything we can imagine can be turned down into reality with the power of code and creativity.

I don't have any idea of python but we can use it to make these voice command things possible.

I don't know how your team did design thinking in this project but think of yourself as a visually disabled and you are given a phone which you haven't seen how it looks or just feels it and

how are you going to make sure that the users are going to press the right button?
in the future this project may have multiple features and how can the targeted users find a way out to get that features if it's not given a voice command as a feature.

I got a click, how will the user find a way out to just open the app? but nowadays google assistant and Siri have made this easier. so the user may not find any issue.

I am sorry if you find me demotivating but, Honestly, I felt this after 3 4 hours I heard attended code-athon.

@basnetsoyuj
Copy link
Member

Deploying the model somewhere in the cloud and using an online approach would be the easiest and the most accurate approach for developers and users. However, in the context of Nepal, internet facilities are limited and it's simply an option that we can't rely on.

@rabinacharya11
Copy link

rabinacharya11 commented Aug 2, 2021

app size doesn't matter much if the features are very useful, I guess we should work on this VOICE COMMAND thing
this plugin can help : https://pub.dev/packages/speech_to_text

This can even help : https://alan.app/docs/tutorials/flutter/integrating-flutter

@basnetsoyuj
Copy link
Member

@rabinacharya11 We have done quite a lot of research for this and we expect you to do the same. I get what you mean (I was in the same shoes when we first started on the project, thinking that talkback and screen readers are just a lot of hassle to use). However, we need to think from their perspective. Visually impaired people are already acquainted with features like "talkback feature" in android or "speak screen" in ios. They use all other apps in a similar way. You can watch this video for reference https://youtu.be/3FVjLXIaBC4 (They use readers in sped-up form and they are more sensitive to haptic & audio feedback compared to us)

Talking about your suggestion:
I think it would be a really cool feature to have (More if we could use the native Nepali language). However, we can't use that as a "command" thing. Imagine that you are in a noisy crowded market and you need to pay your bills. Talking to your phone to give the command and waiting for the feedback is very slow and impractical. Visually impaired people already gain familiarity with how to use the phone in accessibility mode. We definitely shouldn't worry about that :)

I encourage you to try and use screen readers. You will definitely get what I mean. How they use smartphones is completely different from us. (and its faster, accurate and more reliable to them)

@aadarshadhakalg
Copy link
Contributor

aadarshadhakalg commented Aug 2, 2021

I agree with @basnetsoyuj . I have seen blind people using smartphone. Obviously we can't do that, use smartphone closing our eyes but they can and it's their unique ability. That's why they are differently abled.

@basnetsoyuj
Copy link
Member

@aadarshadhakalg Yeah using a 25MB model is very impractical. I do have a 2 MB model that does the same thing but it's less accurate. I have been pretty busy lately but I'm planning to work on the model to make it smaller and more accurate.

@rabinacharya11
Copy link

@basnetsoyuj i do agree with you

@aadarshadhakalg
Copy link
Contributor

@basnetsoyuj where can we find the code of the ML model?

@basnetsoyuj
Copy link
Member

@aadarshadhakalg I'll update the README by tomorrow with a link to a Google Colab that contains code to train the model. For now, if you want, you can use this model:
model.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants