NECソリューションイノベータが取り組む、新規事業や社会貢献につながるPoCとは?

NECソリューションイノベータが取り組む、新規事業や社会貢献につながるPoCとは?
NECグループのシステムインテグレーターである、NECソリューションイノベータ。いわゆるメーカー系SIerのイメージが強いが、社名からも分かるように、既存業務だけでなく、さまざまな新規事業創出にチャレンジしている。今回はその中から、特にNECグループが得意とする画像解析×AIによる、災害対策や新型コロナウイルス関連など、同社が取り組んだPoC(Proof of Concept・概念実証)事例を紹介した。

アーカイブ動画

■登壇者プロフィール


NECソリューションイノベータ株式会社
主任 横田 英樹氏

NECソリューションイノベータ株式会社
主任 小迫 秀臣氏


NECソリューションイノベータ株式会社
担当 水野 良祐氏

ICTを活用し、社会はもちろん自分たちも変えていく

事例の紹介に先立ち登壇した原田氏は、NECソリューションイノベータのビジョンを紹介し、「いつかを、いまに、変えていく」ための事業領域・体制を語った。

具体的には、いわゆる既存のSI事業を行うだけでなく、AI、クラウド、ビッグデータ、セキュリティといった旬な技術やトピックに関する新しい価値サービスの創出にチャレンジしている。


我々のデジタル技術を活かし、常に変化しながら「顧客のビジネス変革 をリードしていきたい」と原田氏は語る。

従来の業務である「SoR(System of Record)」から、顧客や社会とのつながりや洞察を意識した「SoE (System of Engagement )」「SoI (System of Insight )」業務へシフトしていくことが今後の展望。さらには社会貢献につなげると強調し、登壇者たちにバトンを渡した。

【災害対策】河川の氾濫状況をAIが判断するシステムを構築

最初に登壇した横田氏は、自身の経験から、河川の状況をAIが自動で判別することで、防災に繋げることができないか考えたと語る。

「私をはじめ本日登壇しているメンバーが暮らしている広島は、風雨の災害が多い地域です。実際に私も、2018年7月に発生した災害により、家の前の道路が冠水。小学校に避難した経験があります」(横田氏)

しかも特殊な機材を使わず、すでにあるカメラからの映像を使ってできないか。このような発案から、PoCに取り組んでいった。だが、横田氏は機械学習に詳しいわけではなかったため、機械学習初心者でも構築できる方法を模索していた。

そして2020年12月に、AWSから新たなクラウドサービス「Amazon SageMaker JumpStart」が提供される。同じくAWSのクラウドサービス「Amazon SageMaker Model Monitor」を活用し、システムを設計することを思いついたという。

Amazon SageMakerとは、AWSが20年にわたり、実際の機械学習アプリケーションで得た経験をベースに開発された機械学習サービスであり、学習、モデル作成、デプロイなどの作業が簡単に行え、横田氏が紹介したツール以外にも、多様なサービスが並ぶ。

「両ツールを活用することで、私たち人が行うのは、データを集めること。適切なデータに前処理すること。今回のプロジェクトであれば河川の画像を集め、適宜、修正するだけ。そしてJumpStartでは多くの工程が、ノーコードで行うことができます」(横田氏)


横田氏は、具体的にどのような作業を行ったのか。まずは河川の状況に応じた画像を集め、一部補正など施した。具体的には、「平常時(レベル0)」「ちょっと増水(レベル1)」「かなり増水(レベル2)」の3種類に分け、合計3000枚用意した。

そして、この3種類・3000枚の画像を、AWSのクラウドストレージS3にアップロードした。Amazon SageMaker JumpStartには124のモデルが予め用意されており、その中から今回の案件に即した「画像分類(Image classification)」というモデルを選んだ。

適するモデルを選択したら、あとはトレーニングボタンを押すだけ。学習は5分ほど終わり、モデルが作成される。さらにデプロイボタンを押すと、こちらも5~10分ほどで、実行コードが、Jupyter Notebookのサンプルノートブックで提供される。

あとはコードを確認する。今回のケースではもともとのモデルが犬猫の分類であったため、河川の状況と推論は2つではなく3つ修正した。コードを書く作業は、これだけ。「実際、期待通りのモデルを作ることができました」と、横田氏は感想を述べた。

機械学習モデルを活用した実際のシステムでは、業務を進めていくとモデル精度が低下する場合がある。また今回のケースでは最初から望むモデルが作成されていたが、精度が低かったり、より高精度なモデルを望む場合もある。



このような作業において活躍するのが、Amazon SageMaker Model Monitorだ。実際、横田氏も画像の枚数や前処理の有無のパラメータを変えるなど、モデルの精度を変化させ、その様子を同ツールで分析した。

「Model Monitorを使うと、精度の良し悪しの判断材料となる、accuracy(正解率)、recall(再現性)、precision(適合率)といった各種パラメータが数値としてスコアリングされます。そのためこのスコアリングをもとに、どのモデルが最も高精度であることを知ることができます」(横田氏)




AIが完成したら、次は実際のシステムとアプリの開発だ。ここでも横田氏はAWSの各種ツールを活用する。具体的には上記の構成とした。

