国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

YoloV8 +可視化界面+GUI+交互式界面目標(biāo)檢測(cè)與跟蹤

這篇具有很好參考價(jià)值的文章主要介紹了YoloV8 +可視化界面+GUI+交互式界面目標(biāo)檢測(cè)與跟蹤。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

YoloV8 可視化界面 GUI

YoloV8 +可視化界面+GUI+交互式界面目標(biāo)檢測(cè)與跟蹤,YOLO,目標(biāo)檢測(cè),人工智能,目標(biāo)檢測(cè)可視化界面,yolo界面制作,交互

  • 本項(xiàng)目旨在基于 YoloV8 目標(biāo)檢測(cè)算法開發(fā)一個(gè)直觀的可視化界面,使用戶能夠輕松上傳圖像或視頻,并對(duì)其進(jìn)行目標(biāo)檢測(cè)。
  • 通過圖形用戶界面,用戶可以方便地調(diào)整檢測(cè)參數(shù)、查看檢測(cè)結(jié)果,并將結(jié)果保存或?qū)С觥M瑫r(shí),該界面還將提供實(shí)時(shí)目標(biāo)檢測(cè)功能,讓用戶能夠在視頻流中實(shí)時(shí)觀察目標(biāo)的檢測(cè)情況。
  • 這個(gè)項(xiàng)目將結(jié)合 YoloV8 強(qiáng)大的檢測(cè)能力和直觀的用戶交互,為用戶提供一種全新的目標(biāo)檢測(cè)體驗(yàn)。

如何運(yùn)行

  • python>=3.8
  • pip install ultralytics==8.0.48
  • pip install pyside6==6.4.2
 - python main.py

運(yùn)行上述指令,則可以看到介入下界面!

!!必須安裝相應(yīng)版本的庫
!!否則,將出現(xiàn)以下錯(cuò)誤:not enough values to unpack (expected 5, got 4)
注意事項(xiàng)
ultralytics 遵循 GPL-3.0 協(xié)議,如需商業(yè)使用,需獲得其許可。

YoloV8 +可視化界面+GUI+交互式界面目標(biāo)檢測(cè)與跟蹤,YOLO,目標(biāo)檢測(cè),人工智能,目標(biāo)檢測(cè)可視化界面,yolo界面制作,交互

建議

資源文件為 resources.qrc,如果您修改了默認(rèn)圖標(biāo),需要使用 pyside6-rcc resoures.qrc >
ui/resources_rc.py 命令來重新生成 .py 文件。文章來源地址http://www.zghlxwxcb.cn/news/detail-828901.html

  • 如果您希望使用自己的模型,您需要使用 ultralytics 先訓(xùn)練 yolov8/5 模型,然后將訓(xùn)練好的 .pt 文件放入
    models 文件夾中。
  • 軟件中仍然存在一些 bug,我會(huì)在有時(shí)間的情況下持續(xù)優(yōu)化并增加一些更有趣的功能。
  • 如果您勾選保存結(jié)果,結(jié)果將保存在 ./run 路徑下。
  • UI 設(shè)計(jì)文件為 home.ui,如果您對(duì)其進(jìn)行修改,需要使用 pyside6-uic home.ui > ui/home.py
    命令來重新生成 .py 文件。
  • 資源文件為 resources.qrc,如果您修改了默認(rèn)圖標(biāo),需要使用 pyside6-rcc resoures.qrc >
    ui/resources_rc.py 命令來重新生成 .py 文件。
    YoloV8 +可視化界面+GUI+交互式界面目標(biāo)檢測(cè)與跟蹤,YOLO,目標(biāo)檢測(cè),人工智能,目標(biāo)檢測(cè)可視化界面,yolo界面制作,交互

