Paper2:Im2Calories: towards an automated mobile vision food diary

这篇文章是来自Google其2015年参加iccv时的一篇文章,反复将这篇文章看了几遍,对于其中的流程有了一定的理解,相比于看的第一篇Paper1的文章而言,他们的工作的适用性更广,但就目前食物图片分析的现状来看,这方面的技术也并不成熟,还有很多工作是需要在接下来去实现完成的。

好了,话不多说,来说说强大的Google团队在这方面做了些什么好玩的事情吧!

对于食物图片的分析,其流程还是如Paper1中所说道的几个方面,分类,定位,分割,估算体积,得到卡路里,但在这篇文章中,首先对拍摄得到的图片进行判断其是否为食物图片,也即训练了一个二分类的分类器。下面便一一来说明一下他们是如何实现这其中的每一步的吧~
1、首先训练一个二分类器:
数据集:Food101+ImageNet中各取1000张图片
训练模型:GoogleLeNet CNN将最后的的1000-way 的softmax换成一个单独的逻辑节点以实现二分类判断。

2、分类阶段
世界上的食物千千万万种,如何来得到食物项呢?他们采用的是搜索到几家餐厅,然后对其各自的菜单进行分析得到一些食物项以用于分类数目的确定。此处首先是用MenuMatch dataset 中的三家餐厅共41中食物项。另外,因为一般人们食用的时候不会是单一食品,所以此处是训练的到的多标签分类器,即一份食物图片上包含多个食物项,其计算表达的方式有两种,一是通过设置一个阈值的方式来判断其是否含有该类别项,另一种是避免设置阈值通过权重的方式来计算最后的卡路里。见图1所示:

Paper2:Im2Calories: towards an automated mobile vision food diary_第1张图片
1

数据集:Food101(包含有101类食物项)及MenuMatch。

训练模型:GoogleLENET CNN;将最后一层的1000-way softmax换成101-way,对其进行微调。然后再将这101-way食物项换成MenuMatch中获得的41-way,再对其进行微调,最后得到了比较高的识别准确率。

Adding1:因为利用MenuMatch只能得到41种食物项,规模较小,所以他们做了另外一个数据集上的扩充工作,得到数据集Restaurant dataset,其中包含2571个食物项的共99k张图片。然后再根据这个数据集对GoogleLENET进行训练,将最后的101-way softmax换成2571-way。另外这有一个小技巧,因为有些食物项很难区分开,所以利用到一个类别的混淆矩阵,将很近似的类进行合并,以实现识别的准确率。
Adding2:因为前面所说到的方法均需要得到餐厅中的食物项,然而在实际应用中经常遇到的是一些更通常的一些食物,所以为何不将其归纳起来作为一个通识食物项呢?所以他们便从数据集Food101数据集中,对每张图片上的可见食物进行标记,共标记出201个食物项,形成数据集Food201-MultiLabel,并将其进行训练,得到一个多标签的分类器。

3、分割

因为食物是不定形的,所以采用分割会比使用boundingbox更科学。从实际出发考虑的话,Instance segmentation会更佳,这对统计某种食物的个数以及后续的操作会带来便利,但在实现时的难度较大,比如,对于一个没有明显边界的两个鸡蛋,如何知道其为两个蛋而不是一个蛋,又比如,一种食物有一部分被另一种食物遮挡,又如何得知其数量。所以目前采用的是semantic segmentation,即只需分割出有多少种不同的食物,而不区分一种食物有多少个。

数据集:首先对Food201-MultiLabel进行分割的标定(结合人工和Grabcut的方法),得到数据集Food201-segmented数据集。

训练方法:他们采用的是“DeepLab”的方法(具体还不太明白)

4、体积估计:
不同于Paper1中选择参照物的估计方法,此处采用的是利用含有深度图片的RGBD图片来得到实际图片的深度,形成数据集GFood3d,用于训练CNN,预测出RGB图像的深度,测试集则利用NYU中的数据。最后再将深度转换为立体图来得到体积。并通过“MyPlate”来得到实际体积,形成数据集NFood-3d,然后再计算预测与实际的误差。

5、得出卡路里值
通过之前的工作,然后再查阅营养表得到对应的卡路里值。

整篇文章的关键点在于训练多标签分类器,分割以及体积估算部分,而其中具体的实现,则需要自己多花精力去研究透彻,使自己对问题有更深地理解,后续还有几篇先前的关于食物图片卡路里值的估计文章,需要继续读,让自己对此类问题有一个深入地分析理解。

对于这类问题,现在的技术手段并不是很成熟,还有很多任务需要进行研究,正如本篇文章最后所说的:

Paper2:Im2Calories: towards an automated mobile vision food diary_第2张图片

也正因为这些挑战的存在,也可以成为自己进行深入研究的内容~

你可能感兴趣的:(Paper2:Im2Calories: towards an automated mobile vision food diary)