--- title: 【軟體】模型訓練知識及流程 tags: TTennis Pickup Robot disqus: hackmd --- <h1 style="text-align: center; color: orange;"> 🛠️ 【軟體】影像處理 🛠️ </h1> <h2 style="text-align: center; color: skyblue;">【物件偵測】模型訓練知識及流程 </h2> <center> 以深度學習進行物件辨識的模型訓練流程如圖。 ![image](https://hackmd.io/_uploads/S1xCqnTc0.png) 我會簡化成 **Collect、Annotate、Train、Deploy** 四階段。 * <font color = "yellow">Collect</font>:蒐集含辨識物件的照片素材。 * <font color = "yellow">Annotate</font>:標記特徵點,並做前處理。 * <font color = "yellow">Train</font>:以神經網路框架和模型訓練。 * <font color = "yellow">Deploy</font>:部署到機器上,應用於終端。 </center> </br> --- <h3><font color="magenza"> 1. 先備知識 </font></h3> :::success **訓練前必須搞懂的:** 機器學習:Cross Validation、Confusion Matrix、Hyperparameter、overfitting 模型指標:confidence、recall、precision、IOU、mAP、AP、confusion matrix **不搞懂也能訓練,但我覺得還是要懂的:** Reinforcement Learning ( 不同於 ML 之處 )、Back Propogation、CNN ::: 這是一些實際訓練的指標: ![image](https://hackmd.io/_uploads/SkAr0deoC.png) ![results](https://hackmd.io/_uploads/S1g8BWGiA.png) </br> --- <h3><font color="magenza"> 2. 模型、神經網路框架 </font></h3> * 模型是利用神經網路進行特定任務(如物件偵測、影像分類等)的具體實現。 * 神經網路框架則是開發、訓練和部署這些模型的工具和環境。 模型在框架中建立、訓練並運行,框架提供必要的庫、函數和計算資源。 * 常見模型:YOLO、Faster R-CNN、MobileNet ... * 常見神經網路框架:Tensorflow、Pytorch、Caffe ... </br> --- <h3><font color="magenza"> 3. 嵌入式相機 vs. GPU </font></h3> > 這裡嵌入式相機是指能獨立進行模型推論,而 GPU 是指相機外部的運算資源。 <font color="yellow">**訓練階段**</font>:一定是用 GPU、TPU 等進行運算。訓練方案可參考 [Training 階段](https://hackmd.io/@925/training)。 <font color="yellow">**部署階段**</font>:可在嵌入式相機或 GPU 中運算。GPU 運算時,相機只需傳遞影像資訊。 嵌入式相機則比較麻煩,因為由 GPU 訓練的權重檔須轉檔為輕量化格式,並燒錄至相機(on-device coding)。詳情可參考 [Deploy 階段](https://hackmd.io/@925/deploy)。 </br></br></br></br></br>