99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

如何應(yīng)用Anomalib在數(shù)據(jù)集不平衡的情況下檢測缺陷?

SDNLAB ? 來源:英特爾物聯(lián)網(wǎng) ? 2023-04-03 17:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)您想進行自動缺陷檢測,但數(shù)據(jù)集不平衡時,Anomalib 是一個很好的工具。

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

讓我們開始吧

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

安裝:

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

1.使用 Python 3.8 版本創(chuàng)建運行 Anomalib + Dobot DLL 的環(huán)境

對于 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 攝像頭,使用簡單的攝像頭應(yīng)用驗證它在正常工作。然后,關(guān)閉該應(yīng)用。

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

1.安裝 Dobot 要求。

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

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

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

校準(zhǔn)坐標(biāo):立方體陣列的左上角初始位置。

位置坐標(biāo):機械臂應(yīng)將立方體放在傳送帶上方的位置。

異常坐標(biāo):釋放異常立方體的位置。

然后在 notebook 中替換這些坐標(biāo)。

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

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

|圖 2:Dobot Studio 界面。

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

01

Notebook 的數(shù)據(jù)采集和推理

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

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

|圖 3:用于第一輪訓(xùn)練的數(shù)據(jù)集。

在采集數(shù)據(jù)時,請務(wù)必將 acquisition 變量設(shè)置 為 True 來運行notebook,并為沒有異常的數(shù)據(jù)定義“正?!蔽募A,為異常圖像定義“異?!蔽募A。數(shù)據(jù)集將直接在 Anomalib 克隆的文件夾中創(chuàng)建,所以我們將看到 Anomalib/dataset/cubes 文件夾。

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

推理:

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

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

訓(xùn)練:

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

現(xiàn)在,讓我們深入了解一下訓(xùn)練 notebook!

02

導(dǎo)入

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

配置:

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

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

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

|圖 4:訓(xùn)練和驗證模塊。

數(shù)據(jù)集管理器:

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

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

模型管理器:

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

回調(diào)(Callbacks)管理器:

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

訓(xùn)練:

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

驗證:

我們使用 OpenVINO 推理進行驗證。在之前的導(dǎo)入部分,我們導(dǎo)入了 anomalib.deploy 模塊中的 OpenVINOInferencer?,F(xiàn)在,我們將用它來運行推理并檢查結(jié)果。首先,我們需要檢查 OpenVINO 模型是否在結(jié)果文件夾中。

預(yù)測結(jié)果:

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

predictions = inferencer.predict(image=image)

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

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

|圖 5:預(yù)測結(jié)果

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

03

使用您自己的數(shù)據(jù)集的技巧和建議

數(shù)據(jù)集轉(zhuǎn)換:

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

強大的模型:

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






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關(guān)注

    關(guān)注

    213

    文章

    29718

    瀏覽量

    212758
  • dll
    dll
    +關(guān)注

    關(guān)注

    0

    文章

    116

    瀏覽量

    46183
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86678
  • Ubuntu系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    4302

原文標(biāo)題:如何應(yīng)用Anomalib在數(shù)據(jù)集不平衡的情況下檢測缺陷?-- 下篇

文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    無軸承異步電機的不平衡振動補償控制

    異步電機轉(zhuǎn)子的不平衡振動位移幅度,在穩(wěn)態(tài)能基本消除不平衡振動激振力對軸心軌跡的影響,從而有效提高轉(zhuǎn)子的懸浮運行控制精度。所給不平衡振動補償控制策略是有效、可行的 純分享帖,點擊下
    發(fā)表于 07-14 17:37

    輪轂電機不平衡電磁力對車輪定位參數(shù)的影響

    [摘要] 輪轂電機驅(qū)動電動汽車將電機、減速機構(gòu)和制動器等高度集成于車輪內(nèi)。不同路面激勵的輪胎跳動、載荷不均和軸承磨損等造成電機氣隙沿圓周分布不均,其所產(chǎn)生的不平衡電磁力將會通過減速機構(gòu)或直接傳遞
    發(fā)表于 06-10 13:17

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

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

    B0430J50100AHF超小型不平衡轉(zhuǎn)平衡變壓器

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    不平衡電流和零序電流的區(qū)別是什么

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

    三相電流不平衡會產(chǎn)生零序電流嗎

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

    什么情況下會產(chǎn)生零序電流

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