かくかくしかじか

主にITやクラウドに関して学んだことを、アウトプットします。

日本初のニャンテック勉強会に参加

f:id:ekodasolo:20200205224257j:plain

なんの話かと言うと

  • AWSが主催するニャンテックに関する勉強会の参加レポート。
  • ニャンテックとはネコ様(ニャン)に関するテクノロジー(テック)のこと
  • 現在ニャンテックのサービスを展開されている企業の登壇やゲストのネコ様とのニャットワーキング(ネットワーキング)など大盛況のうちに終了した
  • 今後AWSではニャンテック関連のイベントとしてニャンズオン(ハンズオン)やニャイディアソン(アイディアソン)なども開催予定とのこと

イベント概要

AWS Nyantech 勉強会

AWS Nyantech Evnet 公式サイト

イベント概要(公式サイトから)

おねこさまと暮らしている人なら誰でも考えることを、AWS とテクノロジーとおねこさまへの愛を融合することで、おねこさまの幸せを実現したいと AWS も考えています。
第一弾として、2 月 5 日に AWS Nyantech を開催します。

今回は、すでに製品化・サービス化を進めているスタートアップ企業である、株式会社 RABO、株式会社 Nyans にご登壇いただき、 IoT ・ AI ・ ML などテクノロジーと動物との相性の良さを参加者に実感してもらい、猫愛にあふれたデベロッパー・エンジニアを増やし開発促進につなげるセミナーを開催します。当日はスペシャルゲストの参加もありますのでお楽しみに!

Agenda

  • 6:00PM–6:30PM 開場・受付
  • 6:30PM–6:40PM オープニング
    • AWS NyantechとAWS Loft Tokyoのおはなし
  • 6:40PM–7:00PM 本日触れる AWS サービスのご紹介
  • 7:00PM–7:40PM 株式会社 RABO
    • 「すべては、猫様のために。」Catlog®(キャトログ)の猫様のための猫様によるプロダクト開発についてお話します。
  • 7:40PM–7:50PM 休憩
  • 7:50PM–8:30PM 株式会社 Nyans All for cats〜みんなで猫を幸せに〜
  • 8:30PM–8:50PM
    • にゃ談会
    • モデレーター 
    • 吉田博英 氏 TechCrunch Japan 編集統括
  • 8:50PM–9:15PM にゃっとわーきんぐ

イベントレポート

猫と機械学習とIoT

大渕 麻莉さん(AWSジャパン 機械学習ソリューションアーキテクト)

すべてのネコ様好きに共通の思いは、「大好きな猫様にいつまでも元気でいてほしい」。具合が悪いときにすぐにきづきたいと思うが、でもそれが結構難しい。具合が悪いということをどう捉えられるかというと、一つはいつもと違う時と考えられるという。

f:id:ekodasolo:20200205224335j:plain

何かのデータを見て、いつもと違う情報を見つけることで猫様の異変に気づくという考え方が成り立つ。機械学習ではこれを「時系列データの異常検知」と呼ぶそうだ。

次に、AWSの提供する機械学習サービスの分類について説明があり、大きくは3つのレイヤーに分かれるという。

1つ目はAIサービス。AWSが構築済みの機械学習モデルを使うもので、機械学習の深い知識はなくても推論結果だけを得ることができるものだ。 代表的なサービスは画像解析のRekognitionや時系列予測のForecastになる。

2つ目はMLサービスで、これは自分の独自のモデルを開発するものになる。AIサービスではできない独自の実装ができる。 コアなサービスはSageMakerで、ビルトインアルゴリズムも使える様になっており、今回のケースに合いそうな数値・時系列解析が含まれるという。

3つ目はMLフレームワーク、インフラストラクチャで、機械学習の環境を自由に構築して利用するもの。

IoTサービス

ネコ様の情報をIoT機器からデータ取る場面でIoTサービスが役にたつ。ネコ様の外からはカメラ画像、中から加速度センサーと位置センサーを用いる。

IoTの課題

  1. バイスをどうやって接続したり操作するか
  2. バイスをどうやって制御、管理、保護したりするか
  3. どのようにデータから価値を抽出するか

IoTサービスのラインナップ

AWSではIoT Coreを始め、デバイスの管理やセキュリティの保護など、IoTの課題を解決するサービスラインナップを用意しており、上記の様な課題の解決をサービスの機能で実現することができる。


Catlogー猫様のための猫様によるプロダクト開発

  • 伊豫 愉芸子さん(株式会社RABO President & CEO)
  • 鈴木 則夫さん (株式会社RABO バックエンドエンジニャー)
  • 眞嶋 啓介さん (株式会社RABO MLエンジニャー)

ネコ様専用の首輪型ロガーとモバイルアプリでネコ様の行動を見守るサービス

f:id:ekodasolo:20200205224427j:plain

ネコ様と暮らす際のよくある課題

  • 留守番が多く、心配で後ろめたい
  • しかし対策はできていない
  • ペットカメラでの見守りは死角が多すぎて不十分

バイオロギング・サイエンス

バイオロギング・サイエンスは、観察できない動物の行動を見る技術。野生動物などにセンサーを付けて行動パターンを24時間見守りする。

Catlogはバイオロギング・サイエンスの手法に基づき、以下の3つを使ってネコ様の行動を記録し、見守りをすることができる。

  1. Pendantー首輪
  2. HomeーPendantからのデータを中継するデバイス
  3. アプリ

