女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何應用Anomalib在數據集不平衡的情況下檢測缺陷?

SDNLAB ? 來源:英特爾物聯網 ? 2023-04-03 17:48 ? 次閱讀

當您想進行自動缺陷檢測,但數據集不平衡時,Anomalib 是一個很好的工具。

在這個示例中,我們將介紹一個令人振奮的 Dobot 機器人工業用例,其中的機械臂用于教育、工業和智能用例中。如果您沒有可用的 Dobot 機器人,您可以簡單地修改 notebook,避開、注釋或改變機器人代碼,使其為您所用。

讓我們開始吧

為了解 Anomalib 的工作原理,我們將看一個檢查彩色立方體的生產線。其中一些立方體會有洞或缺陷,需要從傳送帶上取下。由于這些缺陷在生產線上并不常見,我們將為我們的 AI 模型拍攝一些圖像。

安裝:

按照以下步驟使用源文件安裝 Anomalib:

1.使用 Python 3.8 版本創建運行 Anomalib + Dobot DLL 的環境

對于 Windows,使用以下代碼:

python -m venv anomalib_env

anomalib_envScriptsactivate

對于 Ubuntu:

python3 -m venv anomalib_env

source anomalib_env/bin/activate

2.從 GitHub 存儲庫中安裝 Anomalib 及 OpenVINO 要求(在這篇博文中,我們將不使用 pip 安裝命令):

python –m pip install –upgrade pip wheel setuptools

cd anomalib

pip install -e . [openvino]

3.安裝 Jupyter Lab 或 Jupyter Notebook:

pip install notebook

pip install ipywidgets

4.然后連接您的 USB 攝像頭,使用簡單的攝像頭應用驗證它在正常工作。然后,關閉該應用。

可選:如果您可以訪問 Dobot,請實施以下步驟:

1.安裝 Dobot 要求。

2.檢查 Dobot 的所有連接狀態,并使用 Dobot Studio 驗證它在正常工作。

3.將通風配件安裝在 Dobot 上,并使用 Dobot Studio 驗證它在正常工作。

4.在 Dobot Studio(圖 2)中,點擊“Home”按鈕,找到:

校準坐標:立方體陣列的左上角初始位置。

位置坐標:機械臂應將立方體放在傳送帶上方的位置。

異常坐標:釋放異常立方體的位置。

然后在 notebook 中替換這些坐標。

5.如需使用機器人運行 notebook,從這里下載 Dobot API 和驅動程序文件,并將它們添加到存儲庫 Anomalib 文件夾的 notebooks/500_uses_cases/dobot 中。

d7a4bfcc-cee3-11ed-bfe3-dac502259ad0.png

|圖 2:Dobot Studio 界面。

注:如果沒有機器人,您可以轉到另一個 notebook,如 501b notebook,通過這個鏈接下載數據集,并在那里嘗試訓練和推理。

01

Notebook 的數據采集和推理

下面,我們需要使用正常的數據集創建文件夾。在這個示例中,我們創建了一個彩色立方體的數據集,并為異常情況添加一個黑色圓圈貼紙,以模擬盒子上的洞或缺陷(圖 3)。對于數據采集和推理,我們將使用 501a notebook。

d7e3d928-cee3-11ed-bfe3-dac502259ad0.png

|圖 3:用于第一輪訓練的數據集。

在采集數據時,請務必將 acquisition 變量設置 為 True 來運行notebook,并為沒有異常的數據定義“正常”文件夾,為異常圖像定義“異常”文件夾。數據集將直接在 Anomalib 克隆的文件夾中創建,所以我們將看到 Anomalib/dataset/cubes 文件夾。

如果您沒有機器人,您可以修改代碼以保存圖像或使用下載的數據集進行訓練。

推理:

對于推理,acquisition 變量應該是 False,我們不會保存任何圖像。我們將讀取采集到的視頻幀,使用 OpenVINO 運行推理,并決定放置立方體的位置:對于正常立方體,放置在傳送帶上;對于異常立方體,放置在傳送帶外。

我們需要識別采集標記 — 采集模式為 True,推理模式為 False。在采集模式下,要注意是創建正常還是異常文件夾。例如,在采集模式下,notebook 會將每張圖像保存在 anomalib/datasets/cubes/{FOLDER} 中,以便進一步訓練。在推理模式下,notebook 不會保存圖像;它將運行推理并顯示結果。

訓練:

對于訓練,我們將使用 501b notebook。在這個 notebook 中,我們將使用 PyTorch Lighting,并使用“Padim”模型進行訓練。這種模型有幾個優點:我們不需要 GPU,只用 CPU 就可以完成訓練過程,而且訓練速度也很快。

現在,讓我們深入了解一下訓練 notebook!

02

導入

在這一部分,我們將解釋用于該示例的軟件包。我們還將從 Anomalib 庫中調用需要使用的軟件包。

配置:

