一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

日本yolov8用戶案例

大象機(jī)器人科技 ? 來源:大象機(jī)器人科技 ? 作者:大象機(jī)器人科技 ? 2023-12-18 15:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這篇文章轉(zhuǎn)載來自SWITCH SCIENCE的SuzukiSumiya,本篇文章轉(zhuǎn)載已獲作者授權(quán)。

原文鏈接來自:https://www.switch-science.com/blogs/magazine/jetson-maker-faire-tokyo-2023

1.引言
這篇文章來自SWITCH SCIENCE的SuzukiSumiya 在Maker Faire Tokyo 2023上演示了通過模擬人手臂的姿態(tài)來控制機(jī)械臂。演示的內(nèi)容是使用USB攝像頭通過圖像識別估計(jì)手臂,并將mycobot制作成類似的手臂形狀。

wKgaomV_7PWAEx3JAAPa3TzWnSc361.png

視頻鏈接:https://youtu.be/h1H6pSvhQxQ

該項(xiàng)目主要使用Ultralytics YOLOv8來進(jìn)行姿態(tài)的估計(jì),結(jié)合機(jī)器視覺和機(jī)械臂的控制等功能。本篇文章我們將復(fù)寫這個項(xiàng)目,一步一步的開始如何建立起這個項(xiàng)目。

2.技術(shù)介紹
YOLOv8介紹
Ultralytics YOLOv8 是一種尖端、最先進(jìn) (SOTA) 模型,它建立在先前 YOLO 版本成功的基礎(chǔ)上,并引入了新功能和改進(jìn),以進(jìn)一步提高性能和靈活性。 YOLOv8 的設(shè)計(jì)目標(biāo)是快速、準(zhǔn)確且易于使用,使其成為各種對象檢測和跟蹤、實(shí)例分割、圖像分類和姿態(tài)估計(jì)任務(wù)的絕佳選擇。https://docs.ultralytics.com/

Ultralytics YOLOv8 is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection and tracking, instance segmentation, image classification and pose estimation tasks.

wKgaomV_7cGASNJsABTYjc-CjrM758.png

YOLOv8,作為這一系列的最新版本,包含以下特點(diǎn)和改進(jìn):

更快的檢測速度:YOLO 系列以其快速的檢測速度而聞名,每個后續(xù)版本都在這方面進(jìn)行了優(yōu)化。
更高的準(zhǔn)確性:通過使用更先進(jìn)的神經(jīng)網(wǎng)絡(luò)架構(gòu)和學(xué)習(xí)算法,YOLOv8 可能會提高物體檢測的準(zhǔn)確性。
更好的泛化能力:改進(jìn)的算法可能更有效地處理不同類型的圖像數(shù)據(jù),包括在復(fù)雜背景和不同光照條件下的檢測。
適應(yīng)性和可擴(kuò)展性的增強(qiáng):新版本可能會提供更多的定制選項(xiàng)和設(shè)置,使其能夠更好地適應(yīng)不同的應(yīng)用場景和需求。
優(yōu)化的資源使用:對計(jì)算效率的改進(jìn)可能會使 YOLOv8 在資源有限的設(shè)備上運(yùn)行得更好,如在移動設(shè)備或嵌入式系統(tǒng)中。
簡單點(diǎn)說,給它一張圖片識別,YOLOv8能夠快速的識別出圖片中的物體,并且將它標(biāo)記出來。

wKgaomV_7veAXGnUAGuCqg1gQ6c921.png

myCobot 280 M5
myCobot 280 M5 是 Elephant Robotics 和 M5Stack 合作開發(fā)的最小、最輕的 6 軸協(xié)作機(jī)器人。 它采用一體化模塊化設(shè)計(jì),重量僅為850克,格外輕巧。 配備6個高性能伺服電機(jī),具有響應(yīng)快、慣量低、轉(zhuǎn)動平穩(wěn)等特點(diǎn)。

The myCobot 280 M5 is the smallest and lightest 6-axis collaborative robot developed in collaboration by Elephant Robotics and M5Stack. It adopts an integrated modular design, weighing only 850 grams, making it exceptionally lightweight. Equipped with 6 high-performance servo motors, it features rapid responsiveness, low inertia, and smooth rotation.

