トップ » SORACOM IoT DIY レシピ » IoTカメラで計測機器のデータを可視化したい

SORACOM レシピ:IoTカメラで計測機器のデータを可視化したい

IoT カメラで計測機器のデータを可視化

公開日: 2020年7月、更新日: 2020年12月

レシピ難易度:★★★☆☆

現場に行かないとわからない機器のモニター表示やホワイトボードの表記を遠隔から確認できると、生産性があがり業務間の連携も強化されます。

人が現場に行って確認、それを転記するオペレーションをデジタルに見える化する手段として、このレシピではIoTカメラを使ったOCRの手順をご案内します。

ソラコムの提供するプログラマブルなエッジ AI カメラ S+ Camera Basic を利用し、カメラに映った数字や文字を読み取ってOCR(Optical Character Recognition)によって電子データ化します。

本レシピにはpythonの開発環境構築が必要な内容が含まれます。プログラミング基礎知識をお持ちの方による作業が必要なレシピになりますので予めご了承ください。

全体構成

本レシピを行うために必要な時間、概算費用

本レシピは以下の通りです。

  • 必要な時間: 約60分
  • 概算費用: 約55,000円 + 月額費用 約2,260円

※ 概算費用: SORACOM Air, SORACOM Inventory, SORACOM Mosaic、SORACOM Harvestの各種サービスの概ねの費用 (送料などの付帯費用や無料枠適用は考慮しないものとしています)を含む。

このコンテンツの進め方

上から内容を読み進みながら作業を行なっていきます。また左サイドに追従する目次からページ内の移動が可能です。

本コンテンツは現状のままで提供され、株式会社ソラコムは、誤りがないことの保証を含め、明示であると黙示であるとを問わず、本コンテンツの記載内容につき、いかなる種類の表明も保証も行いません。

掲載情報の閲覧及び利用により、利用者自身、もしくは第三者が被った損害に対して、直接的、間接的を問わず、株式会社ソラコムは責任を負いかねます。

本コンテンツを実践する中で用意された機器、利用されたサービスについてのご質問は、それぞれの機器やサービスの提供元にお問い合わせをお願いします。機器やサービスの仕様は、本コンテンツ作成当時のものです。

株式会社ソラコムが提供する機器・サービスについてのご質問は、 https://soracom.jp/contact/ をご確認の上、適切な窓口へのお問い合わせをお願いします。機器・サービスご利用前の導入相談は https://soracom.jp/contact/contactsales/ に、機器・サービスご利用開始後のサポートは、SORACOMユーザーコンソール内のサポートサイトから「リクエストを送信」(要ログイン)にてお問い合わせください。

Copyright (c) 2021 SORACOM, INC.

準備

本レシピを行うためには以下のものをご用意ください。

ハードウェア

品名数量価格備考
S+ Camera Basic154,780円中には以下のものが含まれています。それぞれを個別に準備しても構いません。
・S+ Camera Basic 本体 x 1台
・専用 AC アダプタ x 1個
・汎用マグネットマウント x 1個
SORACOM 特定地域向け IoT SIM (plan-D マイクロサイズ) x 1
パソコン1インターネット接続が可能でサイトへの接続が自由であること。Google Chrome 等の最新ブラウザーが利用可能な事。

※ 金額はレシピ作成当時のもので、税込み・送料別です。

ご購入について

ハードウェアは以下よりご購入いただけます。

その他必要なもの

必要なもの費用作成方法など
SORACOM アカウント無料※SORACOM アカウントの作成 (JP)

※ アカウント作成・維持の費用の料金です。

S+ Camera Basic が届いたら

S+ Camera Basic にはSIM(SORACOM 特定地域向け IoT SIM / plan-D)が内蔵されています。そのため、最初にデバイスを利用する場合、ソラコムコンソールへログインして SIM の受け取り確認を行ってください。確認が完了するとSIM管理の一覧にSIMが表示されます。

次に、グループ作成画面よりS+ Camera Basicで利用するグループを作成します。作成したグループに対して以下のサービスを有効にします。

先ほど作成したグループをS+ Camera Basicに割り当てるとともに、Speed classをs1.fastに変更します。

