ダークサイドにようこそ!

限界クリエイターのブログ

プログラミング

【機械学習】セマンティックセグメンテーション技術を用いた短編映像を制作してみました

TensorFlowが公開しているDeepLabというセマンティックセグメンテーション用の機械学習モデルを用いた短編映像を作ってみました。セグメンテーションして出力したマスク映像に対して、TouchDesignerを用いたエフェクトをかけています。 いわゆるプログラミン…

【ダンスAI】情動状態の判別・可視化に関する動画を公開しました【機械学習】

直近のダンスAI研究開発で取り組んでいるスマートフォンを用いた情動状態の判別・可視化について動画にまとめました! 直近のダンスAI研究開発で取り組んでいるスマートフォンを用いた情動状態の判別・可視化について動画にまとめました!別途作成中の学会発…

【WIP】感情と色の関係を可視化するインスタレーション「EMOTION BEHIND COLOR」を制作しました

最近の制作物のご紹介です(まだアップデート予定なのでWIPとしています)。 感情と色の関係を可視化するインスタレーションを制作しています。AIが単眼カメラのみで人物を検出し表情を識別、そして心理学者でもあるプルチック氏の「感情の輪」に基づき真っ…

【デザイニウム】PoseNetとDrumsRNNを使って「BodyDrum」というリズムアクションゲームを作りました【TensorFlow.js】

いきなりですが、まずはデモ動画をご覧ください。 www.youtube.com ざっくり解説しますと、JavaScriptによるWebブラウザベースのリズムアクションゲームです。使用している技術としては主に以下のものとなります。 TensorFlow.jsを経由してPoseNetを使い単眼…

【Windows 10】tensorflow-gpuの環境構築メモ

基本は公式の以下URLを参照。 www.tensorflow.org また先日リリースされましたTensorFlow 2.1.0よりデフォルトのpipパッケージ内にGPUサポートも含まれるようになったようです。以前のように「pip install tensorflow-gpu」とする必要はなくなりました。 git…

【JavaScript】USB接続のWebカメラから映像を取得する方法【p5.js】

JavaScript(描画周りでp5.js使ってます)でPC内蔵カメラではなく、USB接続のWebカメラから映像を取得する方法を備忘録としてメモ。MediaDevices.enumeratedDevices()というWeb APIを使ってデバイスのIDを取得することができます。リンク先にもサンプルコー…

【Xcode11】openFrameworks0.10.1にてビルド時にエラー「Command /usr/bin/codesign failed with exit code 1」

久しぶりにopenFrameworks(ver 0.10.1)を触ろうとしたら、ビルド時に「Command /usr/bin/codesign failed with exit code 1」のエラーが発生。これは証明書周りでよく起こるイメージですが…… 調べてみるとXcodeのバージョンアップによるものみたいです。最…

【ダンスAI】iPhoneのセンサーデータを機械学習させてロックダンスの動きを識別してみた

