RM新时代网站-首页

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

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

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

使用英特爾開(kāi)發(fā)板部署YOLOv5完成透明物體目標(biāo)檢測(cè)

英特爾物聯(lián)網(wǎng) ? 來(lái)源:英特爾物聯(lián)網(wǎng) ? 2024-12-13 11:50 ? 次閱讀

作者:

楊雪峰 英特爾創(chuàng)新大使

哪吒套件簡(jiǎn)介

Intel的哪吒(Nezha)開(kāi)發(fā)套件是一款專(zhuān)為邊緣AI物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)的高性能計(jì)算平臺(tái),搭載了Intel N97處理器、內(nèi)置IntelUHD Graphics GPU,并提供高達(dá)8GB LPDDR5內(nèi)存與32GB至64GB eMMC存儲(chǔ)選項(xiàng)。它支持Windows和Linux操作系統(tǒng),具備豐富的接口如千兆以太網(wǎng)、HDMI 1.4、USB 3.0/2.0以及GPIO等,兼容樹(shù)莓派擴(kuò)展板。

此外,該套件采用無(wú)風(fēng)扇設(shè)計(jì)并集成了TPM 2.0安全模塊,適用于自動(dòng)化、物聯(lián)網(wǎng)網(wǎng)關(guān)、數(shù)字標(biāo)牌及機(jī)器人等多種場(chǎng)景,結(jié)合OpenVINO工具包可加速深度學(xué)習(xí)模型推理,便于開(kāi)發(fā)者快速構(gòu)建高效且安全的解決方案。

YOLOv5簡(jiǎn)介

YOLOv5是YOLO(You Only Look Once)系列中的一種實(shí)時(shí)對(duì)象檢測(cè)系統(tǒng),它以速度快、準(zhǔn)確性高而聞名。對(duì)于開(kāi)發(fā)者來(lái)說(shuō),YOLOv5提供了一種簡(jiǎn)單易用的方法來(lái)創(chuàng)建高效的對(duì)象檢測(cè)模型。官方GitHub倉(cāng)庫(kù)提供了豐富的資源和示例代碼,可以幫助用戶(hù)快速入門(mén)并開(kāi)始構(gòu)建自己的檢測(cè)器。

哪吒套件部署YOLOv5

YOLOv5以其出色的實(shí)時(shí)性能和高準(zhǔn)確性而受到廣泛歡迎,并且官方提供了詳盡的文檔和支持,與其他設(shè)備相同,在哪吒套件上部署YOLOv5進(jìn)行透明物體目標(biāo)檢測(cè)時(shí),用戶(hù)仍需注意一些關(guān)鍵步驟。

首先,確保開(kāi)發(fā)環(huán)境已正確配置,包括安裝所有必要的依賴(lài)項(xiàng)如Python、PyTorch等。接著,準(zhǔn)備訓(xùn)練數(shù)據(jù)集是至關(guān)重要的一步,這通常涉及將圖像及其標(biāo)注信息按照特定格式整理好。對(duì)于透明物體檢測(cè)這樣的特定任務(wù),可能還需要對(duì)模型做一些微調(diào)以?xún)?yōu)化其識(shí)別能力。整個(gè)過(guò)程雖然需要一定的技術(shù)背景支持,但借助于豐富的在線(xiàn)資源和社區(qū)幫助,即使是初次嘗試者也能順利完成部署。

下面的步驟可以讓你在搭載在哪吒套件的windows平臺(tái)快速上手訓(xùn)練自己的模型。

搭配環(huán)境與安裝依賴(lài)

在win+R中打開(kāi)cmd,輸入以下代碼創(chuàng)建并進(jìn)入一個(gè)名為yolov5s, python3.8版本的虛擬環(huán)境:

conda create -n yolov5s python=3.8
conda activate yolov5s

克隆倉(cāng)庫(kù):從官方GitHub倉(cāng)庫(kù)克隆YOLOv5項(xiàng)目到本地機(jī)器。

git clone https://github.com/ultralytics/yolov5
cd yolov5

