Pynote

Python、機械学習、画像処理について

Python - os.path を使ったファイルパス操作 チートシート (頻出パターンまとめ)

概要 os.path モジュールを使用した頻出パターンを紹介する。 概要 インポート 指定したパスの絶対パスを取得する。 指定したパスのファイル名を取得する。 パス一覧の共通するパスを取得する。 パス一覧の共通部分を取得する。 親ディレクトリを取得する。 …

Python - itertools チートシート (頻出パターン)

概要 itertools モジュールを使用した頻出パターンを紹介する。 概要 itertools の import 等間隔の値を返すイテレータを作成する。 初項だけ指定する。 初項と公差を指定する。 配列を無限に繰り返すイテレータを作成する。 同じ値を繰り返すイテレータを作…

Python - リスト操作 チートシート (頻出パターンまとめ)

概要 Python のリスト操作の頻出パターンをまとめた。 概要 リストを初期化する。 空のリストを作成する。 値を追加する。 リストの先頭に値を追加する。 リストの末尾に値を追加する。 リストに値を挿入する。 2つのリストを結合する。 リストから要素を削…

OpenCV - アルファブレンドで画像を合成する方法

概要 OpenCV で2枚の画像をアルファブレンドして合成する方法を紹介する。 概要 アルファブレンドとは OpenCV を利用したアルファブレンド サンプルコード 矩形外をグレーアウトする。

matplotlib - アニメーションするグラフを作成する

概要 matplotlib でアニメーションするグラフを作成する方法を紹介する。 概要 各フレームを予め作成する。 animation.ArtistAnimation サンプル 複数の Axes がある場合 オンラインでフレームを生成する。 animation.ArtistAnimation サンプル

matplotlib - 2変数関数を3Dで可視化する。

概要 matplotlib で2変数関数を可視化する方法を紹介する。 概要 ワイヤーフレームでグラフを作成する。 ポリゴンでグラフを作成する。 点でグラフを作成する。 等高線を作成する。 等高線を作成する。(同じ高さを塗りつぶす)

matplotlib - 散布図を作成する。

概要 matplotlib で散布図を作成する方法について紹介する。 概要

matplotlib - 円グラフを作成する。

概要 matplotlib で円グラフを作成する方法について紹介する。 概要 一部の項目を強調する。 最初の項目をどの角度から始めるかを設定する。 影を設定する。

matplotlib - 色の指定方法を整理する。

概要 matplotlib の color 引数での色の指定方法を整理する。 概要 ANSIカラーで指定する。 グレースケールで指定する。 ANSIカラーで指定する。 HTMLカラーネームで指定する。 RGBで指定する。

Jupyter Notebook - jupyterthemes で見た目をカスタマイズする。

概要 Jupyter Notebook のテーマやフォントを簡単に変更できるライブラリ jupyterthemes の使い方を紹介する。 概要 インストール方法 テーマ一覧を表示する。 chesterish grade3 gruvboxd gruvboxl monokai oceans16 onedork solarizedd solarizedl テーマ…

matplotlib - 折れ線グラフを作成する。

概要 matplotlib で折れ線グラフを作成する方法について紹介する。 概要 1つの Axes に2つの折れ線グラフを作成する。 線の幅を設定する。 線のカスタマイズ 線の色を設定する。 ダッシュ線の空白の間隔を設定する。 点同士の結び方を設定する。 点のカスタ…

matplotlib - 棒グラフ / 積み上げ棒グラフを作成する。

概要 matplotlib で棒グラフを作成する方法について紹介する。 概要 棒グラフを作成する。 棒の幅を設定する。 積み上げ棒グラフを作成する。 棒グラフの位置を設定する。 棒グラフの色を設定する。 棒グラフの枠線の色を設定する。 棒グラフの枠線の幅を設…

matplotlib - カラーマップについて

概要 matplotlib のカラーマップについて紹介する。 概要 カラーマップ 使い方 Sequencial (連続) Diverging (発散) Cyclic (周期) Qualitative (定性) カラーマップ一覧を生成したコード

OpenCV - 輪郭を近似する、面積を求める、Bounding Box を求める方法について

概要 FindContours() で抽出した輪郭に対して行う以下の処理を紹介する。 輪郭をより少ない点で構成される輪郭で近似する。 輪郭を囲む長方形を求める。 輪郭を囲む回転した長方形を求める。 輪郭の面積を求める。 概要 輪郭を抽出する。 輪郭を近似する。 …

matplotlib - 日本語のテキストを使う方法について

概要 matplotlib で日本語のテキストを表示する方法について紹介する。 概要 日本語を使おうとすると文字化けする。 日本語フォントを導入する。 (Ubuntu) matplotlib の設定ファイルを編集する。 キャッシュを削除する。 確認する。 うまくいかない場合

OpenCV - 画像をリサイズする方法

