說到機器學習就要提程式設計,配置環境,模型訓練,這讓有需求而無程式設計基礎的朋友們望而卻步。
基於JAVA開發的Weka是一款不錯的機器學習以及資料探勘的開源軟體。在上一個文章(Top期刊中擬南芥高質量摳圖,不用PS用這個,點點滑鼠就搞定)當為大家介紹了一款神器ImageJ,而Weka也作為一個外掛整合在該軟體中。
緊接著軟體彈窗提示開啟圖片,我們這次訓練識別孢子模型,如下圖:
選擇圖片後即可進入WEKA介面。
該介面包括:
- 訓練欄:模型訓練(Train classifier)
- 選項欄:載入模型(Load classifier)、載入資料(Load Data)、新建類別(Create new class)、設定(Settings)
- 標籤欄:新增不同分類(此處分類預設兩個,可以在Settings中進行詳細設定)
我們進入設定,可以對類別進行重新命名,這樣防止混亂。
模型訓練
接下來我們開始訓練模型
首先在ImageJ面板上選擇形狀選擇工具,圈選孢子並填入到孢子分類(紅色模組),同理分類背景(綠色模組)。全選完畢後點擊模型訓練(Train classifier)等待機器訓練完畢。
短暫等待後,我們發現所有孢子都標紅,背景標綠。
模型訓練還不錯,但還需要進行微調。如相鄰較近的孢子被圈成一塊,我們需要將其分開,所以這次我們使用劃線分割並新增到背景標籤中,然後再次進行訓練。
再次訓練後的模型,此時的模型比上次更好,如果還不滿意,可以繼續微調。
個數統計
訓練完畢後選擇 Create result
點選後結果如下圖:
這時只需要這幾步操作:
1、Image→Type→8 bit
2、Image→Adjust→Threshold
3、拖動滑輪調節成 白背景 黑孢子如下圖
4、Process→Filters→Median
5、Process→Binary→Watershed
6、Analyze→Analyze Particles(注意:因為邊界上面有孢子,所以不勾選Exclude on edges)
計數結果如下圖:
模型儲存與呼叫
- 儲存模型:
我們再次回到WEKA介面,然後點選 儲存分類模型 (Save classifier),檔案格式是classifier.model
- 呼叫模型
使用WEKA開啟新的孢子圖片後直接載入模型(Load classifier),然後直接Create result 即可分析圖片,然後重複 個數統計 操作流程即可。
最後
清代彭端淑在《為學一首示子侄》說“天下事有難易乎?為之,則難者亦易矣;不為,則易者亦難矣。人之為學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。”
祝各位,SCI發到手軟~