有兩種方法來配置 Anomalib 模塊,一種是使用配置文件,另一種是使用 API。最簡單的方法是通過 API 查看該庫的功能。如果您希望在您的生產系統中實施 Anomalib,請使用配置文件 YAML 文件,它是核心訓練與測試進程,包含數據集、模型、試驗和回調管理(圖 4)。

在接下來的部分,我們將描述如何使用 API 配置您的訓練。

d838d310-cee3-11ed-bfe3-dac502259ad0.png

|圖 4:訓練和驗證模塊。

數據集管理器:

通過 API,我們可以修改數據集模塊。我們將準備數據集路徑、格式、圖像大小、批量大小和任務類型。然后,我們使用以下代碼將數據加載到管道中。

i, data = next(enumerate(datamodule.val_dataloader()))

模型管理器:

對于異常檢測模型,我們使用 Padim,您也可以使用其他 Anomalib 模型,如:CFlow、CS-Flow、DFKDE、DFM、DRAEM、FastFlow、Ganomaly Patchcore、Reverse Distillation 和 STFPM。此外,我們使用 API 設置了模型管理器;使用 anomalib.models 導入 Padim。

回調(Callbacks)管理器:

為了適當地訓練模型,我們需要添加一些其他的“非基礎”邏輯,如保存權重、盡早終止、以異常分數為基準以及將輸入/輸出圖像可視化。為了實現這些,我們使用回調Callbacks。Anomalib 有自己的Callbacks,并支持 PyTorch Lightning 的本地callbacks。通過該代碼,我們將創建在訓練期間執行的回調列表。

訓練:

在設置數據模塊、模型和callbacks之后,我們可以訓練模型了。訓練模型所需的最后一個組件是 pytorch_lightning Trainer 對象,它可處理訓練、測試和預測管道。復制鏈接,查看 notebook 中的 Trainer 對象示例。

驗證:

我們使用 OpenVINO 推理進行驗證。在之前的導入部分,我們導入了 anomalib.deploy 模塊中的 OpenVINOInferencer。現在,我們將用它來運行推理并檢查結果。首先,我們需要檢查 OpenVINO 模型是否在結果文件夾中。

預測結果:

為了實施推理,我們需要從 OpenVINOinference(我們可在其中設置 OpenVINO 模型及其元數據)中調用 predict 方法,并確定需要使用的設備:

predictions = inferencer.predict(image=image)

預測包含與結果有關的各種信息:原始圖像、預測分數、異常圖、熱圖圖像、預測掩碼和分割結果(圖 5)。根據您要選擇的任務類型,您可能需要更多信息。

d84f324a-cee3-11ed-bfe3-dac502259ad0.png

|圖 5:預測結果

最后,我們采用 Dobot 機器人的缺陷檢測用例基本是這樣的。

03

使用您自己的數據集的技巧和建議

數據集轉換:

如果您想提高模型的準確性,您可以在您的訓練管道中應用數據轉換。您應該在 config.yaml 的 dataset.transform_config 部分提供增強配置文件的路徑。這意味著您需要有一個用于 Anomalib 設置的 config.yaml 文件,以及一個可供 Anomalib config yaml 文件使用的單獨 albumentations_config.yaml 文件。

強大的模型:

異常檢測庫并非無所不能,在碰到麻煩的數據集時也可能會失效。好消息是:您可以嘗試 13 個不同的模型,并能對每個實驗的結果進行基準測試。您可以將基準測試入口點腳本用于其中,并將配置文件用于基準測試目的。這將幫助您為實際用例選擇最佳模型。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    213

    文章

    29482

    瀏覽量

    211546
  • dll
    dll
    +關注

    關注

    0

    文章

    116

    瀏覽量

    46071
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86178
  • Ubuntu系統
    +關注

    關注

    0

    文章

    91

    瀏覽量

    4235

原文標題:如何應用Anomalib在數據集不平衡的情況下檢測缺陷?-- 下篇

