Pynote

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

Deep Learing - MS COCO データセットの概要

概要 MS COCO データセットの取得方法と MS COCO API の使い方について紹介する。 概要 MSCOCO データセット MS COCO データセットのダウンロード MSCOCO API をインストールする。 MSCOCO API の使い方 用語 COCO オブジェクトを作成する。 カテゴリ ID を…

Deep Learning - Augmentor で画像のデータセットを水増し (オーグメンテーション) する。

概要 画像データをオーグメンテーションするライブラリ Augmentor の使い方について紹介する。 概要 関連記事 インストール 基本的な使い方 入出力の方式 入力画像の枚数と同じ枚数生成する。 n 枚生成する。 ディレクトリから読み込む代わりに配列を渡す。 …

OpenCV - ハフ変換 (Hough Transform) で円を検出する方法 (HoughCircles)

概要 OpenCV の関数 HoughCircles で画像から円を検出する方法について紹介する。 概要 関連記事 HoughCircles サンプルコード ipywidget

OpenCV - ハフ変換 (Hough Transform) で直線を検出する方法

概要 OpenCV でハフ変換 (Hough transform) で画像から直線を検出する方法について紹介する。 概要 HoughLines サンプルコード 2値化する。 ハフ変換で直線検出する。 描画する。 ipywidget HoughLinesP ipywidget ハフ変換の仕組み 任意の直線は、 で表せる…

OpenCV - Canny 法で画像からエッジを検出する。

概要 OpenCV でCanny 法で画像からエッジを検出する方法について紹介する。 概要 Canny エッジ検出 OpenCV サンプルコード パラメータ調整について ipywidget

OpenCV - 画像の明るさやコントラストを変更、ガンマ補正など

概要 OpenCV で画像の明るさやコントラストを変更する方法について紹介する。 概要 積和演算で明るさ、コントラストを変更する。 コード 各パラメータによる結果 ipywidget で変更する。 ガンマ補正 コード 各パラメータによる結果 ipywidget で変更する。

pandas - 欠損値 (NaN) を扱う関数 まとめ

概要 pandas の欠損値 (NaN) を扱う関数を紹介する。 概要 一覧 count: NaN でない値を数える。 isna: NaN かどうかを判定する。 notna: NaN でないかどうかを判定する。 dropna: NaN の要素を削除する。 fillna: NaN の要素を指定した値で置換する。 interp…

pandas - 重複データを処理する関数 まとめ

概要 pandas の重複データを処理する関数を紹介する。 概要 一覧 Series.is_unique: 重複する値がないかどうかを返す。 Series.unique, Series.drop_duplicates, DataFrame.drop_duplicates: 重複する値を削除する。 Series.nunique, DataFrame.nunique: 重…

pandas - where、mask で条件に該当する要素を置換する。

概要 pandas の where、mask 関数について紹介する。 概要 Series.where cond の指定方法 inplace で置換する。 DataFrame.where cond の指定方法 inplace で置換する。 Series.mask DataFrame.mask

pandas - 総和、総乗、累積和、累積積、累積的な最小値、累積的な最大値

概要 pandas の総和、総乗、累積和、累積積、累積的な最小値、累積的な最大値を計算する関数について紹介する。 概要 一覧 sum: 総和を計算する。 prod: 総乗を計算する。 cumsum: 累積和を計算する。 cumprod: 累積積を計算する。 cummin: 累積的な最小値 c…

pandas - 統計量を計算する関数

概要 pandas の統計量を計算する関数を整理する。 順序統計量 DataFrame Series numpy 説明 DataFrame.max Series.max amax 最小値を計算する。 DataFrame.min Series.min amin 最大値を計算する。 DataFrame.idxmax Series.idxmax numpy.argmin 最小値のイ…

pandas - 基本的な関数 まとめ (比較演算、四則演算、絶対値、クリップ、etc)

概要 pandas の比較演算、四則演算、絶対値、クリップなどの関数を整理する。 概要 演算は同じインデックス同士で行われる。 四則演算、累乗、剰余 比較演算子 絶対値、内積、行列積、丸め、クリップ Series.abs、DataFrame.abs Series.dot、DataFrame.dot S…

pandas - head、tail で DataFrame の一部を表示する。

概要 pandas の head、tail の使い方を紹介する。 概要 サンプルの DataFrame DataFrame.head DataFrame.tail Series.head Series.tail

pandas - apply、applymap、map, pipe の使い方

概要 pandas の apply、applymap、map の使い方を紹介する。 概要 DataFrame.apply 行ごとに関数を適用する。 列ごとに関数を適用する。 raw: 関数に pandas.Series として渡すか、numpy 配列として渡すか 関数に追加の引数を渡す。 返り値の形状 DataFrame.…

Jupyter Notebook / Jupyter Lab で画像をインラインで表示する方法

概要 Jupyter Notebook / Jupyter Lab で画像をインラインで表示する方法を紹介する。 概要 numpy 形式の画像 PIL 形式の画像

pandas - cut() でビン分割を行う方法

