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

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

2021-08-01から1ヶ月間の記事一覧

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ライブラリは様々なものがありますが…

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部分を実装します。

連番画像から動画(mp4)やアニメーションgifを作る方法

はじめに 画像認識の出力画像からデモ動画を作成する際、毎回「ffmpeg 連番画像 動画」の様なキーワードで検索してしまうので、よく使うコマンドだけでもまとめておきたいと思います。 本記事では以下のタスクに対する解決策を紹介します。 ・動画に対する画…

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点を通る直線を簡単に引く方法を示します。 こうじゃなくて こっちがやりたい

車線逸脱検知の為の効率的な車線検出アルゴリズム

はじめに 車線検出は自動運転や先進運転支援技術にとって重要な画像処理技術の一つです。 その中でも特に実用性にフォーカスを当てた先行研究を見つけたので、内容を理解し扱えるようになりたいと思いました。 今回取り上げる論文は、An Efficient Lane Dete…

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