預先定型的重疊顯示影像分類

重要

Machine Learning 工作室 (傳統) 的支援將於 2024 年 8 月 31 日結束。 建議您在該日期之前轉換成 Azure Machine Learning

自 2021 年 12 月 1 日起,您將無法建立新的 Machine Learning 工作室 (傳統) 資源。 在 2024 年 8 月 31 日之前,您可以繼續使用現有的 Machine Learning 工作室 (傳統) 資源。

ML 工作室 (傳統) 文件即將淘汰,未來將不再更新。

使用 OpenCV 程式庫建立人臉預先定型影像分類模型

類別: OpenCV 程式庫模組

注意

適用于僅限機器學習 Studio (傳統)

Azure Machine Learning 設計工具中提供類似的拖放模組。

模組概觀

本文說明如何在機器學習 Studio (傳統) 中使用預先定型級聯影像分類模組,以偵測影像中的臉部。

此模型是以 OpenCV 程式庫為基礎。 OpenCV 程式庫提供預先定義的模型清單,每個都已優化來偵測特定類型的物件。

深入瞭解預先定型的模型

此影像辨識模型已針對廣泛用於影像辨識工作的大量影像主體進行定型。 這個特定的分類模型已針對臉部偵測優化,並使用 Viola-Jones 的物件偵測演算法。 模型的目的是要識別在正面 view 中包含人臉的影像。

雖然目前只提供一個 OpenCV 影像分類模型,但稍後的版本中可能會有其他的預先定型模型。

使用預先定型的模型

如果您有一組要分析的影像,請依照本主題中所述,將這些影像提供給「 評分模型 」模組的輸入,並附加此模組,以提供預先定型 OpenCV 程式庫模型。

[ 評分模型 ] 模組會使用影像分類模型來判斷影像是否包含人臉,並傳回每個用來作為輸入的影像的機率分數。

以預先定型串聯 影像分類 為基礎的模型無法在新的影像資料上重新定型。

模型的儲存格式與 定型模型交叉驗證模型 模組不相容。

如何設定預先定型 Cascade 影像分類

機器學習中的影像分類模型已使用大型資料集進行定型,且已針對特定的影像類型進行優化。 因此,您只需要提供一組影像作為 計分資料集。 作為輸出,模組會產生分數,指出每個影像是否包含目標影像類型。

  1. 準備和匯入您打算用來評分的影像資料集。 一般而言,資料集中的所有影像都應該是相同的大小。

    您可以使用 [匯 入映射 ] 模組,將影像新增至您的實驗。 請仔細閱讀匯 入影像 的說明,以確保您使用的映射符合需求。 您也必須確定映射可在已定義的儲存選項中存取。

  2. 預先定型串聯影像分類 模組新增至您在 Studio (傳統) 中的實驗。 您可以在 OpenCV 程式庫 類別中找到此模組。

  3. 預先定型的分類器中,從清單中選取其中一個預先定型的分類器。

    目前只有一個分類器可用: 正面臉部(預設為已選取)。

  4. 縮放比例:輸入值,指定影像大小在每個影像縮放時的縮減程度。

    在 OpenCV 程式庫中,分類器的設計可讓您輕鬆地「調整大小」,以便在不同的大小尋找感興趣的物件。 這比調整影像本身的方式更有效率。 因此,若要在影像中尋找不明大小的物件,掃描程式應以不同的比例執行數次。

    建議您嘗試不同的縮放比例,以查看提供最佳影像分類結果的原因。

  5. 鄰近專案數目下限:輸入整數,表示偵測到某個臉部包含在區域中所需的重迭矩形數目下限。

    在 OpenCV 程式庫中,分類器會偵測輸入影像中不同大小的物件。 偵測到的物件會以矩形清單的形式傳回。 鄰近參數會控制需要多少相符專案才能符合偵測到的臉部或功能。 因此,增加此值通常會以涵蓋範圍的成本來提高精確度。

    如需如何計算相鄰專案的範例,請參閱 OpenCv 文件庫檔中的這篇文章: 特徵臉 In OpenCv

  6. (選擇性)您可以使用下列設定來指定模型的影像大小,使其能夠進行更好的預測。 排除不符合需求的映射:

    • 最小高度:輸入最小影像的圖元高度。 如果您指定此屬性的值,則會忽略小於此值的影像。

    • 最大高度。 輸入最大影像的圖元寬度。 如果您指定這個屬性的值,則會忽略大於此值的影像。

    • 寬度下限:輸入最小影像的圖元寬度。 如果您指定此屬性的值,則會忽略小於此值的影像。

    • 最大寬度:輸入最大影像的圖元寬度。 如果您指定這個屬性的值,則會忽略大於此值的影像。

  7. 連線用於計分的影像資料集。

  8. 將 [ 評分模型 ] 模組新增至您的實驗,並連接預先定型的影像分類器和影像的資料集。

  9. 執行實驗。

結果

評分模型的輸出包含影像名稱、評分標籤和標籤的機率分數 (0 或 1) 。 如果影像可能會顯示 (臉部) 的物件,分類器會輸出 "1",否則會輸出 "0"。 例如:

映像名稱 計分標籤 評分機率
MAN001.png true 1
TABLE001.PNG FALSE 0
CHAIR001.PNG FALSE 0

提示

輸出也包含資料集中所有色彩通道的 RGB 值。 因此,若要更輕鬆地查看資料,建議您在實驗中使用 選取資料集中 的資料行,只輸出結果資料行。

技術說明

此課程模組所提供的臉部辨識模型是根據 Viola-Jones 臉部偵測演算法。 如需詳細資訊,請參閱這些資源:

  • 這段影片說明臉部辨識的基本概念,包括 Haar 功能 的定義,以及在臉部偵測中使用它們的方式:臉部 偵測-第1部分

  • 此維琪百科文章根據 Navneet Dalal 和 Bill Triggs 的紙張,描述分類器所使用的方法:方向漸層的 長條圖

  • 如需 OpenCV 程式庫中所提供之臉部辨識演算法的檔,請參閱 Cascade 分類器

注意

此模組不會輸出 OpenCV 程式庫所產生的完整資訊集合。 尤其是,此模組只會輸出臉部是否存在的預測,而且不包含臉部或任何其他資訊的座標。

如果您需要此額外資訊,請考慮使用其他程式庫,例如Microsoft 認知服務所提供的臉部 API

模組參數

名稱 範圍 類型 預設 描述
預先定型的分類器 List PretrainedClassifier 人臉正面 標準 OpenCV 散佈中預先定型的分類器。
比例因素 >= 1.0000000000000002 Float 1.1 用以指定影像大小在每次影像縮放時縮小多少的參數。
鄰近項目數目下限 >=0 整數 3 用以指定每個候選矩形必須保留多少鄰近項目的參數。
高度下限 >=1 整數 100 物件可能高度的下限 (以像素為單位)。 小於此值的物件會被忽略。

參數為選擇性 (Optional)。
最小寬度 >=1 整數 100 物件可能寬度的下限 (以像素為單位)。 小於此值的物件會被忽略。

參數為選擇性 (Optional)。
高度上限 >=1 整數 200 物件可能高度的上限 (以像素為單位)。 大於此值的物件會被忽略。

參數為選擇性 (Optional)。
寬度上限 >=1 整數 200 物件可能寬度的上限 (以像素為單位)。 大於此值的物件會被忽略。

參數為選擇性 (Optional)。

輸出

名稱 類型 Description
定型的模型 ILearner 介面 已定型的二元分類模型

例外狀況

例外狀況 描述
錯誤 0005 如果參數小於特定值,就會發生例外狀況。

如需 Studio (傳統) 模組特定的錯誤清單,請參閱機器學習錯誤碼

如需 API 例外狀況的清單,請參閱機器學習 REST API 錯誤碼

另請參閱

匯入影像
預先定型的重疊顯示影像分類