SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2016】セッションレポート(AD)

【デブサミ2016】19-E-2レポート
話題の機械学習ライブラリで防犯カメラはここまで進化する! ~ 画像認識・異常検出×IoTでできること

  • X ポスト
  • このエントリーをはてなブックマークに追加

IoTや機械学習対応DBとの連携による新サービスへの応用例

 中嶋氏は本セッションのテーマとして、ニューラルネットワークによる画像認識技術のほかに「IoT(Internet of Things)」を掲げていた。2つのデモで紹介したような画像認識技術がIoTとどうつながり、それによって何が実現できるようになるのか。シンプルでわかりやすい具体例として中嶋氏が挙げたのは「防犯カメラ」だ。

 現在の防犯カメラは、映像を撮影・記録しておき、事件などが起きた場合には何か証拠が残されていないか、後で調査するのに使われる。従来はそれが当たり前だったが、IoT(インターネット接続の防犯カメラ)と機械学習(画像認識技術)を組み合わせて活用すれば、撮影した画像をテキストに落とし込めるようになる。テキスト化すれば“検索”が可能となるので、平常時とは違う何かが写り込んだときにアラートを通知する仕組みなども十分考えられるだろう。

 「“後から調査”ではなく、事件発生時にアラートを受けて現場へ急行するようなシステムも実現できる。また、事後調査の場合にも従来は人間がひと通り見なければならなかったが、テキスト検索で解析可能になれば、そのような負担も激減するはず」(中嶋氏)

 具体的な実現方法としては、まず、カメラで撮影した画像データをTensorFlowやNeuralTalk2で解析してテキスト化し、構造化データとしてデータベースに保存。さらにデータベース内では、画像認識とはまた別の機械学習アルゴリズムを使って異常検出(アノマリー分析)し、アラートを発するという流れとなる。ここで異常検出モデルをいかに実装するかが一つの課題となるが、Oracleデータベースのクラウドサービス版である「Oracle Database Cloud」なら、機械学習のエンジンが組み込まれており(※4種類のエディションのうち上位2エディションで対応)、異常検出のアルゴリズムを用いて分析することができるという。

IoTと画像認識技術、異常検出の機械学習機能に対応したOracle Database Cloudの組み合わせで、防犯カメラの自動アラーティングシステムを実現可能
IoTと画像認識技術、異常検出の機械学習機能に対応したOracle Database Cloudの組み合わせで、
防犯カメラの自動アラーティングシステムを実現可能

 中嶋氏は続いて、Oracle Database Cloudの機械学習機能を使った異常検出のデモを実施。自宅の玄関先に設置する防犯カメラをイメージして、玄関前の画像を5枚アップロードした。そのうち4枚は夜間・日中など異なる時間帯で、ドアのみが写っている画像。そして、残り1枚はチャイムを鳴らす人物が写り込んでいる画像で、これが機械学習によって異常検出できるのかを試すデモとなる。

 Oracle Database Cloudの設定は、オンプレミス/クラウド共通の管理ツールである「Oracle SQL Developer」を使用。データソースとして玄関前の画像データが格納してあるテーブルを指定し、機械学習のモデルとして異常検出を選択してマウスでつなげるといった、アイコンベースの簡単な操作でほぼ完結する様子が見てとれた。

 最初の分析結果では、検出されるべき画像のほかに、違う画像も異常値として検出されてしまった。基本的にデータが増えるほど精度が向上するものであり、「全体で5件のみのデータでは少々無理があるかもしれない」(中嶋氏)とのことだったが、ごく簡易なチューニングを施したところ、チャイムを鳴らす人が写っている画像のみ検出することに成功。少ないデータでも、異常検出の精度を確保できることが示された。

 「データベースに機械学習エンジンが組み込まれているメリットの一つは、リアルタイム分析が行えること。スタンドアロンの分析ツールだと、いったんデータを抽出して投入する必要があり、既存のアプリケーションに機能を組み込むのが難しいが、機械学習エンジンが組み込まれているOracle Database CloudならSQLで実装可能。アプリケーションの中に異常検出の仕組みを簡単に組み込める。アプリに組み込むことで、SMSやEメールを送信するといったアラート通知も自在に行えるので、リアルタイムのアラーティングシステムを容易に構築できる」(中嶋氏)

 なお、機械学習エンジンを利用できるOracle Database CloudのEnterprise High Performance Editionは、1時間あたり3.36ドル~の従量課金制で利用可能とのこと。分析用途であればほとんどの場合、データベースを24時間365日立ち上げる必要はなく、たとえば「月曜日の午前中だけ立ち上げたい」といったニーズも考えられる。そのようなケースでは、1日10ドル程度、1か月換算で40ドル程度(5000円弱)の価格帯で機械学習の分析機能が利用できることになる。

 異常検出をはじめとした機械学習に興味はあるが、専用のソリューションまでは必要ないという方などは、まずOracle Database Cloudで手軽に試してみるのもよいだろう。

お問い合わせ

 日本オラクル株式会社

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2016】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9323 2016/03/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング