Javaの環境設定をした
将来立派な金融Javaおじさんになるために、Javaの環境設定をしました。
Java11 install qiita.com
加えてatcoderの設定もした。
しかし,どうやってもatcoder-tools test
コマンドがjavaの場合にうまく動かない。
コードを読んでも、実行可能ファイルを叩く形になっていて、c++の場合には上手くいくんだけど、java Main
のように言語に応じて適切なコマンドを実行してくれるようにはなっていない?よくわからん
OSError: [Errno 88] Malformed Mach-o file: './Main.class'
よくわかんなかったから結局コードをハックして解決した。java Main
をハードコードした。
すごい頭悪そうだけどわかんなかったから仕方ない。
(昔pythonの場合に普通に動いてた気がする、てことはpython main.py
とか呼ぶようになってるはずなので何かがおかしい気がする)
物体検出のssdモデルを自作データセットでfine tuning
ssd_kerasレポジトリを使って,物体検出をしました.
このレポジトリは非常に優秀で,画像,動画だけでなくwebカメラからの入力を取得して,リアルタイムで物体検出してくれるのでとてもよろしい.
READMEの
You need
weights_SSD300.hdf5
,weights_300x300_old.hdf5
is for the old version of architecture with 3x3 convolution forpool6
.
で言及されているweights_SSD300.hdf5はここにある.ちょっと探した.
https://mega.nz/#F!7RowVLCL!q3cEVRK9jyOSB9el3SssIA
PASCAL VOCデータセットでの学習済みモデルを使って20クラス検出するのも楽しいけど,やるなら自作でデータセットを作って好きなものを検出してみたい.
物体検出のデータセット作るなんてクソめんどいんじゃないかって思ってたところに革命を起こしたのが次のレポ.
こんな風にGUIでガンガンデータを作れる,早いものだと一個10秒とかでできる.超捗る.
annotationデータはPASCAL VOCデータセットに準拠したxmlファイルで出力される.
先程のssd_kerasレポジトリにはPASCALのxmlファイルのパーサーが含まれており,そいつをそのまま自作データセットのxmlファイルに適応できるので非常に楽.
もともと PASCAL VOC データセット,1カテゴリ数百枚とかだったりするので,自作データセットもそこまで気が遠くなるような枚数が必要なわけではない.一人でやっても数時間もぽちぽちやってれば学習に十分な枚数は集まる.
そんなわけで,自作でデータセット作って,物体検出をやってみた.
一応,ペットボトル飲料の飲み終わりを検知して,amazon apiで注文してくれるとか,そういうシステムを念頭に置いてはいる(プロジェクト的なやつに応募する).
ということで,潰したペットボトルとお茶ペットボトルという地味な物体検出だけど,検出精度は結構いい感じ.