Mugichoko's blog

Mugichoko’s blog

しがない研究者のプログラミングを中心としたメモ書き.

プログラミング

今更PyTorchマスターへの道 (2) - とりあえずPyTorchを動かしてみた1

Docker環境を構築した前回の続き.とりあえず,Python Engineerさんのチュートリアルを通してPyTorchを動かしてみます.

今更PyTorchマスターへの道 (1) - Dockerの準備

今更感がすごいですが,それでもPyTorchを触りたいことに変わりはないのでちまちまやっていきます.

ModernGL奮闘記 (12) - ImGui -

ImGuiをModernGLと組み合わせて使いたいと思い実装してみました.

ModernGL奮闘記 (11) - Compute Shader -

簡単なCompute Shader(コンピュートシェーダ)を実装する.単に,画面の座標値 (uv) をRG色に割り当てるだけ.これで,大抵のことはできるようになった!

ModernGL奮闘記 (10) - Cubemap -

ModernGLでCubemap(キューブマップ)を使ってみる. キューブマップテクスチャを用意して,それを立方体の6面にマッピングする.単なる動作確認が目的なので,できるだけ簡単に実装する方針.

ModernGL奮闘記 (9) - Texture Array -

Texture Arrayを実装する.上下キーを押すことでTexture Array内の2つのテクスチャを切り替える.

ModernGL奮闘記 (8) - αブレンディング -

今回はαブレンディングを実装する.単にQuadを半透明に表示する.

ModernGL奮闘記 (7) - バックバッファの読み込み -

今回はバックバッファに書き込まれている内容をメインメモリに読み込んで表示してみる.よく使うので.

ModernGL奮闘記 (6) - プレビューパッケージ -

今現在のModernGLの最新バージョンは5.6.4なのだが,次期アップデート (5.7.0) から含まれている機能が必要になった.そこでプレビュー版の5.7.0をインストールしてみることにした.

ModernGL奮闘記 (5) - OrbitCamera -

マウスをグリグリするとカメラがある点を注視しながら移動するOrbitCameraを実装する.結論,ModernGLが用意しているクラスを使えばいいだけなので,とても簡単.

ModernGL奮闘記 (4) - Quadの描画 -

前回は,既存のモデルデータを読み込んでいた.今度は自分で矩形のメッシュ (Quad) を定義して表示する.今回,少し問題に直面した...

ModernGL奮闘記 (3) - GLFWウィンドウ -

Stanford Bunnyを読み込めたので,以下の2つに挑戦する. 自分で用意したシェーダを使う それをGLFWウィンドウに表示する やはりフレームは自分で更新したい

ModernGL奮闘記 (2) - ファイル読み込み -

とりあえず,ファイル周りの扱いを便利にする関数があるようなので使ってみる. 今回は,OBJファイルとそれに付随するテクスチャを読み込んで表示させたい.Windowに関しては,とりあえずで動くModernGL-Windowお手製のものを使う.

vcpkgを使ってOpenCVをインストールする

普段はソースコードからCMakeを使ってOpenCVライブラリをビルドするのですが,今まで使ったことがなかったvcpkgパッケージマネージャを使ってみようと思い実践しました. github.com vcpkgとは vcpkgはMicrosoftが提供するC++用ライブラリのパッケージマネー…

OpenCVをUnityで使う (Native Plug-ins)

UnityでOpenCVを使いたい.UnityのNative Plug-insを使って,C++のOpenCVのDLL経由でOpenCVをUnityから呼び出す方法を取った.

ImGui + Native File Dialog

前回はImGui + GLFW + GLEWを使ってGLFWのウィンドウ内にImGuiのウィジェットを表示させる公式のサンプルを動かしました.今回は,自分のコードにImGuiを導入するとともに,ImGuiには欠けているダイアログ機能を追加します. mugichoko.hatenablog.com 前回…

ImGuiを使ってみる

OpenGLでのGUI開発用ライブラリImGuiを使ってみる.正式にはDear ImGui (Immediate Mode Graphical User Interface) と呼ぶとのこと.今回は,ImGuiの”Im”たる所以を調べ,サンプルをビルドして実行することが目標です. なぜImGui? Im (Immediate Mode)? …

Caffe 1.0 (GPU) on Windows 10

目標 経緯 開発環境 インストール方法 MNISTの例 実行方法 実行結果 目標 Caffe (GPU) をインストールして,サンプルプログラムを実行することで動作確認を行う.前回はGPUを積んでいないノートPCにインストールしたのでCaffe (CPU) をインストールしていた…

