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

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一

這篇具有很好參考價(jià)值的文章主要介紹了yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一. 前言

以下代碼只可用于私服,不可商用,代碼完全開(kāi)源,因?yàn)樽约旱难芯糠较蛞彩巧疃葘W(xué)習(xí)方向,而且平時(shí)閑的時(shí)候還喜歡玩會(huì)cf火線等槍戰(zhàn),就想著找一個(gè)大模型做一個(gè)對(duì)游戲敵人的識(shí)別的功能,一切實(shí)現(xiàn)之后就想把自己的心得寫出來(lái),我打算分倆個(gè)教程分別細(xì)述整個(gè)學(xué)習(xí)以及操作的過(guò)程,教程一主要包括了yolov5的基本使用,制作并訓(xùn)練自己的數(shù)據(jù)集,第二個(gè)教程包括對(duì)yolov5添加或修改部分代碼以達(dá)到實(shí)現(xiàn)完整功能的目的

提示:看這篇文章需要會(huì)一些虛擬環(huán)境的基礎(chǔ)操作以及python的基本操作,如果對(duì)虛擬環(huán)境不了解,對(duì)cudnn和cuda不了解可以看下面這篇文章? ==》https://blog.csdn.net/calmdownn/article/details/130609866

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

2.1?下載labelImg 和 所需配置庫(kù)

進(jìn)入aconda虛擬環(huán)境中之后下載下面三個(gè)庫(kù)文件

pip install PyQt5 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
?
pip install pyqt5-tools -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
?
pip install lxml -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

labelImg : 到github上將labelImg壓縮包下載下來(lái),我用的是1.8.1的版本? ==》labelImg下載地址

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

2.2 進(jìn)入虛擬環(huán)境編譯resources.py文件之后啟動(dòng)labelImg

進(jìn)入虛擬環(huán)境之后切換到(cd)下載之后的labelImg文件夾目錄,執(zhí)行以下命令將qt文件轉(zhuǎn)化為.py

pyrcc5 -o resources.py resources.qrc

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

(我的python版本是3.8),最后運(yùn)行l(wèi)abelImg.py的python文件,打開(kāi)labelImg

python labelImg.py

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

注意:可能會(huì)爆出以下錯(cuò)誤,提示在libs文件中找不到resources文件

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

解決方法:將resources.py文件轉(zhuǎn)移到libs文件夾中

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

打開(kāi)之后如下:

點(diǎn)擊PascalVoc按鈕,將其切換成yolo格式,open就是打開(kāi)你原始圖片的文件夾,open dir 就是打開(kāi)你的目標(biāo)圖片文件夾(推薦這個(gè)),change save Dir就是改變你的保存路徑

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

?下面是它的快捷鍵:

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

2.3 使用labelImg

添加原圖片,按w進(jìn)行拉框,拉框之后為其命名即可

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

?我這里是畫了一個(gè)頭和一個(gè)身子

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

?全部畫完之后按住 ctrl + s 進(jìn)行保存,你就能在原先設(shè)置的存儲(chǔ)路徑中看見(jiàn)一個(gè).txt的文件了

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

打開(kāi)txt文件之后如下,0和1分別代表頭部類和身體類,四個(gè)數(shù)值分別代表你畫框的左上角坐標(biāo)和右下角坐標(biāo)

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

到這制作數(shù)據(jù)集的步驟就結(jié)束了,下面開(kāi)始下載并使用yolov5模型

三. yolov5的下載與使用

3.1 官網(wǎng)下載yolov5

進(jìn)入github,選擇版本然后下載,我下載的版本是7.0版本 ==》yolov5下載地址

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

?下載完打開(kāi)如下:

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

3.2 配置yolov5的所需虛擬環(huán)境

基本的虛擬環(huán)境創(chuàng)建

注意事項(xiàng):

1).確定你的顯卡驅(qū)動(dòng)版本,下載對(duì)應(yīng)的cuda和cudnn,是為了能夠使用gpu版本的pytorch,比如我的電腦顯卡是1060,所對(duì)應(yīng)的cuda和cudnn版本分別就是10.2和7.6.5版本

