catalinaの備忘録

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

OpenMVG, OpenMVSで3D再構築する

前回のエントリでOenMVGを使って三次元再構成ができることが確認できました。 今回はさらに進んで、ジオメトリを再構成してみます。 カメラ内部パラメータの設定 前回のエントリで生成したカメラ内部パラメータは間違えていました。正しくはこうなります。 …

OpenMVGを試してみる(環境構築+α)

夏が終わって秋らしい気候になってきました。秋は色々と創作意欲を刺激されるイベントが多いので、今のうちから準備をやっていきたいと思います。 OpenMVGとは 公式はこれですね。 github.com MultiViewGeometryの略で、複数視点から三次元ジオメトリを再構…

父の日ですね

たまには文章書かないと日本語忘れてしまいそうです。職場でも人と話することもないので。かたりぃなです。 ブログで技術以外のことを書くのは初めてかもしれません。どちらかというと政治&過去語りな内容。 興味のない人はそっと閉じてくださいね。 まず、…

MTGのカード情報の傾向分析を行う(準備編)

GWが終わって、しばらく祝日なしの日が続きます。 私は毎年この時期を「6月砂漠」と呼ぶことにしています。かたりぃなです。 今回はMTGのカードのテキストデータを分析してみようと思います。 画像処理ばかりやってると数式相手になることが多いので、時に…

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…