ChaoningZhang / MobileSAM

This is the official code for MobileSAM project that makes SAM lightweight for mobile applications and beyond!
Apache License 2.0
4.86k stars 505 forks source link

generate 生成mark时间很长呀,同等gpu,我对比了FastSAM,FastSAM 只需要 0.1s,而 MobileSAM 需要 7s #65

Open sunmouren opened 1 year ago

sunmouren commented 1 year ago

image image

是我们运行姿势不对???

fanlinfuture commented 1 year ago

是这样的,看作者的回复: https://github.com/ChaoningZhang/MobileSAM/issues/52

sunmouren commented 1 year ago

好的 谢谢回复 但是还是很疑惑,不都是同样分割全部可分割的物体吗,并且都是生成了mark,有区别吗

fanlinfuture commented 1 year ago

看了一下code,区别挺大的,FastSAM都是先seg everything,然后根据prompt来做filter,也就是只调用一次encoder和decoder, SAM做seg everything的时候会调用多次encoder和decoder

sunmouren commented 1 year ago

看了一下code,区别挺大的,FastSAM都是先seg everything,然后根据prompt来做filter,也就是只调用一次encoder和decoder, SAM做seg everything的时候会调用多次encoder和decoder

我懂你意思了,不过我觉得假如有一个任务,我只需要SAM模型不用pprompt就可以快速分割出图片中的全部物体,并且可以获取对应分割的物体的坐标,直接用FastSAM更方便,更快速,而这个MobileSAM要得到同样的效果就很慢。

woshitiancai321 commented 1 year ago

看了一下code,区别挺大的,FastSAM都是先seg everything,然后根据prompt来做filter,也就是只调用一次encoder和decoder, SAM做seg everything的时候会调用多次encoder和decoder

那是不是FastSAM就是把SAM模型全部重新换成yolov8作为backbone进行训练呀

fanlinfuture commented 1 year ago

看了一下code,区别挺大的,FastSAM都是先seg everything,然后根据prompt来做filter,也就是只调用一次encoder和decoder, SAM做seg everything的时候会调用多次encoder和decoder

那是不是FastSAM就是把SAM模型全部重新换成yolov8作为backbone进行训练呀

不仅是backbone,它是基于完整的yolov8的分割结果,然后引入prompt来后期filter

woshitiancai321 commented 1 year ago

看了一下code,区别挺大的,FastSAM都是先seg everything,然后根据prompt来做filter,也就是只调用一次encoder和decoder, SAM做seg everything的时候会调用多次encoder和decoder

那是不是FastSAM就是把SAM模型全部重新换成yolov8作为backbone进行训练呀

不仅是backbone,它是基于完整的yolov8的分割结果,然后引入prompt来后期filter 谢谢,还在学习,我也不懂哪种方法更好。。。