技術

にゃんズ来る(ネコ×2とAI、その2)

2021年1月 8日 (金) 投稿者: メディア技術コース

さて、続きです。前回に学習モデルを作成したところまで説明しましたが、学習の成果を確認しましょう。Teachable Machineのプロジェクトのページのさらに右側に、Previewという領域があって、ここの”Input”を”ON”にするとカメラが起動し、学習したモデルを確認することができます。ということで、にゃんズカモン!また一匹づつひっつかまえてカメラの前に持ってきます。下に画像を載せますが、画像右下にある”Output”でそれぞれのネコに対応したラベルのグラフが100%になっているのがわかります。さらに、何も画面に写っていないときも、”nocat”ときちんと判定されていますね。これで学習モデルの準備はOKです。

 

Screen-shot-20210101-at-125604

  学習成果の確認

 

これで、いよいよアプリケーション自体のプログラムに移ることができます。p5.jsは、ウェブ上でプログラムを作成、実行できる環境が https://editor.p5js.org にあります。このブログでは詳細は省きますが、まずこれでPCのカメラを使い、キーを押すと撮影画像を保存するものを用意しておきました。次に先程の機械学習のモデルをこのプログラムで使えるようにしていきます。

 

もう一度、Teachable Machineのページに戻ります。Previewのところにある”Export Model”をクリックすると、下記のようなウィンドウ(水色の部分)が表示されます。ここにJava Scriptから学習モデルを使うための情報が提供されています。学習モデルを利用するためのURLや、モデルを利用するためのJava Scriptのコードが表示されていますので、ここから必要な部分をコピーして先程自分で作成したカメラ撮影のプログラム中に適宜埋め込んでいきます。ここらへんは多少プログラミングを理解している必要がありそうですが、そこまで難しいわけでもありません。

 

Screen-shot-20201231-at-104838

Export Modelの画面:利用するためのコードが表示されている

 

さて、実行してみましょう。エディターの上部にある実行アイコンをクリックしてみます。まず何もカメラ前に居ないときには撮影が行われません。よしよし。次にまたにゃんズに協力をあおぎます。うにゃーというのをかまわずひっつかまえてカメラ前に連れてきます。カシャ!という音はしないのですが、画像が保存されたことが視覚効果でわかります。すごい、ちゃんと出来ているじゃないですか!もう一匹も連れてきても成功です。ちなみになんでもかまわず撮影しているわけではないのは、画像のファイル名にそれぞれのネコの名前が含まれるようにしたので、きちんと識別されているのが分かります。自分自身でカメラの前にいっても撮影されません。

 

Screen-shot-20201231-at-175837

エディター上のプログラムが実行されている様子

 

 

ということで、ネコとのにゃんにゃんブログを正当化するために実施した機械学習を利用したアプリケーション開発ですが、非常に簡単にAIアプリを作成することができました。さすがGoogleというところでしょうか。これで、実行したままにしておくと、ネコたちが画面前にやってきたときに自動的にシャッターがきられて画像が保存されるアプリケーションができあがりました。いたずらするところの決定的な写真を撮ったりするのに使えるかもしれません。まあ、まだ色々細かい調整や作り込みは必要でしょうが。今回の作業で一番大変だったのはネコをカメラ前に連れてきて学習データを取り込むところでした。なにしろじっとしていなくて暴れまくるのでカメラに写るようにつかまえているのが大変でした。ものによるとは思いますが学習データの用意が一番面倒な部分ではないでしょうか。それなりの量も用意しなくてはならないでしょうから。今回は、それぞれ200枚〜250枚くらいの画像で行いました(他のネコの写真は20枚くらい。用意するのが大変だったので)。それさえ用意できれば非常に簡単にAIを自分のコンテンツに取り込むことができました。課題はAIの機能を「何に」「どのように」使用するかというアイデアを考える部分になりますね。独自のアイデアがあれば、面白いものを簡単に作ることができそうです。来年の演習にでも取り込もうかな。

 

