catalinaの備忘録

ソフトウェアやハードウェアの備忘録。後で逆引きできるように。

カードゲームARの実現可能性検証

なんとなくですが実現可能性は高い気がしてきました。かたりぃなです。 本題に入る前に問題領域を今一度整理します。 やりたいこと MTGや遊戯王みたいなカードゲームの遊びの付加価値として、AR化を考えています。 やりたいことはARと一言で済むのですが、も…

UWPで非同期taskを書くときに気を付けること

まだまだtaskの操作に慣れていません。かたりぃなです。 今日はUWPのコードをC++/cxで書くにあたって、詰まったポイントと解決策を書いてみます。 UWPでの非同期taskとは ムーアの法則の限界が叫ばれてからCPUはマルチコア時代に入っています。モバイル端末…

Hololensでカメラの解像度を変更する

前回つくったカード検出器をHololensで使ってみました。かたりぃなです。 処理がやっぱり重いみたいで表示がカクつくくらいに気持ち悪いです。 本当に負荷が原因なのか知るために、画像処理全体の負荷を下げて試すことにします。 簡単に負荷を下げる方法とし…

古典的な手法を使ってMTGのカードを検出する

古典的な方法で画像中からMTGのカードを取り出す実験をしてみます。かたりぃなです。 BRISK特徴点のマッチング実験 わかっててダメもとでやってみました。 ダメでした。はい。 説明省略。 BRISKの使い方間違えていた 前回のエントリでBRISK使ったつもりでし…

物体検出器をいろいろと試す

Hololensで使える実用的な物体検出器がないか試行錯誤しています。かたりぃなです。 どうして物体検出器? まず、現状までに作った機能では「特定の条件下」でのみMTGのカードを検出できています。 手順は次の通りです。 ガウシアンフィルタで細かいノイズを…

DirectXのHLSLシェーダーをデバッグする

DirectXのデバッグが捗る便利な機能があるのを知りました。かたりぃなです。 その名も「VisualStudio Graphics Analyzer」。 VisualとGraphicって似たような意味だと思ってしまう私は英語が苦手です。 環境 visual studio 2015 community CPU側の言語はC++/c…

HoloLensからHTTPでChainerの画像分類器を叩く

HTTP接続までは簡単にできたので、一気にHoloLensとの連携までやってみました。かたりぃなです。 色々ためした結果 HTTPサーバまでできた時点で「あとはもう簡単だろう」と思っていたら、想像以上に手こずりました。 一言で結論だけ書くと「英語カードだけで…

ChainerでMTGのカードを分類する(識別フェーズ)

黄金週間なので趣味プログラミングに没頭です。かたりぃなです。 MTGのカードの種類を識別するPythonモジュールを作っていきたいと思います。 今回でPython側でchainerを使う部分はひとまず完成です。 環境 ソフトウェア Windows10 Pro VisualStudio 2015 co…

HololensでARをやってみる

HololensでARをやってみる HoloLensでARをやってみました。かたりぃなです。 まだ完成には遠いので間違いなど含まれているかもしれません。 参考にさせていただいたサイト http://littlewing.hatenablog.com/entry/2016/09/25/172541 座標系のことが丁寧に邦…

MTGのカード画像を分類する学習器をつくる

どうしてイラストから分類? まず、わざわざDeepLearningフレームワークを使ってイラスト分類する理由です。 最初は安直に「カードに名称書いてあるやん。これ文字認識(OCR)にかければいいでしょ」と思って文字認識API叩いてみました。 結果は惨憺たるもので…

MTGの公式APIを叩いてみる

カードゲームのイラストを自動判別しようと試行錯誤しています。かたりぃなです。 今回はMagicTheGatheringのカードの自動判別の前に、データ集めに挑戦します。 どうやってデータを集めるか? DeepLearningとか機械学習だの前に、まず学習させるデータが必…

Hololensでビルボードを表示する

アプリをごりごり作るよりも前にデバッグ情報などを実機で見やすくする仕組みをつくりました。かたりぃなです。 結論 従来手法のビルボードはHoloLensではそのまま使うのは少し難ありです。HoloLensが提供している機能を使ってビルボードをレンダリングする…

HololensでMediaCaptureを使ってカメラプレビューを取得する

