# 實驗進度報告 (8月開始) ###### tags: `實驗` [TOC] ## 上次的建議 * **1. 移除Normal、regress、Superscan資料** * **2. 固定Validation資料** * **3. 減少Class(5 -> 2)** * **4. WandB印出固定圖片** * **5. Gth Bounding box放大** ## 後來觀察到的問題 * **1. 有的BOX只有標在前面或後面,那這樣模型前後都框起來了算是?** ![](https://i.imgur.com/8K3J4cy.png) * **2. 有的是在脊椎部分有很多小框,但模型Predict是直接把整個脊椎框起來** * **3. 切Patch的話gth也會被切開,這樣1個框可能會變成3個框跟原本的gth就對不上** * **4. 切Patch的話evaluation會有一點問題,不確定要怎麼解決** * **5. Class一多就算框對也可能會predict錯,或是不確定就多框幾次,造成最後結果降低** * **6. 模型的mAP最高峰幾乎都在前10Epoch的地方,但把預測圖片拿出來看都是亂預測一通** ![](https://i.imgur.com/wiXZSFa.png) ## 實驗 ( Bone-scan ) * **1. 減少Class** 5Class best AP50 : 0.2168 2Class best AP50 : 0.2643 結論 : 簡化問題確實能提升效能,也證明多分類的困難 ![](https://i.imgur.com/iqBiIn7.png) * **2. 放大Bounding box** 2Class best AP50 : 0.2643 Larger best AP50 : 0.3755 結論 : 明顯變好,感覺很合理,因為在轉換的過程中也有數次float轉int造成本來就有偏差 ![](https://i.imgur.com/YRspJIJ.png) * **3. 加上病人上一次照的圖片(有的話才加)** Larger best AP50 : 0.3755 Add best AP50 : 0.3360 結論 : Performance下降(觀察圖片有些位置也根本沒對上,可能反而被當成Noise) ![](https://i.imgur.com/7XbI8Bi.png) * **4. 切Patch(8/16)** 5Class Normal best AP50 : 0.2140 8Patch best AP50 : 0.1899 16Patch best AP50 : 0.1571 結論 : 16Patch容易切到中間部分,8Patch結果比較好,但因為圖片便更精細,或許看回整張應該更好 (事先濾掉沒有病灶的Patch來train,觀察結果使用Patch模型會更sensitive) ![](https://i.imgur.com/lJetaAP.png) * **5. One Class** 2Class best AP50 : 0.3755 1Class best AP50 : 0.4966 1Class 8Patch best AP50 : 0.5163 ![](https://i.imgur.com/2O9sZbC.png) ![](https://i.imgur.com/qC7WYp6.png) ## 放上 ------ Gth ------ // ----- 8Patch ----- // ------ Whole ----- (2個模型預測比較) ![](https://i.imgur.com/R1UnvYy.jpg) ![](https://i.imgur.com/iNPWxUO.jpg) ![](https://i.imgur.com/vrStmd8.jpg) ![](https://i.imgur.com/dJFeaS8.jpg) ![](https://i.imgur.com/q8kzdPy.jpg) ![](https://i.imgur.com/AQqycsW.jpg) ![](https://i.imgur.com/jPQFMot.jpg) ![](https://i.imgur.com/hde6MDg.jpg) ![](https://i.imgur.com/9koLeuc.jpg) ![](https://i.imgur.com/dPPT8TC.jpg) # 2022/08/23 進度 * **1. 嘗試普通的Augmentation (bright, flip)會變好** * **2. 放大box到10pixel recall提到0.6** * **3. 整理data : 把box太大的資料去除(還有整個脊椎的) AP上升(其實去錯了)** * **4. 發現VALID沒有惡性資料又調整了一下** * **5. 嘗試Torchvision新版本的FCOS(沒有Pretrained) 效果略低** * **6. scheduel(必須設1e-4到0)和clean data有效提升AP50 (到0.436了)** * **7. 使用CLAHE做NORMALIZE結果反而變爛** * **8. 整理太多次Data移來移去結果一直變差,索性重來只交換簡單的Train 3_M和Valid 219** * **9. 發現remove的不對** * **10.Augmentation使用shfit rotate有用** * **11.Oversample可以平衡Data,讓訓練較穩定** ==================Code================== for i in reversed(range(len(train_big))): 應改為 for i in reversed(train_big): ## 改動方向 * **1. Loss** * **2. Augmentation** * **3. Data preprocessing** * **4. Model** * **5. Classification概念(loss)、Patch embedding** * **6. Weight** * **7. Patch、oversample** * **8. 病人前後對比** ## 問題 * **1. Validation data設定(按照框的數量還是圖片,切多少算合理)** * **2. 怎樣算是困難的Class** * **3. 有辦法得到更多labeled data嗎** * **4. Class平衡可以train的更好?** ## FCOS baseline mAP50 : 0.4374 (simple valid) Benign : 0.2821510142646426 Equivocal : 0.3937017839686344 Malignant : 0.6363107061547023 ## Patch result: * **Data** |Train | Valid | | :--: |:--:| |1217張|99張| |[1224, 1639, 876] | [156, 72, 20] | * **如果用簡單的Validation set,現在可以train到AP50 : 0.5、0.6** ![](https://imgur.com/TnO9EtV.jpg) * **Bad prediction** ![](https://i.imgur.com/7pzbe8j.jpg) ![](https://i.imgur.com/jyAOjR8.jpg) ![](https://i.imgur.com/UlrSzUx.jpg) ![](https://i.imgur.com/jk548RA.jpg) * **Not bad prediction** ![](https://i.imgur.com/fNxi4CN.jpg) ![](https://i.imgur.com/csgPDyM.jpg) ![](https://i.imgur.com/qycGGVz.jpg) ![](https://i.imgur.com/BHChjlx.jpg) ![](https://i.imgur.com/UUiBwAU.jpg) ![](https://i.imgur.com/YQXPrDJ.jpg) ![](https://i.imgur.com/JQaoOyA.jpg) ![](https://i.imgur.com/nhfzkKM.jpg) ![](https://i.imgur.com/BpYqOoE.jpg) ![](https://i.imgur.com/QUV706P.jpg) ![](https://i.imgur.com/zIoP48W.jpg) ![](https://i.imgur.com/snlpDGY.jpg) ![](https://i.imgur.com/0uchLMB.jpg) # Proposal 討論 1. 題目名稱 Determination of benign or malignant lesion on bone scan using ... (with reference to prior image) 2. 研究目的 (1.自動化 2.輔助工具 3.可以快速量化lesion ) 3. 題目的困難性 (1.資料不平衡 2.bone-scan 解析度 3. false positive smaple 4. data number 5. rare research ) CT不會掃全身,劑量太大,BONE SCAN劑量比較少可以看全身的骨頭 檢測出癌症後照BONE SCAN 肺臟X-RAY 肝臟 超音波 骨頭 BONE SCAN 5. 應用場景 掃完後正式報告還沒出來就有一個初步參考,經驗比較少的醫師可以當作參考 目前在做的事情 因為試了一些都沒有讓object detection變好(還有東西沒試 : 多一張圖和deform) 轉而先做一開始的設定 多一張病人前一次的影像 在classfication上驗證 但效果不彰 討論完要做的事 Classification NOmral : normal + all benign Lesion : have at least one maligant Feature extract Deformable Conv # 2022/08/30 進度 https://hackmd.io/nDWzBzagQke4W0IZBqeChg # 2022/09/13 進度 https://hackmd.io/bXV_KqyLQk6Tpj36RMFkuQ # 2022/09/10 進度 https://hackmd.io/l0yYX7BaT0mGjBm2ALGhaA # 2022/09/20 進度 https://hackmd.io/asl7qqGZT8SeEEVO6Sv63g # 2022/10/06 進度 https://hackmd.io/ZKz2VJTwRLWC8HP2Z9ipAQ # 2022/10/18 進度 https://hackmd.io/I9vZYkxTSke4XPeUmqDOnw # 2022/10/26 進度 https://hackmd.io/6HhIFL0TQ1mNt0bMySwUUA?view # 2022/11/07 進度 https://hackmd.io/m0zmZXIsS96cDvCrIgIpJg?view # 2022/11/16 進度 https://hackmd.io/@oliver8728/B1sid618j