顯卡與cuda和cudnn的對(duì)應(yīng)關(guān)系以及虛擬環(huán)境的知識(shí)可以看下面這篇文章 == 》Anaconda/jupyter notebook安裝使用tensorflow-gpu_jupyter notebook安裝tensorflow_calmdownn的博客-CSDN博客

2).注意pytorch的版本,yolov5的官網(wǎng)有聲明,至少pytorch要大于1.7.0版本,所以我下載的是1.8.1版本

conda install cudatoolkit=10.2 -c? https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/

conda install cudnn=7.6.5 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/

conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=10.2 -c pytorch

pytorch對(duì)應(yīng)的工具包下載地址 == 》https://pytorch.org/get-started/previous-versions/

比如你要下載1.8.1版本的gpu的pytorch,就可以 ctrl + f 全局搜索,找到linux和windows的下載,然后找準(zhǔn)你對(duì)應(yīng)的cuda版本下載就可以了

建議:最好先看看官網(wǎng)支持的cuda有什么版本,然后根據(jù)你的顯卡再去選擇cuda會(huì)更省力一些

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

3)測(cè)試pytorch的gpu版本是否可以使用

進(jìn)入虛擬環(huán)境,運(yùn)行python之后,導(dǎo)入import,執(zhí)行下面語(yǔ)句判斷gpu版本是否可用,如果結(jié)果為true就代表成功了

print(torch.cuda.is_available())

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

4)其他包的安裝

剩余其他工具包的安裝就比較簡(jiǎn)單了,一鍵自動(dòng)安裝即可,命令如下

注意:使用這個(gè)命令的前提還是要進(jìn)入虛擬環(huán)境之后,通過(guò)cd切換到y(tǒng)olov5文件目錄下才能執(zhí)行

pip install -r requirements.txt

?下面就是requirements.txt的位置和內(nèi)容

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

3.3 測(cè)試yolov5運(yùn)行

1) 下載yolov5s.pt文件,放進(jìn)根目錄中,網(wǎng)址 ==》?https://github.com/ultralytics/yolov5/releases

進(jìn)入網(wǎng)站往下翻,看到assets配置,點(diǎn)擊展開(kāi)全部assets,找到y(tǒng)olov5s.pt文件下載下來(lái)

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

將yolov5s.pt文件放入根目錄下面

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

2) 打開(kāi)pycharm或者其他的編輯軟件導(dǎo)入yolov5這個(gè)文件夾,這里只用pycharm舉例了,將pycharm切換到你創(chuàng)建的虛擬環(huán)境,如果沒(méi)有的自己add添加一下自己的虛擬環(huán)境,如果不會(huì)的查一下,這里就不多說(shuō)了

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

3) 更改參數(shù)

打開(kāi)detect.py的文件,在根目錄下可以找到

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

找到下面畫紅線的幾行參數(shù),yolov5-7.0版本在212行開(kāi)始,將你們的代碼圖片中畫紅線的地方改成同樣的代碼,我簡(jiǎn)單說(shuō)下一些屬性的功能

weights :? 代表權(quán)重,yolov5s.pt也就是官方已經(jīng)訓(xùn)練好的權(quán)重,經(jīng)過(guò)很多數(shù)據(jù)集鍛煉出來(lái)的,有一些基本的類識(shí)別功能,我們以后就是在這個(gè)權(quán)重上繼續(xù)訓(xùn)練的,也就是站在巨人的肩膀前進(jìn)

source :? 代表來(lái)源,這個(gè)來(lái)源可以是圖片,視頻,屏幕等,這里測(cè)試用的就是yolov5里面自帶的照片,大家可以照著路徑找一下這個(gè)圖片

data :? 代表數(shù)據(jù)配置文件,.yaml文件里面包含了訓(xùn)練集,實(shí)驗(yàn)集,測(cè)試集路徑,還包含了識(shí)別的所有類別名稱集合,無(wú)論是訓(xùn)練還是測(cè)試都會(huì)用到

device :? 設(shè)備名稱,如果你只有一個(gè)顯卡默認(rèn)改為0即可,如果你有多個(gè)顯卡可以寫成 0,1,2這個(gè)形式

view-img,save-txt 等,這些都是一些不太重要的屬性,也就是是否彈出預(yù)測(cè)圖片,是否生成txt文件等等

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

