ガスの検針は、月に一度どこかの誰かが自宅まで来てメーターの数字を書き写していく——たいていはそういう仕組みです。ところが海外のあるエンジニア(Cianさん)の家では、それがなかなかうまくいきませんでした。ガス会社がいまだに遠隔で読める新しいメーターへ切り替えておらず、しかもメーターが地下室の奥まった場所にあるため、検針員が入って読むこともできない。結局、毎回自分が地下室まで降りていって数字を確認するしかない、という状態だったそうです。
そこで彼が用意したのは、検針員の代わりにその面倒を引き受けてくれる小さな装置でした。Raspberry Piとカメラを地下室のメーターの前に据え付け、自作のニューラルネットワークに数字を読ませて、そのままガス会社へ送信する。人が地下室に降りる工程を丸ごと機械に肩代わりさせた、というDIYプロジェクトです。

カメラで撮るだけでは数字が読めない
「カメラで写して数字を読む」と言葉にすると簡単そうですが、実際にやってみると素直にはいきません。メーターの文字盤は照明の当たり方や影で見え方が変わりますし、アナログ式のダイヤルは桁の切り替わりで数字が半分ずれて表示されることもあります。市販の文字認識にそのまま通しても、正しく読めないことのほうが多い。
Cianさんがとった方法は、汎用の認識エンジンに頼るのではなく、自分の家のメーターそのものに合わせてモデルを学習させることでした。自分のメーターを撮った画像を集めて、それぞれがどの数字なのかを教え込み、そのメーター専用の読み取り役を育てる。画像の下ごしらえ——数字の位置を切り出したり、見やすく整えたりする部分——には画像処理ライブラリのOpenCVを組み合わせています。特定の一台に特化させたぶん、汎用の認識よりも安定して読めるという理屈です。
誤読チェックを挟んでから送信する
もうひとつ、彼が気を配ったのが「間違った数字をそのままガス会社に送らない」ことでした。読み取りをそのまま自動送信する仕組みは、うっかり誤読すると請求に直結してしまいます。そこで、読み取った値をいったん妥当かどうかチェックしてから送る流れにしています。たとえば、前回より数字が減っている(ガスの使用量がマイナスになる)ような明らかにおかしい読み取りをはじく、といった歯止めです。こうした確認を通ったものだけがガス会社へ届く、という段取りになっています。
「AIで自動化」の等身大の一例
やっていること自体は派手ではありません。地下室に降りて数字を書き写す、という月イチの小さな手間を、機械に肩代わりさせただけとも言えます。ただ、こういう「身の回りの面倒を自分で自動化してしまう」題材は、いま話題のAIがどんなところで役に立つのかを等身大でつかむのにちょうどいい例だと思います。大きなモデルに任せなくても、自分の用途に絞って小さく学習させれば、こういう地味だけれど確実に効く自動化ができる、という一台です。
まねするときの注意点
ひとつ押さえておきたいのは、これは「Cianさんの家のメーター専用」に仕立てられた個人プロジェクトだという点です。自分のメーターの画像で学習させているので、そのまま別の家の別の型のメーターに持っていって同じように動く、というものではありません。まねするなら、自分のメーターに合わせて画像を集め直し、学習からやり直すことになります。
それから、読み取りをガス会社へ自動送信する部分は、誤読が請求に響きかねないところです。元記事のコメント欄でも、人の確認を一切挟まずに自動送信することへの慎重な声が出ていました。Cianさん自身は誤読チェックを組み込んでいますが、もし手元で試すなら、最初のうちは送信前に自分の目で確かめる工程を残しておくのが無難でしょう。
出典
Neural Net Reads The Gas Meter(Hackaday)
I Taught a Raspberry Pi to Read My Gas Meter(Cian Gallagher・制作者本人の解説)


コメント