RGB-D SLAMを実装する #7

大域的目標 実行速度の向上 問題の確認 改善 実行結果 GitHubへの公開 参考文献 大域的目標 KellerらのRGB-D SLAM[1]が実装したい!と思い立ったので実装していく,というモチベーションの記録.ちょっとずつ実装している.今回が7回目. 前回(以下,参照)…

PixMix Inpainting

目標 PixMix Inpainting 論文 概要 コスト関数 伝播 ソースコード 目標 画像上の欠損領域を同一画像内の他の画素を用いて埋めるPixMix Inpaintingを実装する. PixMix Inpainting 論文 Jan Herling and Wolfgang Broll, "High-Quality Real-Time Video Inpai…

Caffeを通してCNNを理解する #3

大域的目標 今回の目標 0. LMDBの作成方法の模索 create_mnist.shを覗く create_mnist_data.cppを覗く 1. 自分で学習用データのLMDBを作成する データの準備 LMDBの作成 LMDBのインストール LMDB作成用Pythonスクリプト 2. 自作のLMDBを使って学習及び認識ま…

Fast Digital Image Inpainting

目標 Fast Digital Image Inpainting 概要 結果 ソースコード 所感 目標 画像上の欠損領域を同一画像内の他の画素を用いて埋めるImage Inpaintingを実装する. Fast Digital Image Inpainting 概要 とても簡単に実装できるImage Inpaintingの一つ.単に論文…

Caffeを通してCNNを理解する #2

大域的目標 今回の目標 自らprototxtを作成し,MNISTの学習を行う 1. prototxtの作成 train.prototxt solver.prototxt 2. 学習の実行 2.1 ファイルを構成 2.2 trainコマンドの実行 Deployment(学習した結果を用いて認識)を行う 1. deploy.prototxtの作成 2…

Caffe 1.0 (CPU) on Windows 10

目標 経緯 開発環境 インストール方法 MNISTの例 実行方法 実行結果 目標 Deep Learningがやりたい!そこでCaffe(カフェ)をインストールして,サンプルプログラムを実行することで動作確認を行い,経験談をまとめた. 追記 この記事を基にしたGPU版のイン…

MOVERIO + OpenGL ES 2.0 + ジャイロセンサ

目標 開発環境 サンプルプログラム OpenGLES20Activity MyGLSurfaceView MyGLRenderer MoverioGyro 結果 目標 MOVERIOのジャイロセンサから得られた回転のパラメータを使って回転行列を得て,OpenGL ESに与え,頭の回転に合わせて三角形のCGを描画する. Ope…

プロジェクション行列から内部パラメータを得る

今回の内容 経緯 内部パラメータを加味したプロジェクション行列の計算方法 プロジェクション行列から内部パラメータを計算する方法 今回の内容 内部パラメータを加味したプロジェクション行列の計算方法 そこから逆算して,プロジェクション行列から内部パ…

Android Studio + MOVERIO + OpenCV #2

目標 開発環境 実装 参考サイトとそこからの追加 OpenCVで画像処理するための流れ サンプルプログラム MainActivity.java CameraPreview.java ImageProcUtil.java AndroidManifest.xml activity_main.xml 結果 目標 前回の記事の最後に書いた通り,OpenCVのC…

Android Studio + MOVERIO + OpenCV #1

モチベーション 目標 開発環境 MOVERIOでの開発の難点 Android StudioとAndroid SDKのインストール Android StudioでのOpenCVの設定 具体的な手順(全10ステップ) MOVERIO用SDKの設定 マニュアル BT300 SDKのダウンロード サンプルプログラム MainActivity.…

RGB-D SLAMを実装する #6

大域的目標 できた? 方針の再転換 グローバルマップの管理 点のマージと削除 残った問題 パラメータ調整 実行速度 参考文献 大域的目標 KellerらのRGB-D SLAM[1]が実装したい!と思い立ったので実装していく,というモチベーションの記録.ちょっとずつ実装…

RGB-D SLAMを実装する #5

大域的目標 今回の目標 実装内容 実装結果 所感 参考文献 大域的目標 KellerらのRGB-D SLAM[1]が実装したい!と思い立ったので実装していく,というモチベーションの記録.ちょっとずつ実装している.今回が5回目.モチベーションに関する詳細は初回の記事を…