首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

[超清完结]前端架构师-后端服务器(双越)-慕课

下载看水印

为了自适应学习不同长度区域对池化系数,我们将每个区域的位置索引编码为一个向量pz∈Rd2p_z \in R^{d_2}pz∈Rd2。接下来,我们将它们打包到固定长度的位置嵌入中,并将它们输入序列模型和多层感知机中,从而输出池化系数θ={θz}z=1Z\theta = \left\{ \theta_z \right\}^Z_{z = 1}θ={θz}z=1Z的序列:

θ={θz}z=1Z=MLP(BiGRU({pz}z=1Z))\theta = \left\{\theta_z\right\}^Z_{z = 1} = MLP(BiGRU(\left\{p_z\right\}^Z_{z=1}))θ={θz}z=1Z=MLP(BiGRU({pz}z=1Z))

因此,通过对区域特征进行自适应聚合,得到图像嵌入。采用自适应池化策略融合多个食材特征,得到食材组的嵌入。

评估方案:使用两个评估指标来评估跨模态食材检索的性能:medR和Recall@K。medR表示每个查询检索到的样本的中位数索引,Recall@K表示正确样本的索引位于检索到的前KKK个样本中的百分比。在实验中,分别将KKK设置为1、5和10。此外,还记录了R@1、R@5和R@10的综合Rsum来评估模型的整体性能。medR越小,性能越好;R@K和Rsum越高,性能越好。

4. 实验

4.1 算法实现细节

CMIngre数据集在本次实验中被随机划分为6,001个训练样本,1,000个验证样本和1,000个测试样本。所有的实验都使用了PyTorch框架,在2张NVIDIA GTX 3090 GPU上进行实验。

食材检测:对于Faster R-CNN框架,与方法[47],[54]保持一致,利用ResNet-101作为特征提取器,设置batch size为2,学习率为0.001,并利用SGD优化器进行端到端检测优化。对于YOLO算法,遵循官方报告[48]使用yolov5x6进行检测实验。对于DINO框架,与官方设置[1]保持一致,然后选用Vision Transformer作为特征提取器fine-tune整个模型。

跨模态食材检索:选用Adam优化器训练整个模型并且设置batch size为128,最终映射层维度为1024。对于双层自注意力编码机制,选用包含有2层、4个头部的Transformer作为每层编码器,并且设置隐藏层维度为512。对于图像食材区域特征预提取,在Faster R-CNN框架中提取36个维度为2048的区域特征,在DINO框架中提取128个维度为256的区域特征。为了增加模型泛化能力,随机消去20%的图像区域,并且设置位置编码向量维度

d2d_2

d2为32。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OUpp2N2XDMit4vFRouAlK1Bg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券