精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

請問YOLOv8 OBB是如何實(shí)現(xiàn)自定義旋轉(zhuǎn)對象檢測的?

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 2024-01-11 14:53 ? 次閱讀

數(shù)據(jù)集制作

我用手機(jī)拍了一張圖像

db6b2aaa-b04d-11ee-8b88-92fbcf53809c.jpg

然后自己寫個代碼,每旋轉(zhuǎn)一度保存一張圖像,這樣就成功生成了360張圖像及其注釋文件,分為訓(xùn)練集與驗(yàn)證集。訓(xùn)練文件夾包含 320張帶有注釋的圖像。測試和驗(yàn)證文件夾都包含 40 張帶有注釋的圖像。數(shù)據(jù)集部分圖像顯示如下:

db7fb7f4-b04d-11ee-8b88-92fbcf53809c.png

模型訓(xùn)練

準(zhǔn)備好數(shù)據(jù)集以后,直接按下面的命令行運(yùn)行即可:

yolo obb train data=pen_dataset.yaml model=yolov8s-obb.pt epochs=25 imgsz=640

db8bfe60-b04d-11ee-8b88-92fbcf53809c.png

db9041e6-b04d-11ee-8b88-92fbcf53809c.png

dba516b6-b04d-11ee-8b88-92fbcf53809c.png

導(dǎo)出與測試

模型導(dǎo)出與測試

# export model
yolo export model=yolov8s-obb.pt format=onnx
# inference model
yoloobbpredictmodel=pen_best.ptsource=pen_rotate_test.png

dba8d7f6-b04d-11ee-8b88-92fbcf53809c.png

dbbe9046-b04d-11ee-8b88-92fbcf53809c.png

部署推理

轉(zhuǎn)成ONNX格式文件以后,基于OpenVINO-Python部署推理,相關(guān)代碼如下

class_list=["pen"]
colors=[(255,255,0),(0,255,0),(0,255,255),(255,0,0)]

ie=Core()
fordeviceinie.available_devices:
print(device)

#ReadIR
model=ie.read_model(model="pen_best.onnx")
compiled_model=ie.compile_model(model=model,device_name="CPU")
output_layer=compiled_model.output(0)

##xywhr
frame=cv.imread("D:/python/my_yolov8_train_demo/four_pen.jpg")
bgr=format_yolov8(frame)
img_h,img_w,img_c=bgr.shape

start=time.time()
image=cv.dnn.blobFromImage(bgr,1/255.0,(640,640),swapRB=True,crop=False)

res=compiled_model([image])[output_layer]#1x25x8400
rows=np.squeeze(res,0).T
boxes,confidences,angles,class_ids=post_process(rows)

indexes=cv.dnn.NMSBoxes(boxes,confidences,0.25,0.45)
M=np.zeros((2,3),dtype=np.float32)
forindexinindexes:
box=boxes[index]
d1=-angles[index]
color=colors[int(class_ids[index])%len(colors)]
pts=[(box[0],box[1]),(box[0]+box[2],box[1]),(box[0]+box[2],box[1]+box[3]),(box[0],box[1]+box[3])]
rrt_pts=get_rotate_point(pts,M,d1,box)
cv.drawContours(frame,[np.asarray(rrt_pts).astype(np.int32)],0,(255,0,255),2)
cv.putText(frame,class_list[class_ids[index]],(int(box[0]+box[2]/2),int(box[1]+box[3]/2)),cv.FONT_HERSHEY_SIMPLEX,1.0,(0,0,255),2)

end=time.time()
inf_end=end-start
fps=1/inf_end
fps_label="FPS:%.2f"%fps
cv.putText(frame,fps_label,(20,45),cv.FONT_HERSHEY_SIMPLEX,1,(0,0,255),2)

cv.imshow("YOLOv8-OBBRotateObjectDetection",frame)
cv.imwrite("D:/pen_result.jpg",frame)
cv.waitKey(0)
cv.destroyAllWindows()

dbc4ae40-b04d-11ee-8b88-92fbcf53809c.png

dbca3752-b04d-11ee-8b88-92fbcf53809c.png








審核編輯:劉清

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

    關(guān)注

    56

    文章

    4782

    瀏覽量

    84449
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1205

    瀏覽量

    24641
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    87

    瀏覽量

    181

原文標(biāo)題:YOLOv8 OBB實(shí)現(xiàn)自定義旋轉(zhuǎn)對象檢測

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

