---
# System prepended metadata

title: AI視覺：影像分類標記&訓練 - 使用 Roboflow

---

# AI視覺：影像分類標記&訓練 - 使用 Roboflow

> 翻譯自 [Roboflow](https://roboflow.com/) 官網文件及 [Gemini](https://gemini.google.com/) 人工智慧生成部份內文，最後由 Aaron Yu 實際操作擷圖並潤稿。

## 一、前言

AI影像分類標記是指使用人工智慧技術對影像進行分類和標記的過程。其目的是為影像添加語義資訊，以便電腦能夠理解和識別影像中的內容。

AI影像分類標記的原理是使用機器學習算法來分析影像中的特徵，並根據這些特徵將影像歸類到特定的類別中。

AI影像分類標記的應用非常廣泛，包括：

* **物體檢測**：在影像中識別和定位特定的物體。
* **圖像搜索**：根據影像中的內容進行搜索。
* **醫學影像分析**：幫助醫生診斷疾病。
* **工業檢測**：檢測產品缺陷。

AI影像分類標記的流程大致如下：

* **數據收集**：收集大量的影像數據。
* **數據標記**：對影像數據進行人工標記，添加語義信息。
* **模型訓練**：使用機器學習算法訓練模型。
* **模型部署**：將訓練好的模型部署到實際應用中。

在數據標記階段，常用的標註工具包括：

* **分類標註**：對影像進行分類。
* **方框標註**：使用方框標註出影像中的物體。
* **像素切割標註**：以多邊形標註出影像中每個物體的類別。
* **關鍵點標註**：標註出影像中某物圖的關鍵點。

![影像分類標記類型](https://hackmd.io/_uploads/Hk7jO2J10.png)


在模型訓練階段，需要根據具體的應用需求選擇合適的機器學習算法。

AI影像分類標記是一項**技術(人力)密集型**的工作，需要大量的數據和計算資源。隨著人工智慧技術的發展，AI影像分類標記的技術將不斷進步，其應用範圍也會越來越廣泛。

下圖為讓小孩**童工標記影像分類**情境：

![_79e372af-be42-40c7-9851-8f3bcbbc61a8](https://hackmd.io/_uploads/S1rtfnkkC.jpg)

下圖為早期使用 [LabelImg](https://github.com/HumanSignal/labelImg) 工具標記影像分類：

![lemon](https://hackmd.io/_uploads/ryOrmhkkR.jpg)

## 二、標註&訓練瑕疵咖啡豆 - 使用[Roboflow](https://roboflow.com/)

[Roboflow](https://roboflow.com/) 是一個影像標記雲端服務，可幫助您快速、輕鬆地為機器學習模型準備影像數據。它提供了一系列工具和功能，可幫助您：

* 上傳和管理您的影像數據。
* 使用各種標註工具標註您的影像。
* 創建和管理您的影像集。
* 訓練和部署您的機器學習模型。


在包裝和準備交付之前，需要對咖啡豆進行多項品質檢查。

專業品嚐師會「杯測」咖啡，以確保其符合特定的口味。可以使用光度計檢查咖啡豆的顏色，以確保符合烘焙曲線。此外，還應該進行一輪目視檢查，尋找石頭和瑕疵豆子，這兩種潛在缺陷不應進入包裝好的咖啡袋中。

可市售的商業豆子有很高比例是瑕疵豆，而瑕疵豆可能會有赭麴黴毒素，如果豆子是在產地就有瑕疵，路途中滋生毒素的機率就會很高，關鍵原因就在於「選豆」。

![broken-beans](https://hackmd.io/_uploads/rJJg3hykA.png)

要建立視覺咖啡豆檢查系統，可以使用電腦視覺。您可以訓練電腦視覺系統來識別咖啡中的破碎豆子，然後將系統部署在裝配線或烘焙廠中，以在包裝並運送給客戶之前對烘焙咖啡進行自動檢查。

在文中，我們將建造一個識別咖啡中瑕疵的分類模型及系統。

### 步驟1.下載影像範例：[咖啡豆(Arabica & Geisha)](https://drive.google.com/drive/folders/1z-adYrmpUzkVe1W1tH5LMuLCKgqtsmDo?usp=sharing)

### 步驟2.建立專案

首先，建立一個[免費的 Roboflow 帳戶](https://app.roboflow.com/)。前往 Roboflow 儀表板，然後按一下「建立專案」按鈕。您將進入一個可以建立新項目的頁面。在此頁面上，為您的專案設定名稱並選擇“Instance Segmentation”項目類型。
![roboflow-1](https://hackmd.io/_uploads/SJx8j311A.png)

### 步驟3：上傳咖啡豆圖片

要訓練視覺模型，您需要代表模型部署環境的圖像。例如，如果您的模型將從自上而下的攝影機部署在裝配線上，您**應該從裝配線上收集影像**。

我們需要收集咖啡豆的圖像。我們還需要包含我們想要識別的缺陷的圖像：瑕疵咖啡豆。如果要分的更細，咖啡的瑕疵豆分為黑豆、發酵豆、黴豆、蟲損豆、羊皮紙豆、碎豆等(Black beans, Fermented beans, Moldy beans, Insect damaged beans, Parchment beans, and Broken beans)，其中蟲損豆是最常見的類型。

我們建議收集 20-30 張圖像用於訓練您的第一個模型。

收集資料後，您可以將它們上傳到 Roboflow。
為此，請將圖像拖曳到 Roboflow 專案的資料上傳頁面中：

![roboflow-2](https://hackmd.io/_uploads/ByHR22k10.png)

您的圖像將在您的瀏覽器中進行處理。當出現將資料上傳到 Roboflow 時，請按一下「**Save and Continue**」按鈕。

### 步驟4：標記咖啡豆圖像

需要訓練電腦視覺模型來識別感興趣的物件。這涉及到用標籤來註釋圖像。由於我們正在訓練物件偵測模型，因此我們將在影像中圍繞感興趣的物件（石頭和其他類似的異物碎片）創建多邊形。這些框將與圖像一起用作訓練模型的輸入。

若要開始標記圖像，請按一下項目側欄中的「註解 **Annotate**」。然後，選擇要註釋的圖像。 Roboflow Annotate介面將會打開，您可以在其中標記資料。

為了建立多邊形，我們將使用「分割任何物件 **Segment Anything** 」支援的多邊形註解工具。該工具允許您單擊一個物件並在該物件周圍產生一個多邊形。這比在每塊碎片周圍手動繪製多邊形更容易。

按鍵盤上的“**S**”。然後，選擇“進階**Advanced**”智慧多邊形選項。然後，您將能夠使用點擊工具來繪製多邊形註解。下圖展示如何使用智慧多邊形建立註解：

![roboflow-3](https://hackmd.io/_uploads/SylUR2JyA.png)

對資料集中的所有影像重複此過程。「註解 **Annotate**」 介面，可以分別管理「未分配**Unassigned**」、「註解中**Annotating**」、「資料集**Dataset**」


![roboflow-3-2](https://hackmd.io/_uploads/ryJqe61yC.png)

以下是已標記的圖像

![roboflow-4](https://hackmd.io/_uploads/rJc0gpy10.png)


### 步驟5：產生資料集版本

標記所有圖像後，您可以產生資料集版本。資料集版本是資料集的即時快照。右側滑動 Bar 工具可以用來手動調整 Train, Valid, Test 比例，最後按「Add Images」

![roboflow-5](https://hackmd.io/_uploads/rJKebakkC.png)

下圖呈現各張圖像用於 Train, Valid, Test 的標記。

![roboflow-6](https://hackmd.io/_uploads/ryrG-ay10.png)

系統會再協助導引到 Dataset 介面。

![roboflow-7](https://hackmd.io/_uploads/B1lS-TyJC.png)

您可以使用「Health Check」介面，檢視已標記的圖像分類，其是否已滿足生成模型的需求(健康)

![截圖 2024-03-26 上午11.37.20](https://hackmd.io/_uploads/HJ1dQp1kC.png)

### 步驟6：預處理和增強

使用「生成Generate」介面您可以將預處理步驟和增強應用到您的資料集版本。預處理步驟為訓練準備影像。增強功能可讓您使用資料集產生新影像，這可能有助於提高模型效能。

![roboflow-8](https://hackmd.io/_uploads/Bk9tW6kyC.png)

下圖為預處理選項，

![roboflow-8-1](https://hackmd.io/_uploads/B1qK-TykR.png)

預處理選項可以加入多個：

![roboflow-8-2](https://hackmd.io/_uploads/H1qtbpyk0.png)

動態修剪：

![roboflow-9](https://hackmd.io/_uploads/HyD6W6JJC.png)

旋轉圖片：

![roboflow-9-1](https://hackmd.io/_uploads/SywaZpyJR.png)

### 步驟7：訓練&匯出模型

使用「版本 Versions」介面，你可以訓練&匯出模型

![roboflow-11](https://hackmd.io/_uploads/B1kbVak1R.png)

因為我們使用的是免費版本，所以只能生成3倍：

![roboflow-10](https://hackmd.io/_uploads/B11-V6yyC.png)

訓練時，使用預設選擇「MS COCO」模型及「V12」版本

![roboflow-11-2](https://hackmd.io/_uploads/HJJ-4TJkR.png)

選擇「Fast」生成模型大概需要花費 15 分鐘，若需要更精準的模型，則需要付費。

![roboflow-11-1](https://hackmd.io/_uploads/rJJbVTkkA.png)

以下是訓練過程：

![roboflow-12](https://hackmd.io/_uploads/HJJb4ayy0.png)

完成模型訓練後，系統會以郵件通知，之後你可以試著上傳圖片，測試該模型：

![roboflow-13](https://hackmd.io/_uploads/B11W4T1kC.png)

## 三、部署咖啡豆檢查模型

您可以使用 「部署 Deployments」介面，選擇要部署的機器位置：

![截圖 2024-03-26 中午12.07.24](https://hackmd.io/_uploads/HypZcaJ10.png)

使用 [Roboflow Inference](https://inference.roboflow.com/) 雲端服務，或在自己的硬體上部署咖啡豆檢查模型，都需要 Inference。 Inference 是一個開源應用程序，可用於運行電腦視覺模型。例如，您可以將檢查系統部署到連接到網路攝影機的 NVIDIA Jetson，該網路攝影機可監視您的組裝線，並在您的裝置上執行模型的 Inference。

你可以不用下載訓練好的模型，直接介接 Roboflow 提供的雲端模型，下圖你可以找到自己訓練好的模型 ID ：

![roboflow-deploy](https://hackmd.io/_uploads/SkNm1el1R.png)



你也可以利用此介面，找到適配的程式語言及環境，來部署機器，以下我們以 Colab 為例：
### ->[測試 Roboflow 自訂模型](https://colab.research.google.com/drive/17pZ3VA7mbgP5DSszPg6ZKXISxRF69wFv?usp=sharing)



## 四、後言

AI 影像識別技術在農業的應用，具有以下幾項好處：

* **提升農業生產力**：台灣農業人口老化，勞動力短缺，AI 影像識別技術可協助農民進行田間管理，提升農業生產力。
* **改善農產品品質**：AI 影像識別技術可應用於農產品分級，提高農產品品質。
* **促進農業產業升級**：AI 影像識別技術可結合其他技術，打造智慧農業系統，促進農業產業升級。

AI 影像識別技術是智慧農業的重要技術之一。AI 影像識別技術可結合其他技術，打造智慧農業系統，實現農業生產的自動化、精準化。

![截圖 2024-03-26 上午10.02.10](https://hackmd.io/_uploads/Hks22s11R.png)

AI 影像識別技術在農業上的應用，可概分為以下幾類：

* **作物病蟲害偵測**：AI 影像識別技術可用於偵測作物病蟲害，及早預警並採取防治措施，減少作物損失。例如，日本農業科技公司 Terra Drone 開發了一款無人機搭載 AI 影像識別系統，可偵測水稻紋枯病、稻熱病等病害。

* **作物生長監測**：AI 影像識別技術可用於監測作物生長狀況，協助農民進行田間管理。例如，美國農業科技公司 Farmers Edge 開發了一款 AI 影像分析平台，可透過衛星影像和無人機影像分析作物葉面積指數、生物量等指標，幫助農民掌握作物生長狀況。

* **農產品分級**：AI 影像識別技術可用於農產品分級，提高分級效率和準確度。例如，中國農業科技公司曠視科技開發了一款 AI 農產品分級系統，可根據農產品的外觀特徵進行分級，提高分級效率和準確度。

* **智慧農業**：AI 影像識別技術可結合其他技術，打造智慧農業系統，實現農業生產的自動化、精準化。例如，荷蘭農業科技公司 Lely 開發了一款智慧牧場管理系統，可透過 AI 影像識別技術監控牛隻健康狀況，並自動化餵食、擠奶等工作。

以下列舉一些具體的應用實例：

* **使用 AI 影像識別技術偵測水稻病蟲害**
農民使用 AI 影像識別技術偵測水稻病蟲害，及早預警並採取防治措施，減少作物損失。例如，日本農業科技公司 [Terra Drone](https://terra-drone.net/global/) 開發了一款無人機搭載 AI 影像識別系統，可偵測水稻紋枯病、稻熱病等病害。該系統可透過無人機拍攝的水稻影像，利用 AI 影像識別技術自動偵測病蟲害，並將偵測結果傳送至農民的智慧型手機或平板電腦，讓農民及早採取防治措施。

* **使用 AI 影像識別技術監測作物生長狀況**
農民使用 AI 影像識別技術監測作物生長狀況，協助農民進行田間管理。例如，美國農業科技公司 [Farmers Edge](https://farmersedge.ca/farmers/) 開發了一款 AI 影像分析平台，可透過衛星影像和無人機影像分析作物葉面積指數、生物量等指標，幫助農民掌握作物生長狀況。該平台可根據作物生長狀況，提供農民施肥、灌溉等田間管理建議，幫助農民提高作物產量和品質。

* **使用 AI 影像識別技術進行農產品分級**
農民使用 AI 影像識別技術進行農產品分級，提高分級效率和準確度。例如，開發一款 AI 農產品分級系統，可根據農產品的外觀特徵進行分級，提高分級效率和準確度。該系統可將農產品影像輸入 AI 影像識別系統，系統會根據農產品的顏色、形狀、大小等特徵進行分級，並將分級結果顯示在螢幕上，幫助農民提高分級效率和準確度。

* **農場使用 AI 影像識別技術打造智慧牧場**
農場使用 AI 影像識別技術打造智慧牧場，實現農業生產的自動化、精準化。例如，荷蘭農業科技公司 [Lely](https://www.lely.com/tw/centers/taiwan/lely-horizon) 開發了一款智慧牧場管理系統，可透過 AI 影像識別技術監控牛隻健康狀況，並自動化餵食、擠奶等工作。該系統可透過攝影機拍攝牛隻影像，利用 AI 影像識別技術自動偵測牛隻的健康狀況，並根據牛隻的健康狀況自動調整餵食量和擠奶時間，幫助農民提高牧場管理效率。


