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

如何使YOLOv5在檢測(cè)到目標(biāo)后進(jìn)行聲音告警提示?

這篇具有很好參考價(jià)值的文章主要介紹了如何使YOLOv5在檢測(cè)到目標(biāo)后進(jìn)行聲音告警提示?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

說在前面的話

導(dǎo)師有一個(gè)異常行為檢測(cè)的小任務(wù)(吸煙行為檢測(cè)),給我讓我和師弟一起去完成。本身以為在YOLOv5的detect.py檢測(cè)腳本中加入語音提示很簡(jiǎn)單,但是其中的過程卻是一言難盡。
這也是查閱了很多資料,嘗試過了各種大佬分享的經(jīng)驗(yàn),集百家之長(zhǎng)完成了這個(gè)任務(wù),感謝CSDN中各位有開源精神的大佬的代碼分享。

一、語音生成腳本

首先先安裝好這個(gè)庫:pyttsx3
在PyCharm這個(gè)軟件中打開命令行(或叫:終端),激活自己所需的虛擬環(huán)境,
然后輸入指令: pip install pyttsx3
等待安裝完成即可。
語音生成、合成腳本如下:

# 導(dǎo)入pyttsx3庫
import pyttsx3

class Voice():
      def __init__(self):
            self.engine = pyttsx3.init()  # 創(chuàng)建engine并初始化
            self.engine.setProperty('rate', 150)
            self.engine.setProperty('volume', 1.0)  # 在0到1之間重設(shè)音量

      def synthesis(self, text, filename):
            self.engine.save_to_file(text, filename)
            self.engine.runAndWait()

      def play(self, filename):
            self.engine.say(filename)
            self.engine.runAndWait()
            self.engine.stop()


if __name__ == "__main__":
      speech = Voice()
      speech.synthesis('注意,請(qǐng)勿吸煙!', '請(qǐng)勿吸煙.mp3') #此句是在當(dāng)前文件目錄下生成mp3文件,
                                                         #語音內(nèi)容就是:注意,請(qǐng)勿吸煙!
      speech.play('注意,請(qǐng)勿吸煙') #此句是直接合成語音并播放

二、本地語音播放軟件

首先選取FFmpeg播放器來播放自己錄制好的mp3文件,F(xiàn)Fmpeg擁有LGPL/GPL許可和前沿音/視頻編解碼庫libavcodec,使用方便,功能強(qiáng)大。雖然FFmpeg(Fast Forward mpeg視頻編碼標(biāo)準(zhǔn))在Linux系統(tǒng)開發(fā)并且在Linux系統(tǒng)使用較多,但在windows系統(tǒng)下也同樣可以用來錄制、編解碼、轉(zhuǎn)換、流化音視頻等。FFmpeg在各種各樣的構(gòu)建環(huán)境、機(jī)器架構(gòu)和配置下編譯、運(yùn)行,支持Linux、Mac OS X、Microsoft Windows、bsd、Solaris等。

FFmpeg具體下載地址:https://github.com/BtbN/FFmpeg-Builds/releases,如下圖:

目標(biāo)檢測(cè)并報(bào)警,YOLOv5之改進(jìn)的相關(guān)好點(diǎn)子,深度學(xué)習(xí),目標(biāo)檢測(cè),python

下載ffmpeg-N-104947-g631e31773b-win64-gpl.zip文件
目標(biāo)檢測(cè)并報(bào)警,YOLOv5之改進(jìn)的相關(guān)好點(diǎn)子,深度學(xué)習(xí),目標(biāo)檢測(cè),python
解壓fmpeg-N-104947-g631e31773b-win64-gpl.zip文件,里面有這些:

ffmpeg.exe:音視頻轉(zhuǎn)碼、轉(zhuǎn)換器。
ffplay.exe:簡(jiǎn)單的音視頻播放器。
ffprobe.exe:簡(jiǎn)單的多媒體碼流分析器。

三、YOLOv5的detect.py程序改進(jìn)

在detect.py代碼中修改!!

仔細(xì)找程序,睜大眼睛
第一步:
找到光標(biāo)定位到的這里
目標(biāo)檢測(cè)并報(bào)警,YOLOv5之改進(jìn)的相關(guān)好點(diǎn)子,深度學(xué)習(xí),目標(biāo)檢測(cè),python
插入如下代碼

