画像処理とか機械学習とか

画像処理や機械学習関連の事について気まぐれで書いていきます。歩行者検出関係が多いと思います。ハリネズミもたまに出現します。

chainerのimagenetサンプルで好きな画像サイズで入力する方法

chainerのサンプルにあるimagenetは,1000クラスの大規模画像分類用に設計されたネットワークである,Network In Network や,AlexNet, GoogLeNetなどを使うことが出来ます。入力画像のサイズは256×256となっており,train_imagenet.pyの学習プログラムの内…

Softmaxって何をしてるの?

ニューラルネットワークの出力は例えばニューロンが一つの場合は以下のようになります。 各ノードの出力 まず、それぞれの入力xに重みwを掛け合わせ、全て足します。そして、閾値θを引いた式を、活性化関数に入力した結果が出力yとなります。活性化関数には…

Windowsでchainerを使って画像を説明する文章を自動生成するサンプルを実行する方法

qiita.com今回はこちらの記事で紹介されている、畳み込みニューラルネットワーク+時系列ディープラーニングを用いる手法を紹介します。上記記事のサンプルでは、画像とそれを説明する文章データを学習させ、入力画像を説明する文章を自動生成するネットワー…

リカレントニューラルネットワークとは?(RNN)

画像認識や音声認識などで用いられる一般的なDNNの手法は、ある時刻での推定を独立して行うことになります。しかし、動画から状態を認識したり、音声の意味を理解するためには、独立した識別だけでは十分であるとは言えません。そのため、前後の時系列情報を…

chainerのimagenetサンプルをopencvを使って動画に適用するサンプルコード

Windows環境にchainerが入っている前提で説明します。 特に難しい処理をしている訳ではないので、コードをなるべく書かずに気軽に試したい方向けです。まず、opencvを普段使っていない方はPCにダウンロードしてください。http://opencv.org/上記リンクのOpen…

Windowsでchainerを使った畳み込みニューラルネットワークを用いたハリネズミの種類識別をやってみる

今回は独自のデータセットを用いてハリネズミの種類を分類したいと思います。ハリネズミには何種類か色の種類があるのはご存知でしょうか?今回はこのハリネズミ分類器をディープラーニングを用いて自動生成させたいと思います。 1.アルビノ 2.ノーマル …

Windowsで超便利なディープラーニングのライブラリのchainerを使う方法

研究でも少しディープラーニングを扱っておきたかったので今回はディープラーニングを簡単に実装して動かすためのライブラリであるchainerを用いる方法を載せたいと思います。公式ではWindowsに非対応ですが、mnistのサンプルとimagenetの学習まで独自のデー…

ArduinoにLCDディスプレイを付けて文字を表示させる

温湿度センサーと一緒にAmazonで購入していたArduino用のディスプレイモジュールが届いたので使ってみました。上の画像のような商品で、Arduinoに上から被せるようにつけるだけで使用可能です。 実際につけた画像がこちらです。 一つ問題がありまして、今ま…

ハリネズミウォッチの完成

前回に引き続きハリネズミ管理システムの温度湿度表示Pebbleアプリを開発していきます。前回まででほぼ完成しているので、時計の表示とアニメーションの追加を行って完成とします。 実際に開発したアプリはこのようになりました。youtu.be前回までのと比較し…

Raspberry pi 3をJSONを投げるWEBサーバーとし、スマートウォッチから情報取得を行う

前回は新しい温度センサを使えるようにしました。 室温、ハリネズミのケージ内の温度、湿度が測れるようになったので、この情報を外部から取得できるようにします。 Raspberry piから情報を取得する 今回実装した流れとしては、スマートウォッチ(Pebble)から…

温湿度センサをArduinoで使ってみる

Amazonで300円くらいで売られていたDHT11という温湿度センサが届いたので使用してみます。 見た目はこんな感じで、メスメスのワイヤーとセットで送られてきました。 説明書などは無しです。調べてみるとディジタル出力で温度と湿度を取得できるみたいです。 …

Raspberry piで温度管理システムをバックグラウンドで起動できるようにする

前回の記事でRaspberry piの温度管理システムから、メールが送信できるように変更しました。今回は、前回のPythonのプログラムをバックグラウンドで起動させておく方法を紹介します。 Daemon(デーモン) Linuxで何かサービスをバックグラウンドで起動させて…

Raspberry pi 3とArduinoの連携によるハリネズミ温度管理システムの改良Ver1.1

前回はArduinoを用いた温度の取得とLEDによる警告を行うシステムを作りました。 今回はRaspberry piとシリアル通信によりデータを共有し、もう少し改良を行います。 やる事 ArduinoとRaspberry piの連携 Arduinoで取得した温度を投げる Raspberry pi 側で温…

ハリネズミ管理のためのArduinoを使った温度管理システムVer1.0