アプリ

  • ネコ様の状態を見る
  • 食べる、寝る、くつろぐ、走る、歩く、嘔吐、ジャンプを識別する
  • 1日の行動を記録してログを見る
  • グラフでデータを見ることで状態の変化などを辿ることもできる
  • 現在、保険や医療とのコラボも準備中
  • アプリは380円、580円の2プラン

ペンダント・デバイス

  • 1個14,800円
  • ネコ様の首に首輪の様につけて、加速度、位置をセンシングする
  • ネコ様装着用に専用で開発した
  • 3軸加速度センサーでx軸、y軸、z軸のデータを取る
  • ペンダントとホームはBlueToothで接続する
  • ホームからは無線LANでインターネットに接続する

構成

主に以下の部分からなる。

  • センサーログの蓄積基盤
  • 機械学習サービス基盤
  • 行動ログデータベース

センサーログの基盤

  • アプリケーションはFargateで動かしている
  • PHPのコンテナ
  • データベースはAurora
  • 出荷したデバイスの数以上にアクセスは来ないので負荷は事前に予測しやすい

行動ログの部分

  • アプリケーションは同じくFargateで動かしている
  • 前述のAuroraに接続する

猫の加速度データを捉える

Catlogのコア機能はネコ様に装着したデバイスからのデータを行動のログとして解析していく部分。ポイントは以下となる。

  • 加速度データから行動を分類する
  • データは3軸の加速度(x, y, z)とタイムスタンプのみを持っている
  • 1秒単位で動画をみてどの行動に分類されるかをラベル付けするアノテーションを行う
  • 波形を取り出して機械学習する
  • 食べる、寝る、くつろぐ、走る、歩く
  • ただし、同じ食べる行為でも、猫の個体差は結構大きく、静かに少しずつ食べる子と、ガツガツ勢いよく食べる子では波形は大きく異なる場合がある

機械学習じゃなくてもわかること

  • 波形から単純に判定できる行動はMLなしでも分類できる
  • ルールベースでの判別でもある程度の分類はきく

機械学習だとわかること

  • ルールベースではわからない分類
  • 個体差を吸収した分類ができる
  • 逆に波形状の特徴がないものは機械学習ではわかならい

Nyans All for cats〜みんなで猫を幸せに〜

  • 谷口 紗喜子さん (株式会社nyans 代表取締役)
  • 中山 昌俊さん (株式会社nyans Engineer)

サービス立ち上げのきっかけはネコ様からの問題提起のメッセージを受け取った。

  • 猫と人間がうまく共存していない
  • 人間がビジネスのために猫の命を操作している
  • 本当は猫と人間は共存ができる

サービス

nyatching.com

街中の猫をみんなで見守る、猫の飼い主のコミュニティサービス

  • 猫を預ける先がないことがこまっていた
  • キャットホテルは環境が変わる
  • キャットシッターはなかなか確保できない
  • ご近所のひとで預かったり見守りをし合えたらいいと思った

機能

  • 猫を探す
  • 預かりの応募、募集
  • 近所の猫や飼い主とつながることができる

ユーザーからの声

  • 長期間預かってもらえるひとを見つけた
  • ネコ様のドナーを見つけることができた

自分のご近所のネコ好きな人とつながったり、自分の家のネコ様を好きになってくれる人に預かってもらうことができたという事例につながった。

サービスの技術的なはなし

  • エンジニアの中山 昌俊 さんから
  • 現在のユーザー数4,500人
  • 猫の登録数は5,000匹

当初はインフラをHerokuに任せていた。最初は中山さん自身がエンジニアリング未経験から開始だったので、インフラをまかせてプログラミングに集中したかったという。

Herokuはサービスのインフラ部分を丸ごと任せられる点にメリットがあったが、一方でデメリットは東京リージョンがないので読み込みに時間がかかること、料金が割高だったことと感じていたという。現在はAWSに乗り換えた。

構成

  • フロントエンドはNuxt.jsで開発
  • バックエンドはRails
  • 静的コンテンツはCloudFrontを前段に、S3をオリジンに
  • API Gatewayの後段にLambdaを置いてSSR(Server Side Rendering)する

サーバーレスを取り入れているが、Lambdaの場合はHerokuとは異なりNuxtでビルドをしたパッケージをそのまま配置することはできず、Lambda用のハンドラーを用意する必要がある。SNSでURLをシェアされたときに猫の写真を入れたいのでSSRが有効に機能している。

  • バックエンドはRailsで開発
  • データベースはPostgreSQL
  • いずれはAWSでサーバーレスで構築したい
  • その場合はAppSync + Lambdaにしたい
  • Ruby + Jetsを使えばRubyのアプリケーションをサーバーレスでスムーズに構築できる
  • それならAmplifyをうまく活用して開発生産性を上げたいと思っている

Nyatchingの面白い機能

なわばり機能

  • ユーザーの緯度経度をもとに近くのユーザーを見ることができる
  • PostGISというPostgreSQLのパッケージを使っている
  • 緯度経度をカラムに入れることができる

LINE通知機能

  • 新しい猫が近所に現れた
  • 猫のお世話依頼がきた場合
  • LINEなら簡単に実装できて、しかも日本中のほとんどの人が使っていてカバレッジが大きい

まとめ

  • おそらく日本初のニャンテック勉強会はものすごい盛り上がりでした。
  • 当初2周間くらいの募集期間を予定していたがわずか2日で定員になったほど、大きな反響があった。
  • 今回は会場にゲストのネコ様もいらっしゃり、AWS Loftがとても暖かく優しい空気に包まれた。
  • 次回はニャンズオンを3月12日に予定されているので、ニャンテックに興味のある方は次こそ是非参加をおすすめしたい。