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

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

液体レンズの試作(1)

はじめに

液体レンズとは、透明な液体で構成されたレンズの事で、電圧や力学的な力を加える事で屈折率を変えるレンズです。
少ないエネルギーで焦点距離を自由に変更できる為、産業用カメラやスマートフォン、次世代のメガネ等々への応用が期待される面白い技術です。

www.youtube.com

液体レンズの研究の中でも特に興味深い研究は石川研究室の、ダイナモルフレンズです。

www.youtube.com

圧電素子と呼ばれる電気を流すと振動する素子を用いて、高速に焦点距離(液体の曲率)を変更できる液体レンズを試作しています。
また、焦点距離の高速調整機能を使って次のような衝撃的なデモを行っていました。

www.vision.ict.e.titech.ac.jp

今回は、この液体レンズを作ってみたいと思います。

続きを読む

Image Registrationによる外観検査

はじめに

前回、位相限定相関法によるImage Registration手法で遊んでみました。
nsr-9.hatenablog.jp

Image Registrationの一つの応用先として、外観検査装置があります。
外観検査装置は、工場のラインで流れてくる製品を高速度カメラで撮影し、傷や付着物などの品質不良が無いか自動的に判別するシステムです。

以下の動画の6:40あたりから外観検査装置が登場しています。
youtu.be

外観検査装置は画像処理技術が最も早く社会実装された応用先だと思います。
今回は、pythonOpenCVを用いて、簡単な外観検査アルゴリズムを作ってみたいと思います。

続きを読む

位相限定相関法による画像の位置合わせ(Image Registration)

はじめに

画像の位置合わせ(Image Registration)とは、異なる視点で撮影された2枚の画像の位置をいい感じにフィッティングする事です。
以下にサーベイ論文[1]にわかりやすい画像があったので、参照させてもらいます。
f:id:nsr_9:20210910163637p:plain

左上と右上の画像について、それぞれの対応関係(図中の+1~+6)を求め、左下の図のようにピッタリと位置が合うように画像変換を行います。
位置が合うように画像変換を行うことで、バラバラに撮影された画像からパノラマ画像のようなものが作成できています。

Image Registrationは、外観検査装置や指紋、虹彩認証、3D-Sensing、物体追跡等々、様々なアプリケーションに応用される汎用的な技術となっています。
今回は、Image Registration手法の中でも特に実用性が高いと言われている、位相限定相関法[2]をPythonで実装します。

続きを読む

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

はじめに

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

今回 Pix2Pix 次回 GAN
f:id:nsr_9:20210908155838p:plain f:id:nsr_9:20210908155849p:plain
続きを読む

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

GAN

GAN(generative adversarial networks)[1]とは、2014年に登場したNeural Networkの学習スキームです。
一般的なNeural Networkは入力ベクトルとそれに対応する正解ベクトルの写像(対応)関係を回帰する学習を行うのですが、GANでは敵対的学習という画期的な学習方法を提案しています。
敵対的学習では、学習させたいNetwork(便宜上Generatorと呼びます)とDiscriminatorというGeneratorを学習させる為のNetworkの2つのNetworkを用います。

通常の学習 GAN
f:id:nsr_9:20210906174812p:plain f:id:nsr_9:20210906174819p:plain
続きを読む

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部分を作っていきます。

続きを読む