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

TadaoYamaokaの日記

山岡忠夫 Home で公開しているプログラムの開発ネタを中心に書いていきます。

リアルタイムにマンガの顔パーツ検出を行ってみた

以前に書いた以下の日記の内容を組み合わせて、リアルタイムにマンガの顔パーツ検出を行ってみました。 dlibでマンガの顔認識をやってみた DCNNによるマンガキャラクターの顔パーツ検出 Surfaceのカメラでリアルタイムに顔器官検出を行う リアルタイムにマン…

写真を線画化する

マンガの顔パーツ検出を試みているが、マンガの顔画像と検出点がセットになった教師データを大量に入手することができない。自分で入力したデータで検出精度の実験を行って、ディープラーニングを使うことで、単一のコミックの画像であればかなりの精度で検…

DCNNによるマンガキャラクターの顔パーツ検出(追試3)

前回に続き、学習のハイパーパラメータの影響を考察する。今回は、ミニバッチサイズを変更した場合の影響について調べた。ニューラルネットワークの学習は、通常ミニバッチ単位で更新を行う。 ミニバッチのサイズは、大きくすると勾配のばらつきが安定するた…

DCNNによるマンガキャラクターの顔パーツ検出(追試2)

前回の日記で初期値の変更や正則化やBatch Normalization、フィルター枚数などを変更した場合の効果について調べた。ここでは、さらに畳み込み層のゼロパティングの有無とカーネルサイズの影響について調べた。 ゼロパティング 畳み込み層のパディングは、一…

DCNNによるマンガキャラクターの顔パーツ検出(追試)

前回の日記では正則化など行わずにRMSpropを使用して学習を行ったが、初期値の変更や正則化やBatch Normalizationなどを行った場合にどうなるか試してみた。 初期値の変更 ChainerのConvolution2Dのパラメータの初期値は、デフォルトではHeの初期値で初期化…

DCNNによるマンガキャラクターの顔パーツ検出

以前の日記でdlibを使用してマンガのキャラクターの顔パーツ検出を行った。しかし、dlibの方法は、マンガキャラクターには有効ではなく、顔パーツを検出できなかった。そこで、DCNNを使用して顔パーツ検出(顔器官検出)ができるか試してみた。 dlibで実装され…

TensorFlowをGPUを有効にしてWindowsでビルドする

※公式からWindowsバイナリが提供されたため、この記事の内容はほとんどの人には不要です。TensorFlowはビルドツールのBazelがWindowsに対応していないため、Windowsではビルドができなかった。Bash on Windowsを導入することで、Ubuntuのパッケージをバイナ…

WindowsでCaffeをビルドしてGPUで実行する

※2017/3/15追記 Windows版のリポジトリでビルド済みのバイナリが配布されています。自分でビルドしないでもそちらのバイナリを使用することをお勧めします。 ビルド済みのバイナリのインストール方法とサンプルの実行方法はこちらの日記を参照ください。Wind…

学習アルゴリズム変更

前回の日記で、SGDでSL policy networkを学習し、学習が成功していることが確かめられた。学習アルゴリズムをSGDにしたのは、AlphaGoの論文で採用されていたからだ。収束に非常に時間がかかるので、別の方法だともっと収束が早くならないか試してみた。 また…

SL policy networkの学習

前回の日記でChainerで作成したAlphaGoのSL policy networkをプロの棋譜を使って学習させてみた。棋譜は、以前と同様、インターネットの棋譜サイトから入手したプロの棋譜を使用した。まずは、学習がうまくいくか様子をみるため、特徴はAlphaGoの論文のExten…

Chainerで3層パーセプトロンの誤差逆伝播を実装してみた

前回の記事で、numpyを使って行列演算で3層パーセプトロンを実装しましたが、同じことをChainerを使って実装してみます。 import numpy as np import chainer from chainer import Function, Variable, optimizers from chainer import Link, Chain import c…

Pythonで3層パーセプトロンの誤差逆伝播を実装してみる

入力層、隠れ層、出力層で構成される単純なニューラルネットワークで、 誤差逆伝播を計算します。隠れ層の活性化関数はsigmoid、 出力層の活性化関数はsoftmaxとします。誤差関数(損失関数)は、交差エントロピーを使用します。それぞれの式は以下の通りです…

WindowsでChainerを試す

音声データの特徴量の抽出を試行錯誤するよりも、 ディープラーニング使っちゃえばいいじゃねって 考え始めたので、ぼちぼちディープラーニングの勉強を始めました。 とりあえず、この本を読み始めました。 手を動かさないとモチベーションを保てないので、 …