Jason 在【人工智慧】入門介紹-什麼是人工智慧 What's AI ? 一文中提及了,目前機器學習/深度學習發展中最重要的三大基石為:數據、算法與運算。其中算法與運算的部份我們就先不談了,今天就是單純來看數據也就是資料(data) 或者資料集(dataset) 的部分。 而當今天我們真的在實作一些機器學習/深度學習演算法的時候,除非我們是在做一些基本的練習或者要拿一個公開的資料集來驗證你演算法的好壞,才會去使用那些教課書般的經典資料集(e.g. Titanic、Boston、MNIST ),但更多時候我們會需要自己來準備 ( 收集、清洗、標註 ) 它。 如果你的資料長的像類似 Titanic 那種可以用 DataFrame 來表示的資料:
那還好辦,至少你會有個 idea 該怎麼 "準備" 它。
但,如果今天你的資料是張背景複雜自然影像的時候呢? ( 如下圖 )
這個時候就可以使用今天 Jason 要介紹的這個開發工具:LabelImg
它是個免費的影像標註工具,可以用來標示照片中的物體,並將其製作成用於訓練深度學習引擎的資料集。 目前支援 Window、Linux 和 Mac OS X 等作業系統,你可以到 Github 上下載它的專案: 也可以在 Command Line 上使用 pip 指令進行安裝:
你把預先編譯好的檔案下載下來後,它是一個 .zip 的壓縮檔,在解壓縮之後會出現一個資料夾,資料夾內會包含主程式 labelImg.exe 與一個名為 data 的資料夾:
data 資料夾內則包含了一個名為 predefined_classes.txt 的文字檔:
主程式啟動之後,它就會將 predefined_classes.txt 這個檔案讀入,來預先設定分類的類別。
所以如果你要修改程式預設的類別時,直接修改 predefined_classes.txt 這個文字檔就可以了! 主程式啟動後會像這個樣子:
裡面的 Bar 你可以依自己的喜好調整擺放的位置:
接著你可以使用 Open 來開啟你要標註的圖片,或者使用 Open Dir 來開啟整個資料夾 ( 一般大量標註時會用這個,不會用 Open 一張一張開 )。
接下來你就可以對圖片進行標註了!
首先你要建立一個 RectBox,你可以點選上方工具列的「Create RectBox」或者使用快捷鍵 w ( 需先確認目前的輸入法是英數鍵盤,如果你卡在中文輸入法的話快捷鍵會沒反應。 ),接著圈出你要標記的物件,最後再打上標籤,然後當照片中的物件你都標記完成後,就可以用 Crtl+S 或者按下空白鍵來存檔。在按下存檔之後,它預設會用 PASCAL VOC 格式,在跟你圖檔同個資料夾底下用跟你圖檔同樣的名稱另存一個 .xml 檔。 你也可以點選工具列中的「PascalVOC」來把它切換成「YOLO」格式,但我是覺得不太需要啦~ Pascal VOC 的格式算比較泛用,蠻多演算法都可以直接用這個格式進行訓練,唯獨 YOLO 比較特別用的是它自己的格式,屆時我們再寫支轉換程式把 VOC 格式轉成 YOLO 就好了。 最後我是覺得在熟悉一陣子、善用熱鍵之後,就可以大幅度的加快整個標記的速度。 Ok, 那今天這篇就寫到這篇了,感謝各位的收看。
0 評論
發表回覆。 |
Jason Chen人不光是生來就擁有一切,而是靠他從學習中得到的一切來造就自己。- 歌德 文章分類
全部
封存檔
九月 2023
|