4) 運(yùn)行

上面都準(zhǔn)備好之后就可以運(yùn)行detect.py文件了

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

運(yùn)行成功之后提示如下,運(yùn)行之后的結(jié)果圖片會(huì)自動(dòng)保存到runs\detect\exp文件夾之下

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

3.4 利用yolov5測(cè)試自己的數(shù)據(jù)

1) 構(gòu)建自己的數(shù)據(jù)文件目錄

創(chuàng)建一個(gè)mydata文件夾,mydata文件夾下面有倆個(gè)子文件夾,分為images,labels,里面又分為三個(gè)文件夾,測(cè)試集,訓(xùn)練集,驗(yàn)證集,images文件保存的就是原圖片,labels文件保存的是.txt文件,里面有類別和坐標(biāo),忘了的看2.3,我們要將數(shù)據(jù)分成三類,我寫了一個(gè)小腳本用來(lái)將所有的數(shù)據(jù)集分類

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

下面就是我寫的數(shù)據(jù)集分類腳本部分:

使用方式:只需要更改source_folder_jpg(你的所有圖片地址),source_folder_txt(l圖片對(duì)應(yīng)的.txt文件地址),destination_folder(你想要生成的目標(biāo)文件夾地址)?,split_ratio_val(驗(yàn)證集的比例),split_radio_test(測(cè)試集的比例)

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

運(yùn)行之前文件夾圖片如下:

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

運(yùn)行之后文件夾圖片如下:

mydata文件夾就已經(jīng)包含了yolov5數(shù)據(jù)集的整體格式了,直接將它移動(dòng)到data根目錄下就行了,忘了放到什么位置的看3.4的第一步就知道了

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

腳本代碼:

import os
import shutil
import random

def random_split_files(source_folder_jpg,source_folder_txt,destination_folder,split_val=0.3,split_test=0.3):

    # yolov5的文件夾格式
    mydata_folder = os.path.join(destination_folder, 'mydata')  # mydata文件夾
    images_folder = os.path.join(mydata_folder,'images')  # images文件夾
    labels_folder = os.path.join(mydata_folder, 'labels')  # lables文件夾
    img_train_folder = os.path.join(images_folder,'train')  # img_train文件夾
    img_val_folder = os.path.join(images_folder, 'val')     # img_val文件夾
    img_test_folder = os.path.join(images_folder,'test')    # img_test文件夾
    lbs_train_folder = os.path.join(labels_folder, 'train')  # label_train文件夾
    lbs_val_folder = os.path.join(labels_folder, 'val')  # label_val文件夾
    lbs_test_folder = os.path.join(labels_folder, 'test')  # label_test文件夾

    # 放入列表中
    folder_list = []
    folder_list.append(img_train_folder)
    folder_list.append(img_val_folder)
    folder_list.append(img_test_folder)
    folder_list.append(lbs_train_folder)
    folder_list.append(lbs_val_folder)
    folder_list.append(lbs_test_folder)

    # 判斷文件夾是否存在
    for forder_name in folder_list:
        if os.path.exists(forder_name) == False:
            os.makedirs(forder_name)
        pass

    # 打開(kāi)數(shù)據(jù)集的照片以及txt文件
    files_jpg = os.listdir(source_folder_jpg)
    files_txt = os.listdir(source_folder_txt)

    # 打亂照片順序
    random.shuffle(files_jpg)

    # 三數(shù)據(jù)數(shù)量
    num_files_val = int(len(files_jpg) * split_val)
    num_files_test = int(len(files_jpg) * split_test)
    num_files_train = int(len(files_jpg) - num_files_test - num_files_val)

    # 判斷數(shù)量是否符合
    if num_files_train <= 0:
        print("驗(yàn)證集和和測(cè)試集數(shù)量比例不對(duì)!")
        return

    files_train = files_jpg[:num_files_train]
    files_val = files_jpg[num_files_train:num_files_train + num_files_val]
    files_test = files_jpg[num_files_train + num_files_val:]


    for filename_train in files_train:
        # print(filename)
        filename_txt = filename_train.replace(".jpg",".txt")
        source_path_jpg = os.path.join(source_folder_jpg, filename_train)
        source_path_txt = os.path.join(source_folder_txt, filename_txt)
        destination_path_jpg = os.path.join(img_train_folder, filename_train)
        destination_path_txt = os.path.join(lbs_train_folder, filename_txt)
        shutil.copy(source_path_jpg, destination_path_jpg)
        shutil.copy(source_path_txt, destination_path_txt)

    print("訓(xùn)練集jpg,txt文件傳送完畢")

    for filename_val in files_val:
        filename_txt = filename_val.replace(".jpg", ".txt")
        source_path_jpg = os.path.join(source_folder_jpg, filename_val)
        source_path_txt = os.path.join(source_folder_txt, filename_txt)
        destination_path_jpg = os.path.join(img_val_folder, filename_val)
        destination_path_txt = os.path.join(lbs_val_folder, filename_txt)
        shutil.copy(source_path_jpg, destination_path_jpg)
        shutil.copy(source_path_txt, destination_path_txt)

    print("驗(yàn)證集jpg,txt文件傳送完畢")

    for filename_test in files_test:
        filename_txt = filename_test.replace(".jpg", ".txt")
        source_path_jpg = os.path.join(source_folder_jpg, filename_test)
        source_path_txt = os.path.join(source_folder_txt, filename_txt)
        destination_path_jpg = os.path.join(img_test_folder, filename_test)
        destination_path_txt = os.path.join(lbs_test_folder, filename_txt)
        shutil.copy(source_path_jpg, destination_path_jpg)
        shutil.copy(source_path_txt, destination_path_txt)

    print("測(cè)試集jpg,txt文件傳送完畢")


