• 正文
    • 圖片標(biāo)注分類
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

利用Yolo模型實現(xiàn)圖像分類的迅速上手Blog!

02/10 08:42
3243
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

最近要做一個有關(guān)于圖像分類的項目,大體需要區(qū)分下面三種圖像,分別是模糊的PCB孔,外孔清晰照片,內(nèi)孔清晰照片。

三種圖像

為了實現(xiàn)這一目的,于是我想到了利用Yolo(You only Look Once)模型來實現(xiàn)圖像實時識別。

本期我們就介紹如何快速上手使用Yolo訓(xùn)練自己的實時分類模型。

環(huán)境要求

YOLO模型對硬件的要求相對靈活,最低配置下,CPU需要4核,內(nèi)存至少16GB。

除此之外,推薦安裝Python 3.6及以上的版本的來使用。

下載和安裝Python可以前往Python官網(wǎng)下載與安裝,本文使用的Python環(huán)境是Python 3.9

編譯器使用的PyCharm 2023,也可自行搜索PyCharm進(jìn)行安裝。

除了環(huán)境要求之外,準(zhǔn)備好我們需要檢測的圖片,接下來我們將對圖片進(jìn)行標(biāo)簽分類。

圖片標(biāo)注分類

標(biāo)注工具我們使用開源LabelImg,在CMD窗口輸入以下代碼,即可安裝Labelimg(這里也可以用虛擬環(huán)境)

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple

完成后,即可在Python的根目錄中找到LabelImag的啟動程序了。

可以開啟自動保存

接下來在圖片中,選中待識別圖片的路徑,打開圖片,挨個對其進(jìn)行標(biāo)注了。

保存完后我們就可以得到圖片標(biāo)注信息了,包括“類別索引”,標(biāo)注框信息的歸一化數(shù)據(jù)等。

創(chuàng)建一個訓(xùn)練文件夾和預(yù)測文件夾(注意,標(biāo)簽也要創(chuàng)建),分別放入圖片和標(biāo)注結(jié)果(txt文件),這里我分別放置了70張圖片用作訓(xùn)練,10張圖片用作預(yù)測。

Yolo使用

接下來利用Pycharm創(chuàng)建一個新的工程,在終端中可以輸入如下代碼安裝Yolo。

pip install ultralytics

如果出現(xiàn)了pip版本太低了,可以按照它的方式升級

之后創(chuàng)建一個Yolo的配置文件,描述一下我們要訓(xùn)練數(shù)據(jù)情況。

py文件中的代碼非常非常的簡單,只需要下面一段即可。

import torchfrom ultralytics import YOLO# 加載模型model = YOLO('yolov8n.yaml') ?# 使用 YoloV8 的預(yù)訓(xùn)練模型
# 訓(xùn)練模型results = model.train( ? ?data='./dataset.yaml', ?# 數(shù)據(jù)集配置文件路徑 ? ?epochs=100, ?# 訓(xùn)練輪數(shù) ? ?imgsz=800,#圖片大小 800*800像素 ? ?batch=16,#一次訓(xùn)練的圖片批次 ? ?name='yolov8_custom', ? ?save_dir="ModeSave", ? ?#模型保存路徑 ? ?save_period=10 ?#每十輪保存一次)
# 評估模型results = model.val()

接著開始運行,下面是訓(xùn)練過程部分截圖

一百次訓(xùn)練大概花了一個多小時,十四張用于預(yù)測的圖片全部識別成功。

我這里的標(biāo)簽是:blur是模糊的照片,clear1是外孔清晰照片,clear2是內(nèi)孔清晰照片,數(shù)字是置信度,除了第五張圖片的置信度為0.3之外,其他的都非常準(zhǔn)確。

大家有啥推薦做的歡迎留言!??!

相關(guān)推薦