読者です 読者をやめる 読者になる 読者になる

空飛ぶ気まぐれ雑記帳

主に趣味とかプログラミングについて扱います。

OpenCVのDeformable Part Modelを試してみた

はじめに 今回は、故あってOpenCVのDPM(Deformable Part Model)を試してみたので、それについて紹介したいと思います。 DPMって? DPMとは物体を検出するアルゴリズムの1つで、入力画像からHOG特徴を抽出し、事前に学習しておいた物体全体のモデルと物体をパ…

古き悪しき全プロジェクト共通のVC++ディレクトリ的なSomethingを設定する方法

むか~し、むかし。Visual Studio 2008では設定>プロジェクトとソリューションからVC++ディレクトリの設定を行うことが出来た。 この設定では、全てのプロジェクトに共通した設定を書き込むことが出来、大変重宝しておった。 その一方で、色々な問題からVisu…

Visual Studio 2017を試してみた

C++

はじめに そもそもVisual Studio 2017の正式版がリリースされたのは3/7のことで、リリースノートによるとVisual C++の更新は軽微なもので、CMakeのサポートがメインになっている模様。 実際、ツールチェーンのバージョンも141とVisual C++14のマイナーアップ…

Windowsでffmpegを使ってみた話

C++

はじめに ffmpegを使ってみた話ですが、あくまでもC++から使ってみようっていう話。 ffmpegのバイナリを使うって話はググれば山ほど出てくるんだけど、Cのライブラリを使うって言う話はあまり出てこなかったので、備忘録を兼ねて。そもそも、どうしてffmpeg…

DLIB with CUDAでCNNを使ってみた in Windows

はじめに 下記の記事を書いてて、うぉぉぉぉってなってそのままDLIBのコンパイルをやりなおしました。elda27.hatenablog.com DLIBのコンパイル DLIBのCUDAを有効にするためには、CUDA 8.0(RC版じゃないですよ)とcuDNN 5.0以上が必要です。また、Windowsも6…

CUDA 8.0がいつの間にかリリースされててVisual Studio 2015 Update 3でも使えるようになっていた話

CUDA8.0 RCがリリースされたのが4月頃だったと思うが、それから半年。CUDA8.0がいつの間にかリリースされていた。 ダウンロードは下記から。developer.nvidia.comさて、このCUDA 8.0の何がスゴイかと言うとCuda8.0 RC では未対応だったVisual Studio 2015 Up…

DLIBでCNNを使ってみた in Windows

はじめに 今回は前回コンパイルしなおしたDLIBを使ってWindows環境のC++(これ重要)でCNNを使おうぜって話。 ほぼサンプル通りだけど、コメントは日本語化しましたので解説していきます。 ソースコードは全て以下に全部上げてるんでよしなに。 READMEはいずれ…

C++でDNNが使えないなんてあるわけないよ in Windows

一ヶ月くらいクソ忙しかったせいで久々の更新。 書くネタは山ほどあるんだけど、またその内、連続で書きます。 はじめに Windows環境のC++(これ重要)でDNN(Deep Nueral Network)を使おうぜって話。 DNNといえば最近流行りのものなんだけど、如何せんWindows…

GPGPUって色々あるけど結局どれがいいの

はじめに 元ネタはこれ。本文の引用も特に注意書きがなければここから引用してます。 CUDAとOpenCLどっちがいいの? - Qiitaオチは変わらず、 そもそも単純に比べんな。ナイフとノコギリがどっちがいいかなんて一概には言えないだろう? ただ、自分なりに色…

OpenGLでズームを実装する方法

OpenGLでズームを実装する方法について。 最初、カメラの中心と距離をいじってやろうと思ってたんだけど、どうも上手くいかなかったから、ちょっと調べたら出てきたました。 元のネタはここの8.040、How do I implement a zoom operation? https://www.openg…

DLIBのコンパイル For Debugビルド

はじめに 今回ビルドするのは、DLIBというC++で書かれた機械学習用のライブラリです。 dlib C++ Library どこが問題? Windows環境にて、VisualStudioを使ってDLIBをDebugビルドでコンパイルしようとすると、幾つかの問題に直面します。 中でも気になるのが…

SFINAEやテンプレートの部分特殊化で気をつけたいこと

C++

はじめに 久々にSFINAE(Substitution Failure Is Not An Error)やテンプレートの部分特殊化(Partial Specialization)を久々に使ったら見事にハマったので、まとめときます。 ただし、用語の間違えについては自分の中でもあやふやなんで気づいた人は指摘お願…

sf3d

いそがしくて二ヶ月程、更新を休んでしまったがこおkでやめては3日坊主ならぬ3ヶ月坊主なので更新します。sf3dとは以前紹介したSFMLに存在しない3Dレンダリングを行うことができるライブラリで、下記のURLがそのライブラリのgoogleグループのURLである。htt…

OpenCV2.4.7…知らない子ですね

知らない内にOpenCV2.4.7がリリースされていた。 知らないと思ったら、それはそうだ。なにせデスマ&ノートPCが一時使えない状態にあったのだから。それはそうと、更新内容としては OpenCLへの新規最適化の追加とバグの修正など CUDAでのバグの修正 Android …