<style> html, body, .ui-content { background-color: #333; color: #ddd; } /* div * { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important } */ .slides * { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang TC", "Microsoft JhengHei", "微軟正黑", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important ; } body > .ui-infobar { display: none; } .ui-view-area > .ui-infobar { display: block; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style> # 森林樹種AI辨識 梓育 Tue, Oct 18, 2022 11:00 AM --- 此份文件說明森林訓練資料進行新的AI分類模型的訓練及辨識流程,預期產出的分類結果如同下圖的有色區塊: ![](https://i.imgur.com/B5KtWzI.png) --- 前處理流程:森林訓練資料為航攝影像的林地照片經過標記資料(正射)反投影切分出對應林種範圍後,並將資料分塊並用遮掉非對應類別的影像後產製的結果。也就是如下圖所示 | 正射影像 | 反投影影像 | 裁切及遮罩 | | -------- | -------- | -------- | | ![](https://i.imgur.com/0BfaHFI.png)| ![](https://i.imgur.com/tj90Bjj.png)| ![](https://i.imgur.com/PZl7kYP.png)| --- ## 資料集前處理 * 選用需要的林地特徵資料 原本的裁切後檔案(npy)依照林地特徵有多個通道(R,G,B,NIR,...,etc),在此專案中會使用單純RGB三原色的資料進行訓練,但後續模型設計為可選用任意需要的3個通道。 --- ## 資料集切分 * 將資料分為(訓練集:驗證集:測試集)=(5:3:2) ```python= def list_splitter(list_to_split, ratio): np.random.seed(19950304) np.random.shuffle(list_to_split) elements = len(list_to_split) middle = int(elements * ratio) return [list_to_split[:middle], list_to_split[middle:]] train_path_list, val_path_list= list_splitter(npy_list[0], .5) val_path_list, test_path_list= list_splitter(val_path_list, .6) ``` --- ## 資料集切分 * 此份資料所使用的資料類別為下表所示 | 林種 | 類別代碼 | 資料數量 | |:--------:|:--------:|:---------------:| | 冷杉 | 01 | (838:502:336) | | 檜木 | 03 | (2166:1299:867) | | 杉木 | 05 | (741:444:297) | | 柳杉 | 07 | (319:191:128) | | 相思樹 | 10 | (245:147:99) | | 單桿狀竹 | 17 | (98:58:40) | --- ## 影像分類模型 * 修改原有模型架構 由於原本的辨識效果較差,經檢驗後是無法將特徵資訊進一步傳導到最後的辨識層。 ![](https://i.imgur.com/uM6AkMU.png) --- ## 影像分類模型 * 修改原有模型架構 這次導入Transformer架構解決以上問題。 參考資料: * [Image Transformer](https://arxiv.org/abs/1802.05751) * [Vision Transformer(ViT)](https://arxiv.org/abs/2010.11929) * [Swin Transformer](https://arxiv.org/abs/2103.14030) --- ## 訓練結果 * 訓練模型總時間: 21m 30s * 最佳驗證集準確度: 0.9209 * 訓練過程收斂情形 | 模型精確度 | 損失函數 | |:------------------------------------:|:------------------------------------:| | ![](https://i.imgur.com/ZwX9Nvt.png) | ![](https://i.imgur.com/NUUhcYv.png) | --- ## 測試資料集 * 測試資料種筆數: 1760 * 測試資料精確度: 91% (1618/1760) * 測試過程結果 | 類別代碼 | 精確度(預測正確數量/此類別筆數) | |:---------------:|:-------------------------------:| | 1 | 88% (295/334) | | 3 | 93% (810/866) | | 5 | 95% (284/296) | | 7 | 86% (109/126) | | 10 | 83% (83/99) | | 17 | 94% (37/39) |
{"metaMigratedAt":"2023-06-17T12:00:32.600Z","metaMigratedFrom":"YAML","title":"森林樹種AI辨識","breaks":true,"contributors":"[{\"id\":\"929c08eb-2c2f-45a7-8a36-c71a12d57121\",\"add\":4972,\"del\":433}]"}
    432 views