exoファイルを使えば、立ち絵の設定をテンプレ化して何度でも使い回せる。キャラごと・表情ごとのexoパターンを作っておけば、配置も口パクも一瞬。拡張編集にドラッグ&ドロップするだけで、作業時間が爆速短縮。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
JuliaでRGB平均とSDTVのグレースケール化実施。 基本的な流れは他の環境と一緒。 データ構造の違いに気を付ける必要がある。 さらに各チャンネル情報も0~1の正規化されたものになってる点にも注意。
ScilabでRGB平均とSDTVのグレースケール化実施。 基本的にはMATLABと似た感じにはなる。 デフォルトで0方向へ丸め。 整数型でキャストすると内部の変数も演算前に整数型に変わってしまう。 これを抑制するためにdoubleへキャストなどを使用する。
Python(NumPy)でRGB平均とSDTVのグレースケール化実施。 次いでにOpenCVによるグレースケール化も。 OpenCVによるグレースケール化はコーデック依存な面がある。 画像データはの1チャンネル1ピクセルは8bit長。
MATLABでRGB平均とSDTVのグレースケール化実施。 画像データの型の都合でuint8のキャストが必要。 unit8キャスト時に小数点以下が自動で四捨五入される。 小数点以下切り捨て(0方向への丸め)をしたい場合はfix関数を使用する。
MATLAB,Python,Scilab,Julia比較 第3章 その14【グレースケール⑥】
JuliaでRGB平均とSDTVのグレースケール化実施。 基本的な流れは他の環境と一緒。 データ構造の違いに気を付ける必要がある。 さらに各チャンネル情報も0~1の正規化されたものになってる点にも注意。
MATLAB,Python,Scilab,Julia比較 第3章 その13【グレースケール⑤】
ScilabでRGB平均とSDTVのグレースケール化実施。 基本的にはMATLABと似た感じにはなる。 デフォルトで0方向へ丸め。 整数型でキャストすると内部の変数も演算前に整数型に変わってしまう。 これを抑制するためにdoubleへキャストなどを使用する。
MATLAB,Python,Scilab,Julia比較 第3章 その12【グレースケール④】
Python(NumPy)でRGB平均とSDTVのグレースケール化実施。 次いでにOpenCVによるグレースケール化も。 OpenCVによるグレースケール化はコーデック依存な面がある。 画像データはの1チャンネル1ピクセルは8bit長。
MATLAB,Python,Scilab,Julia比較 第3章 その11【グレースケール③】
MATLABでRGB平均とSDTVのグレースケール化実施。 画像データの型の都合でuint8のキャストが必要。 unit8キャスト時に小数点以下が自動で四捨五入される。 小数点以下切り捨て(0方向への丸め)をしたい場合はfix関数を使用する。
画像処理の実験をする際はグレースケールにしておくのが一般的。 グレースケールにも種類がある。 犬と自転車の画像を元にRGB平均とSDTV規格を比較してみた。 今後の予定としては各ツール、各言語でこれらを実施し、クセのようなものを認識する。
MATLAB,Python,Scilab,Julia比較 第3章 その10【グレースケール②】
犬と自転車の画像を元にRGB平均とSDTV規格を比較してみた。 ぶっちゃけ思ったほどの差は感じない。 とりあえずSDTVで進める。 今後の予定としては各ツール、各言語でこれらを実施し、クセのようなものを認識する。
MATLAB,Python,Scilab,Julia比較 第3章 その9【グレースケール①】
画像処理の実験をする際はグレースケールにしておくのが一般的。 カラー(RGB)の際は各チャンネルに対して同じ処理をすれば良い。 グレースケールにも種類がある。 SDTV規格が一般的らしい。
Juliaで画像処理。 ImagesとImageViewのパッケージをインストール。 OpenCVではなくImageMagickを使用したパッケージなので他の環境と性格が異なる。 ImagesのAPIとやり取りする場合は基本構造体ベースだが、処理をする際は配列にするなど行ったり来たりが発生する。
MATLABで画像処理。 読み込みはimread。 画像の構成を維持した2次元配列に、RGBの3チャンネルがぶら下がる。 結果として3次元配列になる。 画像の加工は配列操作を駆使する。 配列操作の基本を身に着けた方がお得。
MATLAB,Python,Scilab,Julia比較 第3章 その8【画像操作⑦】
Juliaで画像処理。 ImagesとImageViewのパッケージをインストール。 OpenCVではなくImageMagickを使用したパッケージなので他の環境と性格が異なる。 ImagesのAPIとやり取りする場合は基本構造体ベースだが、処理をする際は配列にするなど行ったり来たりが発生する。
MATLAB,Python,Scilab,Julia比較 第3章 その7【画像操作⑥】
ScilabのIPCVでカメラキャプチャ。 Scilab、IPCVというよりOpenCVの機能。 基本的にはPythonで実施したことと同じことは可能。 API名が異なる点に注意。
MATLAB,Python,Scilab,Julia比較 第3章 その6【画像操作⑤】
Scilabで画像処理。 IPCVパッケージのインストールが必要。 中身はOpenCV。 OpenCVベースなので色の並びがBGRかと思いきやRGB。 終端要素しては$。
MATLAB,Python,Scilab,Julia比較 第3章 その5【画像操作④】
Pythonでカメラキャプチャ実施。 cv2で実施可能。 1フレームずつ取得でき、1フレーム単位でみれば画像と一緒。 実際には処理負荷軽減、分散等を意識することが多い。
MATLAB,Python,Scilab,Julia比較 第3章 その4【画像操作③】
Pythonで画像処理。 OpenCVを利用するcv2パッケージが必要。 1ピクセルのRBGの並びがBGRになっている点に注意。 反転させる場合のスライシングは::-1。
MATLAB,Python,Scilab,Julia比較 第3章 その3【画像操作②】
MATLABで画像処理。 読み込みはimread。 画像の構成を維持した2次元配列に、RGBの3チャンネルがぶら下がる。 結果として3次元配列になる。 画像の加工は配列操作を駆使する。 配列操作の基本を身に着けた方がお得。
画像の読み込み、保存について具体的にやることを列挙。 カメラキャプチャもやるが、ツール、言語によってはできないor難しい場合あり。 使用する画像は例の「犬と自転車」。 お試し画像処理は赤成分の抽出と左右反転をやってみる。
MATLAB,Python,Scilab,Julia比較 第3章 その2【画像操作①】
画像の読み込み、保存について具体的にやることを列挙。 カメラキャプチャもやるが、ツール、言語によってはできないor難しい場合あり。 使用する画像は例の「犬と自転車」。 お試し画像処理は赤成分の抽出と左右反転をやってみる。
MATLAB,Python,Scilab,Julia比較 第3章 その1【概要編】
第3章スタート。 畳み込み、アフィン変換、射影変換をやる予定。 地味に畳み込みニューラルネットワークの基礎知識になり得るかも。 恒例のMATLAB、Python、Scilab、Juliaで動作させてみる予定。 内容によっては苦手なもの、できないものが発生するかも。
【入門】多変量多項式回帰分析(関数項)(Julia)【数値計算】
正規方程式による多変量多項式回帰分析をJuliaで実施。 誤差はあるものの目的の係数の算出はできている。 誤差の出方はサンプル点数次第。
【入門】多変量多項式回帰分析(関数項)(Scilab)【数値計算】
正規方程式による多変量多項式回帰分析をScilabで実施。 誤差はあるものの目的の係数の算出はできている。 サンプル点数を増やせば誤差は減る。 コード自体はMATLABコードのコピペ。 scatter3をscatter3dに書き換えた程度。
【入門】多変量多項式回帰分析(関数項)(Python)【数値計算】
正規方程式による多変量多項式回帰分析(関数項あり)をPython(NumPy)で実施。 誤差はあるものの目的の係数の算出はできている。 サンプル点数を増やせば、理想値に近付く。
【入門】多変量多項式回帰分析(関数項)(MATLAB)【数値計算】
正規方程式による多変量多項式回帰分析(関数項あり)をMATLABで実施。 誤差はあるものの目的の係数の算出はできている。 サンプル点数を増やせば、理想値に近付く。
MATLAB,Python,Scilab,Julia比較 第2章【バックナンバー】
MATLAB,Python,Scilab,Julia比較するシリーズの第2章。 第1章ではベクトル行列演算の基本的なやり方や 状態空間モデル、そのモデルをPID制御。 などを行った。 第2章は回帰関連の話がメインとなる。
MATLAB,Python,Scilab,Julia比較 第2章 その77【まとめ】
第2章最終回。 これまでの振り返り。 正規方程式の限界について。 係数と変数の積による項以外の特殊な項があると対応できない。 今回やった回帰分析の延長線 ラッソ回帰、リッジ回帰。
MATLAB,Python,Scilab,Julia比較 第2章 その76【多変量多項式回帰分析(関数項)⑤】
正規方程式による多変量多項式回帰分析をJuliaで実施。 誤差はあるものの目的の係数 誤差の出方はサンプル点数次第。
MATLAB,Python,Scilab,Julia比較 第2章 その75【多変量多項式回帰分析(関数項)④】
正規方程式による多変量多項式回帰分析をScilabで実施。 誤差はあるものの目的の係数の算出はできている。 サンプル点数を増やせば誤差は減る。 コード自体はMATLABコードのコピペ。 scatter3をscatter3dに書き換えた程度。
MATLAB,Python,Scilab,Julia比較 第2章 その74【多変量多項式回帰分析(関数項)③】
正規方程式による多変量多項式回帰分析(関数項あり)をPython(NumPy)で実施。 誤差はあるものの目的の係数の算出はできている。 サンプル点数を増やせば、理想値に近付く。
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
exoファイルを使えば、立ち絵の設定をテンプレ化して何度でも使い回せる。キャラごと・表情ごとのexoパターンを作っておけば、配置も口パクも一瞬。拡張編集にドラッグ&ドロップするだけで、作業時間が爆速短縮。
G検定まとめ記事はこちらはじめに結構昔にG検定向けの動画で、「JDLAジェネラリスト検定(G検定)さっくり対策(究極カンペの作り方)カンペを見なくても問題が解ける自分の作り方。」というのを公開しているのだが、これに対しての問い合わせがちょく...
動画作成関連のバックナンバー用ページ。立ち絵を作ったり、動画作ったり、アイキャッチ画像作ったりなどを掲載していく。
画像認識の全体像を因果関係図で整理し、AlexNetを起点に各モデルの進化をたどる。一般物体認識から物体検出・セグメンテーション・姿勢推定まで、各カテゴリの代表モデルと技術を解説。モデル同士の構造的なつながりや技術的背景を踏まえ、因果関係をもとに体系的に理解を深めていく。
究極カンペの作り方についての問い合わせが増えている。G検定の評判を確認し、ネガティブな意見を問題提起として捉える。勉強のステージを定義し、語彙力と因果関係の把握が重要であることを説明。
フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
MATLAB,Python,Scilab,Julia比較するシリーズの第4章。第4章では分類問題で最終的にはニューラルネットワークや最適化アルゴリズムの話だった。第5章はフーリエ解析学から高速フーリエの話がメインとなる。
立ち絵の配置: PSDファイルをAviUtlに配置し、画面サイズやフレームレートを設定。のっぺらぼう化: 目と口を消して、アニメーション効果を追加。アニメーション効果: 目パチと口パクの設定を行い、リップシンクを調整。
フーリエ変換を定義。フーリエの積分公式の一部を抜き出す。逆フーリエ変換を定義。フーリエの積分公式にフーリエ変換を代入するだけ。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。区分求積法とリーマン積分について。フーリエの積分公式を導出した。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。さらにそこに加えて、AivisSpeechのアイコン画像を...
PSDToolKitプラグインの導入の仕方を説明。PSDファイルを探してGIMPで内容を確認。GIMPで瞬き用、口パク用のレイヤー編集。
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
区分求積法とリーマン積分について。離散と連続の分け目。フーリエの積分公式を導出した。演算したはずなのに変化しない。つまり変換、逆変換が成立することを示している。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。よって、一般的な表現に書き換える必要がある。
角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。ω=nπ/Lを使用して変換するだけ。これにより少し数式がシンプルになった。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。ほぼ独自に作成したが、Anneliの画像自体はAivisS...
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。変換を想定した式に変換。複素指数関数との積と積分、総和を経由すると元に関数に戻るというイメージが重要。
AviUtlのセットアップと拡張編集Pluginの導入を行った。mp4ファイルの入力と出力の方法を説明。アニメーションgifの対応方法を説明。
もう一個試す予定の最適化アルゴリズムAdamへ至る系譜を説明予定。 AdaGradについて説明。 更新式をモーメンタムと比較。 RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。
Adamの更新式を実現するためのプログラムフローを記載。 モーメンタムの部分をAdamに差し替えただけ。 学習率は0.001とかなり小さめの値に設定。 これにより収束は遅くなる。 かわりに特殊な最適解が得られるのでそれを確認する。
各最適化アルゴリズムの依存関係を記載。 1次の勾配で勢いをつけて、2次の勾配で抑制するというのが全体を通しての共通点。 Adamが1次の勾配と2次の勾配を合わせたアルゴリズムとなる。
最適化アルゴリズムAdamについて説明。 モーメンタムとRMSpropの合わせ技。 1次の勾配と、2次の勾配の指数移動平均を使用する。
AdaDeltaについて説明。 RMSpropの拡張版に当たる。 学習率というハイパーパラメータ無しで動作する。 最終的な学習率は1近傍になるため振動しやすいらしい。
RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。 AdaGradでは2次の勾配の累積だったものが、2次の勾配の指数移動平均に。 これにより、極小値近辺やプラトーになっても更新を続けられる。
AdaGradについて説明。 更新式をモーメンタムと比較。 更新幅は、最初は大きく、徐々に小さくなり、最終的には学習が進まなくなる欠点を抱えている。
もう一個試す予定の最適化アルゴリズムへ至る系譜を説明予定。 プログラム化して試すのはAdamだが、それに至るアルゴリズムを数式レベルで確認。 Adam以降の最適化アルゴリズムもあるが、基本はAdamベースでクリッピングが入ってる感じ。
最適化アルゴリズムを通常の勾配降下法からモーメンタムに変えた際の差分を確認。 モーメンタムの方が学習の収束が早い。 勾配降下法で500エポックのところ100エポック。 モーメンタムの場合、初期のパラメータ移動が大き目。 これにより、大域最適化を見つける可能性が高くなる。
最適化アルゴリズム モーメンタムを用いて分類の学習をJuliaで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をPythonで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズムを通常の勾配降下法からモーメンタムに変えた際の差分を確認。 モーメンタムの方が学習の収束が早い。 勾配降下法で500エポックのところ100エポック。 モーメンタムの場合、初期のパラメータ移動が大き目。 これにより、大域最適化を見つける可能性が高くなる。
最適化アルゴリズム モーメンタムを用いて分類の学習をJuliaで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をPythonで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。