Skip to content

环境依赖及一些问题 #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
gaofei8704 opened this issue May 15, 2024 · 3 comments
Open

环境依赖及一些问题 #2

gaofei8704 opened this issue May 15, 2024 · 3 comments
Assignees
Labels
bug Something isn't working question Further information is requested

Comments

@gaofei8704
Copy link

大佬你好:我们最近也遇到负样本不足的情况,想参考此项目思路进行实践,能否提供下程序的环境和相关包的版本,给个requirements list。

另外还有以下几个问题:
1、在readme中第一步是使用 CutTarget.py 文件来调用 Segment Anything Model (SAM) 自动分割图像中感兴趣的对象。但是在mian中有使用了一个PCBDiscriminator这个判别器(不知道跟TargetDiscriminator有什么区别?),这个也是通过VAE_GAN_train这个训练出来的么?
2、在第二步中使用 VAE_GAN_train.py 脚本在分割后的图像上训练 VAE-CycleGAN 模型。所以训练前是否是需要通过CutTarget预处理样本?那么项目的实施步骤是不是这样的:

  • [1 ] - 一开始需要先预处理下初始样本,比如把标准正样本的PCB部分剪切出来作为原始样本?先训练一遍后,得到项目中的:Discriminator_5.pth这个模型后,
  • [2 ] - 再通过CutTarget.py批量的进行图像分割,并且把分割的图像放到项目中cut_imgs文件夹,进行VAE_GAN_train训练。
  • [3 ] - 最后在项目使用的过程是通过main程序进行:先通过CutTarget切割出检测样本,在通过VAE_GAN生成图片,之后在进行样本和生成结果的比对。

不知我理解的对不对?还请不吝赐教!
感谢!

@DEVILENMO
Copy link
Owner

DEVILENMO commented May 15, 2024

你好,对于你提出的问题:

1. PCBDiscriminator与TargetDiscriminator

之前重命名时出现了一些问题,PCBDiscriminator实际上就是TargetDiscriminator。当一张图片输入到SAM后,会分割出多个mask。为了判断哪个mask是真正的目标,我们使用了VAE-GAN中的辨别器去依次判断每一个mask是否正确,这一点是通过为辨别器预测的概率设置一个阈值来实现的。

2. 训练流程

训练代码主要位于VAE_GAN_train.py中:

  1. 使用CutTarget.py对原始样本(背景有不同花纹或干扰的图片)进行手动分割。分割完成后应该得到一张空白底图和分割出来的物体(在我们的例子中是PCB板),如最后的结果图所示。
  2. VAE-GAN使用分割后的图像进行训练,获取辨别器模型和VAE模型,VAE用于生成无缺陷图像,辨别器用于判断SAM分割的结果是否正确。

3. 预测流程

预测流程位于main.py中:

  1. 使用SAM分割输入图片。
  2. 使用TargetDiscriminator判断分割出的部分是否为目标,如果是则进行后续操作。
  3. 使用VAE进行重建。
  4. 基于图像减法对比原始图像与重建图像。

4. 其他说明

  • PCBDiscriminator的名称错误已修改。
  • 已附加使用PyCharm直接生成的requirements.txt。如果环境有缺失,我可以再使用pip freeze的方式重新生成一份requirements.txt
  • 我们自己使用的版本与Git仓库中的版本是不一样的,因此如有其他命名错误等,欢迎后续反馈,我会进行修正。

如有任何问题或建议,欢迎随时与我沟通。希望这个说明对你有所帮助!

@DEVILENMO DEVILENMO self-assigned this May 15, 2024
@DEVILENMO DEVILENMO added bug Something isn't working question Further information is requested labels May 15, 2024
@HouseWei
Copy link

HouseWei commented Jan 2, 2025

TargetDiscriminator.py 里面的Discriminator_trained.pth是怎么来的呀?

@DEVILENMO
Copy link
Owner

TargetDiscriminator.py 里面的Discriminator_trained.pth是怎么来的呀?

GAN训练得到的,也就是辨别器。这里你们可以先用SAM手动选出切割好的图片用于生成训练,得到GAN的辨别器以后再使用辨别器达成自动化分割流程

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants