物體偵測解釋
來源:MathWorks
什麼是物件辨識?
物體辨識是一種用於辨識圖像或影像中,物體的電腦視覺技術。物件辨識是深度學習和機器學習演算法的關鍵輸出。當人類觀看照片或觀看影片時,我們可以很容易地發現人、物體、場景和視覺細節。目標是教電腦做人類自然而然的事情:對影像所包含的內容,獲得一水準的理解。
物體辨識是無人駕駛汽車背後的關鍵技術,使它們能夠辨識停車標誌或區分行人和燈柱。它還可用於各種應用,如生物成像、工業檢查和機器人視覺中的疾病辨識。
物件辨識與物件檢測
物件檢測和物件辨識是辨識物件的類似技術,但它們的執行方式各不相同。物件檢測是查詢影像中物件例項的過程。在深度學習的情況下,物件檢測是物件辨識的一個子集,其中物件不僅被辨識,而且位於影像中。這允許在同一影像中辨識和定位多個物件。
物件辨識的工作原理
你可以使用各種方法進行物件辨識。最近,機器學習和深度學習技術,已成為解決物件辨識問題的流行方法。這兩種技術都學會辨識影像中的物件,但它們在執行上有所不同。
下一節解釋了用於物件辨識的機器學習和深度學習之間的區別,並展示了如何實現這兩種技術。
物件辨識技術
使用深度學習進行物件辨識
深度學習技術已成為進行物件辨識的一種流行方法。卷積神經網路或 CNN 等深度學習模型,用於自動學習物件的內在特徵,以辨識該物件。例如,CNN 可以透過分析數千張訓練影像和學習,使貓和狗與眾不同的特徵來學習辨識貓和狗之間的差異。
使用深度學習執行物件辨識有兩種方法:
- 從頭開始訓練模型:要從頭開始訓練深層網路,你收集一個非常大的標記資料集,並設計一個網路架構來學習功能並建構模型。結果可能令人印象深刻,但這種方法需要大量的訓練資料,你需要在 CNN 中設定層和權重。
- 使用預訓練的深度學習模型:大多數深度學習應用,使用轉移學習方法,這個過程涉及對預訓練模型進行微調。你從現有網路(如 AlexNet 或 GoogLeNet)開始,並輸入包含以前未知類的新資料。這種方法耗時較短,可以提供更快的結果,因為該模型已經在數千或數百萬張影像上進行了訓練。
深度學習提供了高水準的準確性,但需要大量資料才能做出準確的預測。
使用機器學習的物件辨識
機器學習技術在物件辨識方面也很受歡迎,並提供與深度學習不同的方法。機器學習技術的常見例子有:
- 使用 SVM 機器學習模型進行 HOG 特徵提取
- 具有 SURF 和 MSER 等功能的詞彙袋模型
- Viola-Jones 演算法,可用於辨識各種物體,包括面孔和上半身
機器學習工作流程
要使用標準機器學習方法執行物件辨識,請從圖像(或影片)集合開始,並選擇每個影像中的相關功能。例如,特徵提取演算法,可能會提取邊緣或角落特徵,這些特徵可用於區分資料中的類。
這些功能被新增到機器學習模型中,該模型將將這些功能分為不同的類別,然後在分析和分類新物件時使用此資訊。
你可以使用各種機器學習演算法和特徵提取方法,這些演算法和特徵提取方法提供了許多組合來建立準確的物件辨識模型。
圖5:用於物件辨識的機器學習工作流程。
使用機器學習進行物件辨識,可以靈活地選擇最佳的功能和分類器組合進行學習。它可以用最少的資料實現準確的結果。
機器學習與深度學習的物件辨識
確定物件辨識的最佳方法,取決於你的應用程式和你試圖解決的問題。在許多情況下,機器學習可能是一種有效的技術,特別是如果你知道影像的哪些特徵,是區分物件類別的最佳特徵。
在機器學習和深度學習之間進行選擇時,要牢記的主要考慮因素是你是否擁有強大的 GPU 和大量標記的訓練映像。如果這些問題的答案都是否定的,那麼機器學習方法可能是最佳選擇。深度學習技術往往在更多影像下工作得更好,GPU 有助於減少訓練模型所需的時間。
其他物件辨識方法
根據應用程式的不同,其他更基本的物件辨識方法可能就足夠了。
- 模板匹配 —— 使用小影像或模板在較大影像中查詢匹配區域
- 影像分割和 blob 分析 —— 使用簡單的物件屬性,如大小、顏色或形狀
通常,如果可以使用影像分割等簡單方法辨識物件,最好從使用更簡單的方法開始。這可以提供一個強大的解決方案,不需要數百或數千個訓練影像或過於複雜的解決方案。
深度學習和機器學習
只需幾行 MATLAB 程式,你就可以建構用於物件辨識的機器學習和深度學習模型,而無需成為專家。
使用 MATLAB 進行物件辨識,使你能夠在更短的時間內取得成功,因為它允許您:
- 使用你的領域專業知識,使用 MATLAB 學習資料科學:你可以使用 MATLAB 來學習,和獲得機器學習和深度學習領域的專業知識。MATLAB 使學習這些領域變得實用且易於理解。此外,MATLAB 使領域專家能夠建立物件辨識模型 —— 而不是將任務交給可能不瞭解你的行業或應用程式的資料科學家。
- 使用應用程式標記資料並建構模型:MATLAB 允許你用最少的程式建構機器學習和深度學習模型。使用分類學習器應用程式,你可以快速建構機器學習模型,並比較不同的機器學習演算法,而無需編寫程式。使用 Image Labeler 應用程式,你可以互動式標記影像中的物件,並在影片中自動標記地面真相,以進行訓練和測試深度學習模型。這種互動式和自動化的方法,可以在更短的時間內帶來更好的結果。
- 將物件辨識整合到單個工作流程中:MATLAB 可以在單個工作流程中統一多個域。藉助 MATLAB,你可以在一個環境中進行思考和寫程式。它為深度學習和機器學習提供了工具和功能,也為這些演算法提供了一系列領域,如機器人、電腦視覺和資料分析。
MATLAB 在企業系統、叢集、雲和嵌入式裝置上自動佈署你的模型。
沒有留言:
張貼留言