catalinaの備忘録

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

WinRTを試してみる

桜の花も散っていき、春から初夏への移り変わりを感じます。かたりぃなです。 今回は新年度ということで、新しいことを試してみようと思います。C++/WinRTです。 C++/winRTを使う理由 Hololens用のUnityのネイティブプラグインを書こうと色々調べていたら、C…

OpenCV4.0をソースコードからインストールする

想像以上に手間取りました。かたりぃなです。 OpenCVのバージョンだけなら大した問題ではなかったのですが、バージョンアップに追従してC++も新しいものにしていこうという動きがあるみたいです。 (実際OpenCV3の世代でCインターフェースはレガシーなものと…

websocketとhttpの共存Webアプリを作る(nginx + uwsgi + flask)

そろそろWebSocketやってみようと思いました。かたりぃなです。 まずWebSocketを概念レベルで整理してから、技術的な実装をやっていきます。サンプルコードコピペしたい人は後半まで飛んでください。(未来の自分へのメッセージ) WebSocketの概要 WebSocketは…

DockerでJenkinsとテスト用のコンテナを動作させる

DockerでCI/CD環境を構築してみます。かたりぃなです。 どうやってやるか? 今回はCI実行環境やアーキテクチャについて考えます。 まずCIといえばJenkinsやTravisとかいろいろありますが、次の機能さえ備えていれば良いと思います。 繰り返しテストを再現可…

dockerでElasticsearch+logstash+kibanaを立ち上げる

C#

新年一発目のエントリは少々新しいことに挑戦しようということにしました。かたりぃなです。 今回はElasticsearchとC#でのログ分析基盤の作成をやってみます。 まだ実践的なことは何もできていない状態ですが、できたことを少しずつブログに残していこうと思…

2018年振り返り

年の瀬も迫ってきたので、今年一年を振り返ってみようと思います。かたりぃなです。 よかったこと インフラ コンテナ化 通信プロトコル WebとHololensの連携 技術の融合 コスプレでのAR, 3Dプリンタの活用 ちょっと残念 DeepLearning Unity C++オンリーでHol…

NginxでHTTPS(SSL)対応する

暗号/復号関係は苦手です。かたりぃなです。 苦手な理由は、これ系は期待動作していない場合のデバッグが非常にやりにくいからなんですよね。 アルゴリズムそのものは実績がある前提だとすると、うまく動かないときはモジュール外から与えるパラメータが間違…

AWSを試してみる

AWSを契約してVPCとか仮想サーバとか試してみました。かたりぃなです。 AWSのアカウント作成 登録はクレジットカードが必要になります。 ユーザー登録自体は無料なのですが、無料登録枠からはみ出して課金となった場合、この登録しているクレジットカードか…

HololensでAR(vuforiaとunity)

HoloLens上でVuforiaとUnityを使ったARを試してみました。かたりぃなです。 Vuforiaとは VuforiaはARフレームワークです。 マーカーを登録することで、それを認識するためのライブラリが生成されます。 対応プラットフォームは ライブラリは各種プラットフォ…

C++のHTTPサーバ(boost::beast)を試す

C++

毎年恒例の夏バテの時期がやってきました。かたりぃなです。 今回はC++でhttpやってみたいと思います。 C++でhttpサーバ 今はC++単体でラクにHTTPサーバが実装できるようになりました。 使うライブラリはboost::beastです。 https://www.boost.org/doc/libs/…

chainerUIを試す

以前私がやろうとしていたことを公式がスマートにカッコよくやってのけてくれたので、試してみました。かたりぃなです。 その昔、こんなこと実現しようと考えていました。 catalina1344.hatenablog.jp そしていつの間にやらPFN公式からこんなの出てました。 …

hololensの空間マッピングに触れる

久しぶりのブログ記事です。かたりぃなです。 Hololensの空間マッピングをC++からいじっていて、とりあえずだいたいどんなものか掴めたので整理します。 実際に動いているものはまだないので、インパクトは小さいですが、こういう小さな積み重ねが大事だと思…

opencv-contribのedge-boxesを試す

恒例となりつつあるホリデーシーズン前のOpenCV最新版がリリースされました。 https://opencv.org/opencv-3-4.html 個人的に興味があるのはこのあたりです。 本家DNNモジュール YOLOやfaster-rcnnなど、RCNNの実装 YOLOもRCNNもバックエンドでOpenCLアクセラ…

CMakeを使ってmakefileを作る

C++

はじめに C/C++でプログラミングをしているとmakefileが必要になってきます。 VisualStudioみたいなIDE環境なら自動生成に任せてしまうのですが、Linux環境だとそういうものを使うこと自体が面倒だったりします。 小さなツール群を組み合わせて使っていった…

chainercv0.6付属のSSDサンプルコードを読んでいく

背景 chainercvが0.6になって、rcnnの実装のひとつであるSSDの訓練をするためのサンプルコードが提供されるようになりました。 論文読んでも少々わからない部分があったので、実際にネットワークの訓練コードを動かしながら追っていきたいと思います。 まだ…

MTGwikiのAPIを使ってみるテスト

本業が忙しいため趣味プログラミングが滞っていました。かたりぃなです。 自分が書いた実験コードを久しぶりに読むと辛いものがあるので、リハビリを兼ねて簡単なことからやってみます。 今回のお題はカードゲームMTGをもっと楽しく遊べないかというお題でい…

WindowsのChainer環境を2.xにアップデートしたときのメモ

何週間か前に、Chainerをアップデートしようとしたときのメモを整理したので公開します。かたりぃなです。 Windows上のPython環境が壊れていたので修復していたら一日潰れました。 環境はいつものです。 Windows 10 Pro Python 3.5.2 : Anaconda 4.2.0 (64-b…

外出先からDNNの学習状況を確認したい

今回はchainerでの学習進捗を見るのが目的ですが、あんまりchainer関係ないです。webフロントまわりですね。 やりたいこと・その経緯 DNNを試しておいて、自動で学習してる間にちょっと出かけたりとかしたいです。 そうすると出先で学習の経過が見えたほうが…

カードゲーム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が提供している機能を使ってビルボードをレンダリングする…