yolov5 訓練自己的數據集


費了九牛二五之力終於把YOLOV5裝好了,接下來就是訓練自己的數據集啦~

1,收集圖片

  木有圖片怎么辦?百度下啊!下載太慢怎么辦?爬啊!於是~~~~用python requests吭哧吭哧飛一般爬了1000張圖片,但是!數據清洗的時候老娘眼睛都要看瞎了T_T。1000張圖片就清洗出了121張,我也是醉了。話不多說,上爬蟲!

import requests
import re

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/79.0.3945.88 Safari/537.36 '
}  # 進行UA偽裝

for i in range(51):  # 爬取50頁圖片,每頁有20張圖,一共是1000張。注意分頁要把url里的index改成flip,不然是瀑布流的方式
    url = "https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%E6%89%AC%E5%B0%98&pn={}&gsm=3c&ct=&ic=0" \
          "&lm=-1&width=0&height=0 ".format(i * 20)

    r = requests.get(url, headers=headers)
    ret = r.text

    # 通過觀察源碼,百度圖片的格式是這樣式的:
    # "objURL":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.mp.itc.cn%2Fupload%2F20161109%2F4fda79ef8a2e48f0853d51064bf43a4d_th.jpeg
    # 所以正則項是'"objURL":"(.*?)"'
    result = re.findall(r'"objURL":"(.*?)"', ret)
    
    # 愉快的下載吧
    for j in range(21):
        with open(r'D:\Download\dust\{}.jpg'.format(i * 20 + j), 'wb') as f:
            r = requests.get(result[j - 1])
            f.write(r.content)
            print("{} is done!".format(i * 20 + j))

  如果還看不明白,百度上有非常多的教程,請自行搜索。

2,圖片標注 

  使用LabelImg來標注,小編是windows10 + anaconda安裝的。

  github的安裝包地址:https://github.com/tzutalin/labelImg

  打開anaconda prompt跳轉到安裝包下載的目錄下,執行以下命令:

conda install pyqt=5
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py

  運行起來終端顯示是這樣的:

 

   跳出可視化界面:

 

  然后就可以開始愉快的標注啦~

  1,修改標簽

    在data/predefined_classes里面修改class,我是要進行字符識別,因此寫了0~9,A-Z共36個類別

    

 

   2,打開后將格式改為yolo

    

 

   3,選擇圖片保存位置和標注文件保存位置:

  • 創建images文件夾和labels文件夾
  • 將需要標注的圖片放在images文件夾中

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM