labelme 使用教程


labelme 使用教程

迷若煙雨 2018-09-06 10:18:53 9348 收藏 8
分類專欄: 深度學習
版權
labelme是使用python寫的基於QT的跨平台圖像標注工具,可用來標注分類、檢測、分割、關鍵點等常見的視覺任務,支持VOC格式和COCO等的導出,代碼簡單易讀,是非常利用上手的良心工具.

 

安裝
最簡單的方式莫過於通過pip安裝 pip install labelme

但是由於我們要在其基礎上二次開發,所以只能 pip install -e .

cd examples/tutorial
labelme apc2016_obj3.jpg # specify image file
labelme apc2016_obj3.jpg -O apc2016_obj3.json # close window after the save
labelme apc2016_obj3.jpg --nodata # not include image data but relative image path in JSON file
labelme apc2016_obj3.jpg \
--labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball # specify label list

# semantic segmentation example
cd examples/semantic_segmentation
labelme data_annotated/ # Open directory to annotate all images in it
labelme data_annotated/ --labels labels.txt # specify label list with a file
可視化真值: labelme_draw_label_png apc2016_obj3_json/label.png
可視化真值並導出數據: labelme_json_to_dataset apc2016_obj3.json -o apc2016_obj3_json
代碼解析

程序的入口在__main__.py中的main函數, 其處理了外部傳進的命令行后傳遞給MainWindow,還實現了不同語言的適配.MainWindows的實現在app.py中, 初始化時構建了菜單、docker欄、快捷鍵等, 所有的標注都會繪制在一個canvas上, shape.py用於繪制已經標注的圖形,主要看mousePressEvent、mouseMoveEvent和mouseReleaseEvent三個鼠標回調函數

mousePressEvent是鼠標按下時消息的回調,有一個ev參數作為輸入,保存了鼠標按下時的上下文,首先將鼠標的坐標由窗口坐上角轉換為以點擊點為中心的坐標, 然后判斷按下的是鼠標左鍵還是右鍵,如果是左鍵,還需進一步判斷當前所屬的模式是創建制模式還是修改模式,如果是創建模式,則需要創建選中元素的點,將其添加到形狀列表中,而修改模式則需要判斷是否選中了某個元素,然后將其坐標進行修改.如果按下的是右鍵則默認修改模式,直接拖動點.

mouseMoveEvent用於繪制元素添加的中間過程,以便有更清晰的提示,判斷邏輯與之前類似,還判斷了已有元素是否處於選中狀態,如果是則將其高亮顯示.

mouseReleaseEvent用於處理鼠標抬起的回調,主要就是恢復鼠標按下時修改的光標形狀,如果有修改則setDirty用於標識需要保存.

目前labelme的標簽並不會顯示在標注點而是docker欄上,這很不方面我們直接看,因此需要增加這項能力.

在def drawVertex(self, path, i):最后加上就可以了

if i == 0:
myFont = QtGui.QFont("Times", 20)
mypoint = point - QtCore.QPointF(0,d)
path.addText(mypoint,myFont,self.label)
cvat
cvat是OpenCV開發的在線交互式圖像和視頻標注工具,被用來標注數以億計的目標和屬性,可以在cvat.org體驗效果. 其支持眾多主流標注格式的導入和導出,為制作標准數據集提供了很大的便利;支持幀間插值和預訓練模型自動標注、大多數常用操作均配置快捷鍵.

安裝首先克隆倉庫並安裝必須的庫

sudo apt-get install -y curl redis-server python3-dev python3-pip python3-venv libldap2-dev libsasl2-dev
git clone https://github.com/opencv/cvat
cd cvat && mkdir logs keys
sudo pip3 install -r cvat/requirements/development.txt
python3 manage.py migrate
python3 manage.py collectstatic
新建超級管理員賬戶,根據提示輸入將要新建的管理員賬戶名、郵箱和密碼,注意密碼至少8位且不能太簡單

python3 manage.py createsuperuser
python3 manage.py runserver --noreload --nothreading --insecure 127.0.0.1:7000
使用谷歌瀏覽器打開網址127.0.0.1:7000, 使用剛才新建的賬戶名和密碼登錄,選擇新建任務

使用教程 注冊:先注冊超級管理員,再賦予普通標注員以權限.

新建標注任務:使用Create new task按鈕新建標注任務,設置任務的參數
————————————————
版權聲明:本文為CSDN博主「迷若煙雨」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/minstyrain/java/article/details/82454991

 


免責聲明!

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



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