---
# System prepended metadata

title: 實驗進度報告 (8月開始)
tags: [實驗]

---

# 實驗進度報告 (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變好(還有東西沒試 :　多一張圖和ｄｅｆｏｒｍ)
轉而先做一開始的設定 多一張病人前一次的影像 在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