さて、ネコと遊ぼう…

 

 

太田高志

2021年1月 8日 (金)

にゃんズ来る(ネコ×2とAI、その1)

2021年1月 7日 (木) 投稿者: メディア技術コース

ネコ買っちゃいましたよ。飼っちゃいました?安らぎを求めて…

二匹です。ネコを飼うなら複数と思っていて、ついに妻を説得するのに成功いたしました。…いや~、マジでかわいいですね…。毎日メロメロになっています。以前は犬を飼っていて、妻は犬派でしたが、高齢になってくると朝晩の散歩が厳しいということで今回は猫ということで納得してもらいましたが、可愛いですねえ…。おまけにまだ子猫だし。さわり心地はいいし、躰はぐにゃぐにゃでやわらかいです。ゴロゴロ音も心がやすらぎます。セロトニンが毎日ドバドバ出まくります。猫は犬よりドライだというようなことも聞きましたが、思ったよりも全然甘えん坊で毎日膝の上で寝ています。家の犬はかなりドライな性格でしたがそれよりも全然くっついてきます。二匹でもしょっちゅうべったりくっついていて、それを見ているのも微笑ましいです。犬との違いは、テーブルの上でもピアノの上でも飛び上がってどこでもいってしまう運動神経で、これだけは大変で、その身体能力に驚いていますが、それも楽しい毎日…

 

ということで写真です。ペットって人に見せたくなりますよね…

 

Cache_messagep11946-copy Img_1726_original

かわいい                    かわいい

 

Img_4597-copy Img_4322

かわいい                   かわいい

 

Img_4605

チョーかわいい…

 

 

ひたすら「かわいいよぉ、ハァハァ…」なんて書いているだけだと、大学のブログとしての品格と見識を疑われてしまいますよね。フム…。というわけで、にゃんズに協力してもらって機械学習を利用したアプリケーションを作ってみました(唐突か?)。

 

Googleが提供しているTeachable Machineで機械学習による画像認識の学習データを用意し、それを使ってネコたちがカメラの前に来ると自動的にシャッターを切り画像を保存する、ウェブブラウザーで動作するJava Scriptのアプリケーションを作成してみました。Java Scriptの開発環境としては、ビジュアルプログラミングの環境として有名はProcessingをJava Scriptに移植したp5.jsを利用しました。

 

