SHOEISHA iD

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

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

【デブサミ2018 夏】セッションレポート

AI×IoT、その最先端は実に「泥臭い」作業の連続であった――人工知能を活用した店舗解析サービス、その開発現場の実態【デブサミ2018 夏】

【A-8】1日10TB以上の店舗映像を解析するサービスの仕組みとノウハウ

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

会社のノウハウとなる一つ一つの解決策

 上記までの課題に対する解決策もあわせて語られた。まずデバイスの導入については、チーム体制の強化として、徹底的なツール開発とドキュメント整備で対応したという。アカウント発行やデバイス準備などのタスクに対し、バイネームでタスクが割り振られ属人化していた現状を踏まえ、誰でも使えるような内部ツールを開発することでタスクを分散。徹底的に使いやすいツールを開発することで、パソコンの知識が乏しいようなパートタイマーのメンバーでも「インフラをスケールしておいて」の一言で該当箇所の数値を変更することができるくらいわかりやすいUIを持つツールを作ることができたという。

 また、ツールの導入では作業担当者の分散は実現できるが、意思決定がノウハウ保有者に集中する状況は変えられない。そこで、ツールとドキュメントをセットで導入するルールとし、あわせて記載が形骸化しないようプロセス改善も随時行っているという。

写真でポイントを明確化したマニュアルにより細かなナレッジも共有する
写真でポイントを明確化したマニュアルにより細かなナレッジも共有する

 もう一つの課題であるデバイスの故障対応に対する解決策としては、そのデバイスが関わる可能な限り全ての入出力データをとることであるとした。先の例のような業者の不適切な工事による不具合なども、例えば、デバイスが起動するたびにその回数を記録しておくことで、その数値を確認して異常な再起動回数があることを確認できれば、電力の供給不足を疑うなど、類推する材料とすることができる。データが多ければ多いほど、多角的な予測につなげられるのである。

IoTデバイスに数多く存在するパラメータはいずれも重要であるとされる
IoTデバイスに数多く存在するパラメータはいずれも重要であるとされる

センシティブデータを扱うためにとった「正攻法」

 データの取得においては、顧客の顔の特徴量などのセンシティブな情報を扱っているということが、対応すべき課題の一つであった。これまで法整備が進まず、その扱いにおいてグレーゾーンであり、明確な根拠を持たないままデータを扱う企業も散見されている状況であったという。しかしABEJA社は、経済産業省の利活用ガイドブック策定に自ら関わり、ガイドラインを明確化。その上で、その内容に準拠したデータ管理の下、サービス提供を行うものとしたという。

画像データを扱う機能は経済産業省の「カメラ画像利活用ガイドブック」に準拠
画像データを扱う機能は経済産業省の「カメラ画像利活用ガイドブック」に準拠

 さらに、それらのデータを送信する際も、店舗内のシステムとABEJAのクラウドプラットフォームを暗号化基盤の中で通信するようにしているが、このサービスのためだけにISP事業者として届け出をし、自前でデータ通信を行うことでその機密性を保っているという。

事業の成長を妨げないために、ソフトウェア側で取り組むべきこと

 取引先も増えサービス需要は拡大し、さらにカメラなどの自社開発デバイスも進化を遂げている中、自社のインフラであるABEJA Platformが足を引っ張ってくるタイミングがあったという。アプリケーションの構造がモノリシックになっており、急速な変化に対応することでプログラムは日に日に肥大化。繰り返された改修により、1行実装を追加するだけでCIに2~30分かかってしまうような状況になり、実装に時間がかかるようになってしまったという。また、ある仕様を追加したら既存の別の仕様が壊れてしまうなど、依存関係が強い構造になってしまい、改修の難易度が高くなってしまった。

解析システムはモノリシックであったため改修コストが肥大化
解析システムはモノリシックであったため改修コストが肥大化

 その対策として、モノリスだった解析システムをコンポーネント化し、「録画部」「変換部」「アルゴリズム部」「結果転送部」という流れのパーツごとに切り分けて疎結合化したという。これによって、例えばカメラデバイスをAからBに変更した場合は、録画部と変換部の実装にのみ修正を加えるだけで済むため、CIの時間も短縮され、既存仕様への影響も局所化。サービス拡大や新規デバイス対応への俊敏性が向上したという。

機能分割し疎結合化したことによりカメラ変更時も機能の一部のみの修正で対応可に
機能分割し疎結合化したことによりカメラ変更時も機能の一部のみの修正で対応可に

「泥臭い」現場業務が支える事業の成長

 AI×IoTというソフトウェアとハードウェアの組み合わせを、顧客の事業形態にあわせたサービスで、導入から運用までを適切に行っていくにはどうすべきか。まとめると、それは、まず一般的なWebサービスとは異なる課題特性を認識すること。そして法整備からデバイス、アプリケーション、そしてチーム体制や文化作りまでを幅広くとらえて地道に解決していくこと。そんな「泥臭い」現場業務が、この2年の間にデバイス数比較で20倍という飛躍的な速度で拡張したという同社のサービスを支えている。私生活でも趣味でIoTデバイス実装をこなすという大田黒氏は、笑顔でセッションを結んだ。

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

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

もっと読む

この記事の著者

西野 大介(SOMPOホールディングス株式会社)(ニシノ ダイスケ)

 SOMPOホールディングス株式会社デジタル戦略部(SOMPO Digital Lab)勤務。損保ジャパン日本興亜グループにおける先進技術の研究開発を担当。過去には基幹システムの開発にも従事し、SoR/SoE双方の開発において幅広い経験を持つ。本業以外では、CodeZineの連載をはじめ、国内/海外の各種カンファレンスへの登壇や企業向けの講演にてテクノロジー情報を幅広く提供している。主な登壇実績:IBM THINK(米ラスベガス)、Java Day Tokyo、IBM THINK Ja...

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング