<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 英特爾開(kāi)發(fā)板部署 YOLOv5:完成透明物體目標(biāo)檢測(cè)

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

          作者:楊雪峰 英特爾創(chuàng)新大使 時(shí)間:2025-02-10 來(lái)源:OpenVINO 中文社區(qū) 收藏

          Intel 的哪吒(Nezha)是一款專(zhuān)為邊緣AI和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)的高性能計(jì)算平臺(tái),搭載了Intel? N97處理器、內(nèi)置 Intel? UHD 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ò)展板。

          本文引用地址:http://www.ex-cimer.com/article/202502/466786.htm

          此外,該套件采用無(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è)器。

          圖片

          GitHub: https://github.com/ultralytics/yolov5

          哪吒套件部署 YOLOv5

          YOLOv5 以其出色的實(shí)時(shí)性能和高準(zhǔn)確性而受到廣泛歡迎,并且官方提供了詳盡的文檔和支持,與其他設(shè)備相同,在哪吒套件上部署 YOLOv5 進(jìn)行透明物體時(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/

          Appendix

          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=<Access Key>, sk=<Secret Key>) #進(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 格式。

          圖片

          這就需要編寫(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}n")                                
                              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)上成功運(yùn)行。哪吒套件憑借其高性能的 Intel? N97 處理器、內(nèi)置的 Intel? UHD Graphics GPU 以及高達(dá)8GB的 LPDDR5 內(nèi)存,為實(shí)時(shí)提供了強(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)用,都能提供可靠且高效的解決方案。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();