HoloLensで入力画像を処理する前準備をしました。かたりぃなです。 今回やること 今回の記事でやることをざっと列挙します。 UWPでMediaCaptureを叩いてプレビューフレームを取得する OpenCVのMat形式で扱えるようにする とりあえず画像処理する です。 画像…

HoloLensでChainerの学習経過を覗いてみた

せっかくHoloLensがあるので機械学習の途中経過を覗いて遊んでみました。かたりぃなです。 学習中のデータの可視化する意義 機械学習についてですが、Chainerなどのフレームワークがどうやって学習を進めているかよくわかっていません。 具体的にはフレーム…

Hololensでカメラを扱う[c++/UWP]

HoloLensにはカメラが搭載されているので、どんなもんが載ってるか調べてみようと思います。かたりぃなです。 (2017/02/26更新) Hardware detailsのURLを追記。 HoloLensのカメラって? 公式サイト https://developer.microsoft.com/en-us/windows/holograph…

HololensでMMDモデルをレンダリングしてみる[c++/UWP]

3Dモデルが出せたのでモチベーション上がり始めています。かたりぃなです。 環境 * HoloLens * Visual Studio 2015 * DirectX11 * C++/cx * UWP とりあえずスクリーンショット やっぱりこうやって何かが出ると「アプリ作ってる」感でてきますね。 UWPでのDir…

Hololensで3Dモデルをレンダリングする[C++/UWP]

HoloLens実機で入出力回りをいじって色々と体感しようと試行錯誤です。かたりぃなです。 2017/02/06 追記:HoloLensからファイルピッカーを開くときの注意事項 この記事の意義 まずHoloLensを使ってプログラミングをしていく前にDirectXとC++/cxを使う意義に…

Hololensが届いた

やっとhololensが届いたので開封の儀式です。かたりぃなです。 開封 とりあえず開封した直後の写真です。この写真中央部の奥にマニュアルが入っていました。 どうせマニュアル全部英語だろと決めつけて冊子を半分読んだところで、残り半分が日本語マニュアル…

Windowsストアアプリを作ってみる

Windowsストアアプリを作ってみました。かたりぃなです。 HoloLensが目標ではあるのですが、Windowsストアアプリの作り方もわからないまま買うのはただのギャンブルなので、まずはかんたんなアプリを作ってみて、慣れてからHololens用に移る算段です。 アプ…

WindowsストアアプリでOpenCVを使う

Hololensが楽しそうなのでアプリ作れないか試行錯誤しています。かたりぃなです。 開発者向けの販売とはいえ購入には踏ん切りがつかないので、何かつくれるようになったら購入したいと思っています。 というわけでWindowsストアアプリ向けに画像処理のアプリ…

ChainerのモデルデータをOpenCVで使うための準備

できれば一通りの目論見が達成してから投稿したかったのですが、まとまった時間をとれそうにないのでいったん投稿です。かたりぃなです。 何をしたいの? ChainerなどのDeep-Learningフレームワークを使えば色々な学習モデルを構築できそうです。 次のステッ…

Chainerでcifar-10画像分類を試してみる

やっとchainerでCNNを動作させるところまで辿り着きました。かたりぃなです。 何がやりたいのか? ARというかHololensのMRで現実世界のオブジェクトを識別して追加の情報をユーザーに提示できれば楽しいだろうなと思っています。 HololensのAPIを軽く見たと…

UWPで音声認識APIを試してみる

画像の分類問題に少し飽きてきました。かたりぃなです。 機械学習を使った画像の分類方法を色々と試していますが、どれも私のやりたいことと少しずれている感じがしていて少し煮詰まった感があります。 音声認識に挑戦(ライブラリを叩くだけ) 画像や映像より…

HoloLensの開発環境を試してみた

やっとうちのメインマシンがWindows10Proになったので試してみました。かたりぃなです。 とはいっても実機は無いのでエミュレータです。 実験環境 実験環境はこんな感じです。HyperVを有効化しておくことを忘れずに。 Intel Core-i7(3.4G) DRAM 16G Nvidia G…

Microsoft hololensへの期待

久しぶりのブログ記事です。かたりぃなです。 MicrosoftのHMD(ヘッドマウントディスプレイ)のデベロッパー向けエディションが日本で発売されるという話を耳にして歓喜しています。 Microsoft HoloLens の日本での提供について | News Center Japan APIリファ…

