旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

【Python】 Keras開発者の著書

Keras開発者による著書「Deep Learning with Python」が発売されています。今はクーポンコード"CTWNIPS17"で40%オフなのでお得です。 www.manning.com

動画と音声を分離/結合する方法のメモ

動画と音声を分離/結合する方法についてメモします。ffmpegというフリーソフトで可能なようです。 動画と音声を分離する [ffmpeg] 動画から音声を抜き出すには – 端くれプログラマの備忘録 kobiwa.net 動画と音声を結合する kobiwa.net

【C#】 JPEGの品質を変更する

OpenCVSharpのImWriteを使うことで画像を保存できますが、品質レベル(デフォルト値95)を変えたい時どうすれば良いのか調べました。 下記のようにエンコード⇒デコード⇒ImWriteという手順で良いようです。 // 画像の読み込み Mat image = Cv2.ImRead("lenna.…

【Python】 GMM(Gaussian Mixture Model)による外れ値検知

GMMによる外れ値検出手法を試してみます。LOFやiForestのようにずばりそのものを見つけることが出来なかったので、scikit-learnにあるGaussianMixtureクラスを流用して作成します。 まずは、GMMを用いて外れ値検出を行うクラスをGMMAnomalyDetectorクラスと…

【Python】 One class SVMによる外れ値検知

外れ値検出手法の一つであるOne class SVMを試したのでメモします。 import numpy as np import matplotlib.pyplot as plt from sklearn import svm np.random.seed(42) # Generate train data X = 0.3 * np.random.randn(100, 2) # Generate some abnormal …

【Python】 Fast ABOD(Angle Based Outlier Detection)による外れ値検知

