モノクロタイム

I'm from the future!

TouchDesigner Beginners workshop vol.001に参加しました

こんにちは,れいじです.

社会人初の勉強会に行ってきました.

http://peatix.com/event/261318/viewpeatix.com

vvvv派じゃなかったのかよ!と突っ込みが来そうですが笑

元々気になっていて,Macにインストールはしたものの放置していたままだったことと,会場がアクセス良好だったことを気に参加.

TouchDesignerの公式ページはこちら

Derivative |

べんきょうしたこと

ビギナー向けのイベントだったので,基本的な操作方法と代表的なノードの紹介.

vvvvがHLSLやVLなどでシェーダを書いたりパッチを書いたりできるのに対し,TDはPythonでノードを書くことが出来ます.

独自ノードを作るなら,TDの方が学習コストは低そう(個人的な感想)

つくったもの

フィルタ芸人なのでEdgeを使ってコソコソしてました.

マイクから音声を入力するノード(Audio Device Inだったかな)を使うとTDがクラッシュして落ちるという悲劇に見舞われたため,外部入力を上手く使いこなせず終了.悲しみ・・・

f:id:yomoyamareiji:20170521221335p:plain

作業画面はこんな感じになりました.

f:id:yomoyamareiji:20170521221729p:plain

vvvvだと.exeを実行した後にメニューも何も無いまっさらな画面が出てきて,操作も独特だし何やねんコレ・・・みたいな事になりがちなんですが,TDはUnityみたいにメニューやGUIなどが配置されていて,何をすればわからない,的なことにはなりにくいです.個人的にはPythonでゴリゴリ拡張していけるのも素晴らしいと思ってます.やはり学習コストが低いのが強み.

OSC通信を使用したアプリとの連携やMIDIコンなどの外部接続ハードウェアに対して親和性が高いのは最近のマルチメディア用プログラミング言語界隈だとスタンダードになってますね.あ,TDだとUnityとの接続がすごく簡単に済むらしいです.

ちょうど今AmazonでTD関連の書籍を探してみたんですが,日本語の本って無いんですね.今回のイベントに参加されてる方々を見ると,勉強したい(使ってみたい)と考えてる方が結構居そうだったので,これから関連書籍・情報が増えてくるといいなあ.

ではでは〜

DirectX11の勉強をはじめました

こんにちは、れいじです.

大学院から解放されたを卒業し,都内でエンジニアやってます.

最近は初任給を手に入れ,Nintendo Switchを買い,日々レインボーロードを滑走しています.

[asin:B01N5QLLT3:detail]

ということで,このような本を買ってDX11の勉強をしてみることにしました.

[asin:4777518949:detail]

※vvvookにもシェーダの書き方について軽く触れられているので,まずはそちらを読まれるとよいかと思います.

ピクセルシェーダをちょっと書いてみて,作ったのがこちら.

f:id:yomoyamareiji:20170506112443p:plain

f:id:yomoyamareiji:20170506112552j:plain

vvvv公式サイトのヘッダにも登録しました.もしかしたらあなたがアクセスしたときに表示されるかもしれませんね!

ピクセルシェーダはぼちぼち書いていますが,頂点シェーダについてはまだまだ勉強不足なので,本を読みつつコーディングしていこうと思います.

ではでは~

大学院(修士課程)を卒業しました.

こんにちは,れいじです.

入社エントリや退職エントリが溢れる今日この頃,こっそりと卒業エントリをば.

ちなみに学部の卒業エントリはこちら.

reiji1020.hatenablog.com

大学院に進んでよかったこと

1.割と計画立てて研究(仕事)をこなせるようになった

B4までひたすら天からやる気の神が舞い降りてこないと何も手につかない状態でした.ただこのやる気の神が舞い降りてきたときは(実験やデータ作成にかかる時間を除けば)1〜2ヶ月ぶんくらいの進捗が出ます.この辺のイメージは大体ここのページ↓に書いてある「出力が安定しない問題」がわかりやすいです.

http://menhera.jp/2064

研究テーマである機械学習は時間を掛けて学習器もしくはネットワークを作成する必要があり,これらのデータを作成している間は気合いを入れてやらなければいけないタスクが少なかったのでぼちぼちと作業を続けるようにしていました(取りかかるまでにかなり時間はかかりますが).

あとはスケジュール帳にひたすら「○日までに××を終わらせる」「△△を書き上げる」など書き込んだり,その日に少しでも研究タスクを進めたらシールを貼るなどしていました.かなり子どもじみた事をしていますが,1日でもシールが貼れてない日があると気持ち悪いと感じるたちなので,かなり無理矢理な形ではありますが計画的にタスクを消化できるようになりました.

2.完璧主義が緩和された.

というのも大学院入学初期に精神がやられたので,直すほか無かったというのが正しいです.精神がやられた後は(許される範囲で)タスクの完成度を落とすようになりました.それまでは週に70のアウトプットを要求されているのに,140のアウトプットで答え続けていて,最終的に3,4日で300のアウトプットを要求されるようになり潰れました.