windows10でchainer+CUDA+cuDNNをGPUで動かしてみた

ディープラーニング用のフレームワークを何か動かしてみました。かたりぃなです。 以前にCPU版のみのchainerを動かしてみたことはあるのですが、今回はGPU版に挑戦です。 今回の記事は動かすことよりもトラブルシューティングが主な内容になります。 作業前…

PRMLを読みすすめるための記号一般を整理する

PRMLを読んでいるとギリシャ文字がよく現れます。 知識の基盤がある人なら「ああ、アレね」と暗黙のパラメータのように読みすすめられるのかもしれませんが、私のレベルでは「以前も調べた気がするけどなんだっけコレ」となってしまいます。 数式中に現れる…

機械学習における回帰と分類について考える

暑かったり寒かったりと体調を崩しやすい時期ですね。かたりぃなです。 機械学習について勉強していますが、まずは基礎的な問題として分類と回帰について考えてみます。 wikipediaや以前買った書籍(PRML)を見ても理論の大半は数式で表されていましたが、ここ…

色々と本を読んでみた

桜の花も散ってしまって春から夏へと季節の移り変わりを感じます。かたりぃなです。 タイトルどうしようかと考えましたが、記事の内容が整理しきれない気配なのでここで一旦投稿としました。図書館を歩いていてふと開いた本で新しい世界が開けました。 こう…

機械学習の基本的な概念と歴史を追ってみた

世間ではコンピュータに囲碁、将棋、チェスなどをやらせて人間を破ったなど思考する機械の話題が賑やかですね。 技術的なキーワードでは機械学習やディープラーニングになるのですが、詳しくいことがわからないので色々と調べてみました。 ディープラーニン…

Rでコスプレ用スカートの可視化

結城先生の数学ガールを読み始めてみました。かたりぃなす。 もっとゆるい系の本かと思っていましたが、中身はすごく真面目かつ分かりやすく説明されていて、良書だと感じました。 20年近く前にフーリエの冒険を読んで以来のよい数学書です。 こういう本は非…

ARの原理実験

ARの原理について色々と調べてみました。 結論からいうと、ライブラリを2個組み合わせるだけでそれらしいことはできそうです。 この原理試験を簡単ではありますが試してみたいと思います。 世間ではOpenGVとかvuforiaとかAR向けのフレームワークが出てきて…

TWE-Liteで外部センサとI2C通信

ずいぶんと長い間放置してたものを再開してみました。かたりぃなです。 再開したのはこれ。 catalina1344.hatenablog.jp もう一年くらい前なんですね。 構成の再検討 TWE-LiteのライターがないからArduinoでなんとかできないかなーとかやっていましたが、 電…

画像認識で機械学習が必要そうという結論に至るまでのメモ

考えを整理するための個人的なメモ的なものです。かたりぃなです。画像・動画・音声などから特定の「もの」を認識したいことって多々ありますよね。 少なくとも私の中ではしょっちゅうあります。さて、今回の記事は物体認識の問題色々調べた結果を自分の中で…

openGLES2.0で基本的なポリゴンレンダリングしてみた

適当にやっていると妙なところで躓きます。かたりぃなです。 今回はOpenGLES2.0を叩いてみました。 実験環境 AndroidStudio JavaとC++(アプリのガワだけJava。レンダリング周りはC++。橋渡しはJNI) Gradle2.5(ビルドスクリプト) OpenGLES2.0とGLSL OpenCV4An…

OpenCVで気になったモジュールを試してみた

自分のやりたいことをやってる時間というのは充実しているものだと、最近はそう感じます。かたりぃなです。 FileStorageモジュール XML/YAML形式でread/writeできる便利なモジュール。 ドキュメントはこちら。 OpenCV: cv::FileStorage Class Reference 今回…

androidアプリの開発環境を作り直してみた(androidstudio)

今度はandroidに手を出してみてます。かたりぃなです。 ずいぶんと前にいじってみたときはeclipseでコード書いて色々遊んでた気がします。今どうなってるのかと調べてみると、eclipse用のandroid開発アドオンのサポート終わったらしく、 今後はAndroidStudio…

artoolkitのソースコードを眺めてみた

