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

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

【機械学習】「仕事ではじめる機械学習」を読んでのメモ

1章 機械学習プロジェクトのはじめ方 1.2 機械学習プロジェクトの流れ 1. 問題を定式化する * ○○のために××が必要。そのために機械学習を利用する。機械学習が○○に貢献しているかどうかの判断として、□□をKPIとする 2. 機械学習をしなくて良い方法を考える …

【C#】Windows7で日本語音声合成する

C#

音声合成はSystem.Speech.SynthesisのSpeechSynthesizerクラスを使えば良いのですが、Windows7ではデフォルトで日本語対応しておらず、対応させるには非常に面倒そうでした。 結局ここに書いてあるように、Windows7ではSpeechLibを使うのが楽だと思います。 …

【Python】 ファイルの行数を数える

データがいくつ入っているのか数えたかったのですが、以下で簡単に行数を取得できました。 num_lines = sum(1 for line in open('myfile.txt')) ja.stackoverflow.com

【WPF】 PNG ⇔ BitmapSourceの変換

ここ(方法: PNG イメージをエンコードおよびデコードする)で調べました。 PNG ⇒ BitmapSource using System.IO; using System.Windows.Media.Imaging; public BitmapSource ReadPng(string pngPath) { var stream = new FileStream(pngPath, FileMode.Open…

【アイトラッキング】 アイトラッカーメーカー一覧

アイトラッカーを販売しているメーカーのメモです。以下に記事に加えて日本のメーカーを付け加えています。 imotions.com Tobii まず思い付くのがTobiiです。まぁ高いのですが、視線を解析しないのであればTobii Eye 4CをAmazonから購入すると安くすみます(…

【WPF】 StackPanelにアイテムを追加した時に自動でスクロールさせる

ScrollViewer内のStackPanelに画像を次々追加した時、何もしないとスクロールは一番上にありますが、これを こんな感じに自動でスクロールを一番下に持っていって欲しいという状況でした。 これを実現する方法は簡単で、画像を動的に追加した時にScrollViewe…

【アイトラッキング】 RGBカメラで視線計測できるサービス

iMotionsのブログで角膜反射法での視線計測と、ウェブカメラベースの視線計測が比較されていました。 imotions.com ウェブカメラベースの視線計測は角膜反射法と比較して精度が劣りますが、逆に精度が重要でなければ検討しても良いかもしれません。上記リン…

【Python】 実行スクリプトからの相対パスでファイルにアクセスする

以下のサイトに方法が書いてありました。 qiita.com

【Python】 PyTorchで自前のロス関数を定義する

Kerasと違ってPyTorchで自前のロス関数を定義するのは大変かなと思ったのですが、Kerasとほぼ同じやり方で出来ました。 #1. ロス関数を定義して def dice_coef_loss(input, target): small_value = 1e-4 input_flattened = input.view(-1) target_flattened …

【Python】 Perceptual Hashを使って画像の類似度を調べる

一年くらい前にヒストグラムを使って画像の類似度を調べる方法をメモしていたのですが、今回はそれとは別の方法を見つけたのでその記事をメモしておきます。 ni4muraano.hatenablog.com tech.unifa-e.com 上記の記事で取り上げられているimagehashというライ…

【Python】 VAE(Variational Auto Encoder)の写経

書籍「Deep Learning with Python」にMNISTを用いたVAEの実装があったので写経します(書籍では一つのファイルに全部書くスタイルだったので、VAEクラスを作ったりしました)。 VAEの解説は以下が詳しいです。 qiita.com 実装ですが、まずは以下をvae.pyに書…

【WPF】 バインドした数値の表示する桁数を指定したい

TextBoxに表示する数値データを小数点一桁目までしか表示させたくなかったのですが、以下のようにStringFormatを利用することで指定可能でした(ここを参考)。 <TextBox Text="{Binding Value, StringFormat={}{0:N1}}"/></textbox>

【Python】 KerasでConditional DCGANを実装する

前回DCGANを実装しましたが、今回はConditional DCGAN([1411.1784] Conditional Generative Adversarial Nets)を実装します。 DCGANの例は入力からどのような数字が生成されるかコントロールできませんでしたが、Conditional DCGANは付加情報を足すことで…

【Python】 KerasでDCGANを試す

DCGANでMNISTの手書き数字画像を生成する、ということを今更ながらやりました。元々は"Deep Learning with Python"という書籍にDCGANでCIFAR10のカエル画像を生成させる例があり、それを試してみたのですが、32×32の画像を見ても結果が良く分からなかったの…

【WPF】 矢印を描きたい

UIに矢印を描いて欲しいと言われたので、矢印を絵にしてImageに表示させようと思ったのですが、直接描くという方法もあるようです(以下リンク先参照)。 stackoverflow.com

【C#】 レジストリへの書き込み処理でUnauthorizedAccessExceptionが発生する

C#

レジストリにSetValueメソッドで書き込みを行おうとするとレジストリ自体は書き込み可能な設定なのにUnauthorizedAccessExceptionが発生しました。原因は以下の記事にあるように、レジストリを開く時に書き込み可能という事を明示しないといけなかったようで…

【Python】 処理時間の計測

前処理にどのくらい時間がかかっているか調べたかったので、pythonで時間をかかる処理を調べて以下の記事のように書けば良いことが分かりました。 qiita.com 記事を読んで勝手に秒単位でしか計測できないと勘違いしていたのですが、実際に実行してみると単位…

【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