社会人研究者が色々頑張るブログ

pythonで画像処理やパターン認識をやっていきます

pytorch

Python+Pytorchでイラストの生成

はじめに ブログを執筆したり職場で研究内容を人に伝える際に、積極的にイラストを用いるようにしています。 イラストを用いる事で、言葉で伝えるにはややこしい内容であっても、直感的に理解してもらえる事が多いためです。 しかしながら僕は,単純な図表な…

CHWとHWCの相互変換

やりたいこと opencvの画像は縦(Height)×横(Width)×チャンネル(Channel)のいわゆるHWC形式になっています。 それとは異なり、pytorchの画像ではチャンネル(Channel)×縦(Height)×横(Width)のCHW形式になっています。 numpy arrayとtorch tensorにおいて、HWC…

Pytorchでグレースケール画像の着色

はじめに pytorchでGANをやっているのですが、乱数源から顔画像を生成するtutorialを繰り返すのも芸がないので、白黒画像(グレースケール)からカラー画像を復元するタスクをやろうと思いました。 今回は、GANで取り組む前にPix2Pixという教師ありの画像生…

PytorchによるGAN(1):全体像の把握

GAN GAN(generative adversarial networks)[1]とは、2014年に登場したNeural Networkの学習スキームです。 一般的なNeural Networkは入力ベクトルとそれに対応する正解ベクトルの写像(対応)関係を回帰する学習を行うのですが、GANでは敵対的学習という画期…

PytorchによるImage Segmentation(3)

はじめに nsr-9.hatenablog.jp PytorchによるU-NetのImage Segmentationの続きです。 前回はDataLoader部分を実装したので、今回はLoss Functionを実装して実際に学習、推論をやっていきます。

PytorchによるImage Segmentation(2)

はじめに nsr-9.hatenablog.jp この記事の続きです。 Pytorchを用いてU-NetのImage Segmentationをやっていきます。 前回はU-Netのモデルを定義したので、今回はDataLoader部分を作っていきます。

index画像からone-hotベクトル画像を作る方法

やりたいこと Image Segmentationはpixel単位でカテゴリIDを予測するタスクです。 教師画像の形式はLoss関数の関係上、カテゴリIDをそのまま扱うのではなく、One-Hot-Vectorで扱います。 One-Hot-VectorはカテゴリIDを2進数の様に扱うデータ表現であり、Neur…

PytorchによるImage Segmentation(1)

はじめに Image Segmentationは画像を領域ごとに分割する技術であり、Conputre Vision技術の中でも特に汎用性の高い技術です。 応用範囲は非常に広く、医療画像解析や自動運転技術、工場の自動化、ロボティクス等々の様々な分野に応用されています。 以下に…

pytorchのお勉強(6):GPUの利用

はじめに Pytorchのお勉強の続きです。 前回までに学んだ内容でDeepNeural Networkでやりたい一通りの事はできるようになりましたが、肝心のGPUを用いた高速化を学んでいませんでした。 GPUはGraphic Processing Unitと呼ばれる並列計算が得意な演算装置です…

pytorchのお勉強(5):モデルの保存と推論

はじめに pytorchのお勉強の続きです。 今回は学習したモデルの保存と、そのモデルを読み込み実際に推論を行います。

pytorchのお勉強(4):ネットワークの学習

はじめに pytorchのお勉強の続きです。 今回は読み込んだデータセットを用いてモデルを学習していきます。 pytorchでCNNの学習システムを開発する際の全体像を以下に示します。 今回勉強する所はピンク色の矩形で囲んだ部分です。

pytorchのお勉強(3):オリジナルのデータセット読み込み

はじめに pytorchのお勉強の続きです。 今回は学習するデータセットを読み取る所を学びます。 pytorchでCNNの学習システムを開発する際の全体像を以下に示します。 この画像で言うと、ピンクで囲った部分が前回までに勉強した部分で、青色の囲った部分が今回…

pytorchのお勉強(2):誤差逆伝播とパラメタの更新

はじめに pytorchのお勉強の続きです。 今回は定義したNetworkにデータを与えてネットワークを学習する所を学んでいきます。 今回もこのチュートリアルサイトを参考にしています。

pytorchのお勉強(1):インストールとネットワークモデルの定義

はじめに 現代でComputer Visionの研究を行うならば、Deep Neural Network(DNN)の活用は必要不可欠になっています。 僕もその例に漏れず、普段からDNNのpythonライブラリを使用し研究活動を行っています。 DNNのpythonライブラリは様々なものがありますが…