wKgaomVlUHyADM83AAV3vnjgyZY410.png

mycobot 280 支持多平臺開發(fā)Linux,Windows,MacOS,并且控制接口全部開源支持目前市面上主流的編程語言pythonc++/c#等。

python-pymycobot mycobot系列的控制庫https://github.com/elephantrobotics/pymycobot

wKgZomV_7xWAL-8CAAFmu_ZbV3Y157.png

Jetson Orin Nano
Jetson Orin Nano 是 NVIDIA 的一種嵌入式人工智能計(jì)算模塊,具有高性能和低功耗。它基于 NVIDIA 的 Orin 芯片,該芯片具有 12 個 Arm 核心和一個 NVIDIA Ampere GPU。這使 Jetson Orin Nano 能夠運(yùn)行復(fù)雜的人工智能應(yīng)用程序,例如機(jī)器視覺、自然語言處理和增強(qiáng)現(xiàn)實(shí)。

https://developer.nvidia.com/buy-jetson?product=all&location=JP

wKgaomV_7yOABfnlAAUeGEBIEAU091.png

開發(fā)過程
開發(fā)環(huán)境:
軟件:

操作系統(tǒng):Linux

編譯語言:Python

python 庫:

import cv2
import math
import time
from ultralytics import YOLO
from pymycobot.mycobot import MyCobot


yolov8模型:yolov8n-pose.pt

https://docs.ultralytics.com/tasks/pose/

硬件:

USB 攝像頭*1

myCobot 280 M5Stack *1

Jetson Orin Nano*1

顯示器,鍵盤鼠標(biāo)*1

代碼實(shí)現(xiàn)
yolov8姿態(tài)估計(jì)模型-yolov8n-pose

yolov8有訓(xùn)練好的姿態(tài)估計(jì)模型,可以直接使用。姿態(tài)估計(jì)是一項(xiàng)任務(wù),其涉及識別圖像中特定點(diǎn)的位置,通常被稱為關(guān)鍵點(diǎn)。這些關(guān)鍵點(diǎn)可以代表物體的各種部位,如關(guān)節(jié)、地標(biāo)或其他顯著特征。關(guān)鍵點(diǎn)的位置通常表示為一組2D [x, y] 或3D [x, y, visible] 坐標(biāo)。

簡單使用的方法:

import torch
from ultralytics.yolov8 import YOLO
import cv2

#引入模型
model = YOLO('yolov8n-pose.pt')
#打開圖片
img = cv2.imread('image.jpg')
# 將圖片引入模型
results = model(img)

# 展示結(jié)果
for r in results:
   im_array = r.plot()  # 繪制包含預(yù)測結(jié)果的BGR numpy數(shù)組
   im = Image.fromarray(im_array[..., ::-1])  # RGB PIL圖像
   im.show()  # 顯示圖像
   im.save('results.jpg')  # 保存圖像
wKgZomV_-VeAEdxmAACZ8jtlTYw515.png


在項(xiàng)目中需要獲取人手比的手腕,肘部和肩部的x,y坐標(biāo)來進(jìn)行計(jì)算角度,然后將相同的角度發(fā)送到mycobot的第二第三關(guān)節(jié)。

wKgZomV_-V-AWAypAAJeDmfolV8417.png

Code:

 if keypoints_tensor is not None and keypoints_tensor.size(1) > 0:
        # 提取特定關(guān)鍵點(diǎn)的坐標(biāo)和置信度
  x_mimi = keypoints_tensor[0][3][0]
  y_mimi = keypoints_tensor[0][3][1]
  conf_mimi = confidence_score[0][3]
  
  x_kosi = keypoints_tensor[0][13][0]
  y_kosi = keypoints_tensor[0][13][1]
  conf_kosi = confidence_score[0][13]
  
  x_kata = keypoints_tensor[0][5][0]
  y_kata = keypoints_tensor[0][5][1]
  conf_kata = confidence_score[0][5]
  
  x_hizi = keypoints_tensor[0][7][0]
  y_hizi = keypoints_tensor[0][7][1]
  conf_hizi = confidence_score[0][7]
  
  x_te = keypoints_tensor[0][9][0]
  y_te = keypoints_tensor[0][9][1]
  conf_te = confidence_score[0][9]

