け日記

最近はPythonでいろいろやってます

CV

OpenCV: 2値化

前回・前々回と引き続き、OpenCVを触っていきます。 2値化 画像はチャネル (グレー画像であれば1チャネル, RGB画像であれば3チャネル) ごとに階調を持っており、一般的に256階調になります。 これを2階調、つまり白・黒に変換する処理のことを2値化と言いま…

OpenCV: Optical Flowで物体の動きをトラックする

先週に引き続き、OpenCVを使っていきます。 Optical Flow Optical Flowを使って、物体の動きを検出していきます。OpenCVのチュートリアルと↓の記事を参考にしました。 OpenCVでとらえる画像の躍動、Optical Flow - Qiita OpenCVでオプティカルフローをリアル…

OpenCV: 特徴点抽出とマッチング

お仕事で初めて画像処理システムの開発に携わってます。 基本的なツールとしてOpenCVについて知っておいた方が良さそうですので、自分用のメモとしてトピックごとに整理していこうと思います。 OpenCV 言わずと知れたコンピュータビジョンのOSSライブラリで…

ResNetでCIFAR-10を分類する

KerasでResNetを作ってCIFAR-10を分類し、通常のCNNモデルと比較します。 ResNet ResNetはCNNのモデルの1つです。 Microsoft ResearchのKaiming Heらが2015年に提案1し、その年のILSVRCではResNetで学習したモデルが優勝しました。 VGGやGoogLeNetにて、畳み…

学習してないランダムなCNNでも特徴抽出の役に立つ

先月からディープラーニングを教えてくれる講座を受講しています。 今週からCNNに入ったのですが、先生が「CNNは特徴抽出器としてかなり優秀で、学習していないランダムなCNNでも高い精度が出せる」と教えてくれました。 「え、そうなの!?」とびっくりしま…

KerasでDCGANを作ってKMNISTのくずし字を生成する

KMNISTのくずし字をDCGANで生成する、というモデルをKerasで作ります。 DCGAN DCGAN (Deep Convolutional GAN) はGAN (Generative Adversarial Network) の生成モデルの一種で、画像を生成するものです (提案論文) 。 GANは2つのモデルを学習によって獲得し…

Keras: Fashion-MNISTを使ってCNNを可視化する

Fahion-MNISTのデータを使って学習したニューラルネットワークの畳み込み層を可視化します。 Fashion-MNIST Fashion-MNISTは衣料品の画像を10クラス (Coat, Shirtなど) に分類するデータセットです。MNISTと同じく、学習サンプル数60,000・テストサンプル数1…

Keras: ImageNetで学習済みのVGG16をPlaces365へ転移学習する

Kerasを使って、ImageNetで学習済みモデル (VGG16) をPlaces365の分類タスクへ転移学習する、ということに取り組みます。 今回使用するパッケージたちです。 import numpy as np import pandas as pd import os import shutil from keras.applications.vgg16…

KerasでLeNet-5を実装してKuzushiji-MNISTを分類する

仕事でそろそろコンピュータビジョン系の力が必要になるかも、となってきましたので、チクタク勉強を始めてます。 今回はKerasを使ってKuzushiji-MNISTの文字を分類するネットワークをLeNet-5で実装する、ということに取り組みます。 Kuzushiji-MNIST 日本の…