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

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

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

常見人體姿態(tài)評估顯示方式的兩種方式

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

人體姿態(tài)評估中有兩種常見的顯示方式,分別是火柴人效果與BodyPix效果。其中火柴人效果本質(zhì)就是基于關(guān)鍵點(diǎn)的深度學(xué)習(xí)模型推理以后的顯示效果;Bodypix本質(zhì)就就是語義分割模型,基于Deeplabv3+ 與ResNet34構(gòu)建的一個人體語義分割模型。

火柴人

主要是基于關(guān)鍵點(diǎn)的人體姿態(tài)評估顯示方式,基于YOLOv8等人體姿態(tài)評估的關(guān)鍵點(diǎn)模型均可以實(shí)現(xiàn),演示代碼運(yùn)行效果如下:

612189f2-9052-11ef-a511-92fbcf53809c.png

BodyPix

主要是基于語義分割的人體姿態(tài)評估顯示方式,支持對人體分割為10或者15個標(biāo)簽,演示代碼運(yùn)行效果如下:

6151cc2a-9052-11ef-a511-92fbcf53809c.png

實(shí)現(xiàn)代碼

我把相關(guān)的代碼使用PyQT5封裝為一個線程,相關(guān)的代碼如下:

classInferenceThread(QtCore.QThread):
fire_stats_signal=QtCore.pyqtSignal(dict)

def__init__(self,settings):
super(InferenceThread,self).__init__()
self.settings=settings
self.detector=None
ifself.settings.model_type==0:
self.detector=YOLOv8ORTPose(settings)
self.detector.show_skeleton=True
ifself.settings.model_type==1:
self.detector=YOLOv8ORTPose(settings)
self.detector.show_skeleton=True
ifself.settings.model_type==2:
weight_file_path="D:/projects/body_part_best.onnx"
self.detector=BodyPixSegment(weight_file_path)
self.input_image=settings.input_image

defrun(self):
ifself.detectorisNone:
return
ifself.input_image.endswith(".mp4"):
cap=cv.VideoCapture(self.input_image)
whileTrue:
ret,frame=cap.read()
ifretisTrue:
dst=self.detector.infer_image(frame)
self.fire_stats_signal.emit({"result":frame,"mask":dst})
else:
break
else:
frame=cv.imread(self.input_image)
dst=self.detector.infer_image(frame)
self.fire_stats_signal.emit({"result":frame,"mask":dst})
self.fire_stats_signal.emit({"done":"done"})
return
點(diǎn)擊【開始推理】按鈕的執(zhí)行代碼如下:
defon_yolov8_infer(self):
image_file=self.image_file_edit.text()
label_file=self.label_file_path.text()
model_file=self.weight_file_path.text()
iflen(image_file)==0orlen(label_file)==0orlen(model_file)==0:
QtWidgets.QMessageBox.warning(self,"警告","參數(shù)文件未選擇...")
return
settings=DLInferSettings()
settings.weight_file_path=self.weight_file_path.text()
settings.label_map_file_path=self.label_file_path.text()
settings.score_threshold=self.conf_spinbox.value()
settings.input_image=image_file
settings.model_type=0
ifself.rbtn0.isChecked():
settings.model_type=0
ifself.rbtn1.isChecked():
settings.model_type=1
ifself.rbtn2.isChecked():
settings.model_type=2
settings.target_deploy=1
self.work_thread=InferenceThread(settings)
self.work_thread.fire_stats_signal.connect(self.on_update_result_image)
self.work_thread.finished.connect(self.work_thread.deleteLater)
self.work_thread.start()
self.startBtn.setStyleSheet("background-color:gray;color:white")
self.startBtn.setEnabled(False)
self.stopBtn.setStyleSheet("background-color:cyan;color:black")
self.stopBtn.setEnabled(True)

運(yùn)行結(jié)果如下:

618a944c-9052-11ef-a511-92fbcf53809c.png

61b7fa18-9052-11ef-a511-92fbcf53809c.png

聲明:本文內(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)注

    30

    文章

    4728

    瀏覽量

    68250
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5471

    瀏覽量

    120904

原文標(biāo)題:兩種常見的人體姿態(tài)評估顯示方式

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

