mrdbourke / nutrify

Take a photo of food and learn about it.

Home Page:https://nutrify.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Start breaking down `class_names` into more easily understandable foods

mrdbourke opened this issue · comments

There can be a few kinds of models here, one for higher-level foods and one for lower-level foods.

For example:

  • Higher-level model = predicts high-level classes, e.g. onion, pasta, potato
  • Lower-level model = predicts lower-level classes, e.g. onion -> brown_onion, white_onion, green_onion (get as specific as possible)

For now (Jan 2023), I'll start by getting as specific as possible (lower-level) and can go up to higher level if necessary.

I'd like to take Nutrify's current 199 classes and break them down into more specific classes, for example:

Screenshot 2023-01-30 at 1 52 11 pm

See the Google Sheet: https://docs.google.com/spreadsheets/d/1f6kuauduiKm9i2t8XnchzYuSb-ruoB3p0ajYx_rb_vM/edit?usp=sharing

  • nuts -> mixed_nuts

I should create some kind of simple app (Streamlit?) where a bunch of analytics about the labels/results of Nutrify are viewable.

See Streamlit docs for connecting an app to Google Sheets: https://docs.streamlit.io/knowledge-base/tutorials/databases/private-gsheet

For example, a simple dashboard where different class results can be viewed and examined.

Label style: [HIGHER_FOOD_NAME]_[SPECIFIC_TYPE]

For example:

  • "Red onion" -> onion_red
  • "Banana bread" -> bread_banana
  • "Brown potato" -> potato_brown
  • "Green apple" -> apple_green

I could also have a dictionary/JSON that maps all of these back to their proper names + any other names they might have.

For example:

foods = [{"food_id": 123456,
    "details": {"food_name": "eggplant",
    "other_names": ["aubergine"]}
}
...]