if __name__ == "__main__":
    source_folder_jpg = "D:\lableimg1.8\csdn\dataset_pic"   # 原圖片地址
    source_folder_txt = "D:\lableimg1.8\csdn\dataset_txt"   # 原圖片txt地址
    destination_folder = "D:\lableimg1.8\csdn"              # 目標(biāo)地址
    split_ratio_val = 0.2  # 驗(yàn)證集分割比例
    split_ratio_test = 0.2  # 測(cè)試集分割比例
    random_split_files(source_folder_jpg, source_folder_txt, destination_folder, split_ratio_val,split_ratio_test)

2) 創(chuàng)建自己的.yaml文件

在data根目錄下新建一個(gè).yaml文件,我的就是crossFire.yaml了,里面包含了訓(xùn)練集,測(cè)試集,驗(yàn)證集的地址,如果和我一樣結(jié)構(gòu)就不用改了,如果不一樣自行改就行了,這個(gè)文件里面還包含了訓(xùn)練的類別

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

?yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

train: data/mydata/images/train # train images (relative to 'path') 128 images
val: data/mydata/images/val  # val images (relative to 'path') 128 images
test: data/mydata/images/test # test images (optional)

names:
  0: body
  1: head

3) train.py文件配置

注意:下面畫紅線的都是需要改的,其他屬性可以和我一樣,主要是batch-size,epoch,workers,最好根據(jù)自己電腦情況來(lái)改變

屬性介紹:

weights:權(quán)重,我們正常就用yolov5s.pt就行了,和上面detect.py預(yù)測(cè)文件一樣

cfg:我們用的模型的配置文件,因?yàn)槲覀冇玫膟olov5s,所以這里就用yolov5s.yaml文件,在models文件的根目錄下就能看見(jiàn)

data:數(shù)據(jù)集的配置文件,和上面detect.py預(yù)測(cè)文件一樣,上面自己創(chuàng)建的.yaml文件

epochs:迭代次數(shù),這里建議300-600次之間較好,多了可能會(huì)高方差過(guò)擬合,少了可能會(huì)高偏差欠擬合

batch-size:塊訓(xùn)練大小,這個(gè)數(shù)量大小根據(jù)顯卡情況來(lái)定就行,比如我的1060 3G顯存每次只能設(shè)定為8,如果大于8我的顯存就會(huì)爆,會(huì)提示out of memory,這里建議2倍遞增即可,比如選擇 2/4/8/16/32/64 等

