物体検出(Single Shot MultiBox Detector)画像データ用XMLファイル制作GUI

#目次
- 参考ページ
- ダウンロードリンク
- 使い方

#参考ページ
- [物体認識用データセット作成支援ツール（Faster R-CNNとかSSDとか](https://qiita.com/slowsingle/items/9006383145a650c84cb0)
- [PythonのTkinterを使ってみる](https://qiita.com/nnahito/items/ad1428a30738b3d93762#tkinter%E3%81%A7%E8%A1%A8%E7%8F%BE%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8)
- [コピペでできる！Tkinter](https://nnahito.gitbooks.io/tkinter/content/)
- [【python】マウスドラッグで画像から範囲指定する](https://qiita.com/hisakichi95/items/47f6d37e6f425f29c8a8)
- https://shizenkarasuzon.hatenablog.com/entry/2018/12/31/080612
- http://y-okamoto-psy1949.la.coocan.jp/Python/misc/DrawFigs/
- https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10220548240
- [【Python】Tkinterによる複数ウィンドウの作成](https://qiita.com/michimichix521/items/e4200ea1a14c7b030a73)
- [Tkinterの色指定で使用可能な値](https://qiita.com/kuchida1981/items/ae04ded652bfc92a5e7e)
- [Python：処理ファイルをGUIから選択する方法](https://qiita.com/Mikoto666/items/1b64aa91dcd45ad91540)
- [Python tkinterでGUI -ファイルを保存する-](https://www.whyit.work/entry/2018/10/25/135106)
- [ElementTreeによるxmlファイルの生成と読み込み](https://qiita.com/Fortinbras/items/2f4d53ccfff02b94e1cd)
- [XML ドキュメントを作成する](http://ja.pymotw.com/2/xml/etree/ElementTree/create.html)
- [Qiita記事作成方法 初心者の備忘録](https://qiita.com/U-MA/items/996ae933ae94c5711883#%E4%BB%96%E3%81%AE%E8%A8%98%E4%BA%8B%E3%82%92%E5%8F%82%E8%80%83%E3%81%AB%E3%81%97%E3%81%9F%E3%81%84%E3%82%93%E3%81%A0%E3%81%91%E3%81%A9)
- [鉄道で国づくり(2020/11/25画像参照)](http://wr19.osaka-sandai.ac.jp/ce/rt/ByRail/?p=253)

#ダウンロードリンク
https://gist.github.com/mozra/5ad2ce73db6b74e2bed9b2f8db6ac8b6
#使い方
動作した環境: Ubuntu18.04, Ubuntu20.04
###0:必要なライブラリをインストール
基本的に使用するライブラリはpyautoguiとPIL以外は標準モジュールなのでインストールなしで使用できる。puautoguiとPILはpipコマンドでインストールできるので、適宜pip installを実行する。
###1:ダウンロードリンクから実行ファイルをコピペ
![Screenshot from 2020-11-24 22-55-16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/15be9d39-7cb3-b5f2-99cb-0fd7c074a285.png)
###2:コピペした実行ファイルを適当なフォルダ内に入れ、ターミナルからGUIを起動
今回はeditor.pyというファイル名でデスクトップ上に保存したので、ターミナル上では cd デスクトップ→python editor.pyの順に実行。
![Screenshot from 2020-11-24 23-03-27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/44a14a43-bcf1-d51e-a035-6b88656bc6d3.png)
###3:画像ファイルの読み込み
右下の[Open]ボタンをクリック。
![Screenshot from 2020-11-25 00-15-11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/a86b8ad9-aea0-09b8-39aa-91988075a289.png)
ファイルダイアログから画像ファイルを選択。
![Screenshot from 2020-11-25 00-15-34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/c71092a7-a71f-53d9-b5fc-488ea29427a9.png)
選択した画像が表示される。
![Screenshot from 2020-11-25 00-23-55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/a6562c19-e5b8-83c6-7cac-f7d21e17cb36.png)
###4:画像中にラベルをつける
表示された画像上でドラッグ＆ドロップすると赤い枠ができる。赤い枠は矢印キーで上下左右に動かせれる。
![Screenshot from 2020-11-25 00-27-43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/feaf6f9f-bde2-a610-f14a-367caf12f740.png)
右の[object]と書かれたテキストボックスに物体名(今回はtrain)を入力し、下の[Save]ボタンを押すと青い枠と入力した物体名が画像中に表示される。この時点で画像中の電車に対し、「train」というラベルがつけられた。
![Screenshot from 2020-11-25 00-28-09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/ec9f3fb7-988f-e7b9-e028-c3ff1287c431.png)
他の画像中の物体に対しても名前を変えて同様にラベル付ができる。
![Screenshot from 2020-11-25 00-29-31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/75cda54c-75f8-8f79-ece3-34d67cdfba34.png)
###ラベル付したデータをXMLファイルで保存
下の[Out]ボタンをクリックするとファイルダイアログが表示され、保存先を指定できる。
![Screenshot from 2020-11-25 00-29-41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/3a110833-7d1f-6a97-eef3-970efe2d9c66.png)
作成したファイルはすべて.xmlで保存される。
![Screenshot from 2020-11-25 00-30-09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/904533/92e78877-d14f-2bc8-e6a6-486e4eaa5d22.png)