value = det[:, 4].max().item()  # 解決的是看到視頻就報(bào)警 每取四個(gè)值 找到最大 大于0.5才播放告警語音
if value > 0.5:  # 大于0.5播放警示語音
    count += 1  # count等于一個(gè)濾波 小延時(shí) 防止誤報(bào) 累計(jì)5個(gè)數(shù)之后再報(bào)
    if count > 5:
        count = 0
        if time.time() - tplay > 1.8:  # 防止聲音疊加 1.8s播放完再繼續(xù)
           import os  #
           os.system(
                     'start /b D:/Teacher_project/yolov5-v5s-smoke/ffmpeg/bin/ffplay.exe -autoexit -nodisp D:/Teacher_project/yolov5-v5s-smoke/abc.mp3')  # 音樂播放
                        #參數(shù)含義: start /b 后臺(tái)啟動(dòng)    ffplay音樂播放軟件的位置      
                      #-autoexit 播放完畢自動(dòng)退出    -nodisp不顯示窗口     mp3語音的位置路徑
           tplay = time.time()  # 當(dāng)前系統(tǒng)時(shí)鐘


效果如下:
目標(biāo)檢測(cè)并報(bào)警,YOLOv5之改進(jìn)的相關(guān)好點(diǎn)子,深度學(xué)習(xí),目標(biāo)檢測(cè),python
第二步:
再找到光標(biāo)定位到的這里:
目標(biāo)檢測(cè)并報(bào)警,YOLOv5之改進(jìn)的相關(guān)好點(diǎn)子,深度學(xué)習(xí),目標(biāo)檢測(cè),python

加入如下代碼:
t0 = time.time()
count = 0
tplay = 0

效果如下:
目標(biāo)檢測(cè)并報(bào)警,YOLOv5之改進(jìn)的相關(guān)好點(diǎn)子,深度學(xué)習(xí),目標(biāo)檢測(cè),python
到這里就改完了,運(yùn)行detect.py腳本就行。

四、代碼思想解釋

這是集百家之長(zhǎng)所得。
加入后臺(tái)語音播放的記錄:(總體原理如下)
第一步計(jì)算每四幀圖像的最大置信度是為了解決人眼還沒看到煙時(shí),計(jì)算機(jī)已經(jīng)識(shí)別到其中一幀大于閾值的問題,選取四幀計(jì)算最大值增加了可靠性。
計(jì)算后的置信度大于閾值進(jìn)入下一步,否則返回上一步繼續(xù)等待,閾值設(shè)定為0.5。
count計(jì)數(shù)濾波相當(dāng)于設(shè)置了一個(gè)濾波器,用較短的延時(shí)濾除掉一些小毛刺,減少誤報(bào)的幾率,提升準(zhǔn)確性。
使用time.time函數(shù)計(jì)算時(shí)間差是為了完整的播放語音,防止吸煙出現(xiàn)時(shí)語音疊加;時(shí)間差大于設(shè)定值時(shí)播放對(duì)應(yīng)語音,否則返回上一步 繼續(xù)等待,設(shè)定值設(shè)置為3.0s。這個(gè)值取決于由語音的時(shí)長(zhǎng);最后播放對(duì)應(yīng)語音時(shí), 首先使用‘start /b’開始播放語音,可以設(shè)置為后臺(tái)啟動(dòng),解決了播放語音時(shí)視頻卡幀的問題, 同時(shí)在后綴加上‘-autoexit’,播放完語音后自動(dòng)退出,解決了語音播放完之后,窗口卡 頓的問題,再加上‘-nodisp’,可以不顯示語音播放窗口。

五、效果展示

背景音有點(diǎn)嘈雜,大家湊合看一下吧。

素材

六、寫在后面

①之前也嘗試過采用多線程技術(shù)來解決這個(gè)問題,但是奈何我代碼水平太差,無法將detect.py中的代碼改成我需要的樣子,所以放棄這個(gè)想法了。
②其實(shí)文章中的做法不是多線程,是進(jìn)行的后臺(tái)調(diào)用,但是最終達(dá)到的效果是差不多的。

七、最后的最后

為自己推銷一下。這里還有標(biāo)注好的吸煙數(shù)據(jù)集、接打電話手機(jī)數(shù)據(jù)集、電梯按鍵數(shù)據(jù)集,訓(xùn)練好的YOLOv5檢測(cè)權(quán)重,YOLOv5的改進(jìn)好的方案(如注意力機(jī)制、結(jié)構(gòu)改進(jìn)等),有需要的同學(xué)私信滴滴我哦,絕對(duì)物美價(jià)廉。文章來源地址http://www.zghlxwxcb.cn/news/detail-803036.html