更改自己想要的界面,你可以按照以下步驟進(jìn)行操作:

  • 修改 UI 設(shè)計(jì)文件: 打開 UI 設(shè)計(jì)文件(如 .ui 文件),使用 PySide6 的 pyside6-uic 工具將其轉(zhuǎn)換為
    Python 代碼。然后在生成的 Python 代碼中進(jìn)行修改,包括布局、組件樣式、交互邏輯等。
  • 修改資源文件: 如果界面中使用了自定義圖標(biāo)、圖片等資源,你需要編輯資源文件(如 .qrc 文件),將新的資源添加進(jìn)去,并使用
    pyside6-rcc 工具將其編譯成 Python 代碼。
  • 重新編譯界面: 保存所有修改后的文件,并重新編譯生成的 Python 代碼。確保所有文件路徑和引用都正確。
  • 運(yùn)行程序: 運(yùn)行程序,查看界面效果,并進(jìn)行調(diào)試和優(yōu)化。

主要代碼

class YoloPredictor(BasePredictor, QObject):
    yolo2main_pre_img = Signal(np.ndarray)   # raw image signal
    yolo2main_res_img = Signal(np.ndarray)   # test result signal
    yolo2main_status_msg = Signal(str)       # Detecting/pausing/stopping/testing complete/error reporting signal
    yolo2main_fps = Signal(str)              # fps
    yolo2main_labels = Signal(dict)          # Detected target results (number of each category)
    yolo2main_progress = Signal(int)         # Completeness
    yolo2main_class_num = Signal(int)        # Number of categories detected
    yolo2main_target_num = Signal(int)       # Targets detected

    def __init__(self, cfg=DEFAULT_CFG, overrides=None): 
        super(YoloPredictor, self).__init__() 
        QObject.__init__(self)

        self.args = get_cfg(cfg, overrides)
        project = self.args.project or Path(SETTINGS['runs_dir']) / self.args.task
        name = f'{self.args.mode}'
        self.save_dir = increment_path(Path(project) / name, exist_ok=self.args.exist_ok)
        self.done_warmup = False
        if self.args.show:
            self.args.show = check_imshow(warn=True)

        # GUI args
        self.used_model_name = None      # The detection model name to use
        self.new_model_name = None       # Models that change in real time
        self.source = ''                 # input source
        self.stop_dtc = False            # Termination detection
        self.continue_dtc = True         # pause   
        self.save_res = False            # Save test results
        self.save_txt = False            # save label(txt) file
        self.iou_thres = 0.45            # iou
        self.conf_thres = 0.25           # conf
        self.speed_thres = 10            # delay, ms
        self.labels_dict = {}            # return a dictionary of results
        self.progress_value = 0          # progress bar
    

        # Usable if setup is done
        self.model = None
        self.data = self.args.data  # data_dict
        self.imgsz = None
        self.device = None
        self.dataset = None
        self.vid_path, self.vid_writer = None, None
        self.annotator = None
        self.data_path = None
        self.source_type = None
        self.batch = None
        self.callbacks = defaultdict(list, callbacks.default_callbacks)  # add callbacks
        callbacks.add_integration_callbacks(self)

    # main for detect
    @smart_inference_mode()
    def run(self):
        try:
            if self.args.verbose:
                LOGGER.info('')

            # set model    
            self.yolo2main_status_msg.emit('Loding Model...')
            if not self.model:
                self.setup_model(self.new_model_name)
                self.used_model_name = self.new_model_name

            # set source
            self.setup_source(self.source if self.source is not None else self.args.source)

            # Check save path/label
            if self.save_res or self.save_txt:
                (self.save_dir / 'labels' if self.save_txt else self.save_dir).mkdir(parents=True, exist_ok=True)

            # warmup model
            if not self.done_warmup:
                self.model.warmup(imgsz=(1 if self.model.pt or self.model.triton else self.dataset.bs, 3, *self.imgsz))
                self.done_warmup = True

            self.seen, self.windows, self.dt, self.batch = 0, [], (ops.Profile(), ops.Profile(), ops.Profile()), None

            # start detection
            # for batch in self.dataset:


            count = 0                       # run location frame
            start_time = time.time()        # used to calculate the frame rate
            batch = iter(self.dataset)
            while True:
                # Termination detection
                if self.stop_dtc:
                    if isinstance(self.vid_writer[-1], cv2.VideoWriter):
                        self.vid_writer[-1].release()  # release final video writer
                    self.yolo2main_status_msg.emit('Detection terminated!')
                    break
                
                # Change the model midway
                if self.used_model_name != self.new_model_name:  
                    # self.yolo2main_status_msg.emit('Change Model...')
                    self.setup_model(self.new_model_name)
                    self.used_model_name = self.new_model_name
                
                # pause switch
                if self.continue_dtc:
                    # time.sleep(0.001)
                    self.yolo2main_status_msg.emit('Detecting...')
                    batch = next(self.dataset)  # next data

                    self.batch = batch
                    path, im, im0s, vid_cap, s = batch
                    visualize = increment_path(self.save_dir / Path(path).stem, mkdir=True) if self.args.visualize else False

                    # Calculation completion and frame rate (to be optimized)
                    count += 1              # frame count +1
                    if vid_cap:
                        all_count = vid_cap.get(cv2.CAP_PROP_FRAME_COUNT)   # total frames
                    else:
                        all_count = 1
                    self.progress_value = int(count/all_count*1000)         # progress bar(0~1000)
                    if count % 5 == 0 and count >= 5:                     # Calculate the frame rate every 5 frames