然后計(jì)算腰部到肩部之間的角度,這個角度主要關(guān)注的是上半身的一個簡化模型,可能用于模擬肩部的運(yùn)動或整個上半身的傾斜。

#計(jì)算AB之間的向量
vector_AB = (x_kata - x_hizi, y_kata - y_hizi)
#用函數(shù)計(jì)算這個向量的角度
angle_rad1 = math.atan2(vector_AB[1], vector_AB[0])
#將角度從弧度轉(zhuǎn)為度
angle_deg1 = math.degrees(angle_rad1)
#計(jì)算后調(diào)整的角度值用于控制機(jī)械臂
mycobot1 = int(angle_deg1)-90


接下來在計(jì)算手部,肘部,肩部三個關(guān)鍵點(diǎn)形成的角度,這個角度涉及更復(fù)雜的姿勢分析,因?yàn)樗藦氖植康较ゲ吭俚郊绮康恼麄€鏈條,結(jié)合這兩種角度的計(jì)算,可以讓機(jī)械臂模仿人體姿勢更加精準(zhǔn)和自然。

  x1=x_te #手部的x,y
  y1=y_te
  
  x2=x_hizi #肘部的X,Y
  y2=y_hizi
  
  x3=x_kata # 肘部的x,y
  y3=y_kata
  
  
  #定義三個做標(biāo)點(diǎn)
  point1 = (x1, y1)
  point2 = (x2, y2)
  point3 = (x3, y3)
  # 計(jì)算向量
  vector1 = (x2 - x1, y2 - y1)
  vector2 = (x3 - x2, y3 - y2)
  # 計(jì)算向量長度 
  length1 = math.sqrt(vector1[0] ** 2 + vector1[1] ** 2)
  length2 = math.sqrt(vector2[0] ** 2 + vector2[1] ** 2)
  # 計(jì)算點(diǎn)積
  dot_product = vector1[0] * vector2[0] + vector1[1] * vector2[1]
  # 計(jì)算角度(弧度)
  angle_rad = math.atan2(vector2[1], vector2[0]) - math.atan2(vector1[1], vector1[0])
       # 如果角度向右彎曲則為 0 度
       # 如果角度從右向左轉(zhuǎn)動則為 180 度
       # 如果在一條直線上,則為 -90 度(或 +90 度,以哪個為準(zhǔn))
  
         if angle_rad > math.pi:
   angle_rad -= 2 * math.pi
  elif angle_rad < -math.pi:
   angle_rad += 2 * math.pi
  # 將角度轉(zhuǎn)換為度數(shù)
  mycobot2 = int(math.degrees(angle_rad))


最后將獲取到的角度,通過條件判斷控制機(jī)械臂進(jìn)行手臂的模擬運(yùn)動。

#機(jī)械臂在計(jì)算的mycobot1,mycobot2可接受的范圍內(nèi)分別是是 -180 至 180 度和 -155 至 155 度   
if -180 <= mycobot1 and mycobot1 <= 180 and -155 <= mycobot2 and mycobot2 <= 155 and conf_hizi >= 0.75:
            #符合條件led燈會變藍(lán)
   mc.send_angles ([90,-mycobot1,mycobot2,0,-90,0],100)
   mc.set_color(0, 0, 255)
   print("A點(diǎn)的角度(度數(shù)法):", conf_hizi)
  else:# 不符合條件LED等會變紅
   print("A點(diǎn)的角度(度數(shù)法):", conf_hizi)
   mc.set_color(255, 0, 255)