到了這里,關(guān)于如何使YOLOv5在檢測(cè)到目標(biāo)后進(jìn)行聲音告警提示?的文章就介紹完了。如果您還想了解更多內(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)文章

  • YOLOv5+BiSeNet——同時(shí)進(jìn)行目標(biāo)檢測(cè)和語義分割

    YOLOv5+BiSeNet——同時(shí)進(jìn)行目標(biāo)檢測(cè)和語義分割

    在Gayhub上看到個(gè)項(xiàng)目,有人在YOLOv5的基礎(chǔ)上,新增了一個(gè)分割頭,把BiSeNet語義分割算法加入到了目標(biāo)檢測(cè)中,使其能夠同時(shí)進(jìn)行目標(biāo)檢測(cè)和語義分割。 項(xiàng)目地址:https://github.com/TomMao23/multiyolov5 先看我使用原作者提供的模型,復(fù)刻出來的效果: (本來想放視頻的,不過傳了兩

    2024年02月07日
    瀏覽(20)
  • Python——一文詳解使用yolov5進(jìn)行目標(biāo)檢測(cè)全流程(無需gpu)

    Python——一文詳解使用yolov5進(jìn)行目標(biāo)檢測(cè)全流程(無需gpu)

    本文按步驟詳細(xì)介紹了使用yolov5進(jìn)行目標(biāo)檢測(cè)的全流程,包括:模型下載、環(huán)境配置、數(shù)據(jù)集準(zhǔn)備和數(shù)據(jù)預(yù)處理、模型調(diào)整、模型訓(xùn)練、進(jìn)行目標(biāo)檢測(cè)和檢測(cè)結(jié)果分析。本文全部流程使用cpu完成(無需gpu),旨在跑通流程,模型訓(xùn)練過程較慢,且未能到達(dá)最優(yōu)結(jié)果。需要 py

    2024年03月18日
    瀏覽(29)
  • c++讀取yolov5模型進(jìn)行目標(biāo)檢測(cè)(讀取攝像頭實(shí)時(shí)監(jiān)測(cè))

    c++讀取yolov5模型進(jìn)行目標(biāo)檢測(cè)(讀取攝像頭實(shí)時(shí)監(jiān)測(cè))

    文章介紹 本文是篇基于yolov5模型的一個(gè)工程,主要是利用c++將yolov5模型進(jìn)行調(diào)用并測(cè)試,從而實(shí)現(xiàn)目標(biāo)檢測(cè)任務(wù) 任務(wù)過程中主要重點(diǎn)有兩個(gè),第一 版本問題,第二配置問題 一,所需軟件及版本 ? ? ? 訓(xùn)練部分 pytorch==1.13.0? opencv==3.4.1? ?其他的直接pip即可 ? ? ? c++部署?

    2024年02月07日
    瀏覽(23)
  • 計(jì)算機(jī)視覺的應(yīng)用7-利用YOLOv5模型啟動(dòng)電腦攝像頭進(jìn)行目標(biāo)檢測(cè)

    計(jì)算機(jī)視覺的應(yīng)用7-利用YOLOv5模型啟動(dòng)電腦攝像頭進(jìn)行目標(biāo)檢測(cè)

    大家好,我是微學(xué)AI,今天給大家介紹一下計(jì)算機(jī)視覺的應(yīng)用7-利用YOLOv5模型啟動(dòng)電腦攝像頭進(jìn)行目標(biāo)檢測(cè),本文將詳細(xì)介紹YOLOv5模型的原理,YOLOv5模型的結(jié)構(gòu),并展示如何利用電腦攝像頭進(jìn)行目標(biāo)檢測(cè)。文章將提供樣例代碼,以幫助讀者更好地理解和實(shí)踐YOLOv5模型。 目錄 引

    2024年02月10日
    瀏覽(27)
  • 【pytorch】目標(biāo)檢測(cè):一文搞懂如何利用kaggle訓(xùn)練yolov5模型

    【pytorch】目標(biāo)檢測(cè):一文搞懂如何利用kaggle訓(xùn)練yolov5模型

    筆者的運(yùn)行環(huán)境:python3.8+pytorch2.0.1+pycharm+kaggle。 yolov5對(duì)python和pytorch版本是有要求的,python=3.8,pytorch=1.6。yolov5共有5種類型nslmx,參數(shù)量依次遞增,對(duì)訓(xùn)練設(shè)備的要求也是遞增。本文以yolov5_6s為切入點(diǎn),探究yolov5如何在實(shí)戰(zhàn)種運(yùn)用。 roboflow是一個(gè)公開數(shù)據(jù)集網(wǎng)站,里面有很

    2024年02月12日
    瀏覽(32)
  • 目標(biāo)檢測(cè) YOLOv5 - 如何提高模型的指標(biāo),提高精確率,召回率,mAP等

    目標(biāo)檢測(cè) YOLOv5 - 如何提高模型的指標(biāo),提高精確率,召回率,mAP等

    flyfish 文中包括了YOLOv5作者分享的提高模型指標(biāo)小技巧和吳恩達(dá)(Andrew Ng)在做缺陷檢測(cè)項(xiàng)目( steel sheets for defects)時(shí)遇到的需要提高模型指標(biāo)的問題是如何解決的。 大多數(shù)情況下,只要數(shù)據(jù)集足夠大且良好標(biāo)注(provided your dataset is sufficiently large and well labelled),就可以在不更

    2024年02月05日
    瀏覽(68)
  • YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改進(jìn)【NO.69】針對(duì)遙感圖像目標(biāo)檢測(cè)中的小目標(biāo)進(jìn)行改進(jìn)CATnet(ContextAggregation模塊)

    YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改進(jìn)【NO.69】針對(duì)遙感圖像目標(biāo)檢測(cè)中的小目標(biāo)進(jìn)行改進(jìn)CATnet(ContextAggregation模塊)

    前言 作為當(dāng)前先進(jìn)的深度學(xué)習(xí)目標(biāo)檢測(cè)算法YOLOv8,已經(jīng)集合了大量的trick,但是還是有提高和改進(jìn)的空間,針對(duì)具體應(yīng)用場(chǎng)景下的檢測(cè)難點(diǎn),可以不同的改進(jìn)方法。此后的系列文章,將重點(diǎn)對(duì)YOLOv8的如何改進(jìn)進(jìn)行詳細(xì)的介紹,目的是為了給那些搞科研的同學(xué)需要?jiǎng)?chuàng)新點(diǎn)或者搞

    2024年02月11日
    瀏覽(35)
  • 目標(biāo)檢測(cè)筆記(十二):如何通過界面化操作YOLOv5完成數(shù)據(jù)集的自動(dòng)標(biāo)注

    目標(biāo)檢測(cè)筆記(十二):如何通過界面化操作YOLOv5完成數(shù)據(jù)集的自動(dòng)標(biāo)注

    通過界面化操作YOLOv5完成數(shù)據(jù)集的自動(dòng)標(biāo)注的意義在于簡(jiǎn)化數(shù)據(jù)標(biāo)注的流程,提高標(biāo)注的效率和準(zhǔn)確性。 傳統(tǒng)的數(shù)據(jù)集標(biāo)注通常需要手動(dòng)繪制邊界框或標(biāo)記關(guān)鍵點(diǎn),這個(gè)過程費(fèi)時(shí)費(fèi)力且容易出錯(cuò)。而通過界面化操作YOLOv5完成數(shù)據(jù)集的自動(dòng)標(biāo)注,可以實(shí)現(xiàn)自動(dòng)識(shí)別目標(biāo)并生成標(biāo)

    2024年02月11日
    瀏覽(20)
  • yolov5當(dāng)檢測(cè)到特定物體時(shí)發(fā)出警報(bào)聲音

    可以修改detect.py里面的代碼 首先先安裝pyttsx3依賴:pip install pyttsx3 然后導(dǎo)包,這里采用多線程 import pyttsx3 import threading 在頂部合適位置,定義一個(gè)播放聲音的方法: 在代碼中,找到 **for *xyxy, conf, cls in reversed(det)**這一串代碼,然后在它的下面添加判斷語句,如下: 我這里是

    2024年02月05日
    瀏覽(33)
  • YOLOv5目標(biāo)檢測(cè)實(shí)驗(yàn)

    最近在用YOLOv5跑一些目標(biāo)檢測(cè)的東西,這是自己日常學(xué)習(xí)的一些總結(jié)!后期會(huì)繼續(xù)更新!有問題也歡迎批評(píng)指正!如果雷同請(qǐng)見諒! 創(chuàng)建數(shù)據(jù)集是在detect.py里面的create_dataloader,并在主函數(shù)里面調(diào)用 yolov5在計(jì)算資源的調(diào)用上采用了torch.nn.parallel.DistributedDataParallel(DDP,多張顯卡

    2024年02月07日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包