Skip to content

媒体计算实践作业:图像——文本跨模态搜索

License

Notifications You must be signed in to change notification settings

Fly2flies/Cross-modal-retrieval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

跨模态检索:图像——文本检索

媒体计算实践作业:图像——文本跨模态搜索

数据集下载

本项目使用的是Flickr30k数据集,你需要自行先下载。 百度云地址

数据预处理

在Preprocessing下:

  • data_split_1.py 划分训练集、测试集、验证集
  • resize_data_2.py 长宽比例不变,将短边拉伸为256
  • count_vocab_3.py 统计每个单词的词频
  • convert_annotations_4.py 将.txt格式的标注文件转换为.json
  • build_dictionary_5.py 构建单词编号,即查询字典

模型训练

在数据预处理完成后,在config.py中配置各文件的路径以及训练的参数,并且下载在谷歌新闻上预训练的Word2Vec模型

  • trainStage1.py 使用分类损失预训练
  • trainStage2.py 使用三元组损失和对抗损失微调

测试界面

在 QueryApp 下的 图文互搜.exe 提供简单的测试界面。(把相关文件放在对应文件夹下使用一键初始化) (修正了不能自己选图像模型的小bug,但是由于环境变换,直接用PyInstaller打包的exe文件较大(提取码1234)main.exe)

需要提前下载预训练模型imgcnn.pth和textcnn.pthDATA/Checkpoint下方便自动初始化,

captions_database.pklimages_database.pkl事先提取的图像和文本特征以及其索引到DATA/下,

字典text_info.jsonDATA/Flick_10k

图片数据到DATA/Flick_10k/flick_image_256下。也可以自己选择路径,但是后续检索的时候不支持自动初始化。

测试结果如下:

参考资料

双路CNN MatConvNet

用于图文搜索的对抗学习 ACM2017

About

媒体计算实践作业:图像——文本跨模态搜索

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages