kentaPtの日記

主に画像解析のことなどの勉強記録として投稿します。もし何かございましたら、github (https://github.com/KentaItakura)などからご連絡いただけると幸いです。

2022-01-01から1年間の記事一覧

重回帰分析の勉強&実装による検算をしてみよう

この記事は、MATLABアドベントカレンダー(その2)の6日目の記事として書かれています。 qiita.com 1 はじめに 前回の記事では、1つの変数のみで、線形回帰(単回帰)を行うときの、数式の導出や自身の実装による検算を行いました。 線形回帰(単回帰分析)…

iPhone LiDARで取得した3次元点群の境界を書き出してみよう

この記事は、MATLABアドベントカレンダー22日目の記事として書かれています。 qiita.com この記事の前編として以下の記事も投稿しています。ぜひご覧ください。 kentapt.hatenablog.com この記事では、iPhone LiDARで取得した3次元点群をMATLABにて読み込み…

深層学習を用いた物体検出の手法(YOLOv2)についてのまとめ

この記事は、MATLABアドベントカレンダー(その2)の21日目の記事として書かれています。 qiita.com はじめに この記事では、物体検出の有名な手法である、YOLOv2について説明を行います。物体検出の手法を用いて、以下のように画像中から対象を自動的に検出…

iPadで数式を書いて、MATLAB livescriptでブログ記事を書いてみよう

この記事は、MATLABアドベントカレンダー(その2)の19日目の記事として書かれています。 qiita.com はじめに 私が数式を含むブログ記事を投稿するときの手順を紹介したいと思います。あくまで私が気に入っている方法であり、他にもよい方法があると思います…

サポートベクトルマシンを理解するうえで重要なカーネル法に関して勉強してみよう

この記事は、MATLABアドベントカレンダー(その2)の11日目の記事として書かれています。 qiita.com 本記事の執筆にあたっては、 赤穂先生の「カーネル多変量解析」を非常に参考にさせていただきました。 カーネル多変量解析―非線形データ解析の新しい展開 (…

t-SNEの勉強メモ

この記事は、MATLAB/Simulink Advent Calendar 2022の6日目の記事として書かれています。 qiita.com 1章 はじめに t-SNEと呼ばれる方法を用いて、高次元データを、2次元平面や3次元空間にプロットすることができます。 例えば、以下の図は、MNISTという0から…

線形回帰(単回帰分析)を1から実装して理解を深めてみよう: つづき

この記事は、MATLABアドベントカレンダー(その2)の5日目の記事として書かれています。 qiita.com 1 はじめに 前回の記事では、以下のように、線形回帰(単回帰分析)を行った時の、式の傾きや切片の求め方についてまとめました。 kentapt.hatenablog.com …

線形回帰(単回帰分析)を1から実装して理解を深めてみよう

この記事は、MATLABアドベントカレンダー(その2)の4日目の記事として書かれています。 qiita.com 1 はじめに 以下の図のように、エクセルなどで、直線で回帰(フィッティング)した経験がある方も多いかもしれません。 以下の図では、y = 0.33x + 50.2 と…

iPhone LiDARで取得した3次元点群を地図上にプロットしてみよう

この記事は、MATLABアドベントカレンダー3日目の記事として書かれています。 qiita.com この記事では、iPhone LiDARで取得した3次元点群をMATLABにて読み込み、さらに、地図(地球)上で可視化する方法について紹介します。言語はMATLABを使用します。 3次元…

FLIRカメラで取得した熱画像をRGB画像に変換してみよう

1. はじめに この記事では、FLIR社の赤外線カメラを用いて、取得した画像をRGB画像に変換する方法について述べます。ここでは、Pythonを用います。 赤外線カメラの詳細や、そのカメラの応用事例については以下のページが参考になりました。 atcl-dsj.com 本…

voxelPlotterを利用して、点群とグリッドを重ね合わせてみよう

この記事では、以下のように、3次元点群にグリッドを重ね合わせて表示する方法について紹介します。メインのコードである、VoxelPlotter.mは、以下のMATLAB Centralにて公開されているものを参考にしました。 jp.mathworks.com メインコード アイデアとして…

argparseの使い方についてのメモ:Python編

前回のMATLAB編に続き、Python編です。こちらのPython編では、簡単な例にとどめます。 MATLAB編は以下のリンクからアクセスできます。 kentapt.hatenablog.com 今回のPythonコードは以下に保存されています。 github.com argparseを用いた簡単なPythonコード…

argparseの使い方についてのメモ:MATLAB編

MATLABであれば、livescript、Pythonであれば jupyternotebook (lab)といった、対話型の開発環境を筆者は使うことが多いのですが、コマンドラインで、引数を指定して実行できるようにする機会も多くあります。そこで、MATLABやPythonで、そのような指定(arg…

exiftoolを用いて写真の位置情報を変更してみよう

この記事では、exiftoolを用いて、動画や画像のメタ情報の閲覧や、編集を行う方法について述べます。 画像のメタ情報の例 Windowsで画像上を右クリックし、プロパティを表示させると、以下のように画像の情報(例:画像のピクセル数やカメラ名、カメラの焦点…

サブフォルダも含めてファイル一覧を取得する

1. はじめに この記事では、特定のフォルダの中に存在するファイルを、サブフォルダも含めて取得する方法についてメモを残します。 ここで用いたコードやファイルは以下のページにアップロードしています。 github.com 2. コードについて 2.1. MATLAB dir関…

サポートベクターマシン(SVM)の分離平面の可視化 (Python, MATLAB)

この記事では、サポートベクトルマシン(SVM)を用いて、分類を行ったときの、分離のための超平面を可視化することを行います。PythonとMATLABにて書いてみたいと思います。ここでは、3つの変数を説明変数として用いて、3次元プロットによる可視化を行います…

PythonからPDFを画像に変換&画像からPDFに変換する方法のメモ

この記事では、Pythonを用いて、PDFファイルを読み込んで、画像に変換すること、さらに、画像からPDFに変換する方法について調べたのでメモとして残したいと思います。 ここでのスクリプトで特定のことをしたいわけではなく、Pythonを用いたPDFの読み込み、…

Pythonのsubprocessモジュールの実行について

1. はじめに Pythonのsubprocessの使い方について、自分用のメモとして残したいと思います。subprocessの使い方に関しては、以下のYOUTUBEがわかりやすかったです。subprocessでは、 マルチプロセスによる計算を行う Pythonからbashやコマンドプロンプトなど…

文字列・数値に対してゼロ埋めをし、000123.jpgのような文字列を作成する(ゼロパディング)

数字の表記を、1234ではなく、001234のように特定の数字などで埋めたい場合があると思います。この記事では、MATLABとpythonにおけるコードについて自分用のメモとして残したいと思います。例えば、 123, 18, 1931...のように桁数の違う数字を含むファイル名…

シェルスクリプト内で、Conda環境をアクティベートし、実行する方法に関するメモ

1. はじめに Windowsのバッチファイルのように、Ubuntu上で、複数のpythonのスクリプトをまとめて実行したいなと考えました。condaを用いて環境構築をしていたため、その環境も呼び出したうえで、複数のスクリプトを実行します。本稿はその方法についての備…

Linux (Ubuntu)でMATLABを使用する際、Windowsのショートカットキーを割り当てる方法について

1. はじめに LinuxでMATLABを使用する際、デフォルトではWindowsと異なるショートカットキーが割り当てられていたため、不便でした。コピーやペーストなどのショートカットキーをWindows版のMATLABと同じように設定したいと思いました。 2. 方法 ホームタブ…

EC2の接続時に"Permissions for 'error.pem' are too open. It is required that your private key files are NOT accessible by others."というエラーが出る

以下のようなエラーの対処に対する備忘録です。AWSのEC2で計算する際、EC2インスタンスに接続する際に以下のようなエラーが出ました。OSはWindowsを使っていました。 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@…

MATLABのNormalize関数で使った平均と標準偏差を保持して、未知データに対しても同じ演算をする+もとのスケールに戻す

データ分析において、対象のデータをスケーリングしたい場合、例えば、平均0・分散1になるよう変換する場合が多いと思います(標準化)。MATLABでは、normalize関数を用いれば1行で済むため、非常に便利です。しかし、同様の式を用いて、別のデータも標準化…

深層学習と物体追跡の手法を用いた梨の果実個数カウンティング

共同研究先のはてなブログに、私の過去の取り組みを投稿しました。 この記事の内容について、ご興味がございましたら気軽にご連絡いただければ幸いです。 techblog.culta.jp

画像の2値化の方法を数式から理解したい

1 はじめに 2 2値化の方法について 2-1 2値化の方法のイメージ 2-2 クラス内の分散について 2-3 クラス間の分散について 2-4 全分散について 2-4-1 全分散=クラス内分散+クラス間分散? 2-5 閾値の決定について 3 まとめ 参考文献 1 はじめに この記事では…

主成分分析 (Principal Component Analysis: PCA)を簡単に、かつわかりやすく説明したい

0章:はじめに この記事では、主成分分析や統計に関して初心者の方でも直感的に、かつある程度数式も合わせて理解できるようになることを目指しています。 筆者の勝手な理解をベースに執筆しているため、一部、曖昧な/厳密でない 表現があるかもしれません。…

PR曲線による平均適合率の計算について勉強&自分で書いて確認してみた

この記事では、物体検出を行ったときの精度の指標である、平均適合率について扱います。 この記事を執筆するにあたって、原田達也先生の「画像認識」の7.7.2 平均適合率を参考にいたしました。詳しくはこの本をご参照ください。 はじめに ここでいう物体検出…

Directions API (Google Maps Platform) を jupyter notebookからコールしてルート間の距離と所要時間を取得する

この記事では、Directions API(Google Maps Platform) を jupyter notebookからコールして、京セラドームから大阪環状線の各駅までの距離と所要時間を自動的に取得する方法について勉強したのでここにまとめたいと思います。 例えばスマホにインストールした…