收藏 人收藏

    評論

    相關(guān)推薦

    基于YOLOv8實(shí)現(xiàn)自定義姿態(tài)評估模型訓(xùn)練

    Hello大家好,今天給大家分享一下如何基于YOLOv8姿態(tài)評估模型,實(shí)現(xiàn)自定義數(shù)據(jù)集上,完成自定義姿態(tài)評估模型的訓(xùn)練與推理。
    的頭像 發(fā)表于 12-25 11:29 ?2783次閱讀
    基于<b class='flag-5'>YOLOv8</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>自定義</b>姿態(tài)評估模型訓(xùn)練

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

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

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

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

    TensorRT 8.6 C++開發(fā)環(huán)境配置與YOLOv8實(shí)例分割推理演示

    YOLOv8實(shí)例分割TensorRT 推理代碼已經(jīng)完成C++類封裝,三行代碼即可實(shí)現(xiàn)YOLOv8對象檢測與實(shí)例分割模型推理,不需要改任何代
    的頭像 發(fā)表于 04-25 10:49 ?5601次閱讀
    TensorRT 8.6 C++開發(fā)環(huán)境配置與<b class='flag-5'>YOLOv8</b>實(shí)例分割推理演示

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

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

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

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

    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 ?1187次閱讀
    AI愛克斯開發(fā)板上使用OpenVINO加速<b class='flag-5'>YOLOv8</b>目標(biāo)<b class='flag-5'>檢測</b>模型

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

    大家好,YOLOv8 框架本身提供的API函數(shù)是可以兩行代碼實(shí)現(xiàn) YOLOv8 模型推理,這次我把這段代碼封裝成了一個類,只有40行代碼左右,可以同時支持YOLOv8
    的頭像 發(fā)表于 06-18 11:50 ?2982次閱讀
    教你如何用兩行代碼搞定<b class='flag-5'>YOLOv8</b>各種模型推理

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

    部署。這里以YOLOv8為例,演示了YOLOv8對象檢測模型在OpenVINO、ONNXRUNTIME、TensorRT三個主流框架上C++推理演示效果。
    的頭像 發(fā)表于 08-06 11:39 ?2652次閱讀

    YOLOv8+OpenCV實(shí)現(xiàn)DM碼定位檢測與解析

    YOLOv8是YOLO系列模型的最新王者,各種指標(biāo)全面超越現(xiàn)有對象檢測與實(shí)例分割模型,借鑒了YOLOv5、YOLOv6、YOLOX等模型的設(shè)
    的頭像 發(fā)表于 08-10 11:35 ?1239次閱讀
    <b class='flag-5'>YOLOv8</b>+OpenCV<b class='flag-5'>實(shí)現(xiàn)</b>DM碼定位<b class='flag-5'>檢測</b>與解析

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

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

    如何基于深度學(xué)習(xí)模型訓(xùn)練實(shí)現(xiàn)檢測與圓心位置預(yù)測

    Hello大家好,今天給大家分享一下如何基于深度學(xué)習(xí)模型訓(xùn)練實(shí)現(xiàn)檢測與圓心位置預(yù)測,主要是通過對YOLOv8姿態(tài)評估模型在自定義的數(shù)據(jù)集上訓(xùn)練,生成一個
    的頭像 發(fā)表于 12-21 10:50 ?1739次閱讀
    如何基于深度學(xué)習(xí)模型訓(xùn)練<b class='flag-5'>實(shí)現(xiàn)</b>圓<b class='flag-5'>檢測</b>與圓心位置預(yù)測

    YOLOv8實(shí)現(xiàn)旋轉(zhuǎn)對象檢測

    YOLOv8框架在在支持分類、對象檢測、實(shí)例分割、姿態(tài)評估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對象檢測
    的頭像 發(fā)表于 01-11 10:43 ?1679次閱讀
    <b class='flag-5'>YOLOv8</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>對象</b><b class='flag-5'>檢測</b>

    YOLOv8+PyQT5打造細(xì)胞計數(shù)與識別應(yīng)用說明

    YOLOv8對象檢測模型基于自定義數(shù)據(jù)集訓(xùn)練紅白細(xì)胞檢測模型,然后通過工具導(dǎo)出模型為ONNX,基于OpenVINO
    的頭像 發(fā)表于 01-15 17:22 ?1077次閱讀
    <b class='flag-5'>YOLOv8</b>+PyQT5打造細(xì)胞計數(shù)與識別應(yīng)用說明

    OpenCV4.8 C++實(shí)現(xiàn)YOLOv8 OBB旋轉(zhuǎn)對象檢測

    YOLOv8框架在在支持分類、對象檢測、實(shí)例分割、姿態(tài)評估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對象檢測
    的頭像 發(fā)表于 02-22 10:15 ?1468次閱讀
    OpenCV4.8 C++<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>YOLOv8</b> <b class='flag-5'>OBB</b><b class='flag-5'>旋轉(zhuǎn)</b><b class='flag-5'>對象</b><b class='flag-5'>檢測</b>