上述にもあるとおり,この頃の私はやる気の神が降りてこないと膨大な進捗を生み出す事が出来なかった上,通常の授業で課される課題でも指導教員の納得のいくレベル以上の成果物を持って行かなければいけないなどのプレッシャーが強かったという事が理由です.

フルパワーでタスクをこなさなくなってからはかなり精神も落ち着いていて(それ以降闇落ちしなかったとは言っていない),ちょこっとずつこなした成果とやる気の神が降りてきたときに出した成果を小出しにしながら,別途要求されたデータについては予め作っておいた成果を出して報告する,といったスタイルで研究や授業課題を進めていました.

1度に完成度Maxのデータを出し続けるのはキツい.

3.ぎじゅつりょく が あがった !

学部の頃より技術力が上がりました(当社比).DeepLearning系のアレに関しては完全に自分でどうにかするしかなかったので,特にPythonとCaffeのスキルが伸びました.やっぱり…独学が…最高やな!

Pythonに関してはB3辺りから導入は既に考えていて,M1から本格的に書き出したような形になります.はじめは自分で作っていた実験用プログラムをC++からPythonに書き直して,徐々にPythonに移行していきました.当時は学内でPython書けるマンがいない&図書館に実用性のあるPythonの本が無かったので他ゼミの先生と一緒にPythonを勉強しました.それからは独学でポチポチと.コーディング作業はやる気の神が居なくても集中するので助かりました.

実際問題として,優秀な先輩が早々に卒業した&優秀な先輩が大学院にしかいない事で「どう成長するかは自分次第」的な環境ってどうなんでしょうね.個人的には1学年に1,2人くらいはぶっ飛んだスキルの学生が居てくれた方がいい気がします.うちの学科は3年に1人のペースでしかぶっ飛び学生が入学しないらしいので,仕方ないね.

大学院で何をやってたか

畳み込みニューラルネットワーク(CNN)を使用してエッジがはっきりしないグレースケール画像(所謂チャネル数の少ない画像)でも物体の輪郭線を正しく抽出できるシステムを作りました.共同研究先がいるので詳しく書けません,すみません.

論文はボスと読んだ論文よりも自分で集めて読んだものの方が多かったです.研究に生かせそうなものから,単純に興味のある論文まで幅広く読みました.お陰でリーディング能力だけはメチャメチャ向上した気がします.ライティングのことは触れないでくれ・・・

その他にはvvvvを使ってVJ Cardboard(ブイジェーカードボード)というVJ用DIYハードウェア・ソフトウェアを開発しました.趣味と興味が一致した作品なのでかなり思い入れがあり,そして恐らく修士研究よりも完成度が高いです.ある人に特許をとれと言われましたが,お金ないのと事務処理苦手なのでそのままにしてます.元々オープンソースで公開する事が一つの目標だったので,理念にも反していますしね.

reiji1020.hatenablog.com

このへんからvvvvコミュニティの方とも色々交流させて頂くようになりました.

その他にはディープオソマツとか.

reiji1020.hatenablog.com

就職イベントで話題に出すとかなり食いついてくれて嬉しかったです.

イヤリングも作りました.

reiji1020.hatenablog.com

これは卒業式に付けていきました.後輩から大人気でした.よかった!

こうやって振り返ると,どちらかというと学外で目立つことの方が多かったですね.

これからのこと

東京のウェッブ系の企業でDeepLearningっぽいことをする(はず)予定です.

つよいエンジニアやおもしろエンジニアとメチャメチャ交流したいので,東京にいらっしゃる方や就職先の方々は仲良くして頂けると嬉しいです.

【vvvv】Emgu.CV.CvInvoke周りのエラーを解決する【dx11&CV.Image】

こんにちは,れいじです.

前々からずっとdx11で何かやりたい…やりたい…と思っていたのですが,タイトル名にあるEmguなんちゃらのエラーで引っ掛かって何もできない日々が続いておりました.

具体的なエラーはこれ.

'Emgu.CV.CvInvoke' のタイプ初期化子が例外をスローしました。

FileImage(CV.Image)のヘルプパッチとかで確認できます.

f:id:yomoyamareiji:20170307164248j:plain

これが出ていて何もできない!

…という問題を解決できたので,記事にしておこうと思います.

vvvvのバージョンはvvvv50beta35_86,dx11のバージョンは1.0.1です.

参考にしたのはここです.

github.com

/packs/dx11/core内にnvcuda.dllがなかったことが原因のようです.どこかでビルド失敗してるのかな…

というわけで,以下のURLからnvcuda.dllをダウンロードします.

http://www.symbioticcube.com/Downloads/nvcuda.dll

落としてきたnvcuda.dllを/packs/dx11/core内に配置します.vvvvを起動している場合は一度終了して,もう一度vvvvを起動してください.

f:id:yomoyamareiji:20170307164907j:plain

エラーが消えました.これでdx11ライブラリが思う存分使えますね!

スレッドや質問の時期がかなり古いですが,他の人は問題なく使えているんだろうか…💦

いやぁこれでまたvvvvライフが捗ります!

ではでは~