以前、iPhoneの加速度や角速度といったセンサーデータをCoreMotion経由で取得し、CSVファイルとして記録するiOSアプリを作成しました。 hahaeatora.hateblo.jp このアプリを使ってストリートダンスの1つであるロックダンス(Lockin')のモーションデータを記…

【エンジニア志望の方へ】プログラミングの独学は可能ですが大変なのは継続という話【転職希望の方にもおすすめ】

本日はエンジニア志望の方(転職希望もあり)、プログラミングを勉強したいという方向けに記事を書いてみます。結論から書くと「プログラミング独学は可能ですが継続するのは大変」というお話です。 ちなみにネット上では肩書きエンジニアと書いているのに開…

【Swift】iPhoneのモーションデータ(加速度や角速度など)をCSVで記録するアプリを作成しました

iPhoneの加速度や角速度やらを機械学習させたいなと思い、CoreMotionで取得したデータをCSVで記録するだけのアプリを作成しました。せっかくなのでGitHubでもソースコード公開しておきました。 iPhoneのモーションデータを機械学習に使いたいなということでC…

【ORPHE TRACK】APSマガジンにダンスAIがちょっぴり載っていますよ【STM32】

半導体専門技術コンテンツ・メディアの「APS-WEB」そして「APSマガジン」にて、STマイクロエレクトロニクスさんと一緒に靴型ウェアラブルデバイスであるORPHE TRACKの記事を掲載していただいています。 走り始めた“AIシューズ”。STM32マイコンが楽しさを加速…

【機械学習】KerasのLSTMで未来のブログ訪問者数を予測してみる

先日、ブログ運営(主にAmazonアソシエイトの話)に関する赤裸々な記事を書きました。 hahaeatora.hateblo.jp今回はより赤裸々で且つエンジニアっぽいブログ運営の記事を書いてみます。AI(人工知能)にブログのアクセス解析させてみよう的なやつです。具体…

【Google Magenta】MIDIファイルをNoteSequenceに変換【機械学習】

Google Magentaを最近使い始めました。音楽や芸術分野の創造的プロセスにおいて機械学習の役割を探求するためのオープンソース研究プロジェクトだそうです。 magenta.tensorflow.orgそんなMagentaで楽曲データを扱うためにはMIDIをNoteSequenceという専用の…

【音楽】AI(人工知能)に有名DJのミックステープを機械学習させてみた ~CNN編~

タイトルの通りDJのミックステープを機械学習させてみました。正確にはCNN(畳み込みニューラルネットワーク)を用いた深層学習です。私はBBOY(ブレイクダンサー)なので、いわゆるブレイクビーツのミックステープを使います。ブレイク界でも有名なDJ Lean …

【X-CUBE-AI】STM32CubeMXでコード生成する際に気をつけること【組み込みAI】

「組み込みAIやりたい!」と思って、X-CUBE-AIを追加したSTM32CubeMXでGENERATE CODE(コード生成)しようとすると以下のような警告が出る場合があります。※この記事執筆時点でのX-CUBE-AIの最新バージョンは4.0.0ですが同様です。 この警告はPinout & Confi…

【SIGDance】Cypher Session vol. 1.5を開催します

去年の12月、Cypher Session vol.1を開催しました。 hahaeatora.hateblo.jp hahaeatora.hateblo.jp 前回は非常に濃いメンツでアンダーグラウンドに盛り上がりました。 そんなCypher Sessionの第二回の開催が決定しました!といっても今回は小規模開催なのでV…

Cocoa PodsとAnacondaを両方使っていると競合してpod install & updateに失敗するかも

Cocoa Podsとは iOS用のライブラリ管理ツールです(詳細は省略)。 cocoapods.org Anacondaとは データサイエンスや機械学習系のライブラリを管理したりするPythonディストリビューションです(略)。 www.anaconda.com 二つを同じ開発環境で使っていたらpod…

【CNN】畳み込み層の次元数に気をつける話【Conv1DとConv2D】

機械学習における畳み込みニューラルネットワーク(CNN)といえば画像認識!というイメージが先行しすぎて、畳み込みにおける次元数の違いをあんまり意識しなくなるんじゃないかという危惧を抱きこちらにメモしておく。といっても、畳み込みにおける次元数の…

2019年度人工知能学会全国大会(JSAI 2019)にてダンスAIに関する発表を行います

このブログでも何度もご紹介しておりますが、東京大学大学院教育学研究科特任助教の清水大地先生と共同で研究開発しているダンスAIに関して、2019年度人工知能学会全国大会(JSAI 2019)にて発表を行います。 hahaeatora.hateblo.jp スマートフットウェアOrp…

【iOSアプリ】Application Loaderでipaファイルをアップロードしようとするも全く進まない【AppStore】

iOSアプリをAppStoreで公開するために出力したipaファイルをXcodeの付属ツール(Developer Tool)であるApplication Loaderでアップロードしようとするも、進捗バーが全く進まなくなりました。 「残り: ∞」の表示が煽ってきます。 何となくアプリのバージョ…

STM32 Summit 2019にてダンスAIのデモパフォーマンスを行いました

少し間が空いてしまいましたが、4/27に中国深センにて開催されたSTM32 Summit 2019にてダンスAIのデモパフォーマンスを行いました。 デモ含めイベントの様子は以下URLにてご覧いただけます。 blog.st.com また、平成最後に出した自分のトレイラー映像にもそ…

【Google Colaboratory】設定画面にあるパワーレベルとは何ですか?

4月1日、GoogleColaboratoryを触ってたら画面上部に「パワーレベル(POWER LEVEL)」という謎の表記がされていました。 タイピングしているとカーソルから謎の火花が出て「COMBO: hoge」と得点が表示されます。 どうやらColaboratory公式のエイプリルフール…

【Python】多クラス分類時にscikit-learnでF値など求める際はaverage引数に注意

機械学習において多クラス分類モデルを評価する際にsklearn.metrics.f1_scoreでF値を求めようとしたら以下のエラーが出ました。 Target is multiclass but average='binary'. Please choose another average setting. メッセージ内容そのままなんですが、f1_…

【Python】numpyのshuffleで2次元配列をシャッフル(ランダムソート)するとどうなる

リストや1次元配列をシャッフルするときは分かりやすいのですが、多次元配列(2次元)の場合は一瞬「?」になりやすいので備忘録。 2次元配列を生成して実際にシャッフルしてみます。 import numpy as np arr = np.arange(9).reshape((3, 3)) print(arr) # […

【Keras】過学習を防ぐためにEarlyStoppingを使うときはpatienceの値に注意

Kerasのコールバックには、過学習を防止するためのEarlyStoppingという関数があります。コールバック - Keras Documentationこいつは監視対象の値の変化が停止した時に訓練を自動でストップしてくれます。よく見かけるのはバリデーションデータに対する損失…

Google Colaboratoryではノートブックごとにライブラリをインストールしないといけないよ

最近、Google Colaboratoryを使い始めました。 qiita.com すべてオンライン上で完結するのなかなかすごいですね…… 本日はGoogle Colabの使い方に関する備忘録を少し書きますよ。 ノートブック上でのライブラリインストールについて Google Colabではノートブ…

【SIGDance】Cypher Session vol.1を開催しましたよ

先日告知しました、ダンス&テックに興味がある方のための交流会「Cypher Session vol.1」を12/11 at 東京大学でやりました。 運営的に少しグダグダな部分もあって申し訳なさもあるんですが、ご参加いただいた皆様がホントに多種多様な方々ばかりで、発表の方…

【SIGDance】ダンスとテックをくっつけるためのコミュニティを立ち上げました

ダンス界隈でクリエイターといっても開発者や研究者の人は全然いなくて寂しいなあと常々思っていたのですが、この度、産総研の土田修平さん&東京大学の清水大地(なんとお二人ともBBOY)と一緒にそういった方々に向けたコミュニティ「SIGDance(Special Inte…

【深層学習】AI(人工知能)にブレイクダンスの動きを識別させてみた【行動認識】

(それっぽいタイトルにしてみました) 東京大学特任助教の清水大地先生と共同研究で進めているブレイクダンスAIについての紹介動画を公開しました。 youtu.be 内容はモーションセンサーが内蔵された靴型のウェアラブルデバイス Orphe を用いた、ブレイクダ…

【転職?】プログラミングが嫌いだったダンサーの自分が今はエンジニアとして働いている理由

はじめに 私、大学では情報工学を専攻し社会人の現在もエンジニア(&ダンサー)として仕事をしています。そんな自分なのですが、大学4年の夏辺りまではプログラミングが嫌いだったのです…… そんな私が嫌悪感無く仕事でもプログラミングできるようになったき…