Python mini hack-a-thon 2017夏山合宿
毎年恒例になっていますが、夏山合宿を先週末の海の日3連休を使って開催しました。開催場所はこちらも恒例となっています、長野県須坂市のマウンテンパパにて実施しました。
Python mini hack-a-thon
ほぼ毎月都内で開催している勉強会です。
Python関連の方々が約20人集まり、自由に勉強したり、プログラムを書いたり、本を読んだりする会です。2010年に前身の「Zope/Plone開発勉強会」から名称を変更し、今の名前、形式で実施しています。すでに70回を超える開催実績があります。
この会は、通称「Pyhack」と呼んでおり、私も主催者の1人です。
Pyhack合宿
冬はスキー・スノボしたい、夏は涼しい所で勉強や開発したいというモチベーションで、毎年冬と夏には都内での勉強会を実施せず、合宿形式で開催しています。
例年、金土日の3日開催とし、好きな時間に来て、好きな時間に帰るというスタイルで行っています。開催日は、宿の都合と主催者やその周辺のイベント開催日の都合で決めています。冬は1月後半、夏は9月前半に行ってきました。
今年の夏は、宿の地域のイベントとPyCon JP開催日の関係で9月前半に合宿の開催ができなかったため、7月の3連休での開催になりました。
寺田自身のテーマ
画像処理系でなにかをやろうという意気込みで当日を迎えました。実際には以下のことができました。
- Python-OpenCVを使う
- Google Vision APIを使う
- tesseract-ocrを試す
- scikit-imageを試す
Python-OpenCVを使う
https://opencv-python-tutroals.readthedocs.io/en/latest/
画像の部分的な物を取得して、文字認識をしようと試みました。
まずは、グレースケール化や画像サイズ変更、2値化などを行いました。
その後に、必要なエリアを取得し、新たな画像を作ったり、認識されたエリアをマークしたりしました。
初めてOpenCVで実装を試みました。うまく行かず確認も難しい点で苦労をしました。
その中で、Jupyter Notebook で画像を表示し、matplotlib の表示方法も学習しました。
結果は、車の写真を撮影し、ナンバープレートのエリアを取得するようなことができました。
Google Vision APIを使う
Google Cloud Platform のサービスの一つである、Google Vision API を試してみました。
写真から、ラベル付をしたり、文字認識をしたりできるサービスです。
1000ユニットまで無料の枠を使って試しました。1000ユニットを超えても、1.5USD/1000ユニットなので安いと感じています。
まずは、画像からラベル付をすることを実行してみました。精度良く非常に楽しいラベル付ができました。
その後、文字認識OCRを実施しました。車のナンバープレートは精度良く文字になりました。書籍の縦書きタイトルはほぼ読み取れませんでした。
tesseract-ocrを試す
OSSのOCRツール tesseract-ocr
を試しました。
日本語の設定などを行いましたが、残念ながらデフォルトの設定では精度は低く、そのままでは使えない印象でした。カスタマイズをする必要があるのだろうと思いました。
scikit-imageを試す
scikit-image というSciPyのツールキットとしての画像処理ライブラリがあります。名前を見かける程度だったので、この機会に試してみました。
基本的な画像変換などを試してみました。このツールで対応している範囲を調べてみたいと思っています。
機械学習の講演
他には、「機械学習ことはじめ」の1時間の発表を行いました。先日のイベントで実施した内容を再演し、みなさんからフィードバックをいただきました。その後引き続きチュートリアルを実施した方もいて様々なフィードバックをいただきました。