2017-04-07[n年前へ]
■OpenFOAMの流体シミュレーション世界、手持ちのスマホで没入体験してみよう!
以前、OpenFOAMを使ってシミュレーション計算した、秋葉原の街全体に吹く空気流。その時は、Oculusで没入的に眺めてみた。今日は、スマホで普通にVR没入体験できるよう、スマホ用アプリケーション化してみた。
最初は、最近公開されたばかりのUnity 5.6のネイティブなVR機器サポートを使おうと思ったのだけれど、iOS向けのビルドでリンカエラーが出て回避できなかったので、Unity 5.5.3f1+Google VR SDK for Unity v1.0.3で仕立ててみました。
2017-04-15[n年前へ]
■続 OpenFOAMの流体シミュレーション世界、手持ちのスマホで没入体験してみよう!
少し前、大規模な流体計算シミュレーションを行った結果の中に、スマホをVRデバイスとして入り込む…というOpenFOAMの流体シミュレーション世界、手持ちのスマホで没入体験してみよう!(を書いた。これを作るにいたったキッカケは、「秋葉原の街中全体を空気流計算するのは面白い」「けれど、ふつうの人が持ってないヘッドマウントディスプレイだけでしか見ることができないのはツマラナイ!」「空気流れる空に向かって飛んでみたい!」というコメントをもらったことだった。
このコメントは確かにその通りだ。1家に1台…ならぬ今や1人1台誰もが持っているスマホを使って流体シミュレーション世界に入り込む(没入体験する)ことができたなら、それは確かにとても面白いに違いない!というわけで、流体シミュレーション世界にスマホを使って没入体験するための作業をしてみたのです。
「秋葉原の街中全体を空気流計算するのは面白いけれど、ふつうの人が持ってないヘッドマウントディスプレイだけでしか見ることができないのはツマラナイ!」というコメントがもっともなのと同じように、「空気流れる空に向かって飛んでみたい!」というコメントも、確かにその通りとしか言いようがありません。
…というわけで、今日はその「空気流の中を飛び回りたい」という要望もに応えるための対応作業をしてみました。
そんな作業をしてみたら、偶然というものは恐ろしいもので、まさに今日は『第64回オープンCAE勉強会@関東(流体など)』が会場【秋葉原】で開催されています。
秋葉原を流れる空気を流体計算し、その場所に立ちVR/AR的に流体計算結果を眺めることができて、その秋葉原で今日まさに流体計算の集いが開かれている!?…というわけで、スマホで秋葉原空気流のVR表示を行う話を、今日は秋葉原で紹介してみました。
2017-05-28[n年前へ]
■ディープラーニング姿勢推定openposeで「妄撮カメラ iOS版」を作ってみる!?
ディープラーニングによる姿勢推定openposeで「男子の夢な(衣服の下を透視する)妄撮カメラ」を作ってみよう!?で書いたコードを元にして、画像をhttpでPOSTすると(httpサーバ側で)姿勢推定を行い、画像に写る人の「服の下が透けて見える妄想映像」を自動生成する画像処理を行って、httpクライアントに妄想撮影画像を返すサーバ側コードを書き、さらに(iOS上でPythonを使うことができるようにするPythonistaを使い)iPhone上でカメラ撮影をすると、自動的に妄撮画像を生成するアプリコードを書くことで、手元のiPhoneを「妄撮カメラ」に仕立ててみました。
試しに、妄撮カメラ(iPhone Pythonista版)を動かしてみたようすが、下に貼り付けた動画です。こういうカメラ、20世紀後半に中2くらいだった男子には需要がありそうな気がするのですが、草食男子化とコンプライアンスという言葉が流行る21世紀の今日この頃には、全く需要も無い気がする今日この頃です。
ちなみに、今や一人一台持ち歩くスマホでなく、現代の化石たるコンパクトデジカメを(メーカ・機種問わず)全て妄撮カメラしてしまう無線LAN SDカードPQI Air内部で動くRubyコードも書いてみたのですが、なぜか思ったように動かなくて悩んでいます。
何はともあれ、勢いで書いたサーバ側コードとPythonistaコードは、中2男子以外の誰の役に立つことも120%無い気がしますが、明日にでもダウンロードできるようにしておこうと思います。
機械学習/ディープラーニングによる姿勢推定アルゴリズム/コードのopenposeを使った「妄撮カメラ」について、 サーバ/クライアントPythonコードをダウンロード可能にして、iOS用ネイティブアプリ作成方法も書いて起きました。( 機械学習による姿勢推定openposeで「妄撮カメラ iOS版(ネイティブアプリ)」を作ってみる!? )
2017-05-30[n年前へ]
■機械学習による姿勢推定openposeで「妄撮カメラ iOS版(ネイティブアプリ)」を作ってみる!?
10日くらい前、機械学習により画像に写る人体の姿勢を推定するアルゴリズム(コード)のopenposeを使い、画像に写る人の衣服を妄想的に脱がす画像処理ソフトを作ってみました(ディープラーニングによる姿勢推定openposeで「男子の夢な(衣服の下を透視する)妄撮カメラ」を作ってみよう!?)。そして、先週末は、そのソフトをiPhoneから自由自在に使うことができるように(カメラを備えたクライアントiPhone側と機械学習や画像処理を行うサーバ側双方の)Pythonコードを書いてみました(ディープラーニング姿勢推定openposeで「妄撮カメラ iOS版」を作ってみる!?)。
書いたPythonコードはここに置いておきます。下記2ファイルのうち、前者がサーバ側ファイルで、後者がiOSアプリたるPythonistaコードです。前者は jupyter notebook ファイルなので、jupyterからコードを実行すると、8080ポートでopenposeを使った妄撮(姿勢推定・類似姿勢検索・画像合成)サービスが起動します。そして、後者がiOS上で動くPython(Pythonista)で実装した、妄撮サーバ機能を使うことができるカメラアプリコードです。
- boysCamera.ipynb.20170530
- boysCamera.py.20170530
とはいえ、これだけでは先週末に書いたコードをアップロードしただけ…ということになってしまうので、今日はPythonistaコードをiOS用ネイティブアプリケーションにする方法についても書いておきます。
まずは、Pythonista用のXcodeプロジェクトをダウンロードします。そして、プロジェクト中の main.py に自分が書いたiOS用Python(Pythonista)コードを貼り付けます。そして、Xcodeでプロジェクトをビルドした上で、ビルドされたアプリケーションをiOSデバイスに転送すると、iOSデバイス上でネイティブアプリケーションとして妄撮カメラを使うことができるようになります。
…というわけで、ネイティブにビルドした妄撮カメラアプリケーションを使って、中二男子大好きな妄想撮影をしてみたようすが、下に貼り付けた動画です。深夜ドラマだった懐かしの「トリック」主人公の姿さえ、透撮できてしまうことに驚きます。
試してみると強烈に実感しますが、現実世界と妄想世界を(中二男子的に)重ね合わせる「妄撮カメラ」アプリケーションは、実に強烈なMR/ARアプリケーションです。…こうしたアプリケーション、ライセンス的に誰もが使用可能なデータベースやソフトウェアコードを書けば、(中二男子に限って言えば)世界を変えるキラーアプリケーションになるかも!と思ったり思わなかったりします。
2017-06-01[n年前へ]
■全てのデジカメをリアル妄撮カメラにしてしまう狂気!無線LAN内蔵SDカードアダプタPQI Air Cardと機械学習の間違った使い方
先日、機械学習を使い人体姿勢を推定するアルゴリズム(コード)openposeをキッカケに、人を妄想的に脱衣させてしまうPC画像処理ソフト(ディープラーニングによる姿勢推定openposeで「男子の夢な(衣服の下を透視する)妄撮カメラ」を作ってみよう!?)や、そのスマホアプリ化(ディープラーニング姿勢推定openposeで「妄撮カメラ iOS版」を作ってみる!?)、さらにはiOSネイティブアプリケーション化をしてみました(機械学習による姿勢推定openposeで「妄撮カメラ iOS版(ネイティブアプリ)」を作ってみる!?)。…今日は、その最終駅として、お仕事で使うようなPCでもなく・いつも持ち歩くスマホでもなくて、もはや過去の遺物になりつつある「デジタルカメラ」をリアル妄想撮影カメラにしてみることにしました。
実際のところ、そんなことはとても簡単です。すでに、撮影した画像をサーバに投げるだけで、姿勢推定や脱衣画像を自動生成するコードは書いてあるので(ディープラーニング姿勢推定openposeで「妄撮カメラ iOS版」を作ってみる!?)、その機能をデジカメから使うようにするだけで良いのです。…というわけで、内部で動作するLinuxを自由に使うことができる無線LAN内蔵SDカードアダプタPQI Air Cardを使い、SDカード内のJPGファイルに対して自動で人体姿勢推定と脱衣画像合成処理をするRubyコードを書いてみました。もちろん、こんなことはPQI Air Cardで動くRubyを知っている人であれば、実に簡単にできる作業です(デジカメ内部でRubyを動かす狂気!無線LAN内蔵SDカードアダプタPQI Air Cardの間違った使い方)。
まずは、PQI Air CardにRuby(あるいはCurlなど)を(前記のリンク先などから)インストールしておきます。それと同時に、PQI Air Card が起動時から外部無線LANアクセスポイントに接続してクライアントとして動作する設定にしておきます(autorun.shから/usr/bin/w2を呼ぶだけですね)。そして、autorun.sh の最終端からRubyコードを起動して、/mnt/sd/DCIM内の".JPG"ファイル群に対して妄撮画像処理を実行させてやると、デジカメで撮影した(そしてSDカード内に保存された)写真に写る人が、いつの間にか中二妄想的な脱衣姿になってしまう…というわけです。
そんなSDカードを作り、作ったSDカードをデジカメに刺して、撮影画像を妄想撮影してみた処理例が、右上の2枚の写真です。まずは左に写る画像が(PCに写る画面を)デジカメで撮影した画像で、デジカメ内部で(サーバを経由して)生成された妄想撮影画像結果が2枚の右側に写る画像です。
機械学習の力を活用したopenposeを使い、SDカードのDCIMディレクトリのJPGファイルをフルオートマチックに妄想撮影画像にしてしまうRubyコードをウンストールしたのが右のSDカードです。このSDカードを刺すだけで(刺したら最期)、ほぼ全てのデジカメが妄撮カメラに変身してしまいます。レンズを向けた風景に写るひと全てが、一皮も二皮も剥けた姿に変わってしまうのです。中二男子には素晴らしい道具ですが、それ以外の人にとっては単なる極悪ツールです。
ちなみに、そんな極悪もしくは中二男子の妄想的機能を備えたRubyコードが動くSDカードを刺したコンパクトデジカメです。つまり、世界初のリアル妄撮コンパクトデジタルカメラ。…世界を変えることはないでしょうが、このカメラをひとたび手にしたならば、あなたが見る世界を・周りに存在する世界を見る目を変えてしまう…かもしれません。
書いたコードは、ここからダウンロードできるようにしておきます。