# FinalProject: DML for contrast languages && images pre-trainng
<center>Author Lxh from Nwpu </center>
* 参考代码仓库地址 https://github.com/RyanWangZf/MedCLIP
* 参考论文地址 https://aclanthology.org/2022.emnlp-main.256.pdf
![alt text](image-1.png)
<center>整体架构图 </center>
![alt text](image-2.png)
<center>CLIP:对比语言图像预训练学习 </center>
听说这还是个不错学校的不错论文,结果因为transformers 版本问题根本跑不动
刚看了下论文对应的答辩,内容确实挺具体的,就是没告诉我们具体该怎么实现
#### 从理论角度分析实现方法
##### 1.DML
相似性算法问题 :
深度度量学习 DML 实现对图像自身训练集的一种配对,需要同时处理图像和文本之间的相似度关联和差别,形成一个label 原来的办法是直接进行匹配, 根绝自身标注的label进行预训练和训练,但是这样显然效果不佳(凡是拿数据直接训练都会出大问题)
原来的论文的解法是:先预训练,后微调,根据加入的内容,有了更多是数据,实现模型的进一步训练
我的优点:在一开始就直接对相似度进行整合,可能会引入一种打分机制吧,如果最开始的两者能进行配对,那么他们相近的样本之间
也能进行相应的打分机制处理
最主要就是这个相似度的设计 CLIP:对比学习, 这也是本项目区别于该论文的最大点
##### 2.CVAE 变分自编码器
变分自编码器(Variational Autoencoder, VAE)是一种生成模型,结合了自编码器(Autoencoder)和概率图模型的思想。它的主要作用是学习数据的潜在表示(latent representation),并生成与训练数据相似的新样本。
条件变分自编码器(Conditional Variational Autoencoder, CVAE) 是变分自编码器(VAE)的扩展版本,它在 VAE 的基础上引入了条件信息(condition),使得模型能够根据给定的条件生成特定类型的数据。
![alt text](image-37.png)
<center>CVAE与VAE的区别 </center>
用图像作为核心指标--- 充分挖掘图像信息,而不是简单做对文本的匹配
#### 软件架构
![alt text](image-10.png)
<center> 软件架构图~初版 </center>
软件架构说明,目前只开放了本地测试版,不开放API和在线测试版
#### 安装教程
1. 本项目基于EMNLP论文 MedClip进行进一步开发与优化,如果设计版权 因素,这里不会商用
2. 暂时不支持任何商用与安装,需要`fork`的同学可以直接下载,不提供预训练模型,对电脑的配置要求较高,本人比较穷,自己只有一张`4050`的显卡,跑的也特别慢,尤其是涉及到对文本嵌入提取`transformers`模型的时候,跑的巨慢。
3. 提供了一个requirements.txt安装必要的库,并做了一个简单的前端UI可以输入图片,输出分析结果
#### 使用说明
1. 必要的库见见requirements.txt,安装完成,版本都是目前的最新版,在vscode上开发直接执行即可,执行在根目录里面
2. 得到预训练模型需要准备iu_xray数据集,记得存储到对应路径,这里需要你简单看下代码,目前只在这一个模型上做了测试
3. 接下来是对模型的主体训练,分别包括对文本和图像提取的单独模型,以`pth`格式结尾,在`CVAE` `dml` `emb2txt`下训练得到核心模型
4. 训练好了可以由 `dml_image_reading`得到提取出来的嵌入等,注意这里需要先提取出来所有的嵌入,才能根据嵌入去生成`文本-图像`匹配的`CVAE`模型
5. 根据文本嵌入,专门训练了一个由文本嵌入反推出文本的模型`emb2txt`,训练的时间可能较长
6. 测试:在根目录执行`test_acc_text`可以得到余弦相关性和最后输出的文本结果和真实结果的对比,`test_cal_av_acc`用于计算平均正确率,以及用`deepseek`去机器打分的正确率,效果还不错,在0.6-0.7之间。
#### 参与贡献
1. 本工作由Panos Liasts老师(from Khalifa University)指导,由本人几乎独立完成
2. 有任何问题请联系 lixuhui123@mail.nwpu.edu.cn
#### 需要忽略 SSL证书的要求
#### 实验相关过程
1. 最初搭建实验框架的时候 * 十分激动
![alt text](image-3.png)
<center> 利用tensorflow开始搭建的框架,后面感觉不好用,迅速改为了Pytorch</center>
![alt text](image-4.png)
<center>关键的网络层结构展示</center>
![alt text](image-5.png)
<center>相关的执行和输出过程</center>
居然是真的跑起来了,虽然我不太懂里面的流程,也并不清楚是如何实现的,但是总之先庆祝一下,后面没的工作留给后面没
等训练到了一定阶段,开始把这个项目加入到相关的
![moxing ](image-6.png)
<center>开始出bug做的很不好的正确率 </center>
模型的准确率低的离谱,后续再训练吧,应该是方法选用不对,但是先push上去,作为最初版
![alt text](image-7.png)
<center> MedClip模型复刻的时候,由于transformers需要更低的版本,且需要安装`rust`去执行,后来就放弃了,老古董 </center>
#### 最优传输理论
![alt text](image-8.png)
<center>最优传输理论OT介绍 </center>
这里可以稍微写一下最优传输理论的使用方法:
让相同类型的更加接近:
为了尽可能缩小成本,让点阵信息尽快的对应
<center>`min(m1,m2) if(m1 - m2 << e)` </center>
<center> 关于OT与公式的理解 </center>
![alt text](image-9.png)
<center> </center>
不过这里只能看用最优传输理论里面的哪一个,每个都试一下效果;后面再进行理论分析
虽然我觉得正负样本进行对比学习效果可能更好
但是对数据集的要求比较高,得能区分有病还是没病,这样更能关注到出现问题的点,然后对所有样本进行一次扫描判断,可能我觉得对比学习还是需要使用,不能学不会
只针对某一领域疾病的数据集,已经对应的疾病(形成pair)正样本其实只有一个就行?
##### 数据结果:根据图片,能匹配到对应的疾病(或者直接对文本进行一个output)
##### `prompt` 其实对文本进行一个存储就没问题了,最后给GPT一个`prompt`,让他输出完整的分析报告
### 我们的方法优势可能甚至不在这里
假想认为:我能排除掉所有无关的干扰因素,并对其中几个特殊的关键因素进行
`DML + OTT`, 感觉用了这个方法就没有必要去对比学习了,对比学习数据要求太高了,这个可能学到更多的东西
差异性对比很高,但是如果我图像旋转了一下,或者深浅度不一样了,或者位置发生了偏移,这样判断的效果很差,但是DML可能可以解决这一部分的问题;
#### 关键因素可以提取成几个`list`,再拿`list`和文本`label`去做训练
但是文本的label需要足够的全面
<center>两个向量之间的训练:CVAE </center>
![alt text](image-10.png)
这里最优传输理论的理解:
* 找到不同类型图片的embeddings,让测算相似性矩阵的算法差异化更大,容易区分,这样可以理解为图像中的公共部分,比如由于位置放置等因素导致的偏差被缩小,反而可以对应到(这描述感觉我的效果可能更好).
* 差异化因素,那些因为放大,缩小,旋转,深浅等 抛除之后如果还能发现异常,则说明这个样本和其他的样本有很大的区别,让效果实现增强。
* 但是这里最后的指标,我认为应该分情况讨论,应该是在相同空间里面的微小差异化描述:
* 提供的`prompt`: 给你提供了图像的`embeddings`和文本的`embeddings`,以及他们的配对关系在同一个数据集中,现在需要训练这组数据实现两组数据的相关联性,达到最终根据图像的`embeddings`输出对应�
没有合适的资源?快使用搜索试试~ 我知道了~
2025毕业设计 (python)基于深度度量学习的医学图像文本匹配.zip
共99个文件
png:39个
py:29个
pdf:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 86 浏览量
2024-12-17
10:48:50
上传
评论
收藏 42.8MB ZIP 举报
温馨提示
2025毕业设计 (python)基于深度度量学习的医学图像文本匹配.zip
资源推荐
资源详情
资源评论
收起资源包目录
2025毕业设计 基于深度度量学习的医学图像文本匹配.zip (99个子文件)
2025毕业设计 基于深度度量学习的医学图像文本匹配
final-project-master
revise_result.py 3KB
README
image-9.png 42KB
image-37.png 50KB
image.png 468KB
image-13.png 18KB
image-17.png 65KB
image-35.png 41KB
image-19.png 169KB
image-32.png 41KB
image-30.png 37KB
image-25.png 67KB
image-28.png 71KB
(zipped)README.pdf 781KB
image-15.png 47KB
image-33.png 298KB
image-22.png 723KB
image-6.png 579KB
image-11.png 221KB
README.pdf 6.12MB
image-3.png 330KB
image-2.png 383KB
image-14.png 18KB
image-31.png 131KB
image-10.png 38KB
image-27.png 187KB
image-24.png 344KB
image-4.png 587KB
image-36.png 43KB
image-34.png 260KB
image-21.png 88KB
image-12.png 489KB
image-29.png 35KB
image-23.png 166KB
image-18.png 66KB
image-5.png 707KB
image-20.png 170KB
image-7.png 170KB
image-16.png 20KB
image-1.png 383KB
README.en.md 1KB
README.md 22KB
image-8.png 88KB
image-26.png 140KB
test_new_right_score.py 5KB
test_acc_text.py 8KB
temp_image.png 5.43MB
doc
Chaymaa_RIG_meeting.pptx 6.45MB
Project_Overview.pdf 241KB
VLMs_RAG_Project.pptx 861KB
Metric_Learning_in_Optimal_Transport_for_Domain_Adaptation (1).pdf 1.95MB
Deep_Metric_Learning_for_Computer_Vision_A_Brief_Overview.pdf 707KB
src
emb2text
emb2text_train.py 3KB
vocab.json 1018KB
generate_pdf.py 6KB
cave
CVAE.py 4KB
CVAE_data.py 486B
CVAE_test.py 552B
__pycache__
CVAE.cpython-312.pyc 6KB
CVAE_data.cpython-312.pyc 822B
CVAE_use.py 2KB
loss
ensure_loss.py 2KB
model_utils.py 4KB
app.py 1KB
embeddings
image_embeddings.pt 518KB
report_embeddings.pt 260KB
model_pth
triplet_model.keras 1.97MB
triplet_model.h5 1.95MB
data.pkl 2.02MB
text_embedding_model.pth 1.26MB
cvae_model.pth 536KB
triplet_model_iu_xray.pth 1.39MB
generate_text_code.py 5KB
dml
DML_data.py 441B
DML.py 4KB
DML_test.py 2KB
__pycache__
DML_data_download.cpython-312.pyc 759B
DML.cpython-312.pyc 6KB
generate_pdf
medical_report.pdf 182KB
__pycache__
model_utils.cpython-312.pyc 6KB
generate_English_report.py 5KB
dml_torch
dml_report_train.py 4KB
dml_image_reading.py 8KB
dml.py 8KB
dml_Tsne.py 2KB
dml_test.py 1KB
dml_visual.py 2KB
dml_report_reading.py 3KB
__pycache__
dml.cpython-312.pyc 12KB
dml_use.py 1KB
data
iu_xray
iu_xray
annotation.json 985KB
text_embeddings.json 5.41MB
embeddings.json 4.75MB
test_cal_av_acc.py 2KB
fine_tuned.py 945B
test_score.py 4KB
requirements.txt 122B
statiscs.py 947B
medical_report.pdf 224KB
介绍.pdf 1.96MB
共 99 条
- 1
资源评论
编程ID
- 粉丝: 9w+
- 资源: 862
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功