「河川の状況を監視しているライブカメラのYouTube画像を、1分毎にEC2でキャプチャします。キャプチャした画像をS3に保存し、保存したイベントでLambdaを起動。SageMakerを呼んで、モデルに画像を推論させます。そうして得た推論結果をデータベースに書き込み、そのイベント再び拾ってLambdaを起動。ダッシュボード下部に表示する移動平均値を算出しています」(横田氏)

フロントエンドに関しては、WEBやアプリの開発を簡便に行えるAWS Amplify、認証まわりについてはAmazon Cognitoなどを使用した。

さらに横田氏は、SageMakerと同じように画像分類が行えるAmazon Rekognitionも使用し、SageMakerとの比較も行った。その見解を次のように紹介し、セッションを締めた。


「精度としては、Rekognitionの方が高いことがわかりました。しかし、同ツールの利用料金は1時間4ドル、1カ月まるまる使用する契約だと約30万円にもなります。 一方、SageMakerは1時間0.065ドル、月のフル利用でも46.8ドルと大きく異なります。また、Rekognitionは学習モデルのエクスポートができないため、ユースケースによって使い分けた方がいいと思います」(横田氏)

※イベントで発表した内容で紹介しきれなかった詳細をQiitaに投稿しているので参考まで。

【COVID-19関連】AWSやAPIを活用した密判定ソリューション

続いては小迫氏が登壇。まずはAWSやAPIを活用した画像分析による、人同士の距離が密になっていないかを判断するソリューションについて解説した。

先の横田氏と同じく、まさに現在問題となっている新型コロナウイルス対策との社会課題を解決したいという想いから、組織内で対応案があがり、このシステムを試作したそうだ。

構成は以下のとおり。画像分析には、先の横田氏と同様にAmazon Rekognitionを採用している。構成やシーケンスについて、次のように説明した。

「基本的にはサーバーレスのLambdaを使った構成です。シーケンスとしては、カメラで撮影した動画を、MediaLiveやMediaPackageといったメディア系のAWSサービスを使い、一枚のフレーム画像としてS3 frameに出力。その出力イベントでLambdaを起動させ、Lambda内のRekognitionを使い、密かどうか距離を計算。あわせて結果をブラウザで表示しています」(小迫氏)



密かどうかの判定においては、左右の目間の「目間距離」や、顔の向きなどを画像から認識し座標として数値化した。目間距離が小さければ距離が遠く、広ければ近いといった具合である。



顔の向きが横向き等の微妙な場合は正しく判定できない場合もあるそうだが、正面なら概ね、同手法で両者の位置を正しく座標にプロットできたと、小迫氏は語る。

ただし、カメラからの距離が5 m以上になると画像が粗くなり精度が落ちるため、同手法と設備では4 mまでの利用との結果を得たと説明した。

Google の近しいOSS、Google Media Pipe でも検証した結果も紹介された。後ろ姿でも目間距離は問題なく抽出できたが、顔の向きの角度データがないため、自前の簡易な計算では精度よくできなかったという。

姿勢分析による簡易行動判定を試す

続いて紹介されたのは、手を挙げる人の動作をカメラで撮影し、その動きが行われているかどうかの判定結果をZOOMアプリに表示するソリューションだ。今回の構成では先とは異なり、S3を単なるストレージとしてではなく、Webサーバ(アプリケーション)として活用し、ブラウザと直接連携している。

画像分析および判断においては、ストリーミングデータを収集・処理するAmazon Kinesis Data Streams、先述のGoogleの機械学習ソリューションMediaPipeのサービス、Holisticを使用。なお、AWS Fargate poseは、いわゆるコンテナ実行サービスである。


「Google MediaPipe Holisticは、全身33点、両手21点ずつ、顔に関しては468点ものデータを、XYZ座標として取得することができます。ただ既存のデータだけでは正確な姿勢検知が難しいと思ったため、いろいろ検討した結果、全身のランドマーク(目印)を43に増やしました。さらに、座標データをベクトル化することで、肘や指の曲がっている角度を正確に分析するようにアレンジしました」(小迫氏)


このようにアレンジした結果、小迫氏が挙手をすると、ZOOMアプリに挙手アイコンが表示されるようになった。ただしクラウドを使った構成ではタイムラグがあったため、ローカルPCやAndroid端末を使ったエッジのデバイスによる構成でも簡易試作版で実施してみた。するとエッジ構成の方が、遅延が少ないことが分かった。

続いては、挙手ではなく手の動きのみ、グーチョキパーの動きの違いなどを判定できるようなプログラムを書き、グッドジョブの動作が判定できるかどうかのソリューションが発表された。

具体的には、親指が上を向いている場合ならびに、他の4本の指が握られている場合を高スコアと判定するようなコードだ。


小迫氏は今回の取り組みを振り返り、セッションを締めた。

「これからのステップとしては、プログラミングすることなく、得たデータをAIが学習するだけで判定できるシステムに発展させたいと考えています。そしていずれは、ZOOMやTeamsなどのオンラインでのコミュニケーションを可視化するなど、何らかの用途で活用したいと考えています」(小迫氏)