然后輸入以下代碼,即可自動(dòng)下載安裝所有需要的庫(kù)

pip install -r requirements.txt

如果下載速度過(guò)慢,可能會(huì)導(dǎo)致報(bào)錯(cuò),可以復(fù)制下面代碼(清華源)到cmd中運(yùn)行,然后在重新進(jìn)行上面下載庫(kù)的步驟:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --ad
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

Trans10k數(shù)據(jù)集準(zhǔn)備

1.數(shù)據(jù)集下載

Trans10K是一個(gè)公開(kāi)的大規(guī)模透明物體分割數(shù)據(jù)集,包含10,428張真實(shí)場(chǎng)景圖像,每張都經(jīng)過(guò)手動(dòng)標(biāo)注。它提供了多樣化的透明物體樣本,如杯子、瓶子和窗戶(hù)等。數(shù)據(jù)集分為訓(xùn)練(5,000張)、驗(yàn)證(1,000張)和測(cè)試(4,428張)三部分,并進(jìn)一步細(xì)分為簡(jiǎn)單和困難類(lèi)別,整個(gè)數(shù)據(jù)集大小約為10.6GB。

可以使用相應(yīng)的SDK進(jìn)行下載:

pip install openxlab #安裝
pip install -U openxlab #版本升級(jí)
import openxlab
openxlab.login(ak=, sk=) #進(jìn)行登錄,輸入對(duì)應(yīng)的AK/SK
from openxlab.dataset import info
info(dataset_repo='OpenDataLab/Trans10K') #數(shù)據(jù)集信息及文件列表查看
from openxlab.dataset import get
get(dataset_repo='OpenDataLab/Trans10K', target_path='/path/to/local/folder/') # 數(shù)據(jù)集下載
from openxlab.dataset import download
download(dataset_repo='OpenDataLab/Trans10K',source_path='/README.md', target_path='/path/to/local/folder') #數(shù)據(jù)集文件下載

下載后解壓即可。

2.格式化數(shù)據(jù)

Trans10K數(shù)據(jù)集通常包含圖像及其對(duì)應(yīng)的標(biāo)注文件。為了與YOLOv5兼容,您需要確保每個(gè)圖像都有一個(gè)對(duì)應(yīng)的.txt文件,其中包含目標(biāo)框的位置信息。格式如下:

class_index x_center y_center width height

所有坐標(biāo)都是相對(duì)于圖像尺寸的歸一化值(0.0到1.0之間)。

然而Trans10K的標(biāo)注格式不是YOLO格式。

a6e96710-b86c-11ef-93f3-92fbcf53809c.png

這就需要編寫(xiě)一個(gè)腳本來(lái)將標(biāo)注轉(zhuǎn)換為YOLO格式。轉(zhuǎn)換腳本如下:

  import cv2
  import numpy as np
  import os
  from pathlib import Path
  path_to_masks = 'path/to/mask'
  path_to_save_yolo_labels = ' path/to/mask/label'
  def convert_mask_to_bbox(mask_path, save_path):
    # 創(chuàng)建保存路徑
    Path(save_path).mkdir(parents=True, exist_ok=True)
    
    # 遍歷 mask 文件
    for mask_file in os.listdir(mask_path):
      if mask_file.endswith(".png"): # mask 以 .png 格式保存
        mask = cv2.imread(os.path.join(mask_path, mask_file), cv2.IMREAD_GRAYSCALE)
        contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
        
        # 獲取文件名,無(wú)擴(kuò)展名
        filename = os.path.splitext(mask_file)[0]
        bbox_file = open(os.path.join(save_path, filename + ".txt"), 'w')
        
        for contour in contours:
          x, y, w, h = cv2.boundingRect(contour)
          # YOLO 格式:class x_center y_center width height (歸一化到[0,1]范圍)
          img_height, img_width = mask.shape
          x_center = (x + w / 2) / img_width
          y_center = (y + h / 2) / img_height
          width = w / img_width
          height = h / img_height
          # 假設(shè)所有目標(biāo)都是同一類(lèi) (class = 0)
          bbox_file.write(f"0 {x_center} {y_center} {width} {height}
")
                bbox_file.close()
  # 使用示例
  convert_mask_to_bbox(path_to_masks, path_to_save_yolo_labels)

3.組織文件結(jié)構(gòu)

按照YOLOv5的要求組織文件結(jié)構(gòu)。需要以下目錄結(jié)構(gòu):

/path/to/dataset/


├── images/
│  ├── train/
│  └── val/
└── labels/
  ├── train/
  └── val/

images/ 目錄下存放圖像文件。

labels/ 目錄下存放相應(yīng)的標(biāo)注文件(.txt)。

4.配置data.yaml文件

編輯YOLOv5項(xiàng)目中的data.yaml文件或者新建一個(gè)trans10k_data.yaml,指定數(shù)據(jù)集路徑及類(lèi)別信息,如下所示。

train: /path/to/dataset/images/train # 訓(xùn)練圖片路徑
val: /path/to/dataset/images/val   # 驗(yàn)證圖片路徑
nc: 1 # 類(lèi)別數(shù)量,假設(shè)只有一個(gè)類(lèi)別
names: ['transparent_object'] # 類(lèi)別名稱(chēng)列表

啟動(dòng)訓(xùn)練

使用以下命令啟動(dòng)訓(xùn)練過(guò)程。您可以根據(jù)硬件性能調(diào)整圖片大小(--img)、批量大小(--batch)等選項(xiàng)。

python train.py --img 640 --batch 16 --epochs 50 --data data/trans10k_data.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt

訓(xùn)練完成后,就得到了一個(gè)能夠檢測(cè)透明目標(biāo)的模型。

總結(jié)

通過(guò)遵循上述步驟,即使是初學(xué)者也能迅速掌握YOLOv5的訓(xùn)練方法并在Intel的哪吒(Nezha)開(kāi)發(fā)套件上成功運(yùn)行。哪吒套件憑借其高性能的Intel N97處理器、內(nèi)置的Intel UHD Graphics GPU以及高達(dá)8GB的LPDDR5內(nèi)存,為實(shí)時(shí)目標(biāo)檢測(cè)提供了強(qiáng)大的計(jì)算支持。

借助YOLOv5的強(qiáng)大功能以及個(gè)性化的Trans10K數(shù)據(jù)集,用戶(hù)能夠快速開(kāi)發(fā)出針對(duì)透明物體的高度精確的對(duì)象檢測(cè)模型。哪吒套件的無(wú)風(fēng)扇設(shè)計(jì)和豐富的接口選項(xiàng)比如千兆以太網(wǎng)、HDMI 1.4、USB 3.0/2.0等,使其非常適合部署在各種邊緣計(jì)算環(huán)境中,無(wú)論是智能監(jiān)控、工業(yè)自動(dòng)化還是其他物聯(lián)網(wǎng)應(yīng)用,都能提供可靠且高效的解決方案。

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

    關(guān)注

    61

    文章

    9949

    瀏覽量

    171687
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44557

    瀏覽量

    372750
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5032

    瀏覽量

    97371
  • 目標(biāo)檢測(cè)
    +關(guān)注

    關(guān)注

    0

    文章

    209

    瀏覽量

    15605

原文標(biāo)題:開(kāi)發(fā)者實(shí)戰(zhàn)|英特爾開(kāi)發(fā)板部署YOLOv5:完成透明物體目標(biāo)檢測(cè)

文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    YOLOv5】LabVIEW+YOLOv5快速實(shí)現(xiàn)實(shí)時(shí)物體識(shí)別(Object Detection)含源碼

    前面我們給大家介紹了基于LabVIEW+YOLOv3/YOLOv4的物體識(shí)別(對(duì)象檢測(cè)),今天接著上次的內(nèi)容再來(lái)看看YOLOv5。本次主要是
    的頭像 發(fā)表于 03-13 16:01 ?2145次閱讀

    YOLOv5】LabVIEW+TensorRT的yolov5部署實(shí)戰(zhàn)(含源碼)

    今天主要和大家分享在LabVIEW中使用純TensoRT工具包快速部署并實(shí)現(xiàn)yolov5物體識(shí)別
    的頭像 發(fā)表于 08-21 22:20 ?1309次閱讀
    【<b class='flag-5'>YOLOv5</b>】LabVIEW+TensorRT的<b class='flag-5'>yolov5</b><b class='flag-5'>部署</b>實(shí)戰(zhàn)(含源碼)

    在RK3568教學(xué)實(shí)驗(yàn)箱上實(shí)現(xiàn)基于YOLOV5的算法物體識(shí)別案例詳解

    Head)。 整個(gè) YOLOv5 網(wǎng)絡(luò)所作的工作就是: 特征提取-特征加強(qiáng)-預(yù)測(cè)特征點(diǎn)對(duì)應(yīng)的物體情況。 YOLOv5目標(biāo)檢測(cè)流程
    發(fā)表于 12-03 14:56

    如何在您的英特爾? Edison 開(kāi)發(fā)板上更新(刷新)固件

    的任何 LED 燈都沒(méi)有亮。如果 LED 燈亮起,請(qǐng)完成設(shè)置英特爾? Edison 開(kāi)發(fā)板(帶有 Arduino* 擴(kuò)展板)或設(shè)置英特爾? Edison
    發(fā)表于 06-15 15:24

    YOLOv5全面解析教程之目標(biāo)檢測(cè)模型精確度評(píng)估

    ):分類(lèi)器把負(fù)例正確的分類(lèi)-預(yù)測(cè)為負(fù)例(yolov5中沒(méi)有應(yīng)用到)  yolov5中沒(méi)有應(yīng)用TN的原因: TN代表的是所有可能的未正確檢測(cè)到的邊界框。然而在yolo在目標(biāo)
    發(fā)表于 11-21 16:40

    如何YOLOv5測(cè)試代碼?

    使用文檔“使用 YOLOv5 進(jìn)行對(duì)象檢測(cè)”我試圖從文檔第 10 頁(yè)訪(fǎng)問(wèn)以下鏈接(在 i.MX8MP 上部署 yolov5s 的步驟 - NXP 社區(qū)) ...但是這樣做時(shí)會(huì)被拒絕訪(fǎng)問(wèn)
    發(fā)表于 05-18 06:08

    基于YOLOv5目標(biāo)檢測(cè)文檔進(jìn)行的時(shí)候出錯(cuò)如何解決?

    你好: 按Milk-V Duo開(kāi)發(fā)板實(shí)戰(zhàn)——基于YOLOv5目標(biāo)檢測(cè) 安裝好yolov5環(huán)境,在執(zhí)行main.py的時(shí)候會(huì)出錯(cuò),能否幫忙看
    發(fā)表于 09-18 07:47

    英特爾獨(dú)立顯卡上部署YOLOv5 v7.0版實(shí)時(shí)實(shí)例分割模型

    本文將介紹在基于 OpenVINO 在英特爾獨(dú)立顯卡上部署 YOLOv5 實(shí)時(shí)實(shí)例分割模型的全流程,并提供完整范例代碼供讀者使用。
    的頭像 發(fā)表于 12-20 11:32 ?4057次閱讀

    yolov5訓(xùn)練部署全鏈路教程

    本教程針對(duì)目標(biāo)檢測(cè)算法yolov5的訓(xùn)練和部署到EASY-EAI-Nano(RV1126)進(jìn)行說(shuō)明。
    的頭像 發(fā)表于 01-05 18:00 ?3195次閱讀
    <b class='flag-5'>yolov5</b>訓(xùn)練<b class='flag-5'>部署</b>全鏈路教程

    使用旭日X3派的BPU部署Yolov5

    本次主要介紹在旭日x3的BPU中部署yolov5。首先在ubuntu20.04安裝yolov5,并運(yùn)行yolov5并使用pytoch的pt模型文件轉(zhuǎn)ONNX。
    的頭像 發(fā)表于 04-26 14:20 ?879次閱讀
    使用旭日X3派的BPU<b class='flag-5'>部署</b><b class='flag-5'>Yolov5</b>

    在A(yíng)I愛(ài)克斯開(kāi)發(fā)板上用OpenVINO?加速YOLOv8目標(biāo)檢測(cè)模型

    《在 AI 愛(ài)克斯開(kāi)發(fā)板上用 OpenVINO 加速 YOLOv8 分類(lèi)模型》介紹了在 AI 愛(ài)克斯開(kāi)發(fā)板上使用 OpenVINO 開(kāi)發(fā)套件部署
    的頭像 發(fā)表于 05-12 09:08 ?1311次閱讀
    在A(yíng)I愛(ài)克斯<b class='flag-5'>開(kāi)發(fā)板</b>上用OpenVINO?加速<b class='flag-5'>YOLOv</b>8<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>模型

    AI愛(ài)克斯開(kāi)發(fā)板上使用OpenVINO加速YOLOv8目標(biāo)檢測(cè)模型

    《在A(yíng)I愛(ài)克斯開(kāi)發(fā)板上用OpenVINO加速YOLOv8分類(lèi)模型》介紹了在A(yíng)I愛(ài)克斯開(kāi)發(fā)板上使用OpenVINO 開(kāi)發(fā)套件部署并測(cè)評(píng)
    的頭像 發(fā)表于 05-26 11:03 ?1238次閱讀
    AI愛(ài)克斯<b class='flag-5'>開(kāi)發(fā)板</b>上使用OpenVINO加速<b class='flag-5'>YOLOv</b>8<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>模型

    【教程】yolov5訓(xùn)練部署全鏈路教程

    本教程針對(duì)目標(biāo)檢測(cè)算法yolov5的訓(xùn)練和部署到EASY-EAI-Nano(RV1126)進(jìn)行說(shuō)明,而數(shù)據(jù)標(biāo)注方法可以參考我們往期的文章《Labelimg的安裝與使用》。
    的頭像 發(fā)表于 01-29 15:25 ?3407次閱讀
    【教程】<b class='flag-5'>yolov5</b>訓(xùn)練<b class='flag-5'>部署</b>全鏈路教程

    在樹(shù)莓派上部署YOLOv5進(jìn)行動(dòng)物目標(biāo)檢測(cè)的完整流程

    卓越的性能。本文將詳細(xì)介紹如何在性能更強(qiáng)的計(jì)算機(jī)上訓(xùn)練YOLOv5模型,并將訓(xùn)練好的模型部署到樹(shù)莓派4B上,通過(guò)樹(shù)莓派的攝像頭進(jìn)行實(shí)時(shí)動(dòng)物目標(biāo)檢測(cè)。 一、在電腦上訓(xùn)練
    的頭像 發(fā)表于 11-11 10:38 ?905次閱讀
    在樹(shù)莓派上<b class='flag-5'>部署</b><b class='flag-5'>YOLOv5</b>進(jìn)行動(dòng)物<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>的完整流程

    使用英特爾哪吒開(kāi)發(fā)套件部署YOLOv5完成透明物體目標(biāo)檢測(cè)

    英特爾的哪吒(Nezha)開(kāi)發(fā)套件是一款專(zhuān)為邊緣AI和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)的高性能計(jì)算平臺(tái),搭載了英特爾 N97處理器、內(nèi)置英特爾 UHD Graphics GPU,并提供高達(dá)8GB LPD
    的頭像 發(fā)表于 11-25 17:15 ?208次閱讀
    使用<b class='flag-5'>英特爾</b>哪吒<b class='flag-5'>開(kāi)發(fā)</b>套件<b class='flag-5'>部署</b><b class='flag-5'>YOLOv5</b><b class='flag-5'>完成</b><b class='flag-5'>透明</b><b class='flag-5'>物體</b><b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>
    RM新时代网站-首页