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

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

画像処理

Pythonでバラバラな画像をいい感じに詰め合わせる

はじめに 今回は、サイズの異なる複数枚の画像をいい感じに1枚の画像にする方法を考えていきます。 画像サイズが同じであれば簡単に画像を並べる事が出来るのですが、今回はもう少しおしゃれな感じにしたいです。 こうでなく こう! 右の画像は適当に手で並…

Python+Pytorchでイラストの生成

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

Image Registrationによる外観検査

はじめに 前回、位相限定相関法によるImage Registration手法で遊んでみました。 nsr-9.hatenablog.jp Image Registrationの一つの応用先として、外観検査装置があります。 外観検査装置は、工場のラインで流れてくる製品を高速度カメラで撮影し、傷や付着物…

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

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

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技術の中でも特に汎用性の高い技術です。 応用範囲は非常に広く、医療画像解析や自動運転技術、工場の自動化、ロボティクス等々の様々な分野に応用されています。 以下に…

opencvの色にnumpy arrayを使う方法

やりたい事 cv2.lineとかcv2.rectangleの描画色を、numpy array(変数)で指定したい

Python+OpenCVによる前方車両検出(2)

はじめに nsr-9.hatenablog.jp これの続きです。 今回は走行空間モデルの生成部分を実装します。

Python+OpenCVによる前方車両検出(1)

はじめに 前回、"単眼車載カメラによる前方車両の検出”という、広島工業大学の紀要に掲載されていた論文を読みました。 nsr-9.hatenablog.jp 本手法は、走行空間モデルと横方向のエッジ画像の射影ヒストグラムを用いて、非学習ベース(CNNやSVMなどを使わな…

単眼カメラによる前方車両の検出

はじめに 前の記事で高速、効率な白線検出の研究をPythonで実装し、その振る舞いを観察しました。 nsr-9.hatenablog.jp 色々な動画で白線技検出を行い楽しんでいた時にふと「この技術が具体的にどの様に応用されているんだろう?」と気になり調べて見た所、…

Python+OpenCVによる白線検出(5)

はじめに nsr-9.hatenablog.jp これの続きです。 今回はいよいよ、車線逸脱警報を実装します。

Python+OpenCVによる白線検出(4)

はじめにのはじめに 完成版の記事です nsr-9.hatenablog.jp はじめに nsr-9.hatenablog.jp nsr-9.hatenablog.jp nsr-9.hatenablog.jp これらの続きです。 今回は、消失点の仮説検証部分を実装します。

Python+OpenCVで文書画像からテキストラインの自動検出

はじめに tesseractでOCRする際、文書画像をそのまま入力するより、行単位で入力した方が読み取り精度が高い事を確認しました。 nsr-9.hatenablog.jp 前回の実験では手動で行を切り出していたので、今回はそれを自動で行えるようにします。

Python+OpenCVによる白線検出(3)

はじめにのはじめに 完成版の記事です nsr-9.hatenablog.jp はじめに nsr-9.hatenablog.jp nsr-9.hatenablog.jp これの続きです。 今回は、生成した白線(と消失点)の候補に関する仮説検証部分を実装します。

Python+OpenCVによる白線検出(2)

はじめにのはじめに 完成版の記事です nsr-9.hatenablog.jp はじめに nsr-9.hatenablog.jp これの続きです。 今回は、白線候補点から白線(と消失点)を求める、Hypothesis Generation部分を実装します。

Tesseract(OCR)は行単位で処理した方が性能が良い?

確認したいこと Tesseractは、OCRを行う際の動作モードを設定できます。 公式ドキュメントを参照すると、 この中でちょっと気になったのは、 番号 処理内容 6 画像をテキストブロック(横書き文章)として扱う 7 画像を1行のテキストとして扱う という設定項…

Python+OpenCVによる白線検出(1)

はじめにのはじめに 完成版の記事です nsr-9.hatenablog.jp はじめに 前回、An Efficient Lane Detection Algorithm For Lane Departure DetectionというIV学会に投稿された論文を読みました。 本手法は自動運転技術の実現に向け、Low-Powerの計算機に向けた…

PythonとOpenCVで2点を通る直線を引く

やりたいこと OpenCVのline関数は、ある2点を端点とする線分を引くことができます。(左図) 右図の様に、2点を通る直線を簡単に引く方法を示します。 こうじゃなくて こっちがやりたい

Webカメラを用いたタッチパッドの開発(1)

はじめに 会社が夏休み期間に入り余暇ができたので自由工作を作ってみました。 日頃より「パソコン用に大きなタッチパッドがほしいなぁ」と思っていたので、Webカメラを使って簡易的なタッチパッドを作ってみたいと思います。 イメージ図はこんな感じになり…

Python+OpenCVによる線分検出

線分検出とは その名の通り、画像の中に含まれる線分(直線)を検出します。 似たような技術としてエッジ検出がありますが、ピクセル単位で輝度勾配を求めるエッジ検出と異なり、線分の端点のペアを求めます。 線分検出は画像処理技術の中でも非常に応用性の…

Python+tesseractでOCR

はじめに TesseractはコマンドラインベースのOCR(光学文字認識)ライブラリです。 前回、Ubuntuにインストールして色々遊んでみました。 nsr-9.hatenablog.jp tesseractは単体だと単純なOCR機能しか提供されていませんが、様々な言語によるラッパーライブラ…

射影ヒストグラムを用いた文書画像の回転補正(2)

はじめに 前回、射影ヒストグラムを用いて文書画像の回転補正を行いました。 今回は、実際のカメラを用いてリアルタイムで文書画像の回転補正をしたいと思います。 いきなりですが、今回作ったプログラムの実行例を以下に示します。 こんな感じに、カメラが…

Dark Channelによる霧除去(Haze Reduction)

霧除去(Haze Reduction)とは 霧除去はその名の通り、霧がかった画像から白い靄を取り除く画像処理技術です。 霧除去のアルゴリズムは様々なのものが提案されていますが、中でも最も有名なものはHe.Kの手法(Dark Channel法)※だと思います。 この手法は、画…

射影ヒストグラムを用いた文書画像の回転補正

文書画像の回転補正 tesseractは優れたOCRですが、回転ロバスト性に課題があります。 その為、実応用を行う際には文書画像の回転角を推定し、補正してあげる費用があります。 文書画像の回転補正は多くの方が研究されており、多種多様な手法が提案されていま…

OCRことはじめ

OCRとは OCR(Optical Character Recognition)はカメラやスキャナで読み取った文書画像から機械的に文字を読み取る処理を指します。 画像処理技術の中でも特に社会に大きな影響を与えた技術だと思います。 1960年代に日本電気(NEC)が手書きの郵便番号読み…

画像ハッシュを用いた類似画像検索

類似画像検索 類似画像検索とは、沢山ある画像の中から、任意の画像と見た目が似ているものを自動的に選択するアルゴリズムです。 Google画像検索などに応用されています。 今回は簡単な類似画像検索をpythonとopencvを使って実装していきます。

画像のハッシュ値

ハッシュ値とは ハッシュ関数(Hash Function)は任意のデータを別の値に置き換える関数です。 一般にハッシュ関数から得られる値(ハッシュ値)はデータの容量よりも十分に小さく、データの内容毎にユニークな値になります。 その性質を利用し、データの比較…