概要 pandas の cut() でビン分割を行う方法を紹介する。 概要 ビン分割 cut() bins: ビンの指定方法 整数の場合 1次元配列を指定した場合 IntervalIndex を指定した場合 right: ビンの区間を左半開区間とするか、右半開区間とするか labels: 返り値を値が属…

pandas - melt() でデータフレームを横持ちから縦持ちに変換する。

概要 pandas の melt() でデータフレームを横持ちから縦持ちに変換する方法を紹介する。 概要 横持ち、縦持ち melt() - 横持ちから縦持ちに変換する。(unpivot) 例 データフレームを用意する。 横持ちから縦持ちに変換する。(unpivot)

画像認識 - face_recognition ライブラリで顔認識を試す。

概要 face_recognition ライブラリを使って、顔認識を行う方法を紹介する。pynote.hatenablog.com Github ドキュメント 概要 顔認識 顔の特徴

Python - データの各サンプル同士の距離行列を作成する方法について

概要 データの各サンプル同士の距離行列を作成する方法について紹介する。 概要 キーワード 距離行列 データを作成する。 距離行列を作成する。 距離行列を可視化する。 距離行列からわかること 入力及び距離関数について 各サンプルから距離が最も近いサン…

OpenCV - 画像にモザイクをかける方法について

概要 OpenCV を使用して、モザイク処理を行う方法を紹介する。 概要 モザイク処理をする方法 画像の一部にモザイクをかける。 顔検出して、モザイク処理を行う。

画像処理 - face_recognition ライブラリで顔検出を試す。

概要 顔認識が行える face_recognition ライブラリを紹介する。 dlib という機械学習ライブラリをラップする形で構築されており、最先端の顔認識技術を簡単に利用することができる。 Github ドキュメント 概要 インストール 顔検出 基本的な使い方 検出に CN…

グラフ理論 - グラフ理論の用語まとめ

概要 グラフ理論における用語を整理する。pynote.hatenablog.com 概要 部分グラフ、全域部分グラフ、誘導部分グラフ 完全グラフ 空グラフ 2部グラフ、n 部グラフ 道、閉路、車輪 補グラフ 歩道 連結グラフ 距離、離心数、半径、直径、中心 森、木 向きつけ …

グラフ理論 - ダイクストラ法について

概要 グラフ理論で重み付きグラフの最短経路問題を解くアルゴリズムであるダイクストラ法について紹介する。 概要 最短経路問題 ダイクストラ法 ダイクストラ法の仕組み アルゴリズム アルゴリズムの動作例 実装例 networkx networkx の関数を使う場合 参考

networkx - 点の位置を指定して、グラフを見やすく表示する方法について

概要 networkx で作成したグラフを graphviz で描画する場合に、点の位置を指定することで見やすいグラフを作成する方法について紹介する。 概要 自動で点をレイアウトする。 明示的に点の位置を指定する。 サンプル 完全グラフ 2部グラフ 回路 空グラフ 2次…

スクレイピング - Beautiful Soup の DOM ツリーの編集方法 まとめ

概要 Beautiful Soup の DOM ツリーの編集方法について 概要 要素名を変更する。 属性を変更、追加、削除する。 値を変更する。 子を追加する。 要素を挿入する。 子孫ノードを削除する。 指定した要素及びその子孫を DOM ツリーから取り除いて、返す。(pop …

スクレイピング - Beautiful Soup の find(), find_all() を使った要素の検索方法 まとめ

概要 Beautiful Soup の DOM ツリーの検索方法について 概要 関連記事 ツリー構造の操作 find_all()、find() 基本的な使い方 指定した名前の要素を取得する。 指定した属性を持つ要素を取得する。 指定した値を持つ要素を取得する。 返り値の要素数の上限を…

OpenCV - 画像処理のパラメータを決めるには、ipywidgets が便利

概要 OpenCV で各種画像処理を行うためには決めなければならないパラメータがいくつか出てくる。 Notebook 上でスライダーやプルダウンメニューを使えるようにする GUI ウィジェットである ipywidgets を組み合わせることで、画像処理の結果を確認しながら、…

Python - JupyterLab の便利な拡張を紹介

概要 JupyterLab を使う上で入れておきたい便利な拡張機能を紹介する。 概要 関連記事 nodejs をインストールする。 コードの自動整形 数式レンダリングに MathJax ではなく、Katex を使う。 定義されている変数の中身を確認する。 Notebook 上に GUI ウィジ…

Python - JupyterLab でコードの自動整形を行う方法について

概要 JupyterLab にコードの自動整形を行う拡張「jupyterlab_code_formatter」を導入する方法について紹介する。JupyterLab の紹介及び使い方については以下の記事を参照されたい。pynote.hatenablog.com 概要 nodejs をインストールする。 拡張をインストー…

Python - Jupyter Notebook の後継、Jupyter Lab のインストールと使い方

概要 Jupyter Notebook の後継、Jupyter Lab の使ってみたら便利だったので紹介する。 概要 Jupyter Lab とは テーマの公式対応 Visual Studio Code ライクな設定画面 拡張機能の公式対応 タブ機能 分割表示機能 インストール 起動及びブラウザからのアクセ…