食材识别

目的:

  • 识别出一个菜里面有哪些食材

细节:

  • 使用mobile net。输出层为多个2分类器的并列。也就是输出每一位代表一种食材,可以同时存在多种食材。
  • 食材的标注比较麻烦
    • 先通过关键字爬取不同食材相关的图片。比如爬取青椒肉食,虎皮青椒,青椒炒蛋等关键字的图片作为青椒食材的训练数据。爬下来后手动清洗出1000张图片。然后用搜索引擎的相似图片查找,手动清晰出相似的但是没有青椒的负样本3000张。
    • 使用相同的方法收集其他食材的数据,每个食材都分为正样本和副样本。
    • 为了让标注更加容易,还專門使用python的tkinter制作了小工具。
  • 把第一批整理出来的数据进行训练
  • 用训练的模型分类他更多的图片,把分类错误的图片加入到训练集中。
  • 训练后再用来分类非训练集的图片,再把错误的图片加入到训练集中。
  • 这样迭代5次。
  • 最后使用python写的web app支持事实照相并上传服务器再返回结果。

结果:

  • 某些食材非常容易识别,比如木耳,虾仁,花椰菜。这些食材的特点是形态单一。对于另外一些形态多变的食材:鸡蛋,青椒等的识别率就比较低。
  • 感觉就是只要网络找到了对应食材独有特点了的话,一下就很robust了。
  • 实际用起来基本正常的菜里面,食材的形态还比较明显的情况下。一盘菜都能识别出来1,2个食材。

讨论:

  • 通过这个项目,自己尝试了从模型选取,数据集设计,爬取和清洗方案制定,训练等深度学习的全过程。
  • 训练的时候没有直接对每张图片标注上面出现的所有食材,而是只标注是否存在某种食材。这样做是因为要同时标注出所有食材的难度和工作量太大。而且当需要添加食材的种类的时候,需要重新标注所有图片。不过感觉如果能同时标注所有食材,应该训练结果要好些。

相关代码:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值