さて、Teachable Machineのページ(https://teachablemachine.withgoogle.com)にアクセスして、”Get Started”をクリックすると、下図のように3つのプロジェクトから選択できるようになっています。今回は、ネコの顔を認識して反応するようにさせたいので、Image Projectを選びます。その他に、音声やポーズを認識するものがありますので、これらもそのうち試してみたいと思います。

 

Screen-shot-20210101-at-02155

Teachable Machineのプロジェクト種別選択の画面

 

新規のImage Projectのページになると、複数の対象の学習データを登録できる画面が現れます。画像認識のための学習データは画像群を読み込ませることもできますが、このシステムで簡単なところは、PCのビデオカメラを利用して、その場で対象物をカメラの前で動かして色々なパターンの写真を連続して取り込めるところです。ということで、ネコを一匹捕まえてウニャウニャと激しく振りほどこうと暴れるのを一生懸命なだめつつ、カメラの前でグルグルと動かして色々な画像を200枚程度づつ取り込みました。何枚くらいが適切なんだろうか…。そしてもう一匹を捕まえて、再度ウニャウニャを別の学習データとして取り込みます。それぞれの学習データにはそれぞれのネコの名前をラベルとしてつけておきます。それから、他のネコの画像をウェブから仕入れて、別のネコの認識用の学習データを用意し、人が写っていたり部屋が写っている画像もネコが居ないときを識別するために撮影してその学習データに”nocat”とラベル付けしました。

 

Screen-shot-20201231-at-104923

学習データ読み込みの様子

 

 

学習データが用意できたら、それらの右側に”Training”と書かれている領域に”Train Model”と書かれた矩形(ボタン)がありますので、それをポチッとなとすると学習データによる訓練を開始します。学習している間「ブラウザーのタブを変えるんじゃねえぞ」という警告を受けながら待っていると、”Model Trained”と表示され、学習が終了します。これで、ネコの顔を識別するための機械学習のモデルができあがりです。次はこれを利用して画像を撮影するアプリケーションをp5.jsで作っていくのですが、長くなりましたのでそれについては「その2」に続きます…。かわいいよぉ…

 

 

太田高志

2021年1月 7日 (木)

CGプログラミングの定番「レイトレーシング」を実装してみた

2020年12月29日 (火) 投稿者: メディアコンテンツコース

 先端メディアゼミナールは少人数の演習形式の科目です。成績による履修制限があり、研究に近いようなプロジェクトを学生が行う科目です。
 
 私の担当テーマは「CGプログラミング」です。今期の履修生は何と一名だけです。今回はCGに興味あるプログラマーなら一度は経験してみるレイトレーシングというアルゴリズムに挑戦しました。私自身も40年近くCG関連のプログラミングを行ってきています。レイトレーシングは5回以上はプログラムを書いた経験があります。
 
 詳細のアルゴリズムは検索すればいくらでも出てきますので、興味のある人は調べてみてください。
 
 今回の履修生の目標は、1980年に初めてレイトレーシングがCG分野で研究発表された論文の結果画像をマネしてみる、というものに設定しました。
 
Whitted1980 Nogiwa2020

 左の画像は1980年のTurner Whittedの論文で紹介された画像です。右は履修生のメディア学部2年生が自分で一から書いたプログラムの出力画像です。
 
 細かいところは違っていますが、概ね似た画像を出力することができました。三次元物体の形状描画、完全鏡面反射、屈折、テクスチャ、光源処理、影計算など、これだけのCG画像に各種アルゴリズムがプログラムされています。
 
参考文献
Whitted, Turner, “An Improved Illumination Model for Shaded Display,” Communications of the ACM, Vol. 23, No. 6, pp. 96-102, 1980.

メディア学部 柿本 正憲

2020年12月29日 (火)

ACM UIST 2020参加

2020年12月15日 (火) 投稿者: メディア技術コース

こんにちは,メディア学部の加藤です.

前回 WISSの告知をしてみましたが,真面目に記事を書くのはこれが初回です.
HCI・インタラクション関連の学会・イベントの告知の他に,
僕が進めている研究,参加した学会について紹介する記事をポストしていこうかなぁと思っています.

今回は 2020年10月21-23日に開催されたACM UIST2020について紹介します.
UISTは,User Interface Software and Technologyの略であり,HCI (ヒューマン・コンピュータインタラクション)の研究分野の中でも,
特にユーザインタフェースに関する研究を取り扱ったトップカンファレンス(分野の中で最高レベルの学会)です.
今年はアメリカのミネアポリスで開催される予定だったのですが,
COVID-19の影響で完全オンライン開催になり,僕は自宅からの参加となりました.

メインの Paper セッションには,全部で 450本の論文が投稿され,その内 97本が採択されています (採択率 21.56%..狭き門です).
オンラインでの学会は基本的に Zoom上で行われるものが多いようです.
UISTも同様の方式で,発表者とセッションチェア(座長)がそれぞれリアルタイムにZoomに接続し,
各々の自宅または職場から発表を行います.
また,UIST参加者全員が参加できる Discordが用意されており,聴講者はそこから発表者に対して質問をすることができます.

UISTの発表の中で,特に興味深かったHERMITSという研究を紹介します.
この研究は MITに所属する中垣さんが発表しました.
HERMITSは toioをベースとしたインタラクティブシステムで,
3Dプリンタを用いて作成された様々なタイプのアタッチメントモジュールにドッキングすることで
色々なインタラクションを実現しています (動画が最高なのでぜひ見ましょう).
豊富なアプリケーション例はどれも圧巻ですね〜

この研究についてもっと詳しく知りたい!という人はぜひ,論文も読んでみてください.
(当たり前ですが,全部英語です.がんばってください..w)


Ken Nakagaki , Joanne Leong, Jordan L Tappa, João Wilbert, and Hiroshi Ishii. In Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology (UIST'20), pp.882-896, (2020). [DOI]

UIST にはPaperセッションの他,Demoセッション,Posterセッションといった発表も行われます.
これらの発表は Zoomではなく,Discordのビデオチャット形式で行われました.
僕は Posterセッションにて LightTouchという研究を発表しました.
これは Yahoo!研究所の池松さん,東京大学の川原先生との共同研究です.
(LightTouchの詳しい紹介はまた次回..)
Kaori Ikematsu, Kunihiro Kato, Yoshihiro Kawahara. LightTouch: Passive Gadgets for Extending Interactions on Capacitive Touchscreens by Automating Touch Inputs. In Proceedings of the 33rd Annual Symposium on User Interface Software and Technology (UIST'20 Adjunct).  ACM, New York, NY, USA, pp. 10–12, (2020). (Acceptance Rate: 58%)[DOI]
20201023-20144
図: Discord上での発表の様子
UISTで発表された研究のほとんどは YouTube上 [Link]でも見ることができます.
とても面白い研究がたくさんあるので,興味のある人はぜひ見てみましょう〜

2020年12月15日 (火)

オンライン専門演習「ネットワーク構築」の実施

2020年8月12日 (水) 投稿者: メディア技術コース

皆さん、こんにちは。メディア学部の寺澤です。

今日は今学期のメディア専門演習「ネットワーク構築」について書きたいと思います。この演習は、家庭用ではなく、企業のビルなどで使われているネットワーク機器類を実際に使用して、実際にネットワークを設計し、それを実現し、その動作を確認します。これらを通して、講義等で学修したコンピューターネットワークの理解をより深め、将来ICT分野に就職をする人も多いメディア学部の学生の皆さんに基礎力を高めてもらうことが目的です。また、コンピューターネットワークは私の研究室の研究分野でもありますので、卒研に関心も持ってもらうことも狙いの一つです。

とはいうものの、今学期はメディア学部は演習授業も含め、全面的にオンライン実施となったので、このテーマも急遽オンラインで実施することになりました。いろいろな方法を考えましたが、学生の皆さんが持っているノートPCは今学期にオンライン授業を受講するための必須の道具でもあるため、その動作を不安定にしたり、起動できなくなるような事態は避けなければならないと考えました。結局、ネットワーク機器大手の米Cisco社の提供する、Packet TracerというシミュレーターとAmazonのAmazon Web Services(AWS)のEC2サービスを利用して授業を組み立てることとしました。

Packettracer

続きを読む "オンライン専門演習「ネットワーク構築」の実施"

2020年8月12日 (水)

エクセルとうるう年のお話

2020年2月29日 (土) 投稿者: メディア技術コース

助教の戀津です。

今日は2020年の2月29日、4年に一度のうるう年のうるう日ですね。
せっかくなので、うるう年にまつわるおもしろメディア学です。

うるう年は4年に一度、2月に29日が入るというものですが、実は単に4年に一度ではありません。
西暦の年数が・・・

・4で割り切れるときはうるう年とする
・ただし100でも割り切れるときはうるう年としない
・ただし400でも割り切れるときはうるう年とする
という条件になっています。

条件だけ見ると複雑ですが、後ろ2つは具体的には1900年はうるう年ではなく、2000年はうるう年です。
100年単位で見れば次は2100年・2200年・2300年がうるう年ではなく、2400年がうるう年ということです。

2000年もうるう年だったので、4で割り切れるうるう年でない年は120年間来ていないことになります。

ここまでうるう年自体のお話でしたが、エクセルとはどんな関係があるかというと、実はエクセルの日付計算機能にはうるう年に関するバグがあるのです。
先ほど話した通り、1900年はうるう年ではないのですが、エクセルの機能で日付を見ると1900/2/29が存在しています。
1900年から2400年までの2/26から7日間を表示してみました。

0229_20200229115301

2100年から2300年は2/28の次が3/1になっていて、2000年、2400年は正しく2/29になっています。
そして、1900年にも2/29が現れています。
つまり、エクセルの日付計算機能上は1900年がうるう年として扱われているのです。一般的に考えて、これはバグですね。

なぜこうなっているかというと、エクセルが開発された当時はLotus 1-2-3というソフトが表計算ソフトの主流でしたが、このソフトに1900年をうるう年とするバグがありました。
マイクロソフトとしてはエクセルを売り出したいので、現在主流のLotus 1-2-3を使っている人が同じデータをそのまま使って乗り換えできるようにする必要がありました。
そのため、Lotus 1-2-3と同じ方式で日付計算を行うように設計し互換性を持たせました。これによってエクセルでも1900年はうるう年という誤った情報のままになっているというわけです。

この、互換性を優先して故意にバグを仕込むというのは大変興味深い判断です。
バグ、つまり誤りは正すのが普通ですが、あえて残すどころかわざわざ発生させています。

しかし、もちろんそれをするに足る合理的な理由があります。もしこれを開発当時に修正すればLotus 1-2-3との互換性がなくなり、厳しいシェア争いが必要になりました。
また、もしも今からこのバグを修正すると、これまでに作られた世界中のエクセルファイル全ての日付が1日ずれてしまうという甚大な問題が発生します。

それに対し、1900年をうるう年のままにした場合に起きる問題は、「1900年の1月1日~2月28日の曜日がズレてしまう」というだけです。
エクセルでは1900年以前をもともと日付として扱えないので、このごくわずかな期間、しかもその期間の曜日を計算するというごくごく限られた場面でのみ問題が生じます。(そんなことする人いるのかな・・・?)
つまり、バグを修正した方がより大きな問題が発生するということになります。
これらを総合的に判断した結果、今でもエクセルには1900年の2月29日が存在しているというわけです。

うるう年にまつわる、表計算ソフトの歴史のお話でした。

2020年2月29日 (土)

サウンド×ヒューマン研究まとめ

2020年2月25日 (火) 投稿者: メディア技術コース

Kouka_shokai_004

こんにちは。今回はサウンド研究が中心の大淵・越智研のメンバーが取り組んでいる、または今年度卒業研究・修士論文研究で行った研究課題の概略を図示してみました。これ以外にもサウンドの可視化や画像から音を作る(可聴化)、プログラミングで音楽を奏でるライブコーディングへのAIの導入、音声認識、音声合成など、描ききれない色々な研究テーマがあります。サウンドと一口に言っても色んなことができることがわかりますね。共通するのは、大淵・越智研ではサウンドを芸術的な側面だけではなく技術(機械学習(AI)や統計、音響分析)と結びつけて研究していることです。サウンドを技術的な切り口でとらえてみたい学生の皆さんは是非大淵・越智研で一緒に研究してみませんか?

 メディア技術コース 越智

2020年2月25日 (火)

大学から見える意外なランドマーク(2)

2020年2月 5日 (水) 投稿者: メディア技術コース

助教の戀津です。

先日の記事に続き、学内から見えるもうひとつの意外なランドマークのお話です。
片柳研究所から都心の方を見ると、頭一つ(という表現はちょっと違うかもですが・・・。)抜けた高い高い建造物が見えます。

Dsc_0047_20200201130301

流石に遠いのでズームします。

Dsc_0048_20200201130301

更に拡大・・・。

Dsc_0048z

はい。スカイツリーですね。特徴的なシルエットと、何より大変高いのでわかりやすいです。

探してみたら総務省の公開するこのようなデータがありました。関東広域圏東京親局というのですね。
関東平野の広域にテレビ電波を発信できるように建造されているので、山などに遮られない限り非常に広範囲まで電波が届いていることがわかります。

電波は基本的には直進します。つまり、テレビの電波が届くということは間に何もないということになります。
(厳密には回折や反射といった現象や、中継局などがあるので
その限りではないですが・・・。)
そのため、東京工科大学からは44Kmほど離れていますが、高い位置からであれば視認可能なんですね。

そういう意味ではあまり意外ではないのですが、そんなに遠いのに見えるんだという意味で意外なランドマークのお話でした。

2020年2月 5日 (水)

夜景写真を自動的につくる研究

2020年1月17日 (金) 投稿者: メディア技術コース

 大学院メディアサイエンス専攻修士2年の王 旭(おう きょく)さんの学会誌論文が採録されました。
 
 王 旭,渡辺大地,柿本正憲,2019,昼間の都市俯瞰画像からの夜景画像の生成,画像電子学会誌,48(3),375-384
 
 都市の建物群を撮影した写真一枚から、同じアングルの夜景写真を自動計算で生成するという研究です。
 
4_20200115091101

 この分野は一般に画像のスタイル変換と呼ばれ、近年盛んに研究されています。AIによる画像認識はすっかり世の中に定着しています。画像のスタイル変換にもAI技術が使われます。
 
 ただ、夜景画像は特殊で、昼間には存在しなかった膨大な数の細かいけど明るい光が現れます。これは一般的なスタイル変換では扱いにくい対象です。今回の研究ではAIの手法は使わず、建物群の遠景画像を徹底的に分析し推定する方法を選びました。
 
 例えば、道路付近の街灯や店の灯りや車のヘッドライトなどが高層ビルを下から照らす効果も入れています。また、最終的に描画する細かい光は、色の種類が現実世界と同じような割合になるように工夫しています。1000枚近い既存の夜景写真を分析した結果です。
 
 現在、このような分析的な手法ではなく、日々進歩しているAIの技法をうまく使えるような手法を研究中です。成果が楽しみです。
 
 メディア学部 柿本正憲

2020年1月17日 (金)

昆虫の複眼の研究で最優秀ポスター賞

2019年12月23日 (月) 投稿者: メディア技術コース

 大学院メディアサイエンス専攻修士1年の佐藤葵君が「画像関連学会連合会第6回秋季大会」で最優秀ポスター賞を受賞しました。
 
 画像関連学会連合会(日本画像学会・画像電子学会・日本写真学会・日本印刷学会)
 第6回秋季大会(10月31日、会場:京都工芸繊維大学)
 最優秀ポスター賞
 佐藤葵、戀津魁、柿本正憲(東京工科大学)
 「昆虫の複眼による見え方の推定と動体視認実験」
 
 佐藤くんの研究は、昆虫の視覚、つまり外界をどう見ているかを探求するものです。いくつかの仮説に基づいて、多数の微小な個眼の集約である複眼による見え方を推定しました。
 
 一方で、昆虫の複眼は動いている物体の認識に優れているはず、という別の仮説があります。今回の発表は、その検証実験により推定した見え方の妥当性を評価する報告です。実験はディスプレイ上に示した「普通の見え方」と「複眼の見え方」の両方で動く物を被験者の人が認識する早さを調べ、結果を比較しました。
 Img_2070

 ポスター発表の様子

 この写真では説明を聴いている参加者は一人ですが、時間によってはとても多くの参加者が集まっていたそうです。写真学会の会長さんからも、たいへん気に入った研究ですというコメントを個別にいただきました。

 
 S__56623106
画像電子学会会長の斎藤隆文先生と

 この研究テーマのきっかけは、佐藤くんが虫が大好きだということです。卒研で虫をテーマにするには、という議論にはだいぶ時間をかけました。視覚に注目すればメディア学部らしい研究になり得るし、指導教員の専門分野なので指導もできます。これまでにも昆虫の色覚や人間の近視や乱視による見え方シミュレーションの研究は行ってきました。
 
 この研究はまだまだ道半ばです。複眼による見え方にはわからないところがたくさんあり、これからの研究の進展が楽しみです。
 
 メディア学部 柿本 正憲

2019年12月23日 (月)