2017-01-01から1年間の記事一覧
写真の線画化を、iBUG 300-Wの300枚の画像に試してみたけど、あまりきれいな線画が生成できなかった。 学習データの生成には他のアプローチを試したい。 Live2Dのような方法で、線画のキャラクタの向きや表情のバリエーションを増やせないかと考えている。 L…
以前に書いた以下の日記の内容を組み合わせて、リアルタイムにマンガの顔パーツ検出を行ってみました。 dlibでマンガの顔認識をやってみた DCNNによるマンガキャラクターの顔パーツ検出 Surfaceのカメラでリアルタイムに顔器官検出を行う リアルタイムにマン…
以前日記に書いたdlibを使った顔器官検出をSurfaceのカメラを使ってリアルタイムに行ってみました。 import sys import dlib import cv2 if len(sys.argv) != 2: print("realtime_shape_predictor.py model") exit() model = sys.argv[1] predictor = dlib.s…
SurfaceのカメラをPythonからリアルタイムに使うには、OpenCVを利用して以下のように記述する。 import cv2 video_capture = cv2.VideoCapture(1) while True: ret, frame = video_capture.read() cv2.imshow('Video', frame) if cv2.waitKey(1) & 0xFF == o…
マンガの顔パーツ検出を試みているが、マンガの顔画像と検出点がセットになった教師データを大量に入手することができない。自分で入力したデータで検出精度の実験を行って、ディープラーニングを使うことで、単一のコミックの画像であればかなりの精度で検…
以前の日記で公式バイナリをインストールする方法を書いていましたが、バージョン1.0がリリースされたことで内容が古くなったので、書き直します。公式のページを見ればわかる内容なので、あまり価値のある内容ではないですが。 前提ソフトウェアとして、以…
デブサミ2017 【DevBooks】で、Andirogueというサークルで頒布する同人誌に記事を寄稿しました。以前の日記で書いていたAlphaGoに関する記事です。1ページ目の内容はこんな感じ。 サークルのメンバが書いた技術的な内容からゆるふわな記事まであります。 よ…
前回に続き、学習のハイパーパラメータの影響を考察する。今回は、ミニバッチサイズを変更した場合の影響について調べた。ニューラルネットワークの学習は、通常ミニバッチ単位で更新を行う。 ミニバッチのサイズは、大きくすると勾配のばらつきが安定するた…
前回の日記で初期値の変更や正則化やBatch Normalization、フィルター枚数などを変更した場合の効果について調べた。ここでは、さらに畳み込み層のゼロパティングの有無とカーネルサイズの影響について調べた。 ゼロパティング 畳み込み層のパディングは、一…
前回の日記では正則化など行わずにRMSpropを使用して学習を行ったが、初期値の変更や正則化やBatch Normalizationなどを行った場合にどうなるか試してみた。 初期値の変更 ChainerのConvolution2Dのパラメータの初期値は、デフォルトではHeの初期値で初期化…
以前の日記でdlibを使用してマンガのキャラクターの顔パーツ検出を行った。しかし、dlibの方法は、マンガキャラクターには有効ではなく、顔パーツを検出できなかった。そこで、DCNNを使用して顔パーツ検出(顔器官検出)ができるか試してみた。 dlibで実装され…
Androidアプリの音声スペクトルモニター(Audio Spectrum Monitor)をバージョンアップしました。前回のアプデートから1年以上更新していませんでしたが、ボーカル音程モニター(Vocal Pitch Monitor)の方で改善した内容を反映しました。あと、前回の日記で書い…
前回の日記で自己相関関数によるピッチ推定の精度をN倍の位置のピークを使用することで向上できることを示した。Nを大きくすることで精度を高めることができるが、Nの上限はフレーム長により制限される。単純にフレーム長を長くした場合、応答性とのトレード…
以前の日記で、自己相関関数でのピッチ推定の誤差について検証した。自己相関関数で求めたピッチは、高周波数で誤差が大きくなることを示した。 ここでは、それを改善する方法について検証する。 自己相関関数のピークの位置をnとすると、周波数fは以下の式…
FFTでスペクトル推定を行う際、フレーム長を長くするほどより周波数領域で精度を上げることができる。しかし、フレーム長を長くすると実行時間も長くなる。スマホでリアルタイムで解析を行うような場合、実行時間について考慮が必要になる。ここでは、フレー…
ボーカル音程モニター(Vocal Pitch Monitor)では、ピッチ推定に自己相関関数を使用している。自己相関関数を使用するメリットとしては、 ノイズに強い 低周波数での誤差が少ない という点があげられる。逆にデメリットとしては、高周波数の誤差が大きくなる…
ボーカル音程モニター(Vocal Pitch Monitor)では、ピッチ推定に自己相関関数を使用しているが、精度を高めるために、FFTの値も使用している。離散フーリエ変換(FFT)で、スペクトル推定の分解能を高めるために、ゼロパディングという手法が用いられる。ここで…
Androidアプリのボーカル音程モニター(Volcal Pitch Monitor)をバージョンアップしました。play.google.com 今回の更新内容は、以下の通りです。 音程の解析精度を向上 自動スクロールの速度の設定を追加 メイン画面からテンポ機能のオン/オフを可能とした …
アプリ開発のモチベーション維持のために、このブログをはじめたのが2年前。 今年で3年目になります。飽きっぽい自分にしてはよく続いています。去年はAlphaGoに影響されて、ディープラーニングのネタを扱ったおかげでアクセスが増えた気がします。ディープ…