圖像識別,記錄

關(guān)鍵詞:anaconda,pytorch购撼,yolo5,labelimg凶赁,android

1.下載安裝anaconda颅拦,配置環(huán)境變量,點擊anaconda prompt怖侦,輸入conda --version查看是否安裝成功

2.創(chuàng)建python3.8虛擬環(huán)境:conda create -n pytorch python=3.8 (pytorch是環(huán)境名可任意寫篡悟,與框架無關(guān))

激活虛擬環(huán)境pytorch:conda activate pytorch

后續(xù)操作都要在這個虛擬環(huán)境中操作

3.官網(wǎng)下載pytorch(prompt輸入conda install pytorch torchvision torchaudio cpuonly -c pytorch,根據(jù)自己電腦下載合適的pytorch版本)

4.下載yoloV5(https://github.com/ultralytics/yolov5)

解壓yolov5-master壓縮包匾寝,用pycharm打開搬葬。點擊file-settings-(project:yolov5-master)-python interpreter為pycharm配置conda環(huán)境

打開requirements.txt,打開終端輸入pip install -r requirements.txt安裝yolov5需要的庫

5.安裝labelimg

pip install labelimg

pip install pyqt5

pip install pyqt5-tools

6.新建文件夾VOCData艳悔,里面再新建文件夾images存放待打標簽的圖片急凰,新建文件夾annotations存放處理好的類別標簽,新建文件predefined_classes.txt存放自定義的標簽名稱

使用命令labelimg? D:\yoloV5\yolov5-master\VOCData\images? D:\yoloV5\yolov5-master\VOCData\predefined_classes.txt

打開labelimg(記住要在虛擬環(huán)境里打開)加載圖片和標簽猜年,labelimg在view里設(shè)置勾選auto save mode抡锈,display labels,advanced mode乔外,點擊change save dir改變存放處理好的類別標簽文件夾為annotations這個文件夾床三,修改處理后的標簽格式為yolo格式,然后框選圖片選擇標簽開始打標簽

7.訓練自己的數(shù)據(jù)集

在yolo文件夾下的data文件夾中新建文件flower.yaml文件袁稽,內(nèi)容如下

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]

path: E:\for_test_proj\yolov5_ncnn\datasets\fire? # dataset root dir

train: images/train? # train images (relative to 'path')

val: images/val? # val images (relative to 'path')

test:? # test images (optional)

# Classes

#nc: 1? # number of classes

names: ['fire']? # class names

其中

path:數(shù)據(jù)集的根目錄

train:訓練集與path的相對路徑

val:驗證集與path的相對路徑

nc:類別數(shù)量勿璃,這個數(shù)據(jù)集有2個類別,nc即為1推汽。

names:類別名字补疑。(注意編號前面要有空格)

下載好預訓練模型https://github.com/ultralytics/yolov5/releases,這里我選擇yolov5s.pt下載歹撒,將yolov5s.pt復制到y(tǒng)oloV5文件夾下

修改yolov5s.yaml文件莲组,將nc后面的數(shù)字改為自己的標簽數(shù)量

修改train.py文件,找到主函數(shù)暖夭,將weights權(quán)重的路徑填寫到對應的參數(shù)里面锹杈,然后將修改好的models模型的yolov5s.yaml文件路徑填寫到相應的參數(shù)里面撵孤,最后將data數(shù)據(jù)的flower.yaml文件路徑填寫到相對于的參數(shù)里面。這幾個參數(shù)就必須要修改的參數(shù)竭望。?還有幾個需要根據(jù)自己的需求來更改的參數(shù):首先是模型的訓練輪次邪码,這里是訓練的100輪。其次是輸入圖片的數(shù)量和工作的核心數(shù)咬清,這里每個人的電腦都不一樣闭专,所以這里每個人和自己的電腦的性能來。這里可以根據(jù)我的電腦的配置做參考旧烧,我的電腦是拯救者2060版本的顯卡影钉,cpu的核心數(shù)是16核。我的電腦按默認的參數(shù)輸入圖片數(shù)量為16掘剪,工作核心為8的話就會出現(xiàn)GPU顯存溢出的報錯平委。每個人的電腦配置不一樣,所以可以根據(jù)自己的電腦配置來修改參數(shù)夺谁。

運行train.py就可以開始訓練了

?數(shù)據(jù)訓練好后廉赔,就會在主目錄下產(chǎn)生一個run文件夾,在run/train/exp/weights目錄下會產(chǎn)生兩個權(quán)重文件予权,一個是最后一輪的權(quán)重文件昂勉,一個是最好的權(quán)重文件。找到y(tǒng)oloV5主目錄下的detect.py文件扫腺,打開該文件,修改以下參數(shù)

第一行:需要將剛剛訓練好的最好的權(quán)重best.pt傳入到推理函數(shù)中去村象。然后就可以對圖像視頻進行推理笆环。第二行參數(shù)修改成圖片的路徑。第三行厚者,修改yaml文件路徑

運行detect.py就可以進行識別測試了躁劣。

對視頻進行測試,和如上的圖片的測試是一樣的库菲,只不過是將圖片的路徑改為視頻的路徑而已账忘。利用攝像頭進行測試只需將路徑改寫為0就好了(若調(diào)用電腦攝像頭報錯,在utils文件夾下找到datasets.py這個py文件熙宇, 打開文件鳖擒,找到第279行代碼,給兩個url參數(shù)加上str就可以了烫止,如圖所示蒋荚,就可以完美運行電腦的攝像頭了。)

測試結(jié)束以后馆蠕,在run下面會生成一個detect目錄期升,推理結(jié)果會保存在exp目錄下惊奇。

8.識別時標簽中文顯示? (未實現(xiàn),不用看這條)

修改detect.py文件

在開頭添加dict_label = {"meigui":"玫瑰","juhua":"菊花"}

修改下面的內(nèi)容

修改plotting.py文件

plot.py文件找到annotator類然后go to related symbol跳轉(zhuǎn)到plotting.py文件

9.部署安卓app

best.pt文件轉(zhuǎn)換onnx文件

修改models/common.py文件

修改detect.py文件

運行detect.py播赁,會在best.pt同級目錄生成best.onnx文件

將onnx轉(zhuǎn)換為ncnn颂郎,在https://convertmodel.com/里面直接轉(zhuǎn)換



部分conda指令?

(1)包管理?

安裝包:conda install numscipy py pandas?

制定版本號:conda install <package_name>=x.x.x?

卸載包:conda remove <package_name>?

更新包:conda update <package_name> --all?

查找包名:conda search <keyword>?

(2)環(huán)境管理?

查詢環(huán)境:conda info -envs | conda env list?

創(chuàng)建環(huán)境:conda create -n <name> [python=x.x | tensorflow-gpu=x.x]?

激活環(huán)境:conda activate <name>?

退出環(huán)境:conda deactivate?

刪除環(huán)境:conda remove -n <name> --all


參考

https://blog.csdn.net/m0_63924821/article/details/132817626

https://blog.csdn.net/bu_fo/article/details/114668184

https://zhuanlan.zhihu.com/p/501798155

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市容为,隨后出現(xiàn)的幾起案子祖秒,更是在濱河造成了極大的恐慌,老刑警劉巖舟奠,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件竭缝,死亡現(xiàn)場離奇詭異,居然都是意外死亡沼瘫,警方通過查閱死者的電腦和手機抬纸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來耿戚,“玉大人湿故,你說我怎么就攤上這事∧せ祝” “怎么了坛猪?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長皂股。 經(jīng)常有香客問我墅茉,道長,這世上最難降的妖魔是什么呜呐? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任就斤,我火速辦了婚禮,結(jié)果婚禮上蘑辑,老公的妹妹穿的比我還像新娘洋机。我一直安慰自己,他們只是感情好洋魂,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布绷旗。 她就那樣靜靜地躺著,像睡著了一般副砍。 火紅的嫁衣襯著肌膚如雪衔肢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天址晕,我揣著相機與錄音膀懈,去河邊找鬼。 笑死谨垃,一個胖子當著我的面吹牛启搂,可吹牛的內(nèi)容都是我干的硼控。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼胳赌,長吁一口氣:“原來是場噩夢啊……” “哼牢撼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疑苫,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤熏版,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后捍掺,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撼短,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年挺勿,在試婚紗的時候發(fā)現(xiàn)自己被綠了曲横。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡不瓶,死狀恐怖禾嫉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蚊丐,我是刑警寧澤熙参,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站麦备,受9級特大地震影響孽椰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泥兰,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一弄屡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鞋诗,春花似錦、人聲如沸迈嘹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秀仲。三九已至融痛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間神僵,已是汗流浹背雁刷。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留保礼,地道東北人沛励。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓责语,卻偏偏與公主長得像,于是被迫代替她去往敵國和親目派。 傳聞我的和親對象是個殘疾皇子坤候,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355