Mashup Camera – MAカメラ
MAカメラとは
写真を撮ると、その物を分析して、何が写っているか判別します。たとえば、ミーティングルーム、イベント、パーティーなど。
その結果と、これまでの数多くのMashup Awardsの写真をマッチさせ、どれくらいMashup度が高いのか(写っているものがMashup写真に近いのか)を判定してくれる不思議なカメラです!
ついでに、MA度合いが低いと、MA風な画像を追加して、AR化した写真を生成してMA度合いを高めます!
MAモデルの作り方
FlickrにアップされたMashupがタグされた10万を超える写真をモデル生成に使っています。
これと、ごみや関係ないものの写真100枚ほど(RaspberryJunkPIE)を比較対象画像とし、その両者の判別モデルをクラウド上(GCP)のTensorflowにより生成しておきます。
[Mashup写真(MashupAwards)]
Flickr (https://www.flickr.com/photos/100125183@N08/ )からMashup風な写真を数百枚選別し、MashupAwardsというタグ付けを行います。
[ラズベリーとパイ、ごみクズ(RaspberryJunkPIE)]
それ以外を判別する為、本物のラズベリーやお菓子のパイの写真を100個、鉄くずなどのジャンクな機械の写真を100個用意し、比較対象にしました。
これらのデータを使い、Tensorflowを使った機械学習トレーニングを行います。この処理はGPUが必要な計算ですので、クラウド(Google Cloud Platform)上で行いました。
そこで出来たモデルをラズパイ上に移植し、撮った写真とモデルとの比較の部分のみラズパイ上で行う事により、少ないリソースでも無理なく判別機をつくれました。
[写真のAR化]
[MAカメラの使い方]
使い方は至って簡単。自分で作ったものの写真を撮るだけ!
そうすると、MashupAwards(MA風)、RaspberryJunkPIE(本物のラズベリー、お菓子のパイ、又はジャンク、くず)のどれに該当するかの確率をしゃべってくれます。また結果をTwitterにもアップします。
試しに、昨年の私の写真を読み込ませてみます。しっかり受賞確率95.38%(当たり前ですよね!)と出てきました。
この解析の精度を確かめるために、こんな本物のラズベリーの写真を読み込ませると、ちゃんと98.72%の確率で、RaspberryかPieだと出してくれました。
2018年のSemi/Finalステージに参加できたら、そこで実際に確かめてみたいと思います!
こちらは撮って、結果を喋っている動画です。
[MAカメラのシステム構成]
ハードウェア:
- RaspberryPi 3B
- USBカメラ
- スピーカー
- スイッチ、LEDなど
- USBバッテリー
- 紙のお弁当箱などのケースなど
紙製のケースに入ったカメラ本体に、USBカメラ、スピーカー、ボタンなどが付いています。
中には、マイク、カメラがついたラズパイとバッテリーが入っています。
スピーカーは外に出ていて、大音量で結果を教えてくれます。
全体のシステム構成はこのようになっています。
システム構成図
ソフトウェア:
- Python
- Google Vision API
- Tensorflow
- AquesTalk
[モデル構築用データ(写真)]
過去の受賞作品(WINNER): 2016、2017の2年分、201枚の写真
ラズベリーとパイ、ジャンクの写真(RaspberryJunkPIE): 200枚(Flickrから取得)
これらの写真を機械学習させる事によりモデル(それぞれの特徴量)を作る事ができます。モデルの構築自身は、Google Compute Engine上で行っておき、その結果モデルをラズパイ側に移して、エッジコンピューティングを行います。
ラズパイ側では、カメラから撮られた写真からラズパイでのTensorflow機械学習を使って、モデルとの一致度を判定します。モデル判別はラズパイ(エッジ側)のみで行われているので、ネットワーク接続は必要なく、ラズパイの処理速度でも10秒程度で結果が出るように調整されています。
[プログラム、その他]
プログラム、詳細設定方法、説明などGithub – https://github.com/ktrips/smart/tree/master/camera