zju3dv / snake

Code for "Deep Snake for Real-Time Instance Segmentation" CVPR 2020 oral
Other
1.15k stars 229 forks source link

how to make coco dataset label not to Too sensitive? #73

Closed zoearthmoon closed 4 years ago

zoearthmoon commented 4 years ago

hello! i need help for coco dataset label now i can use coco dataset label to train snake model but it is Too sensitive many image is not have target than model label that

i have search for the way to "coco dataset label there is no target !" like this but i dont found any solution...

@pengsida can you help me ? thank you! 😊

pengsida commented 4 years ago

What do you mean by "Too sensitive" and "many image is not have target than model label that". If you are Chinese, you could talk about this problem in Chinese.

zoearthmoon commented 4 years ago

@pengsida 您好 我的英文不是很好 抱歉 我的情況是 我目前要標示的東西是 CT + PET 影像 所以腫瘤的特徵會很容易類似 所以雖然我有標示了很多腫瘤去訓練 但是也有很多 不是腫瘤 但是數值高的地方被看成是 腫瘤 所以我是在想 有沒有辦法可以告訴模型說 "這邊不是腫瘤 這邊什麼也沒有 很正常" 這種狀態 感謝您 @pengsida 😘

pengsida commented 4 years ago

正常训练应该就可以,因为一张图片中一般会有不是肿瘤的区域。

zoearthmoon commented 4 years ago

@pengsida 您好 感謝您的回覆 但是目前我確實有遇到訓練出來的模型"標示出很多假陽性"的情況 且不拿 CT PET影像來說

例如原本 sbd的模型中 辨識人的影像也常常會有標記到不是"人"的影像 例如一些看起來像是人的招牌或是圖案

該如何解決這問題 讓模型知道這不是 "人"呢? 就是依照您的經驗會如何解決這問題呢? 感謝您 😊

pengsida commented 4 years ago

对于这个问题,可能是因为ct_score设的比较低的原因。

zoearthmoon commented 4 years ago

感謝 @pengsida 您的回應 這也是我同事有建議的 我後來有將 coco dataset 把 segmentation 與 bbox 都設定成空的情況下 針對 無資料的影像 去訓練 發現好像是有改善 我會持續實驗看看 感謝您的回應

zoearthmoon commented 4 years ago

@pengsida 不好意思 我有個小問題 不知能否在這邊一起發問

就是我取得預測結果的 output 中的 'detection': tensor([[65.2484, 78.9559, 68.7516, 83.0441, 0.4779, 0.0000]], device='cuda:0')

請問要如何解讀這些數值呢? 我想要取得的是 score 與 類型編號 我有搜尋很多文章 但都沒有一個完整說明

另外是 我在圈選時候 發現輸出的座標在 image 物件時候好像必須 * 0.96 小一點 圈選位置才會正確 但是我看您的程式直接畫在 plt 上卻是正常 小弟才疏學淺,看不出所以然...

不知 @pengsida 大神是否可以提供一些方向 非常感恩

pengsida commented 4 years ago
  1. detection的结果:https://github.com/zju3dv/snake/issues/64
  2. 因为输入的图片做过变换,所以输出的坐标有偏差。我直接画在plt显示正常,是因为这里的图片是变换后的图片,不是原图。
zoearthmoon commented 4 years ago

@pengsida 大神您好 我想問一個比較無理的問題 因為我現在可能需要把 "辨識" 模組 移轉到 只有 CPU 的 SERVER 上執行 (只執行辨識,不執行訓練) 想問的是說

  1. 這是有可能做得到嗎?

  2. 我發現不載入 csrc 這裡面需要編譯的程式也無法執行辨識,這可以避免嗎?

  3. 假設csrc 這裡面的東西一定需要,則需要重新編譯,但是編譯時候可以使用 pytorch cpu 版本 且沒有 CUDA 的狀態下編譯嗎?

感謝 @pengsida 大神的回應 非常感謝您😀

pengsida commented 4 years ago
  1. 这可以做到。
  2. 需要载入csrc里面的一些代码,不能避免。
  3. 我只写了cuda版本的。如果要在cpu上运行,需要写个cpu版本的代码。
zoearthmoon commented 4 years ago

@pengsida 大神您好 不知道您可否幫忙 假設要修改成 CPU版本

  1. 會需要修改哪邊呢?
  2. 可否提供一行範例就好.我想我應該可以舉一反三 小弟不才 對於編譯這檔事情經驗不夠豐富 非常感謝 @pengsida 大神的熱情協助😊
pengsida commented 4 years ago

改成CPU版本,需要把CUDA版本的代码思路读懂,然后自己用c实现,需要改lib/csrc/extreme_utils。 对于dcn_v2,我是用的别人的代码,不知道他们是否实现了cpu版本。 改成CPU版本需要基本重写代码,不是几行代码可以解决的,可以参考lib/csrc/roi_align_layer里怎么实现cpu版本的roi_align

zoearthmoon commented 4 years ago

@pengsida 感謝大神 我會盡量試試 當然如果最終方案 伺服器可以新增 顯卡GPU是最好 不過做為程式人 就是要先考慮最糟的情況 不能讓專案就廢了...

感謝 @pengsida 大神協助!!

zoearthmoon commented 4 years ago

@pengsida 大神您好

我最近在研究整體架構 有個問題想請教您

  1. 論文中的 backbone 就是DLA34 對吧? 或是說 預設是 DLA34? 我有看到 ct rcnn 與 rcnn snake
  2. 我看您的論文中並沒有比較不同backbone 的實驗結果,是說您沒有做這實驗還是我漏看呢?

非常感謝 @pengsida 大神回饋!感謝😀

pengsida commented 4 years ago
  1. 网络用的是DLA34。
  2. 我没有比较不同backbone的实验结果。
zoearthmoon commented 4 years ago

@pengsida 感謝大神在線解答! 我還有點小問題 為什麼選用 DLA34呢? 非常感謝 因為我想運用在 CT PET的研究上 想要多了解一點

pengsida commented 4 years ago

因为CenterNet用的是DLA34,我用了发现效果挺好的,就没换。