前回、ハリネズミを見守るためのRaspberry pi 3を用いたネットワークカメラの構築を行いました。こんな感じでiPhoneからも見れます。 今回は、家で眠っていたArduinoを掘り出してきて、ちょっと賢い温度計を作ります。 必要な物 Arduino uno温度センサ(LM35…

赤外線カメラとRaspberry pi 3を用いたハリネズミ見守りシステムの構築

以前から紹介しているハリネズミですが、夜行性ということもあり夜どの様な行動をしているのか気になっていました。また、昼間居ない時の様子も外からチェックできれば良いなと思い、本システムを構築しようと思いました。 この子の管理システムを構築してい…

Matlabでステレオカメラキャリブレーション

今回は、Matlabを用いた簡単なステレオカメラキャリブレーションの方法を説明します。 ステレオカメラキャリブレーションって? コンピュータビジョンにおいて画像から手軽に三次元情報を取得する方法の一つとしてステレオ視があります。二つのカメラを用い…

ハリネズミを飼い始めました!!

最近Youtubeで一目惚れしてから飼うことに決めたハリネズミめちゃめちゃ可愛いです、本気でかわいいです。 うちに来たばかりの様子タオルにくるまって寝てます。これからハリネズミの家を作ります。ZOZOTOWNの段ボールがあったのでこれで作ります。まずハサ…

【随時更新】歩行者検出の為のカスケード型検出器の学習(ICCV2015の論文読み)

今回はICCV2015の論文でまだ歩行者検出関係が有りますので読んでいきます。カスケード型の識別器の学習の論文のようです.Deep Learningとも関係があるみたいで、Deep Modelの特徴をカスケード構造に組み込むようです。読みながらまとめていき、随時更新しま…

特徴量ベースの歩行者認識に関して

今回は、Deep Learningでは無く特徴量ベースの人物検出について簡単にまとめていきます。 歩行者認識(Pedestrian Detection)とは? 歩行者認識は、画像処理・パターン認識の分野で重要な課題で、毎年CVPRやICCVなどのトップカンファレンスでも幾つかの論文…

画像と空間の座標での表現

カメラで撮られた画像中の位置から、実際の物体の位置をコンピュータービジョンにおいて、どのように表現しているかをまとめます。 透視投影モデル 空間を表す3次元座標には、カメラを中心としてみたカメラ座標系と、空間中のある位置を中心として考えたワー…

EMアルゴリズム

今回は、前回の混合ガウスモデルに引き続き、混合ガウスモデルのパラメータ推定の手法に使えるEMアルゴリズムについて紹介したいと思います。混合ガウスモデルを例に挙げますので、混合ガウスモデルが分からない方は前回の記事を参照してください。 hiro2o2.…

混合ガウスモデルとEMアルゴリズム

前回の記事で、単純なガウスモデルと最尤推定について紹介しました。 今回は、ガウスモデルよりも少し複雑なモデルを紹介したいと思います。 混合ガウスモデル(Gaussian Mixture Model) 以下のグラフのように、ガウス分布が合わさった分布の事を混合ガウス…

最尤推定法について

前回の記事で、最尤推定法とベイズ推定の違いについて書きました。今回は、最尤推定法に注目し、まとめていきたいと思います。 この記事に限らず、本ブログの記事は自分も勉強しつつ書いていますので、間違いなどありましたらご指摘いただけると助かります。…

ベイズ推定法と最尤推定法の違い

ベイズ推定法と最尤推定法の違いについて勉強した結果を簡単にまとめておきます。 ベイズってなんだっけ?って方は以下の記事を参考にして下さい。 hiro2o2.hatenablog.jp ベイズ推定法の定義 最尤推定の枠組みではモデルのパラメータθを決定的な変数として…

ベイズの定理とよく出てくる確率分布の復習

機械学習でよく用いられるベイズの定理。 分かっているつもりでも、あれこれはなんだったっけとなる事がしばしばあったので今回、復習を兼ねてまとめることにします。 条件付き確率 サイコロを投げて何か目が出る、コインを投げて裏か表か決まる。こういった…

畳み込みニューラルネットワークとは?

畳み込みニューラルネットワーク 今回は、Deep Learningのうち、近年画像の分野でどこの学会に行っても聞かないことはない畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)について紹介したいと思います。 この記事は以前紹介した記事…

Deep Learningを用いた歩行者画像理解(CVPR 2015論文読み)

CVPR2015の論文紹介です。 Deep Learningを用いた歩行者画像理解の話で、歩行者と背景の二値分類ではなく、多数のクラス(帽子をかぶっている人、カバンを持っている人、電信柱、道路、木)などへ分類するタスクに挑戦しています。 論文へのリンクは以下から…

Caltech Pedestrian Dataset の使い方

Caltech Pedestrian Datasetとは コンピュータービジョンの分野における近年の歩行者検出は、Deep Learningを用いる手法が主流となってきている。それに伴って、非常に多くの学習画像が必要となっています。Caltech Pedestrian Dataset は近年の歩行者検出で…

そもそもDeep Learningって何なの?っていう方へ

Deep Learning(深層学習)とは 学習を行うニューラルネットワークの層が何層にも重なった多段構造を持つ機構を用いた学習の事でその仲間には以下のように様々なものがある。 学習?なにそれ? 簡単に言うとコンピュータに何かを教えることです。 例えば、車…