做工程第一步,確定任務,標註資料;
下圖很好的展示了影象識別的四種任務:
如圖(a), 給定一張輸入影象,影象分類的任務是判斷該影象屬於哪類, 如果是多工分類, 可以用於分類該影象包含哪個類別。
所以該類任務的標註非常簡單, 只需要標註的種類即可. 如果是多工的, 只需要多標註幾種是否包含某類物品即可;
如圖(b), 目標定位是在影象分類的基礎上, 進一步判斷影象中的目標具體在影象的什麼位置, 通常是以包圍目標的矩形框(bounding box)形式展示. 在目標定位中,通常只有乙個或固定數目的目標,而目標檢測更一般化,其影象中出現的目標種類和數目都不定。
所以該任務的標註比影象分類多了一些, 首先需要標註中包含目標的bbox, 然後標註目標種類; 一張可能會有多個bbox.
如圖(c), 語義分割是目標檢測更高階的任務,目標檢測只需要框出每個目標的包圍盒,語義分割需要進一步判斷影象中哪些畫素屬於哪個目標。但是,語義分割不區分屬於相同類別的不同例項。例如,當影象中有多隻貓時,語義分割會將兩隻貓整體的所有畫素**為「貓」這個類別。
所以該類任務的標註要求會比bbox的矩形框更精準一些, 需要沿著物體的外輪廓做外切多邊形; 這種標註雖然比目標檢測略微繁瑣, 但是這種標註的資料也能用於目標檢測, 因為可以根據外切多邊形求得bbox, 然後用於目標檢測; 所以現在的影象目標標註多是採用這種外切多邊形的標註方法.
常用的標註工具有
1. labelimg: voc資料集採用的標註工具,github上有很多voc資料集的解析**,所以很好用;對於面向github程式設計的我們來說, 很好使;
2. via: 標註為csv檔案;
3. labelme: python標註工具模組,為json檔案;
計算機視覺系列 Numpy基礎
numpy是python中非常常用的庫,這裡我們介紹一些numpy的常見語法。import numpy as np 使用別名,方便numpy中建立的陣列型別為 ndarray 以下總結一些常見的建立numpy陣列的方法。函式說明 np.zeros shape 建立乙個shape形狀的零陣列 np.o...
菜鳥學計算機視覺系統之MATLAB 1
這是我的第一次的技術性總結,主要是將在學校所學的知識,通過這種方式來進行複習。歡迎技術大佬前來指導與指正。對不同型別的影象進行基本操作,使用影象直方圖以及如何將結果視覺化。數字影象是由畫素組成的,這些畫素可以被認為是螢幕上的小點。我們知道matlab中的所有數值計算都是使用雙 64位 浮點數執行的,...
計算機視覺 1 學習筆記
datawhale cv入門訓練 原始json標註 讀取資料 train json json.load open mypath cv dataset mchar train.json 資料標註處理 每張中有乙個或者多個數字 defparse json d arr np.array d top d h...