サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
ni4muraano.hatenablog.com
今回やりたいことは文章だと説明が難しいのですが、下図の青丸部分をクリックするとクリックした箇所の座標はになります。 次に上図のオレンジで囲った箇所を以前ブログに書いた方法で拡大表示して下図が得られたとします(【WPF】 Imageを拡大/平行移動させる - 旅行好きなソフトエンジニアの備忘録)。 この時上図の青丸をクリックするとが得られます。ただ、拡大表示する前の座標はなので、拡大表示した状態で青丸をクリックしてもという座標が欲しい、というのが今回やりたいことになります。 幸い以前ブログに書いた方法で拡大表示していたとすると、拡大表示するために利用した行列を参照できるので、この行列を利用すればやりたいことは実現できます。画像を表示するために使ったImageの名前をImage1にしたとすると、行列は以下の手順で取得できます。 // 拡大表示のために利用した行列を取得 var matrix =
照明ムラがある環境下で二値化を行い対象物を抽出しようとする場合、普通に二値化処理を行うと大抵上手く抽出できません。 下の画像はその例で、画像上部が明るめ、画像下部が暗めのになっています。この画像から米粒を抜き出そうとして大津の方法を適用すると、照明ムラの影響を受けて上手く抽出できていないことが分かります。 このような時の対処法の例がMathWorksのホームページに掲載されており、今回はOpenCVで実装します。 jp.mathworks.com // 画像をグレースケールで読み込む Mat gray; imread("non_uniform_illumination_example.png", IMREAD_GRAYSCALE).copyTo(gray); if (gray.empty()) { throw runtime_error("Failed to open image"); }
ディープラーニングを用いたMetric Learningの一手法であるArcFaceで特徴抽出を行い、その特徴量をUmapを使って2次元に落とし込み可視化しました。KerasでArcFaceを用いる例としてメモしておきます。 qiita.com qiita.com 実装は以下を引っ張ってきました。元とほぼ一緒なのですが一部以下の変更を入れています。 github.com archs.pyの簡素化 from keras.models import Model from keras.layers import Dense, Conv2D, BatchNormalization, Activation from keras.layers import Input, MaxPooling2D, Dropout, Flatten from keras import regularizers from
PyTorch版のYOLO v3を作っている人がいたので試してみようと思っています。 github.com ただ、Trainにデータ拡張が入っていないのでデータ拡張ロジックを追加したいと思ったところ、 Albumentationsというライブラリを見つけました。 github.com 物体検出やセグメンテーションにも利用可能そうなので早速試してみました。 使い方は以下を実施すれば良さげです。 Composeを作って、Composeの中に実施したいデータ拡張を記述 Composeに画像、ラベル、クラスIDを含むディクショナリを投入 以下はComposeを作るコードになります。 from albumentations import Compose from albumentations.augmentations.transforms import Resize, HorizontalFlip
ANOGAN, ADGAN, Efficient GANといったGANを用いて異常検知する手法が下記にまとめられています。 habakan6.hatenablog.com ADGANとEfficient GANはANOGANを改良した手法になるようです。そのため手法の概念を学ぶには ANOGANを勉強すれば良さげです。初め解説読んでも良く分からなかったのですが、 ソースを探してコードを読むとイメージが掴めました(リンク先に韓国語が出てきてビックリしますが ページ下の方にスクロールすれば英語が出てきます)。 github.com ANOGANがやっていること ステップ1 (学習)正常画像のみを使ってDCGANをトレーニングする 正常画像のみを使ってDCGANをトレーニングすると、 DCGANはzから正常画像にそっくりな画像を生成する能力を持つことになります。 ステップ2 (予測)与えられた画
ここ(Daimler Pedestrian Segmentation Benchmark)から取得できるデータセットを使って、写真から人を抽出するセグメンテーション問題を解いてみます。U-Netはここ( U-Net: Convolutional Networks for Biomedical Image Segmentation )で初めて発表された構造と思いますが、セグメンテーション問題にMax Poolingを使うのは良くないといった話があったり、Batch Normalization等も使いたいということで、pix2pixのGeneratorとして利用されているU-Net構造のネットワークを利用します。 github.com 実行環境は以下になります。 Windows10 64bit Python3.5.2 Keras2.0.4 BackendはTensorflow CPU版 まずは
特異スペクトル解析法をPythonで実装したのでメモします。書籍「信号解析 馬杉著」からの引用ですが、 特異スペクトル解析法(singular spectrum analysis)は、観測信号からの主要な変動成分の分離・抽出、観測信号の変化点や不規則点の検出、観測信号からの雑音除去などを目的として、非線形信号解析分野において発展した解析手法の一つである。フーリエ級数展開やウェーブレット級数展開のように、特定の基底関数を適用したり、あるいは、ARモデルのような特定のモデルを仮定せずに、信号の構造変化そのものを解析するため、非定常信号の分離に向いている。 これをSingularSpectrumAnalysisクラスとしてpythonで実装します。 import numpy as np class SingularSpectrumAnalysis(object): """特異スペクトル解析法を行
KerasのConv2Dを使う時にpaddingという引数があり、'valid'と'same'が選択できるのですが、これが何なのかを調べるとStackExchangeに書いてありました(convnet - border_mode for convolutional layers in keras - Data Science Stack Exchange)。 'valid' 出力画像は入力画像よりもサイズが小さくなる。 'same' ゼロパディングすることで、出力画像は入力画像と同じサイズになる。 ゼロパディングすることのメリットについてはここ(定番のConvolutional Neural Networkをゼロから理解する - DeepAge)に書いてあります。 端のデータに対する畳み込み回数が増えるので端の特徴も考慮されるようになる 畳み込み演算の回数が増えるのでパラメーターの更新が多
このページを最初にブックマークしてみませんか?
『旅行好きなソフトエンジニアの備忘録』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く