色々なことやってみてる最中です。かたりぃなです。 一昔前にミクさん召喚とか流行って以降あまり噂を聞かなかったartoolkitを調べてみました。 コードリーディングと言っても、軽く眺めた程度なので間違ってるところあるかと思います。 一番知りたいのはマ…

何か新しいことに挑戦(visual studio2015, opencv3.0, VTK 等)

Windows10にアップグレードしてみると想像以上にまともになってて驚きました。かたりぃなです。 MetroUIは残念なコだったけど、Windows10になって以前は全画面で展開されてたMetroがスタートメニューの右にちょろっとくっついてくるだけでした。やっぱ全画面…

魔法陣ライトアッププロジェクト(プロトタイプ編)

魔法陣をつくりたいというこのプロジェクト。 まずはレーザーカッターを使って、魔法陣を作るところから。 以前つくった魔法陣コースターの大型版。 レーザーカッターの仕様 今回もこちらの工房をお借りしました。 http://makers-base.com/ このレーザーカッ…

Nvidia Jetson TK1のセットアップ

やっと届いたNvidiaのJetson。 思っていた以上におかしなところで詰まったので、メモ。 一番困ったのはパソコンモニタにHDMIの口が無いってことだったんですけどね。。。 クイックスタートガイド(本家) http://developer.download.nvidia.com/embedded/jetso…

opc_hack_and_make に参加してみた

オリンパスからでている、opcに関するイベントがあったので参加してみた。http://fabcafe.com/tokyo/events/opc_hack_and_make想像よりも多くの人が集まっていた。イベントの内容は、パイロットプロジェクトの発表opc,sdkの解説テスターさんのアプリの体験等…

Arduinoを使って魔法陣ライトアッププロジェクト(魔法陣側のライトアップシステム検証)

コスプレで魔法詠唱中には魔法陣を出したいプロジェクト。 テープLEDを使った電飾は実現可能だということがわかったので、制御モジュールも自作しようということで作り始めました。 魔法陣モジュールの全体図 前回のブログエントリで、テープLEDを使ったライ…

魔法陣コースター作ってみた

経緯 コスプレで足元に魔法陣出したい。杖振り回すと、魔法陣と杖が連動して光ってほしい。 というわけで、実現可能性を検証するために色々試してみた。 いい感じになったので、マグカップとか置けるようにコースターにしてみました。 まずは写真。 通常光で…

Maker fair Tokyo2014いってきた

何か面白いもの無いかなとMaker fair Tokyo 2014いってきました。 こういう場は刺激的で楽しい。 自分も新しいものを作り出そうっていうエネルギー分けてもらえる。 というわけで、見て回った範囲をざっと写真で。 と思ったけどブログに載せていいかどうかほ…

boost::streambufの内部構造の調査

以前書いたエントリのboost::asioの続き的なもの。 boost::streambufというものをを使うと、バッファの細かいことを意識せずにread/writeをできるので便利そうだと感じた。 ただ、コレって内部実装によって性能に大きな影響が出るんじゃないかな?という疑問…

OpenGLでパーティクル実験

ひとまず条件付きでできたので、アップロード。 mmdviewリポジトリのparticleブランチ コミットNo: 94b7ed9a81ab6d54c8f721a71db4b89ca6bf47b0 javoren/mmdview · GitHub 中心から放射状に広がるパーティクル 見ていて飽きない。特に背景真っ黒だから、加算…

openGLでMMDモデルを表示する

前回のエントリまででモデルしか表示できていなかったけども、今回はテクスチャに対応した。 あとは、しくみを変更して高速化した。 これでMMDを扱うための最低限の機能は実装できたはず。 とりあえずモデルを表示するという意味合いでは。 (このブログエン…

opeglでmmdモデルを表示してみる

linux上でやってみようということでやってみたらできた。まだテクスチャうまくはれてないですが。 とりあえずスクリーンショット。 モデルはこちらからお借りしました。 VPVP wiki - モデルデータ/アニメ関連/ま行 プログラムのソースコードはこちら。テクス…

WindowsストアアプリをC++で作る(前準備)

WindowsストアアプリでC++のライブラリ使いたいと思い、以下のリンク先に色々書いてあったので実験してみた。 MSDN Blogs 結果 とりあえず手順通りに実行したらできた。 手順とか考え方 自分の認識では、ソフトウェアレイヤーで考えると3層構造に相当する感…