外れ値検出手法の一つであるABODの論文を読んだので試してみようと思ったのですが、scikit-learnにそれっぽい手法を見つけることが出来なかったので、Fast ABODを作成しました。ABODはに対して、Fast ABODはなので、計算量の面で優位となります(ただし近似…

【アイトラッキング】 解析のために保存しておきたいデータ

これを読んでいてTobii Studio 2.0が以下のパラメータを出力していることが分かりました。KeyPressed等のイベントも記録しているようです。 Timestamp Number FixationIndex GazePointX GazePointY Event StimuliName AoiNames 267 16 4 674 374 xxx.png Con…

【Python】 Isolation Forestによる外れ値検知

外れ値検出手法の一つであるIsolation Forestに関する以下の資料を読んで試してみたいと思っていたところ、scikit-learnに例題があったのでメモします。 外れ値検出のアルゴリズム Isolation Forest from 翔吾 大澤 www.slideshare.net import numpy as np i…

【Python】 LOF(Local Outlier Factor)による外れ値検知

外れ値検出手法の一つであるLOFに関する以下の資料を読んで試してみたいと思っていたところ、scikit-learnに例題があったのでメモします。 外れ値検出のアルゴリズム Local Outlier Factor from 翔吾 大澤 www.slideshare.net import numpy as np import mat…

【UWP】 コルタナを起動しようとすると"アクセスが拒否されました"というエラーがでる

コルタナを使うためにSpeechRecognizerのContinuousRecognitionSession.StartAsyncメソッドを呼び出すと"アクセスが拒否されました"というエラーが出ました。これはデフォルトでアプリケーションにマイクにアクセスする権限が無いことが理由のようです。 ア…

【UWP】 KeyDownイベントが発生しない

注意:UWP初心者のため正しい方法ではないかもしれません MainPage.xamlにKeyDownイベントを追加したのですが、いくらキーを押してもイベントが発生しませんでした。この問題については以下のリンクの二番目の方の方法で解決しました。 stackoverflow.com pu…

【Python】 Kerasのエラー:'rawunicodeescape' codec can't decode bytes in position xx-xx: truncated \uXXXXの対処法

表題のエラーに出くわしたのですが、StackOverflowの情報ではPython3、Windowsで発生するようです。自分の場合はチェックマークが付いている回答ではなく、二番目の人の回答で解決しました。 stackoverflow.com keras/utils/generic_utils.pyの code = marsh…

リモートデスクトップでWindows Server 2012 R2にログインした時に、日本語キー配列が認識されない問題への対処法

以下の記事の人と全く同じ状態で、同じ方法で解決できました。感謝です。 qiita.com

【C#】 Bスプライン曲線の実装

Bスプライン曲線を実装する必要があったので作ってみました(次数は3固定にしています)。使い方は以下の二通りを想定しています。 制御点を指定して曲線を描く 指定した点を通るような曲線を描く まずはBスプライン曲線を描くクラスをBSplineとして実装しま…

【WPF】 WindowStyle=NoneでWindowState=Maximizedにするとタスクバーが隠れる問題の対処法

タイトルの通りなんですが、WindowStyle=NoneでWindowsState=Maximizedにすると完全なフルスクリーン状態となりタスクバーも隠れてしまいます。アプリケーションによってはこれで問題無いのですが、自分の場合はタスクバーは表示させたいと思い、解決方法を…

【WPF】 拡大した画像上でクリックした座標の取得

今回やりたいことは文章だと説明が難しいのですが、下図の青丸部分をクリックするとクリックした箇所の座標はになります。 次に上図のオレンジで囲った箇所を以前ブログに書いた方法で拡大表示して下図が得られたとします(【WPF】 Imageを拡大/平行移動さ…

【WPF】 Imageを拡大/平行移動させる

表示している画像をマウスのホイールを使って拡大したり、ドラッグして平行移動させたいと思ったところ、以下の回答が評価が高かったです。 stackoverflow.com ただ、リンクの通りに実装するとTransformGroupへキャストする時にキャストエラーが出て動作させ…

【OpenCVSharp】 ヒートマップを作成する

OpenCVSharpを使ってヒートマップを描くプログラムのメモです。ヒートマップは赤⇒緑⇒青の順で遷移するため、HSV空間を使い、その後RGB空間に戻すと簡単に作成できます(OpenCVでは0が赤、60が緑、120が青に相当します)。 // 画像サイズ const int size = 10…

【WPF】 ボタンのサイズをリソースで指定する

作っているアプリケーションにボタンが沢山あるのですが、それらの幅、高さは全て共通なのでハードコーディングではなく一括管理したいと考えました。そのやり方ですが、以下の2ステップになります。 ① App.xamlに以下を追加(xmlns:sysと<sys:Double ...>の三行を追加して</sys:double>…

【WPF】 続・スクリーンショットを撮り続けて動画に保存する

以前スクリーンショットを撮り続けて動画に保存する記事を書いたのですが、実はMicrosoft Expression Encoderを使えばやりたいことは出来たようです。 ni4muraano.hatenablog.com Microsoft Expression Encoderはここからダウンロードできます。NuGetからも…

【WPF】 BitmapSourceクラスをbitmapとして保存する

BitmapSourceクラスをbitmapとして保存する方法を探していたのですが、以下に書かれていたのでメモします。 stackoverflow.com public void SaveBitmapSourceToFile(BitmapSource bitmapSource, string filePath) { using (var fileStream = new FileStream(…

【WPF】 UIElement上のマウスイベントが発生しない

Imageの上にCanvasを置いて、CanvasにLineやEllipseをマウス操作を通じて描くことで、仮想的にImage上に絵を描いたように見えるようにしたいと思っています。 <Image .../> <Canvas .../> そこでCanvasにMouseDownイベントを付けたのですが、Canvasをクリックしても一向にMouseDownイ</canvas></image>…

はてなブログでtexの数式が上手く表示されない時の対処法

texの数式が思った通りに表示されず困っていたのですが、こちらのサイトのおかげで無事解決しました。 estrellita.hatenablog.com

【Python】 季節性分解実行時のエラーへの対処

季節性分解のやり方を調べていると、seasonal_decomposeメソッドを利用すれば良いことが分かりました。ただ、実行すると TypeError: ‘numpy.float64’ object cannot be interpreted as an integer というエラーが出てしまいました。 import statsmodels.api …

【Python】 ピリオドグラムを描画する

グラフの周期を調べるためピリオドグラムの描画方法を調べていたのですが、statsmodels.tsa.stattoolsのperiodogramを使えば良いようです。 from statsmodels.tsa.stattools import periodogram data = np.array([0.0, 1.0, 0.0, -1.0, 0.0, 1.0, 0.0, -1.0,…

【WPF】 画像ファイルをBitmapImageに読み込むと、その画像ファイルを削除できなくなるケースの対処法

Imageクラスに画像を表示するため下記のようなコードを書くと、画像ファイルを消去するときに例外が出てしまいました。 // 画像を読み込む var bmp = new BitmapImage(new Uri(filePath)); // Imageに表示する SomeImage.Source = bmp; // もう画像を表示す…

【Python】 フレームワークによるBatchNormalizationのmomentumの違いについて

KerasのBatchNormalizationの引数momentumはデフォルト値が0.99です。一方でTorchのBatchNormalizationの引数momentumはデフォルト値が0.1のようです。 いくらフレームワークが違うといっても、ここまで初期値が違うものかと調べてみると、Kerasは下記式のα…

【Python】 AUC計算方法のメモ

PythonでAUCを計算する方法を探していたのですが、下記がコードも掲載されており詳しかったです。 qiita.com from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_curve, auc classifier = RandomForestClassifier() pred…

【ディープラーニング】 "37 Reasons why your Neural Network is not working"のまとめ

下記の記事がためになったため、まとめてみました。 blog.slavv.com まず調べる事 上手くいくことが分かっている事から始める。例えば画像であればVGGを使ってみる等。ロスも独自の定義ではなく標準のものを使う 正則化やデータ拡張等のオプションを全て止め…

【WPF】 DataGridの一番下に表示される空白行を表示させない方法

CanUserAddRowsをfalseに設定すると空白行が表示されなくなります。