Raspberry Piによる太陽光発電モニタリング、検証・動作確認、および設定などの作業を続行中である。
本日はほぼ定時で勤務先を退けて帰宅、食事を取った後に作業に没頭。JPEG画像からOCR(光学文字認識)によって発電量を文字情報として抽出できるか試みた。Raspberry PiなどLinuxの環境では、幸いにも無償で使えるOCR用ソフトウェア「Tesseract OCR Engine」も出回っているので、それを使ってみた。
このTesseract、元々は米Hewlett-Packardが開発した技術で、オープンソースソフトウェアとなっている現在はGoogleが開発を継続して行っているようだ。
ということで、ftpのインストールなど準備作業の細かい途中経過は省き、結論から述べると、このOCRソフトウェアですぐに正確に文字認識させてCSVファイルにまで落とし込むというのは厳しい状況である。
太陽光発電ムラでもこれを既に試してみた方がおり、彼も2日ほどテストしたり色々と試行錯誤をした結果、無理だとの結論に達し、写真を目視でExcelに記録するというアナログ方式で運用しているそうである。
ちなみに、筆者が試してみたのは電力計を撮影した次の写真:
これに対して、得られたOCR出力は次のスクリーンショットの文字の羅列(赤枠の中):
ご覧の通り、部分的に正しい数字やアルファベットが抽出されている部分もあるが、結局CSV化したりグラフ化するためには相当に手で修正しなければならない(これだと規則性が少ないのでプログラムなどでの処理もほぼ無理)。
ということで、当面OCRの利用は保留し、電力量の情報の入った画像を目視で記録するという「人力OCR」で運用する方向である。(Tesseract OCRエンジンで文字認識のコツなど詳しい方がもしいらしたら、情報など頂けるとありがたいです。)
あと、システムの電源オン・オフも簡単にタイマーで進める事にした。CdS等を使うと、なんとなく技術的には高度な事をやっている感じに見えるのでただのタイマーよりもそそられるのだが(笑)、やはりハードの追加とかプログラムの作成など工数が相当に増えるので大変なのだ。
なお、昨日~今日の段階でドコモのネットワークで使えるWiFiルーターを一つオークションで落札した(8000円)。これを使えば、撮影した写真などのデータをネット経由で送信することが可能になる。今週末までには入手して無線LAN~インターネット~自宅PCまたはスマホでRas Piで撮影した写真を見られる所まで確認したい。
(続く)
コメント
何時も拝見しております。
tesseractは個人的に利用しておりますが、さすがにこの数値を解析できない程、性能が悪いことはありません。
数値部分だけを切り出してOCRに掛ければ良いのではないでしょうか。画像位置は固定となるでしょうから、切り出し作業も自動化できるでしょう。
また、tesseractでは対象文字種を限定することもできます。http://izawa.hatenablog.jp/entry/2012/04/24/142734 こんなかんじで数値だけに限定すれば、更に正解率は上がるでしょう。
通りすがり様、
コメントどうもありがとうございます。
Tesseractの扱いですが、ご教示の情報も参考にさせて頂きたいと思います。
ただ、最新の記事にも書きました通り、Ras-Pi自体の取扱いに難航しており、いったんIPカメラ+WiFiルータという、より簡易的な方法でまずは遠隔監視を実現する方向も検討中ですので、その場合はOCRはもう少し先の話になるかと思います。
いずれにしましても、今後ともよろしくお願いいたします。