總結(jié)
SuzukiSumiya在maker faire tokyo 2023上展示了Jetson Orin Nano 和mycobot以及yolov8-pose相結(jié)合實(shí)現(xiàn)了一個非常有趣的demo。可以學(xué)到多個方面的知識和技能,包括計(jì)算機(jī)視覺、機(jī)器人編程、數(shù)學(xué)計(jì)算,以及如何將這些元素結(jié)合起來創(chuàng)建一個交互式的系統(tǒng)。

下面的視頻是對SuzukiSumiya做這個項(xiàng)目的一個訪談。

https://www.youtube.com/watch?v=DB5WiUQVhek

如果你有什么其他有趣的項(xiàng)目,也可以聯(lián)系我們,我們會分享你的項(xiàng)目在各個平臺讓大家都關(guān)注到。m0_71627844/article/details/135062016

審核編輯 黃宇

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

    關(guān)注

    3

    文章

    3680

    瀏覽量

    43816
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86708
  • 機(jī)械臂
    +關(guān)注

    關(guān)注

    13

    文章

    554

    瀏覽量

    25377
  • 大象機(jī)器人
    +關(guān)注

    關(guān)注

    0

    文章

    86

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    yolov8怎么在wsl中搭建呢?

    純小白,yolov8怎么在wsl中搭建呢?一直報錯且無法安裝pip包
    發(fā)表于 07-11 07:37

    使用YOLOv8做目標(biāo)檢測和實(shí)例分割的演示

    YOLOv8是來自Ultralytics的最新的基于YOLO的對象檢測模型系列,提供最先進(jìn)的性能。
    的頭像 發(fā)表于 02-06 10:11 ?8419次閱讀

    YOLOv8自定義數(shù)據(jù)集訓(xùn)練到模型部署推理簡析

    如果你只是想使用而不是開發(fā),強(qiáng)烈推薦通過pip安裝方式獲取YOLOv8包!YOLOv8安裝命令行
    的頭像 發(fā)表于 03-24 09:27 ?5137次閱讀

    在AI愛克斯開發(fā)板上用OpenVINO?加速YOLOv8目標(biāo)檢測模型

    《在 AI 愛克斯開發(fā)板上用 OpenVINO 加速 YOLOv8 分類模型》介紹了在 AI 愛克斯開發(fā)板上使用 OpenVINO 開發(fā)套件部署并測評 YOLOv8 的分類模型,本文將介紹在 AI 愛克斯開發(fā)板上使用 OpenVINO 加速
    的頭像 發(fā)表于 05-12 09:08 ?1798次閱讀
    在AI愛克斯開發(fā)板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>目標(biāo)檢測模型

    YOLOv8版本升級支持小目標(biāo)檢測與高分辨率圖像輸入

    YOLOv8版本最近版本又更新了,除了支持姿態(tài)評估以外,通過模型結(jié)構(gòu)的修改還支持了小目標(biāo)檢測與高分辨率圖像檢測。原始的YOLOv8模型結(jié)構(gòu)如下。
    的頭像 發(fā)表于 05-16 11:14 ?1.4w次閱讀
    <b class='flag-5'>YOLOv8</b>版本升級支持小目標(biāo)檢測與高分辨率圖像輸入

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

    《在AI愛克斯開發(fā)板上用OpenVINO加速YOLOv8分類模型》介紹了在AI愛克斯開發(fā)板上使用OpenVINO 開發(fā)套件部署并測評YOLOv8的分類模型,本文將介紹在AI愛克斯開發(fā)板上使用OpenVINO加速YOLOv8目標(biāo)檢
    的頭像 發(fā)表于 05-26 11:03 ?1838次閱讀
    AI愛克斯開發(fā)板上使用OpenVINO加速<b class='flag-5'>YOLOv8</b>目標(biāo)檢測模型

    教你如何用兩行代碼搞定YOLOv8各種模型推理

    大家好,YOLOv8 框架本身提供的API函數(shù)是可以兩行代碼實(shí)現(xiàn) YOLOv8 模型推理,這次我把這段代碼封裝成了一個類,只有40行代碼左右,可以同時支持YOLOv8對象檢測、實(shí)例分割、姿態(tài)評估模型的GPU與CPU上推理演示。
    的頭像 發(fā)表于 06-18 11:50 ?3745次閱讀
    教你如何用兩行代碼搞定<b class='flag-5'>YOLOv8</b>各種模型推理

    三種主流模型部署框架YOLOv8推理演示

    深度學(xué)習(xí)模型部署有OpenVINO、ONNXRUNTIME、TensorRT三個主流框架,均支持Python與C++的SDK使用。對YOLOv5~YOLOv8的系列模型,均可以通過C++推理實(shí)現(xiàn)模型
    的頭像 發(fā)表于 08-06 11:39 ?3268次閱讀

    解鎖YOLOv8修改+注意力模塊訓(xùn)練與部署流程

    很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發(fā)現(xiàn)找到的YOLOv8項(xiàng)目下面TAG分支是空的
    的頭像 發(fā)表于 08-11 14:14 ?5380次閱讀
    解鎖<b class='flag-5'>YOLOv8</b>修改+注意力模塊訓(xùn)練與部署流程

    如何修改YOLOv8的源碼

    很多人也想跟修改YOLOv5源碼一樣的方式去修改YOLOv8的源碼,但是在github上面卻發(fā)現(xiàn)找到的YOLOv8項(xiàng)目下面TAG分支是空的,然后就直接從master/main下面把源碼克隆出來一通
    的頭像 發(fā)表于 09-04 10:02 ?2613次閱讀
    如何修改<b class='flag-5'>YOLOv8</b>的源碼

    YOLOv8實(shí)現(xiàn)任意目錄下命令行訓(xùn)練

    當(dāng)你使用YOLOv8命令行訓(xùn)練模型的時候,如果當(dāng)前執(zhí)行的目錄下沒有相關(guān)的預(yù)訓(xùn)練模型文件,YOLOv8就會自動下載模型權(quán)重文件。這個是一個正常操作,但是你還會發(fā)現(xiàn),當(dāng)你在參數(shù)model中指定已有
    的頭像 發(fā)表于 09-04 10:50 ?1474次閱讀
    <b class='flag-5'>YOLOv8</b>實(shí)現(xiàn)任意目錄下命令行訓(xùn)練

    基于YOLOv8的自定義醫(yī)學(xué)圖像分割

    YOLOv8是一種令人驚嘆的分割模型;它易于訓(xùn)練、測試和部署。在本教程中,我們將學(xué)習(xí)如何在自定義數(shù)據(jù)集上使用YOLOv8。但在此之前,我想告訴你為什么在存在其他優(yōu)秀的分割模型時應(yīng)該使用YOLOv8呢?
    的頭像 發(fā)表于 12-20 10:51 ?1279次閱讀
    基于<b class='flag-5'>YOLOv8</b>的自定義醫(yī)學(xué)圖像分割

    基于OpenCV DNN實(shí)現(xiàn)YOLOv8的模型部署與推理演示

    基于OpenCV DNN實(shí)現(xiàn)YOLOv8推理的好處就是一套代碼就可以部署在Windows10系統(tǒng)、烏班圖系統(tǒng)、Jetson的Jetpack系統(tǒng)
    的頭像 發(fā)表于 03-01 15:52 ?2796次閱讀
    基于OpenCV DNN實(shí)現(xiàn)<b class='flag-5'>YOLOv8</b>的模型部署與推理演示

    RK3576 yolov8訓(xùn)練部署教程

    本章展示yolov8模型的在EASY EAI Orin nano的部署過程。
    的頭像 發(fā)表于 04-02 16:04 ?457次閱讀
    RK3576 <b class='flag-5'>yolov8</b>訓(xùn)練部署教程

    RV1126 yolov8訓(xùn)練部署教程

    YOLOv8 是 ultralytics 公司在 2023 年 1月 10 號開源的基于YOLOV5進(jìn)行更新的 下一個重大更新版本,目前支持圖像分類、物體檢測和實(shí)例分割任務(wù),鑒于Yolov5的良好表現(xiàn),
    的頭像 發(fā)表于 04-16 14:53 ?474次閱讀
    RV1126 <b class='flag-5'>yolov8</b>訓(xùn)練部署教程