最后,看下方的推廣,可聯(lián)系本人。計(jì)算機(jī)視覺、圖像處理、畢業(yè)輔導(dǎo)、作業(yè)幫助、代碼獲取,私聊會(huì)回復(fù)!

到了這里,關(guān)于YoloV8 +可視化界面+GUI+交互式界面目標(biāo)檢測(cè)與跟蹤的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • yolov8熱力圖可視化

    yolov8熱力圖可視化

    2024年02月11日
    瀏覽(21)
  • YOLOv8改進(jìn) | 可視化熱力圖 | 支持YOLOv8最新版本密度熱力圖,和視頻熱力圖

    YOLOv8改進(jìn) | 可視化熱力圖 | 支持YOLOv8最新版本密度熱力圖,和視頻熱力圖

    本文給大家?guī)淼臋C(jī)制是集成了YOLOv8最新版本的可視化熱力圖功能,熱力圖作為我們論文當(dāng)中的必備一環(huán),可以展示出我們呈現(xiàn)機(jī)制的有效性,本文的內(nèi)容支持YOLOv8最新版本的根據(jù)密度呈現(xiàn)的熱力圖,同時(shí)支持視頻檢測(cè),根據(jù)視頻中的密度來繪畫熱力圖。 在開始之前給大家推

    2024年02月19日
    瀏覽(28)
  • 用 Python 制作可視化 GUI 界面,一鍵實(shí)現(xiàn)自動(dòng)分類管理文件!

    用 Python 制作可視化 GUI 界面,一鍵實(shí)現(xiàn)自動(dòng)分類管理文件!

    經(jīng)常雜亂無章的文件夾會(huì)讓我們找不到所想要的文件,因此小編特意制作了一個(gè) 可視化GUI界面 ,通過輸入路徑一鍵點(diǎn)擊實(shí)現(xiàn)文件分門別類的歸檔。 不同的文件后綴歸類為不同的類別 我們先羅列一下大致有幾類文件,根據(jù)文件的后綴來設(shè)定,大致如下 上面所羅列出來的文件

    2024年01月19日
    瀏覽(24)
  • YOLOv5可視化界面

    YOLOv5可視化界面

    激活之前的虛擬環(huán)境 yolov5 在該環(huán)境的終端輸入以下命令 輸入 where python 找到當(dāng)前使用的Python的路徑 找到該路徑下的designer.exe文件(/Lib/site-packages/PySide6/designer.exe),然后發(fā)送到桌面創(chuàng)建快捷方式 打開designer 選擇Main Window 移除菜單欄 拖兩個(gè)label個(gè)一個(gè)line進(jìn)來 拖兩個(gè)button進(jìn)入

    2024年02月13日
    瀏覽(25)
  • YOLOv8 推理腳本--置信度保留多位浮點(diǎn)數(shù) & 特征圖可視化

    YOLOv8 推理腳本--置信度保留多位浮點(diǎn)數(shù) & 特征圖可視化

    特征圖可視化: 4位浮點(diǎn)數(shù): 原始2位浮點(diǎn)數(shù) 4位浮點(diǎn)數(shù) 在進(jìn)行改動(dòng)前,請(qǐng)大家先閱讀下 基礎(chǔ)入門篇 | YOLOv8 項(xiàng)目【訓(xùn)練】【驗(yàn)證】【推理】最簡(jiǎn)單教程 | YOLOv8必看 | 最新更新,直接打印 FPS,mAP50,75,95 ,確保會(huì)用我給的推理腳本。 YOLO( ) :這里寫你推理使用的

    2024年04月11日
    瀏覽(159)
  • Qt Creator可視化交互界面exe快速入門1

    Qt Creator可視化交互界面exe快速入門1

    Qt的安裝鏈接:Index of /archive/qt 5.14版本之前都是可以直接 離線安裝,即下載完整安裝包之后在本地安裝。 最新及5,15版本之后的都不支持直接的離線安裝了,需要通過下載器來進(jìn)行安裝。下載地址:Index of /official_releases/online_installers

    2024年02月04日
    瀏覽(20)
  • YOLOV8-gradcam 熱力圖可視化 即插即用 不需要對(duì)源碼做任何修改!

    YOLOV8-gradcam 熱力圖可視化 即插即用 不需要對(duì)源碼做任何修改!

    本文給大家?guī)韞olov8-gradcam熱力圖可視化,這個(gè)可視化是 即插即用 , 不需要對(duì)源碼做任何修改 喔!給您剩下的不少麻煩! 代碼鏈接:yolo-gradcam 里面還有yolov5和v7的熱力圖可視化代碼 ,也是 即插即用 , 不需要對(duì)源碼做任何修改 喔! 這個(gè)是由官方權(quán)重yolov8m實(shí)現(xiàn)的。 1. 從

    2024年02月03日
    瀏覽(19)
  • YOLOv8的目標(biāo)對(duì)象的分類,分割,跟蹤和姿態(tài)估計(jì)的多任務(wù)檢測(cè)實(shí)踐(Netron模型可視化)

    YOLOv8的目標(biāo)對(duì)象的分類,分割,跟蹤和姿態(tài)估計(jì)的多任務(wù)檢測(cè)實(shí)踐(Netron模型可視化)

    YOLOv8是目前最新版本,在以前YOLO版本基礎(chǔ)上建立并加入了一些新的功能,以進(jìn)一步提高性能和靈活性,是目前最先進(jìn)的模型。YOLOv8旨在快速,準(zhǔn)確,易于使用,使其成為廣泛的 目標(biāo)檢測(cè)和跟蹤,實(shí)例分割,圖像分類和姿態(tài)估計(jì)任務(wù) 的絕佳選擇。 YOLOv8的安裝條件 Python=3.8 Py

    2024年02月11日
    瀏覽(25)
  • Pyqt搭建YOLOv5目標(biāo)檢測(cè)系統(tǒng)(可視化界面+功能介紹+源代碼)

    Pyqt搭建YOLOv5目標(biāo)檢測(cè)系統(tǒng)(可視化界面+功能介紹+源代碼)

    軟件界面如下所示: 功能: 模型選擇 輸入選擇(本地文件、攝像頭、RTSP視頻流) IoU調(diào)整 置信度調(diào)整 幀間延時(shí)調(diào)整 播放/暫停/結(jié)束 統(tǒng)計(jì)檢測(cè)結(jié)果 詳細(xì)介紹: 1.首先進(jìn)行模型的選擇(官網(wǎng)可下載),包含四種,分別是yolov5s.pt、yolov5m.pt、yolov5l.pt和yolov5x.pt。 2.選擇置信度、IoU和

    2023年04月08日
    瀏覽(179)
  • YOLOV5 部署:QT的可視化界面推理(根據(jù)UI窗口編寫內(nèi)部函數(shù))

    YOLOV5 部署:QT的可視化界面推理(根據(jù)UI窗口編寫內(nèi)部函數(shù))

    上一章,UI的可視化界面已經(jīng)創(chuàng)建好了。并且通過UI文件編譯成了python可以處理的py文件,為了方便使用,我們新建了qt_inference 對(duì)ui的py腳本進(jìn)行調(diào)用,效果如下 UI可視化的生成:YOLOV5 部署:QT的可視化界面推理(創(chuàng)建UI,并編譯成py文件)-CSDN博客 本章將接著上面操作,完成一

    2024年04月08日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包