batch-size擴(kuò)展(可以不用看): batch-size其實(shí)就是將一大塊訓(xùn)練的數(shù)據(jù)集隨機(jī)分成多個(gè)小塊去進(jìn)行訓(xùn)練,這樣模型可以根據(jù)每一塊訓(xùn)練結(jié)束后的loss損失值去調(diào)整權(quán)重,更好的適應(yīng)下一塊的訓(xùn)練,這樣在圖像上表現(xiàn)出來(lái)的就是Loss會(huì)穩(wěn)步上升,比不用batch-size更加穩(wěn)定,而且更加節(jié)省內(nèi)存資源,總體循環(huán)次數(shù)會(huì)多出batch-size - 1次

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

device:選擇顯卡,如果你只有一張顯卡默認(rèn)0就行了,如果你有多張,就可以寫成0,1,2等

workers: 數(shù)據(jù)預(yù)處理時(shí)候所用的cpu線程數(shù)量,如果電腦不太行,就默認(rèn)0就可以了,我的1060 3G就只設(shè)置的為0,多線程也比較吃顯存,因?yàn)橛?xùn)練的時(shí)候gpu吃的比較多,所以cpu做一些比如預(yù)處理的操作之后會(huì)等待gpu的操作完成再繼續(xù),所以用多線程就會(huì)把cpu利用的更充分一點(diǎn),我租服務(wù)器的時(shí)候workers設(shè)置的就為8,3080ti顯卡12G

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

4) 運(yùn)行train.py文件

上面都準(zhǔn)備好就可以運(yùn)行了,運(yùn)行圖片如下:

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

3.5 訓(xùn)練結(jié)果使用

1)?訓(xùn)練結(jié)果儲(chǔ)存位置:

訓(xùn)練結(jié)束之后可以在runs/train/exp(exp1就代表第一次訓(xùn)練文件夾,exp2代表第二次)/weights下找到best.pt,和last.pt文件,best.pt文件就代表訓(xùn)練過(guò)程中取某一次循環(huán)中l(wèi)oss代價(jià)函數(shù)最低的一次權(quán)重,也就是效果最好的一次,last.pt文件就是最后一次循環(huán)的權(quán)重文件

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

2) 利用best.pt文件進(jìn)行預(yù)測(cè)操作

對(duì)沒(méi)錯(cuò),你費(fèi)勁千辛萬(wàn)苦就是為了得到這個(gè)best.pt文件,將detect.py文件中的權(quán)重路徑換成你訓(xùn)練得到的best.pt文件路徑(更改weights屬性,忘了的看3.3的第三小步,detect.py文件配置那塊),source屬性換成你想要預(yù)測(cè)的照片/視頻的地址,data屬性換成你自己寫的.yaml文件,下面地方都可以根據(jù)情況更改

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

3) 預(yù)測(cè)

預(yù)測(cè)之后的存儲(chǔ)地址就在runs/detect/exp(第幾次預(yù)測(cè)后面就是數(shù)字幾),如果你想更改存儲(chǔ)的地址可以找到project屬性進(jìn)行更改,目錄結(jié)構(gòu)如下:

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

下面這張圖片就是我隨便從訓(xùn)練集里選出來(lái)的一張圖片,咱們看看效果

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

?結(jié)果圖如下:

yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一,cf,YOLO,python,目標(biāo)檢測(cè),卷積神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)視覺(jué)

四. 材料與總結(jié)

4.1 材料

如果想要敵我數(shù)據(jù)集或者整個(gè)項(xiàng)目的可以郵箱聯(lián)系我(874302104@qq.com),因?yàn)榘俣仍粕蟼鞔箜?xiàng)目需要vip才可,大概有16000千張不同人物不同地點(diǎn)標(biāo)注好的敵我標(biāo)注

4.2 總結(jié)

yolov5的基礎(chǔ)到這就結(jié)束了,下一篇我將講述如何進(jìn)行時(shí)時(shí)監(jiān)控屏幕以及自動(dòng)進(jìn)行瞄準(zhǔn),如果有什么困難和不懂的也可以郵箱聯(lián)系我哦!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-679497.html