※イベントで発表した内容で紹介しきれなかった詳細をQiitaに投稿しているので参考まで。

【COVID-19関連】10万人あたりの陽性者数を表示するダッシュボード

最後に登壇した水野氏は、開発目的は社会貢献であることを示し、実際に作成したダッシュボードを紹介した。

「今から1年ほど前の2020年4月、新型コロナウイルスの蔓延防止対策として、緊急事態宣言が初めて発令されました。陽性者数をまとめているWebサイトはいくつもありましたが、10万人あたりの数を確認できるコンテンツはありませんでした。そこで陽性者数を示すサイトを制作すれば、社会貢献になると思い、開発を決意しました」(水野氏)


制作したページ:covid-portal

上記ページにアクセスすると、47都道府県を位置関係も含め、圧縮した簡易図のようなカラムマップも見ることができる。

色が濃いほど陽性者が多いことを示しており、実際、東京や大阪といった都市部が黒くなっていることがわかる。またこれまでの累計(トータル)のほか、週、月単位での数を確認することも可能だ。


技術構成や技術スタックは上図のとおり。AWS、GitHub、Vue.jsの主に4つのライブラリを使い、2、3日でプログラミング自体は完成したという。

Vue.jsで作成した静的コンテンツをS3に配置、高速コンテンツ配信ネットワーク (CDN) サービスのAmazon CloudFrontで配信することで、ページを公開した。

あわせて、セキュリティやパフォーマンスの向上対策として、WAF(Web Application Firewall)やLambda@Edge、Amazon CloudWatchを利用。閲覧者数が一定のしきい値を超えると、CloudWatchがアラームを発するようになっている。

実装当初は公開されているオープンデータを利用していたが、現在では厚労省が公開している陽性者数のデータを水野氏が集計し、逆にオープンデータとして公開している。その理由を、次のように述べた。

「厚労省が公開しているデータはPDFのため、直接利用することが難しいからです。実際、私もPythonにより、PDFデータをcsvデータにスクレイピングしています。またPDFのフォントが変更になったり、ホームページのアドレスが急に変更になる点なども苦労している点です。データを公開するだけでなく、オープンに利用できるフォーマットで公開してほしいですね」(水野氏)

このようにデータのオープン性についても触れ、以下のスライドを共有した。


機能追加など、現在もダッシュボードはブラッシュアップを行っている。具体的には、BIツール「tableau(タブロー)」を使い、陽性者を可視化した。実際、メニューバーから同ページに表示を変えることができる。

アクセス状況を探るために、Google Analyticsも導入した。すると、2020年10月から急激にアクセス数が増加。最大で1日1.5万PVを得た。現在でも「コロナ陽性者数10万人あたり」といったキーワードで検索すると、上位に挙がるという。

【Q&A】参加者から寄せられた質問を紹介

セッション後は、参加者から寄せられた質問に登壇者が答えるQ&Aタイムが設けられた。

1)部署の役割

Q:技術検証は商用化を求められているのかなど、部署の役割について知りたい

原田:セッションでもお伝えしたように、社会課題を解決する方法や価値創造が目的のため、現時点では直接利益を出すような動きはありません。

ただし、検証した技術やサービスを社内に紹介することで、結果として事業部の業績がアップしたり、お客様の役に立つことを意識しながら、各種技術検証などに取り組んでいます。

2)河川氾濫対策

Q:天気や明るさの変化による映像精度の影響について

横田:午前中の精度は不安定なのに、午後は安定するなど、微妙な明るさの違いで精度が不安定になっているのが現状です。学習画像に夜の画像なども用意していますが、さらに他の画像を増やすなど、工夫が必要だと考えています。

Q:今までにないほどの水位になった場合も推定できるのか

横田:ご指摘のとおり、4段階にしておけばよかったと思いますので、これから試みたいと思います。

3)姿勢分析

Q:カメラの解像度を上げれば、遠くの距離にある目間距離の誤差は抑えられるか

小迫:キャリブレーションも含め、高精度のカメラで行えば、おそらく抑えられると思います。

Q:指の動きを認識し、マウスのようにPCを操作することは可能か

小迫:精度については分かりませんが、可能だと思いますし、個人的にもトライしてみたいと思っている技術検証のひとつです。

4)COVID-19ダッシュボード

Q:感染者数から感染経路を推測することは可能か

水野:現時点での機能では難しいですが、厚労省が関連データを提供してくれば可能だと思います。

Q:クライアントワークに活かす際の技術スタックの制約について

水野:実際にクライアントに提出レベルのソリューションの際には、OSSの脆弱性診断など、審査やチェックが必要になると考えています。 

NECソリューションイノベータ株式会社
https://www.nec-solutioninnovators.co.jp/
NECソリューションイノベータ株式会社の採用情報
https://www.nec-solutioninnovators.co.jp/career/

関連するイベント

グループにあなたのことを伝えて、面談の申し込みをしましょう。

NECソリューションイノベータ株式会社

読んだコラムに関連するイベント

類似のコラム

タグからイベントをさがす