1 簡介
????????數據集是必不可少的部分,數據集的優劣直接影響訓練效果。一般來說,一個完整的數據集應該包括訓練集、測試集和驗證集。通常,數據集會被劃分為訓練集和測試集,比如將數據集的70%用作訓練集,30%用作測試集。在進行訓練時,可以使用交叉驗證的方法將訓練集再次劃分為訓練子集和驗證子集,用于模型的訓練和驗證。
????????訓練集是用于模型的訓練的數據集。在訓練過程中,模型使用訓練集中的樣本進行學習和參數調整,通過不斷迭代優化模型的參數,使模型能夠更好地擬合訓練集中的數據。
????????測試集是用于模型的評估的數據集。在訓練完成后,使用測試集中的樣本來評估模型的性能和泛化能力。測試集中的樣本是模型沒有看到過的樣本,可以用來判斷模型是否過擬合了訓練集,以及模型在真實場景中的表現如何。
????????驗證集是用于模型的調優的數據集。在訓練過程中,可以使用驗證集對模型進行調參,比如選擇合適的模型結構、調整超參數等。驗證集的作用是幫助選擇最佳的模型,并避免使用測試集對模型進行過度調優。
2 數據集標注
????????模型的建立需要收集圖片并且進行標注。YOLOv8標注的文件格式如下:
? ? ? ? 其中,第一個數字表示目標框的類別,后面四個長數字代表框框的四個點的位置。
? ? ? ? 手動標注很累,推薦使用下面的項目進行標注:
1 Labelme
labelme 是一款開源的圖像/視頻標注工具,標簽可用于目標檢測、分割和分類。靈感是來自于 MIT 開源的一款標注工具 LabelMe。labelme 具有的特點是:
- 支持圖像的標注的組件有:矩形框,多邊形,圓,線,點(rectangle, polygons, circle, lines, points)
- 支持視頻標注
- GUI 自定義
- 支持導出 VOC 格式用于 semantic/instance segmentation
- 支出導出 COCO 格式用于 instance segmentation
項目地址:GitHub - labelmeai/labelme: Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).
2 LabelImg
LabelImg是一個圖形化的圖像注釋工具。它是用Python編寫的,使用Qt作為其圖形界面。注釋被保存為PASCAL VOC格式的XML文件,該格式被ImageNet使用。此外,它還支持YOLO和Create ML格式。LabelImg是由Tzutalin在幾十位貢獻者的幫助下創建的流行的圖像注釋工具,現在已經不再積極開發,并成為Label Studio社區的一部分。
項目地址:GitHub - HumanSignal/labelImg: LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check out Label Studio, the open source data labeling tool for images, text, hypertext, audio, video and time-series data.