(画像の送信に時間がかかると場合エラーになる場合があるので、s1.fastを設定してください。)

SORACOM の便利な使い方: SIM の「名前」機能
SIM には「名前」を付けることができ、これで整理が可能です。特に複数の SIMをお持ちの際には、名前を付けることを強くお勧めいたします。名前の付け方は SIM への名前の付け方をご覧ください。

S+ Camera Basic の電源を入れる

電源をいれて青いLEDが点滅すると、SORACOM Mosaic ConsoleにS+ Camera Basicが登録され、自動的にオンラインになります。

SORACOM Mosaicコンソールにアクセスしてカメラデバイスの状態を確認しましょう。SORACOMコンソールのグローバルメニューからアクセスできます。

前述のとおり、S+ Cameraの電源を入れると自動的にデバイス登録が実行され、リストに表示されます。最初はSIMのIMSIからデバイスを見分けるのがいいでしょう。(最初は一台だけから始められると思うので、このサンプル画面のように迷うことはないかもしれませんが)

リストに自分のカメラが表示されたら、DEVICE IDのカラムに表示されているIDのリンクをクリックすると下記のようなデバイスの詳細画面が表示されます。

S+ Camera Basic の動作を確認する

Device ID一覧から対象のデバイスをクリックすると、デバイスの詳細画面に移動します。現在カメラに写っている画像は、デバイス詳細画面のCAMERAメニューから確認することができます。

Updateボタンをクリックすると現在のカメラの画像が表示されます。

S+ Camera Basicでは暗い場所でも映像を取得するため、Non-IRカメラを採用しているため日中は赤味がかった画像になります。

OCRを試してみる

S+ Camera Basic向けのサンプルアルゴリズムは多数公開されており、GUIから簡単にインストールして試すことができるようになっています。今回のテーマでもあるOCRのサンプルアルゴリズムをインストールしてみましょう。

デバイス詳細画面のAPP(CAMERAAPP0)タブを開き「Install new algorithm」というボタンを押してください。

公開済みのサンプルアルゴリズムの一覧が表示されますので、リストの中からOCRを選択してInstallを実行してください。

インストールは1〜2分で終わります。下記の画像のようにCameraApp OCR Sampleの名称とバージョンが表示されるようになっていたらOKです。

さて、ここから実際に試してみましょう。このアルゴリズムはARマーカーに囲われた英数字をデータ化し、その読み取ったテキストデータをSORACOM Havest Dataへ、読み取ったテキストデータを元画像に対して付与した下記のような画像をSORACOM Harvest Filesにアップロードします。なお、データや画像ファイルのアップロードは、データ読み取りに成功したときのみ実行されます。(つまり、カメラの画角内に読み取れる対象が何も配置されていない場合、データはアップロードされません)

ARマーカーについてはこちらに作成方法とサンプルがありますのでご利用ください。まず試すだけであれば、ここにある画像をそのまま印刷すればOKです。

上記のような素材に対して数分間カメラを向けて置くと、SORACOM Havest Dataに以下のようなデータがアップロードされ始めるのが確認できます。

実際のメーターのデータを読んでみる

より実践的に、以下のようなオフラインのメーターをデータ化するということにチャレンジしてみたいと思います。

この温湿度計に使われている字体は7セグメント(フォント)と呼ばれ、私達にはおなじみのものですが、ゴシック体や明朝体やサンセリフ体などのより一般的に利用されるフォントとは違い、コンピュータにとっては見慣れないもののようで、tesseractというこのサンプルアルゴリズムで利用しているOCRエンジンでも、デフォルトでは読み取ってくれません。ではどうすればいいのでしょうか?

これを解決する方法として、7セグメントを読み取るために学習されたデータを用意し、それをOCRエンジンに適用して動かしていきます。

とは言っても適用用法は簡単です。デバイス詳細画面のAPP(CAMERAAPP0)タブのPARAMETERにそれぞれ以下の値を指定してください。

SORACOM_ENV_URI

https://raw.githubusercontent.com/Shreeshrii/tessdata_ssd/master/ssd_int.traineddata

SORACOM_ENV_FREE_PARAM

{
  "OEM": 1,
  "PSM": 6,
  "LANG": "ssd_int",
  "TESSDATA_DIR": "./"
}
設定部分

これらのPARAMETERの値は文字列としてアルゴリズムに渡されます。アルゴリズムは、SORACOM_ENV_URIに指定されたURLから学習済みファイルをダウンロードします。またSORACOM_ENV_FREE_PARAMに指定された文字列をJSONとしてパースし、内部に保存された値を使って挙動を変化させています。より具体的にはTESSDATA_DIRはそのファイルの保存先をOCRエンジンに対して教えるためにつかう、といった具合です。(このあたりはあくまでみなさまご自身のアルゴリズム開発の際に「こんな使い方があるんだな」という参考として見ていただければ大丈夫です)

さて、さっそく読み取ってみましょう。下記の例では左側は27、右側は26といった形で、整数部のみですがきれいに読み取れました。(なお、やはりここでもARマーカーは必要になってきます)

先程の例では読み取ったデータをSORACOM Harvest Dataで参照していましたが、もちろんSORACOM Lagoonでより高度な可視化を行うこともできます。まずは下記の例のようにテーブル形式で読み取りデータをそのまま表示してやるのがよいでしょう。Textという項目に実際に読み取られた文字データが入ってきます。これを見ながら読み取り結果が満足な形になるようにカメラの画角や明るさなどを調整していきましょう。

あとかたづけと注意事項

本レシピでは費用がかかるサービスを利用しています。本項をよく読み、必要な操作や解除作業を行うようにして、想定外の費用が掛からないようにしてください。

費用について

ここで記載している金額は全て税込み、送料別となります。

SORACOM プラットフォームの利用料金

サービス/機能料金
SORACOM Air (plan-D)基本料: 11円/日
通信料: 0.22円~/MB
(今回の利用であれば 100MB 以内で収まる範囲)
SORACOM Harvest Data本機能を有効にしたグループに所属する1SIMあたり5.5円/日(2000リクエスト/日/SIMを含む)
2000リクエスト/日を超えた分は0.0044円/リクエスト
SORACOM Harvest Files当該月内にアップロードが完了したファイルの合計ファイルサイズ1GBごとに 220 円。
SORACOM Harvest FIles は一般的なファイル管理サービスとは異なり「データ転送量」に応じた課金体系です。保管されているファイル(サイズ)には費用は発生しません。例えば先月に1GBのファイルのアップロードを行った場合、1GBの転送に関して課金されます。翌月の転送が0バイトだった場合、先月の1GB分は保管されていますが、このファイルには費用は発生しません。
SORACOM Napter330 円 (SIM 1枚あたり、月額、税込)
SORACOM Inventory最初の登録: 55 円/台・月
SORACOM Mosaic月額費用 1,870円。利用月は無料。

※ 費用詳細はリンク先をご確認ください。

無料利用枠について
SORACOM サービスでは一部サービスにおいて無料枠が設定されています。たとえば SORACOM Air for セルラーであればアカウント毎で30円/月の通信分や、SORACOM Harvest Data であれば31日分の書込みリクエストなどです。料金詳細に「無料利用枠」として掲載されていますので、ご確認ください。

SORACOM Harvest Dataにアップロードしたデータ、SORACOM Harvest Filesにアップロードしたファイル、SORACOM Inventoryのデバイス、SORACOM Mosaicなど必要ない場合には削除/解約処理をお願いします。

次のステップ

本レシピでは、OCRによって、通信機能を持たない機器の数値や文字を電子化してSORACOM Harvest Dataに送信しました。OCRの結果とカメラの映像を同時に出したいときや、ある数値が検出された際にアラートを出したいような場合にはSORACOM Lagoonをご利用いただけます。

商品ページへ戻る

よくあるご質問はこちらでご案内しています。

SORACOM IoT DIY レシピ »

レシピの達成、おめでとうございます!

達成したことをTwitterで呟く

普段の生活やビジネスに役立つ #IoTレシピ 「IoTカメラで計測機器のデータを可視化したい」 を達成しました!
@SORACOM_PR https://soracom.jp/recipes_index/3967


ご質問などはこちらよりお問い合わせください。

pagetop