www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 工業(yè)控制 > 電路設(shè)計(jì)項(xiàng)目集錦
[導(dǎo)讀]YOLOv8(你只看一次,版本8)。是一種最先進(jìn)的物體檢測模型,以其速度和準(zhǔn)確性而聞名。它能夠快速準(zhǔn)確地實(shí)時(shí)識(shí)別物體,使其成為空空間檢測應(yīng)用的理想選擇。通過定制YOLOv8,我們可以訓(xùn)練模型專門識(shí)別Empty Space,增強(qiáng)其有效性。

在Jetson nano優(yōu)化的邊緣AI上使用YOLOv8實(shí)時(shí)有效地檢測和計(jì)數(shù)空白空間,以實(shí)現(xiàn)更智能的空間管理。

1. 概述

在停車場、零售貨架和倉庫中,有效地管理空置空間是一個(gè)共同的挑戰(zhàn)。本項(xiàng)目演示了,提供了一個(gè)由邊緣人工智能驅(qū)動(dòng)的經(jīng)濟(jì)高效的解決方案。

YOLOv8(你只看一次,版本8)。是一種最先進(jìn)的物體檢測模型,以其速度和準(zhǔn)確性而聞名。它能夠快速準(zhǔn)確地實(shí)時(shí)識(shí)別物體,使其成為空空間檢測應(yīng)用的理想選擇。通過定制YOLOv8,我們可以訓(xùn)練模型專門識(shí)別Empty Space,增強(qiáng)其有效性。

Jetson Nano是NVIDIA開發(fā)的一款功能強(qiáng)大但價(jià)格實(shí)惠的邊緣人工智能平臺(tái),是部署基于yolov8的空白空間探測系統(tǒng)的絕佳選擇。其緊湊的尺寸、低功耗和強(qiáng)大的GPU功能使其非常適合在邊緣運(yùn)行復(fù)雜的人工智能模型。

2.硬件配置

3. 軟件配置

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

下載具有所需格式的數(shù)據(jù)集,如下圖所示。

該數(shù)據(jù)集組織良好,包括以JSON格式注釋的圖像,分為三類:訓(xùn)練(494張圖像)、測試(74張圖像)和有效(140張圖像)。它具有三個(gè)類(available_1, available_2, available_3)。YAML文件和其他文本文件提供了配置設(shè)置和說明,以方便在機(jī)器學(xué)習(xí)工作流程中使用數(shù)據(jù)集。

5.訓(xùn)練模型

要培訓(xùn)YOLOv8或更高版本(因?yàn)閅OLOv8是Ultralytics的產(chǎn)品),請(qǐng)參閱Ultralytics文檔以獲取詳細(xì)說明。使用空白空間數(shù)據(jù)集自定義YOLOv8,如使用YOLOv8的實(shí)時(shí)空白空間檢測和計(jì)數(shù)教程所示,涉及在針對(duì)您的應(yīng)用程序量身定制的特定目標(biāo)數(shù)據(jù)集上訓(xùn)練YOLOv8。

5.1. 配置培訓(xùn)環(huán)境:

使用提供的YAML文件配置訓(xùn)練參數(shù)。該文件將包括計(jì)算機(jī)上數(shù)據(jù)集的路徑、類的數(shù)量和其他必要的設(shè)置。

一個(gè)示例YAML配置可能如下所示:

5.2. 訓(xùn)練模型

5.3. 空間建筑

下圖說明了空空間檢測架構(gòu)。它包括通過凍結(jié)某些層的權(quán)重來微調(diào)預(yù)訓(xùn)練的YOLOv8模型,并將輸出通過密集層進(jìn)行墜落運(yùn)動(dòng)分類。

5.4.訓(xùn)練模型

6. 評(píng)估模型的性能

評(píng)估結(jié)果表明,平均精密度(mAP)為99%,精密度為99%,召回率為99%。這些圖提供了我們的模型性能的可視化,說明了它在通過訓(xùn)練結(jié)果圖和混淆矩陣檢測跌倒方面的魯棒性。

7.Hareware設(shè)置

8.推理

這段Python代碼會(huì)進(jìn)行推斷,實(shí)時(shí)檢測某個(gè)空間是空的還是可用的。

代碼

import cv2

from ultralytics import YOLO

# Load the YOLOv8 model

model = YOLO(r'D:\My-Pretrained\empty_space.onnx')

cap = cv2.VideoCapture(0)

def count_available_spaces(results):

available_count = 0

for result in results:

for label in result.boxes.cls:

if model.names[int(label)] == "available_3":

available_count += 1

return available_count

# Loop through the video frames

while cap.isOpened():

# Read a frame from the video

success, frame = cap.read()

if success:

# Run YOLOv8 inference on the frame

results = model(frame)

# Count the available spaces

available_count = count_available_spaces(results)

# Visualize the results on the frame

annotated_frame = results[0].plot()

# Display the count of available spaces on the frame

cv2.putText(annotated_frame, f"Available Spaces: {available_count}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)

# Display the annotated frame

cv2.imshow("YOLOv8 Inference", annotated_frame)

# Break the loop if 'q' is pressed

if cv2.waitKey(1) & 0xFF == ord("q"):

break

else:

# Break the loop if the end of the video is reached

break

# Release the video capture object and close the display window

cap.release()

cv2.destroyAllWindows()

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