概要 OpenCV で画像をリサイズする方法について紹介する。 概要 resize() 基本的な使い方 アスペクト比を固定して、幅が指定した値になるようリサイズする。 アスペクト比を固定して、高さが指定した値になるようリサイズする。 指定した大きさまたは倍率で…

OpenCV - findContours() による輪郭抽出

概要 2値画像から findContours() を使用して輪郭抽出を行う方法について紹介する。 概要 findContours() サンプルコード mode 引数 hierarchy の構造 cv2.RETR_EXTERNAL cv2.RETR_LIST cv2.RETR_CCOMP cv2.RETR_TREE method 引数 参考

matplotlib - 図に複数のグラフを追加する方法

概要 matplotlib で図に複数のグラフを追加する方法について紹介する。 一つの Figure に複数の Axes を追加するには、plt.subplot()、plt.subplots()、Figure.add_subplot() または Figure.subplots() を使用する。 概要 plt.subplot() nrows, ncols, index…

matplotlib - matplotlib の使うために理解するべき基本要素

概要 matplotlib のアーキテクチャについて紹介する。 概要 3つのレイヤー backend レイヤー Artist レイヤー Script レイヤー 1. pyplot モジュールをインポートした際、ファイルからデフォルト設定を読み込む。 2. ヒストグラムを描画する。 3.タイトルを…

OpenCV - Non Maximum Suppression について

概要 物体検出で用いられる Non Maximum Suppression の仕組み及び実装について紹介する。 概要 Non Maximum Suppression 短形の表現 Overlap Ratio Non Maximum Suppression の処理 閾値の設定 実装 モジュールを import する。 画像を読み込む。 短形を描…

Keras - CNN の畳み込み層の重みや特徴マップを可視化する方法

概要 Deep Learning で用いられるプーリングの仕組み及び種類を紹介する。 概要 手順 モジュールを import する。 画像を読み込む。 モデルを作成する。 中間層の特徴マップを返す関数を作成する。 中間層 (畳み込み層) の特徴マップ及び重みを取得する。 特…

Deep Learning - プーリングについて

概要 Deep Learning で用いられるプーリングの仕組み及び種類を紹介する。 概要 プーリング層 プーリングの種類 Max Pooling Average Pooling Global Max Pooling Global Average Pooling

Deep Learning - 活性化関数

概要 Deep Learning で用いられる活性化関数 (activation function) の種類を紹介する。 概要 ステップ関数 ランプ関数 / ReLU シグモイド関数 ソフトサイン関数 ソフトプラス関数 恒等関数 双曲線関数 / tanh Scaled Exponential Liner Units (SELU) Expone…

Deep Learning - 記事一覧

About Deep Learning に関する記事一覧。 一覧 基本 順伝播型ニューラルネットワーク 順伝播型ニューラルネットワークの数式表現 活性化関数 逆伝播法 / バックプロパゲーション 逆伝播法の数式表現 畳み込みニューラルネットワーク (CNN) Keras ImageDataGe…

Deep Learning - 畳み込みニューラルネットワーク (CNN) について

概要 Deep Learning の畳み込みニューラルネットワーク及び畳み込み層について紹介する。 概要 CNN 畳み込み層 全結合層との違い 畳み込み層の出力数 畳み込み層の各ニューロンの入力 畳み込み層の各ニューロンの出力 パディング ストライド 参考

OpenCV - フィルタリング / 畳み込みについて

概要 フィルタリングは、画像処理の分野で画像から特徴を抽出したり、画像の性質を変化されるために行われる処理である。 フィルタリングの仕組み及び OpenCV を利用したコードを紹介する。 概要 フィルタリング 数式による表現 フィルタリングの例 OpenCV …

Deep Learning - 逆伝播法の数式表現

概要 下記記事で紹介した逆伝播法を数式で表現することで、仕組みを理解する。pynote.hatenablog.com 概要 記号の定義 入力が1つの場合 第 層のデルタ 重みに関する偏微分係数 バイアスに関する偏微分係数 ニューラルネットワーク全体の式 ミニバッチの場合 …

Deep Learning - 逆伝播法

概要 ニューラルネットワークの学習は損失関数を最小化することで行われる。 最小化は勾配降下法により行われるが、このアルゴリズムを実行するには損失関数 に対する重み の勾配を求める必要がある。 逆伝播法またはバックプロパゲーション (back propagati…

Deep Learning - 全結合型ニューラルネットワークの数式表現

概要 下記記事で紹介した全結合型ニューラルネットワークを数式で表現することで、仕組みを理解する。pynote.hatenablog.com 概要 記号の定義 入力が1つの場合 第 層の入力 第 層の出力 ニューラルネットワーク全体の式 ミニバッチの場合 第 層の入力 第 層…

Deep Learning - 順伝播型ニューラルネットワーク

概要 ニューラルネットワーク (neural network) は、生物の脳の神経回路網を参考に考案された数学モデルである。 ニューラルネットワークはあくまで数学モデルであり、実際の脳の仕組みを忠実に再現しているものではない。しかし、継続的な研究のおかげで、…