收藏 人收藏

    評論

    相關(guān)推薦

    什么是電流保護(hù)的接線方式?有哪兩種接線方式?

    方式。下面將對這兩種接線方式進(jìn)行介紹。 一、完全星形接線方式 完全星形接線方式,也稱為三相三繼電器接線
    的頭像 發(fā)表于 10-06 17:37 ?422次閱讀
    什么是電流保護(hù)的接線<b class='flag-5'>方式</b>?有哪<b class='flag-5'>兩種</b>接線<b class='flag-5'>方式</b>?

    Linux應(yīng)用層控制外設(shè)的兩種不同的方式

    眾所周知,linux下一切皆文件,那么應(yīng)用層如何控制硬件層,同樣是通過 文件I/O的方式來實(shí)現(xiàn)的,那么應(yīng)用層控制硬件層通常有兩種方式。
    的頭像 發(fā)表于 10-05 19:03 ?235次閱讀
    Linux應(yīng)用層控制外設(shè)的<b class='flag-5'>兩種</b>不同的<b class='flag-5'>方式</b>

    兩種常見的硬件消抖實(shí)現(xiàn)方式

    由于機(jī)械按鍵在操作過程中會產(chǎn)生抖動現(xiàn)象,這種抖動信號如果不加以處理,就可能導(dǎo)致單片機(jī)等電子設(shè)備誤判按鍵狀態(tài),從而引發(fā)錯誤操作。本文將詳細(xì)介紹兩種常見的硬件消抖實(shí)現(xiàn)方式:RS觸發(fā)器和電容濾波。 RS
    的頭像 發(fā)表于 09-25 16:54 ?712次閱讀
    <b class='flag-5'>兩種</b><b class='flag-5'>常見</b>的硬件消抖實(shí)現(xiàn)<b class='flag-5'>方式</b>

    示波器兩種衰減方式的區(qū)別是什么

    兩種:內(nèi)部衰減和外部衰減。 內(nèi)部衰減 內(nèi)部衰減是指示波器內(nèi)部對輸入信號進(jìn)行衰減的方式。內(nèi)部衰減器通常由電阻和電容組成,通過改變電阻和電容的參數(shù),實(shí)現(xiàn)對輸入信號的衰減。內(nèi)部衰減器的優(yōu)點(diǎn)如下: 1.1 精度高:內(nèi)部衰減
    的頭像 發(fā)表于 08-09 14:41 ?351次閱讀

    接地保護(hù)分為哪兩種方式

    接地保護(hù)是電氣工程中非常重要的一安全措施,其目的是確保電氣設(shè)備和系統(tǒng)在發(fā)生故障時能夠安全地將電流導(dǎo)向地面,從而保護(hù)人身安全和設(shè)備安全。接地保護(hù)主要分為兩種方式:工作接地和保護(hù)接地。以下是對這
    的頭像 發(fā)表于 08-05 10:24 ?731次閱讀

    plc與傳感器的兩種連接方式

    在工業(yè)自動化領(lǐng)域,PLC(可編程邏輯控制器)與傳感器的連接是實(shí)現(xiàn)自動化控制的關(guān)鍵環(huán)節(jié)。本文將詳細(xì)介紹PLC與傳感器的兩種主要連接方式:模擬量連接和數(shù)字量連接。這兩種連接方式各有優(yōu)缺點(diǎn),
    的頭像 發(fā)表于 07-25 09:36 ?970次閱讀

    wdm設(shè)備的兩種傳輸方式

    系統(tǒng)中,有多種傳輸方式,其中最常見兩種是密集波分復(fù)用(DWDM)和粗波分復(fù)用(CWDM)。 1. 密集波分復(fù)用(DWDM) 1.1 DWDM技術(shù)原理 密集波分復(fù)用(Dense Wavelength Division Multi
    的頭像 發(fā)表于 07-18 09:45 ?377次閱讀

    三相負(fù)載的連接方式有哪兩種

    三相負(fù)載的連接方式主要有星形連接(Y連接)和三角形連接(Δ連接)兩種。這兩種連接方式在電氣工程中非常常見,它們各自具有不同的特性和應(yīng)用場景。
    的頭像 發(fā)表于 07-17 10:33 ?2433次閱讀

    PCBA加工中常見兩種焊接方式詳解

    ,在PCBA行業(yè)中經(jīng)常被使用。接下來深圳PCBA加工廠家為大家詳細(xì)介紹PCBA加工手工焊接的兩種方式,為您揭秘行業(yè)內(nèi)的技術(shù)細(xì)節(jié)。 PCBA加工過程中常用焊接方式 第一
    的頭像 發(fā)表于 06-14 09:18 ?477次閱讀

    異或門兩種常見的實(shí)現(xiàn)方式

    兩種實(shí)現(xiàn)方式都能夠?qū)崿F(xiàn)異或門的功能,具體的選擇取決于設(shè)計(jì)需求和邏輯門的可用性。實(shí)際構(gòu)建異或門時,可以使用離散電子元件(如晶體管、二極管等)或整合電路芯片(如 TTL、CMOS 等)來實(shí)現(xiàn)。
    的頭像 發(fā)表于 02-04 17:30 ?1.1w次閱讀
    異或門<b class='flag-5'>兩種</b><b class='flag-5'>常見</b>的實(shí)現(xiàn)<b class='flag-5'>方式</b>

    外部中斷有哪兩種觸發(fā)方式?如何選擇和設(shè)定?

    外部中斷有兩種觸發(fā)方式:電平觸發(fā)和邊沿觸發(fā)** 。
    的頭像 發(fā)表于 01-28 17:31 ?5515次閱讀
    外部中斷有哪<b class='flag-5'>兩種</b>觸發(fā)<b class='flag-5'>方式</b>?如何選擇和設(shè)定?

    配置Kubernetes中Pod使用代理的兩種常見方式

    的需要。本文將介紹配置Kubernetes中Pod使用代理的兩種常見方式:通過ConfigMap和直接在應(yīng)用程序環(huán)境變量中設(shè)置。
    的頭像 發(fā)表于 01-05 11:22 ?1051次閱讀
    配置Kubernetes中Pod使用代理的<b class='flag-5'>兩種</b><b class='flag-5'>常見方式</b>

    redis兩種持久化方式的區(qū)別

    的完整性和一致性。 Redis提供了兩種持久化方式:RDB(Redis Database)和AOF(Append Only File)。這兩種方式各有優(yōu)劣,下面我們將詳細(xì)介紹它們的區(qū)別
    的頭像 發(fā)表于 12-04 11:12 ?485次閱讀

    兩種常見EMC整改流程!

    兩種常見EMC整改流程!|深圳比創(chuàng)達(dá)電子EMC
    的頭像 發(fā)表于 11-23 10:10 ?923次閱讀

    三角形繞組的兩種連線方式介紹

    在三角形繞組中,有兩種常見的連線方式,分別是星型連接和三角形連接。
    的頭像 發(fā)表于 11-21 16:59 ?1707次閱讀
    三角形繞組的<b class='flag-5'>兩種</b>連線<b class='flag-5'>方式</b>介紹