Skip to content
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

想让TensorRTX对Yolov8-seg生成的模型文件转engine后,支持对多通道(比如6通道)的输入图像的推理,该如何修改? 急需这个功能,可是改了一个星期也没成功。求大神指教。 #1578

Open
retioa11 opened this issue Sep 20, 2024 · 3 comments

Comments

@retioa11
Copy link

retioa11 commented Sep 20, 2024

最终目的是为了做遥感影像的变化检测(给定两张同一位置的不同拍摄日期的遥感图片,检测两张图片的变化)。网上找的其他做变化检测的基于深度学习的方法一般只有Python代码,而客户的项目需求是最终部署到C++平台,自己写不会写,能力有限,所以想到了使用Yolov8的语义分割做变化检测,就是把两个3通道的图像合并为6通道后,直接训练6通道的图像,当做语义分割问题。

测试数据下载自:[https://chenhao.in/LEVIR/, 然后又把里面的图片修改成了6通道的tif图像,标签文件也改成了Yolov8-seg的格式,把val和test上传到了百度网盘(链接: https://pan.baidu.com/s/1rpSGgNtX1II7bP7bG_PPnw?pwd=a35q),train文件夹太大了没上传,测试时可使用test文件夹代替。

参考:https://blog.csdn.net/Lizongming_/article/details/135652383 ,把Yolov8的源码修改为可训练和预测6通道的tif图像。
修改前后的Yolov8代码.zip
可使用里面的TT-Train.py文件进行训练6通道的图像,使用TT-TestExport.py进行预测6通道的图像。
image

修改前后的TensorRTX中的Yolov8部分代码.zip
重点修改了preprocess.cu文件,推理时读取两张图片,再使用下图中选中的代码,在显存中合并到一起,很怀疑这里有问题。
image

遇到问题:使用Pt文件测试时,分割变化了的区域的准确率比较高,预计在90%左右,蓝色框是预测结果,白色的区域是GT中的变化区域。
image
test_21图像:
test_21
转engine模型后的使用engine文件测试时,分割变化了的区域的准确率很低,在2%左右,下图中红色的区域是预测的,白色的区域是GT中的变化区域。
image
_test_67图像:
_test_67

@retioa11 retioa11 changed the title 想让TensorRTX对Yolov8-seg生成的模型文件转engine后,支持多通道(比如6通道)的输入图像的推理,该如何修改? 急需这个功能,可是改了一个星期也没成功。求大神指教。 想让TensorRTX对Yolov8-seg生成的模型文件转engine后,支持对多通道(比如6通道)的输入图像的推理,该如何修改? 急需这个功能,可是改了一个星期也没成功。求大神指教。 Sep 20, 2024
Copy link

stale bot commented Nov 27, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Nov 27, 2024
@mpj1234
Copy link
Contributor

mpj1234 commented Dec 5, 2024

首先必须保证你的模型输入是6通道,而且预处理核函数默认是安装三通道出来,你必须修改预处理方式,不仅仅只是memcpy

@retioa11
Copy link
Author

retioa11 commented Dec 8, 2024

谢谢,暂时放弃了。

@stale stale bot removed the wontfix This will not be worked on label Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants