機械学習のお勉強(SVM,ニューラルネット、CNN、FCN,YOLO,SegNet etc ...)~参考まとめ~
keras2とchainerが使いやすそう
SVM
SVM、ニューラルネットなどに共通する分類問題における考え方 - HELLO CYBERNETICS
http://home.hiroshima-u.ac.jp/tkurita/lecture/svm.pdf
http://www.ism.ac.jp/~fukumizu/ISM_lecture_2006/svm-ism.pdf
NN
PFN発のディープラーニングフレームワークchainerで画像分類をするよ(chainerでニューラルネット1) - 人工言語処理入門
chainerでニューラルネットを学んでみるよ(chainerでニューラルネット2) - 人工言語処理入門
CNN
Convolutional Neural Networkを実装する - Qiita
AlexNet
【深層学習】畳み込みニューラルネットで画像分類 [DW 4日目] - Qiita
VGG
ディープラーニングの様々なモデルを使ってCIFAR-10画像データセットの分類を行う - Qiita
FCN
memo: Fully Convolutional Networks 〜 Chainerによる実装 〜
chainerに復帰したくてFCN実装した - MATHGRAM
GitHub - wkentaro/fcn: Chainer Implementation of Fully Convolutional Networks.
memo: Fully Convolutional Networks 〜 Chainerによる実装 再考1 〜
YOLO
ペンパイナッポーとアッポーペンを識別する(ChainerでYOLO ver2) - Qiita
GitHub - ashitani/YOLO_chainer: chainer implementation of YOLO
GitHub - leetenki/YOLOtiny_v2_chainer: YOLOtiny v2をchainerに移植したもの
GitHub - leetenki/YOLOv2: YOLOv2のchainerの再現実装です(darknetのchainerローダと、完全なchainer上での訓練コードを含みます)
SSD
物体検出アルゴリズム(SSD : Single Shot MultiBox Detector)を学習させてみる - Qiita
SSD: Single Shot MultiBox Detector 高速リアルタイム物体検出デモをKerasで試す - Qiita
SSDによる物体検出を試してみた - TadaoYamaokaの日記
SegNet
GitHub - pfnet-research/chainer-segnet: SegNet implementation & experiments in Chainer
SegNetのモデルは簡単だがエラーが出て動かず - mabonki0725の日記
[Survey]Learning to Segment Object Candidates - Qiita
keras-segnet/model.png at master · imlab-uiip/keras-segnet · GitHub
segnet/segnet.py at master · preddy5/segnet · GitHub
GitHub - 0bserver07/Keras-SegNet-Basic: SegNet-Basic with Keras
GitHub - legokichi/keras-segnet
3D-CNN
chainer sample
Chainerのサンプルコードを集めてみた(メモ) - あおのたすのブログ
Fine-tuning
Chainerでfine-tuningを行う - Qiita
Chainerでファインチューニングするときの個人的ベストプラクティス - Qiita
VGG16のFine-tuningによる犬猫認識 (1) - 人工知能に関する断創録
インデックスカラー
The PASCAL Visual Object Classes Challenge 2012 (VOC2012)
PASCALのセグメンテーションデータはインデックスカラー(.png)で作られている。
なので、以下のように呼びだせば、例えば人ならば15という値で取り出すことができる。
import numpy as np from PIL import Image import csv path = '2007_000129.png' img = Image.open(path) img_array = np.asarray(img, dtype=np.int32) mask = img_array == 255 img_array[mask] = -1 with open('file.csv', 'wt') as f: writer = csv.writer(f) writer.writerows(img_array)
左上の配列はこのようになっている。-1はchainerではクラスから無視されるため境界の白色は-1に変換している。
ImageMagick で PNG の形式を変換 - awm-Tech
「画像変換101」#2: ダイレクトカラー画像とインデックスカラー画像 | OPTPiX Labs Blog
chainerに復帰したくてFCN実装した - MATHGRAM
画像のセグメンテーション
K-Means クラスタリングを使った色ベースのセグメンテーション - MATLAB & Simulink Example - MathWorks 日本
kmeans を使った画像のセグメンテーション - Qiita
参考:
【機械学習】ディープラーニング フレームワークChainerを試しながら解説してみる。 - Qiita
http://www.vision.cs.chubu.ac.jp/flabresearcharchive/bachelor/B13/Paper/fukui.pdf
https://www.morikita.co.jp/data/mkj/084921mkj.pdf
サルでもわかるディープラーニング入門 (2017年) (In Japanese)
Chainerによる畳み込みニューラルネットワークの実装 - 人工知能に関する断創録
chainerの畳み込みニューラルネットワークで10種類の画像を識別(CIFAR-10) - AI-Programming
chainer初心者が畳み込みニューラルネット試してみた - 技術系メモ
http://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/42237.pdf
【初めて使う人向け】Chainerでニューラルネットを学習する手順を整理してみた | 自調自考の旅
Chainer 1.11.0 で畳み込みニューラルネットワークを試してみる - Gunosyデータ分析ブログ
Convolutional Neural Networkを実装する - Qiita
Chainerによる畳み込みニューラルネットワークの実装 - 人工知能に関する断創録
chainerのサンプルコードを集めてみた(チュートリアルも追加) - studylog/北の雲
CNNの学習に最高の性能を示す最適化手法はどれか - 俺とプログラミング
Chainerを使って畳み込みを実装する | JProgramer
怪我をしても歩ける6足歩行ロボットの学習 | Preferred Research
深層強化学習ライブラリChainerRL | Preferred Research
Convolutional Neural Networkとは何なのか - Qiita
定番のConvolutional Neural Networkをゼロから理解する - DeepAge
http://www.nlab.ci.i.u-tokyo.ac.jp/pdf/20150717SP.pdf
http://www.nlab.ci.i.u-tokyo.ac.jp/pdf/CNN_survey.pdf