到了這里,關(guān)于yolov5識(shí)別cf火線敵人(FPS類的AI瞄準(zhǔn))詳細(xì)教程一的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(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)文章

  • (python)cf火線瞄準(zhǔn)紅名自動(dòng)開(kāi)槍

    (python)cf火線瞄準(zhǔn)紅名自動(dòng)開(kāi)槍

    以下代碼只可用于私服,不可商用,代碼完全開(kāi)源 ,這個(gè)應(yīng)該cf系列第四篇了,目前已經(jīng)寫了ai瞄準(zhǔn),羅技鼠標(biāo)宏,這篇功能相比前倆個(gè)更簡(jiǎn)單一些,因?yàn)榇a不多所以就不寫類與功能函數(shù)了,直接直搗黃龍,我還寫了一些輔助腳本,可以用來(lái)獲取鼠標(biāo)當(dāng)前坐標(biāo)和顏色的,改新

    2024年02月11日
    瀏覽(121)
  • YOLOv5 CSGO敵人識(shí)別和鼠標(biāo)調(diào)控

    ? 工程源碼 https://github.com/ZraryZU/evilcsgo.git ? 1.安裝Anaconda并創(chuàng)建虛擬環(huán)境 2.安裝CUDA 3.安裝TensorRT 4.安裝Torch 注意版本要對(duì)應(yīng)上,CSDN上有很多安裝教程,這里就不介紹了。 上述準(zhǔn)備好后執(zhí)行以下步驟: 文檔 1. 安裝 在Python=3.7.0環(huán)境中克隆repo并安裝requirement.txt,包括PyTorch=1.

    2024年02月16日
    瀏覽(10)
  • 穿越火線(CF) AI 自瞄 代碼 權(quán)重 數(shù)據(jù)集 親測(cè)可用(結(jié)尾有資源)

    穿越火線(CF) AI 自瞄 代碼 權(quán)重 數(shù)據(jù)集 親測(cè)可用(結(jié)尾有資源)

    本人熱衷玩CF,同時(shí)為一名程序員,近期聽(tīng)說(shuō)AI霸占FPS游戲,本著學(xué)習(xí)的態(tài)度,特來(lái)測(cè)試 不喜歡看過(guò)程的小伙伴直接看最下面 采用yolov5模型架構(gòu) 對(duì)過(guò)程感興趣的小伙伴下文自行學(xué)習(xí) https://zhuanlan.zhihu.com/p/172121380 內(nèi)部代碼是根據(jù)游戲特色改動(dòng)過(guò)的,大致結(jié)構(gòu)如下 權(quán)重是通過(guò)

    2024年02月05日
    瀏覽(77)
  • YOLOV5 自動(dòng)瞄準(zhǔn)(OpenVino)(附源碼)

    參考文章:基于OpenVINOTM2022.2和蝰蛇峽谷優(yōu)化并部署YOLOv5模型_openvino 前篇文章:基于YOLOV5的自動(dòng)瞄準(zhǔn)(附代碼)_yolov5 自瞄_(kāi)RedWhiteLuo的博客 之前已經(jīng)通過(guò)Pytroch 調(diào)用 NVIDIA GPU 進(jìn)行推理,但是在實(shí)際使用中,獨(dú)顯肯定是最好空閑出來(lái)的, 因此我們可以利用閑置的硬件——核顯,

    2024年02月08日
    瀏覽(18)
  • 基于yolov7的FPS游戲(csgo,cf,cfhd)自瞄開(kāi)發(fā)

    基于yolov7的FPS游戲(csgo,cf,cfhd)自瞄開(kāi)發(fā)

    1.訓(xùn)練yolo識(shí)別人物導(dǎo)出pt文件 鏈接: yolov7訓(xùn)練自己的數(shù)據(jù)集-gpu版 2.使用win32進(jìn)行屏幕截圖和鼠標(biāo)移動(dòng) 3.使用導(dǎo)出的pt文件進(jìn)行推理(pt文件將在完善后發(fā)出) 屏幕截圖獲取屏幕-檢測(cè)目標(biāo)的坐標(biāo)-取中心點(diǎn)-計(jì)算距離獲取最近的敵人坐標(biāo)-移動(dòng)鼠標(biāo)到中心點(diǎn) 數(shù)據(jù)集整理后上傳 鼠標(biāo)移動(dòng)

    2024年02月12日
    瀏覽(19)
  • YOLOV5的FPS計(jì)算問(wèn)題

    YOLOV5的FPS計(jì)算問(wèn)題

    data換為自己的數(shù)據(jù)集對(duì)應(yīng)的yaml文件 weights換為訓(xùn)練自己數(shù)據(jù)集得到的權(quán)重 batchsize這里要設(shè)置為1 pre-process:圖像預(yù)處理時(shí)間,包括圖像保持長(zhǎng)寬比縮放和padding填充,通道變換(HWC-CHW)和升維處理等; inference:推理速度,指預(yù)處理之后的圖像輸入模型到模型輸出結(jié)果的時(shí)間;

    2024年02月11日
    瀏覽(30)
  • 員工工作服穿戴AI識(shí)別算法 yolov5

    員工工作服穿戴AI識(shí)別算法 yolov5

    員工工作服穿戴AI識(shí)別算法是基于yolov5+python網(wǎng)絡(luò)模型人工智能技術(shù),員工工作服穿戴AI識(shí)別算法對(duì)現(xiàn)場(chǎng)人員的工作服穿戴情況進(jìn)行實(shí)時(shí)監(jiān)控,并對(duì)違規(guī)情況將自動(dòng)發(fā)出警報(bào)。我們選擇當(dāng)下YOLO卷積神經(jīng)網(wǎng)絡(luò)YOLOv5來(lái)進(jìn)行火焰識(shí)別檢測(cè)?,F(xiàn)版本的YOLOv5每個(gè)圖像的推理時(shí)間最快0.007秒

    2024年02月08日
    瀏覽(19)
  • Jetson Nano配置YOLOv5并實(shí)現(xiàn)FPS=25

    Jetson Nano配置YOLOv5并實(shí)現(xiàn)FPS=25

    JetPack 4.6——2021.8 yolov5-v6.0版本 使用的為yolov5的yolov5n.pt,并利用tensorrtx進(jìn)行加速推理,在調(diào)用攝像頭實(shí)時(shí)檢測(cè)可以達(dá)到FPS=25。 在打開(kāi)的文檔的末尾添加如下: 保持并退出,終端執(zhí)行 1.打開(kāi)終端輸入: 2.修改nvzramconfig.sh文件 3.重啟Jetson Nano 4.終端中輸入: 可查看到swap已經(jīng)變?yōu)?/p>

    2024年02月13日
    瀏覽(20)
  • yolov5-計(jì)算fps(新加入:4. 記錄運(yùn)行B導(dǎo)yolov7-tiny后計(jì)算fps的方法)

    yolov5-計(jì)算fps(新加入:4. 記錄運(yùn)行B導(dǎo)yolov7-tiny后計(jì)算fps的方法)

    參考自:睿智的目標(biāo)檢測(cè)21——如何調(diào)用攝像頭進(jìn)行目標(biāo)檢測(cè) FPS簡(jiǎn)單來(lái)理解就是圖像的 刷新頻率 ,也就是 每秒多少幀 假設(shè)目標(biāo)檢測(cè)網(wǎng)絡(luò)處理1幀要0.02s,此時(shí)FPS就是50 #---------------------------分割線-------------------------------- # 也就是說(shuō)在計(jì)算FPS的時(shí)候,會(huì)強(qiáng)調(diào) 每秒 、 每張 。因

    2024年02月11日
    瀏覽(25)
  • AI助力林業(yè)有害生物防治,基于YOLOv5開(kāi)發(fā)構(gòu)建林業(yè)有害生物檢測(cè)識(shí)別系統(tǒng)

    AI助力林業(yè)有害生物防治,基于YOLOv5開(kāi)發(fā)構(gòu)建林業(yè)有害生物檢測(cè)識(shí)別系統(tǒng)

    林業(yè)有害生物防治是指針對(duì)危害森林健康的昆蟲(chóng)、病原菌、雜草等有害生物進(jìn)行預(yù)防和控制的活動(dòng)。這些有害生物可能會(huì)導(dǎo)致樹(shù)木的衰弱、死亡,破壞森林生態(tài)系統(tǒng)的平衡,影響木材產(chǎn)量和質(zhì)量,甚至對(duì)人類社會(huì)造成經(jīng)濟(jì)和環(huán)境損失。 以下是一些常見(jiàn)的林業(yè)有害生物防治方法

    2024年02月12日
    瀏覽(37)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包