文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    伺服電機三相不平衡原因及解決方法

    系統分析造成伺服電機三相不平衡的六大根源,并提供針對性的解決方案,幫助工程師從源頭消除隱患。 一、電源質量缺陷引發的相位失衡 電網電壓波動是導致三相不平衡的首要因素。當輸入電壓偏差超過額定值的±5%時,電機繞組阻抗
    的頭像 發表于 05-06 07:40 ?185次閱讀
    伺服電機三相<b class='flag-5'>不平衡</b>原因及解決方法

    B0430J50100AHF超小型不平衡平衡變壓器

    B0430J50100AHF超小型不平衡平衡變壓器B0430J50100AHF是Anaren推出的一款超小型、低成本且低輪廓的不平衡平衡變壓器,專為滿足新一代A/D和D/A轉換器I
    發表于 02-08 09:26

    平衡電阻器可以改為不平衡

    在電子電路中,平衡電阻器與不平衡電阻器各自扮演著重要的角色。平衡電阻器主要用于實現電路的平衡和穩定性,減少噪音和干擾,提高信號質量。而不平衡
    的頭像 發表于 01-30 14:31 ?1040次閱讀

    朗凱威探秘磷酸鐵鋰電池組電壓不平衡的“前世今生”

    磷酸鐵鋰電池組133-2632-1310電壓不平衡在實際使用中有多種具體表現。其中最明顯的是單體電池間電壓差異明顯。在正常工作狀態,單體電池間的電壓差應不超過 0.1V。如果超出這個范圍,就可能出現電壓不平衡
    的頭像 發表于 11-29 16:51 ?2915次閱讀
    朗凱威探秘磷酸鐵鋰電池組電壓<b class='flag-5'>不平衡</b>的“前世今生”

    電容器不平衡保護動作原因分析

    電容器不平衡保護動作的原因多種多樣,主要包括以下幾個方面: 1. 電容器組內部故障 電容量不平衡 :電容器組中的電容器由于老化、損壞或制造差異,可能導致三相電容量不平衡。當三相之間電容值差異較大
    的頭像 發表于 09-20 15:43 ?2330次閱讀

    LCR測試儀如何測量不平衡度?

    在電路設計和維修中,了解電路元件的特性是非常重要的。LCR測試儀就是一種常用的檢測儀器,它可以測量電感(L)、電容(C)和電阻(R)的參數。其中,測量不平衡度是LCR測試儀的一項重要功能。那么
    的頭像 發表于 08-26 16:49 ?883次閱讀
    LCR測試儀如何測量<b class='flag-5'>不平衡</b>度?

    電容電壓分配不平衡的影響

    電容電壓分配不平衡(也稱為電容器電壓不均衡)在電力系統中可能會產生多種負面影響,具體包括以下幾點: 1、過壓導致的電容器損壞 電壓不平衡會導致某些電容器承受過高的電壓,超過其額定值。這種過壓可能會
    的頭像 發表于 08-09 14:15 ?1475次閱讀
    電容電壓分配<b class='flag-5'>不平衡</b>的影響

    INA240使用+3V-1.6V給運放供電,不平衡正負電源是否對運放使用性能造成什么影響?

    如果使用+3V-1.6V給運放供電,不平衡正負電源是否對運放使用性能造成什么影響,假設我對于一些寬電源供電的運放使用+24V-5V不平衡運放情況是否又和這種窄供電電源運放情況類似
    發表于 07-30 07:56

    三相電流不平衡對電壓影響大嗎

    都會產生影響。 三相電流不平衡的定義 三相電流不平衡是指在三相交流電力系統中,三個相的電流幅值不相等,或者電流相位存在差異。理想情況下,三相電流的幅值和相位應該完全相同,這樣才能保證電力系統的穩定運行。然而,在實際應
    的頭像 發表于 07-25 16:28 ?2385次閱讀

    三相負載不平衡會引起零序電流嗎

    會。三相負載不平衡是指在三相電力系統中,三個相的負載電流不相等。這種情況在實際應用中是比較常見的,比如在工業生產、民用建筑等場合。三相負載不平衡會引起一系列的問題,其中之一就是零序電流的產生。 一
    的頭像 發表于 07-25 16:26 ?2227次閱讀

    不平衡電流和零序電流的區別是什么

    電流的幅值或相位存在差異的電流。在理想情況下,三相電流應該是完全平衡的,即三相電流的幅值和相位都相等。然而,在實際應用中,由于負載的不對稱性或系統元件的故障,三相電流往往會出現不平衡現象。 零序電流 是指在三相電
    的頭像 發表于 07-25 16:24 ?3507次閱讀

    三相電流不平衡會產生零序電流嗎

    、三相電流不平衡的概念 三相電流不平衡是指在三相交流電力系統中,三相電流的大小或相位存在差異。在理想情況下,三相電流應該是大小相等、相位相差120度的正弦波形。但在實際應用中,由于負載的不對稱性、系統元件的故障、
    的頭像 發表于 07-25 16:22 ?2421次閱讀

    什么情況下會產生零序電流

    零序電流是指在三相電力系統中,三相電流的矢量和不為零的情況。在正常情況下,三相電力系統中的三相電流是平衡的,即三相電流的矢量和為零。但是,在某些特殊情況下,三相電流的矢量和不為零,就會
    的頭像 發表于 07-15 14:53 ?6888次閱讀

    軟啟動三相不平衡的解決辦法有哪些

    軟啟動三相不平衡是指在軟啟動過程中,三相電動機的電流不平衡,導致電動機的運行效率降低,甚至可能引發電動機的損壞。針對這個問題,我們可以從多個方面進行解決。 一、軟啟動三相不平衡的原因分析 電源電壓
    的頭像 發表于 07-02 09:40 ?4814次閱讀

    軟啟動報三相電流不平衡怎么處理

    軟啟動器是一種用于電動機啟動的電氣設備,它可以有效地降低電動機啟動時的電流沖擊,減少對電網和電動機的影響。然而,在實際應用中,軟啟動器有時會出現三相電流不平衡的問題,這會對電動機的正常運行和軟啟動
    的頭像 發表于 06-18 11:44 ?6612次閱讀