空飛ぶロボットのつくりかた

ロボットをつくるために必要な技術をまとめます。ロボットの未来についても考えたりします。

機械学習のお勉強(pytorchを使ってみる)

PyTorch インストール ソースから GitHub - pytorch/pytorch: Tensors and Dynamic neural networks in Python with strong GPU acceleration Tutorial GitHub - pytorch/tutorials PyTorchでCNN入門 | moskomule log GitHub - yunjey/pytorch-tutorial: PyT…

機械学習のお勉強(次元削減)

教科書 特徴抽出 主成分分析による次元削減 共分散行列の固有値 特徴変換 scikit-learnで主成分分析 線形判別分析によるデータ圧縮 変動行列を計算 新しい特徴部分空間の線形判別を選択 新しい特徴空間にサンプルを射影 scikit-learnによるLDA カーネル主成…

機械学習のお勉強(データの前処理)

教科書 データセットの欠損値の削除と補完 削除 補完 機械学習のアルゴリズムに合わせたカテゴリデータの整形 順序特徴量のマッピング クラスラベルのエンコーディング one-hotエンコーディング データセットの分割 標準化・正規化 モデルの構築に適した特徴…

pythonでparrot mamboを飛ばしてみる

www.parrot.com pymamboのセッテイング https://github.com/amymcgovern/pymambo 最高のライブラリ の手順を実施 bluepyのインストール sudo pip install bluepy bluepyのissue /usr/local/lib/python3.5/dist-packages/bluepy make Bluepy-helper not bein…

機械学習のお勉強(chainerでkaggleに初挑戦)

Kaggleとは 公式:Kaggle: Your Home for Data Science Kaggleは企業や研究者がデータを投稿し、世界中の統計家やデータ分析家がその最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォーム及びその運営会社である。 Kaggle - Wikipedia Kag…

機械学習のお勉強(scikit-learnを使ってみる:分類問題)

教科書 Perceptron 実装 ロジスティック回帰 ロジスティック関数 コスト関数 実装 L2正規化 正規化をするメリットは? サポートベクターマシン コスト関数 スラック変数を用いた際のコスト関数 二次計画法 実装 カーネルSVM デメリット 実装 決定木 情報利得…

機械学習のお勉強(Tiny Yoloを動かしてみる:予測のみ)

やりたいこと 低スペックパソコンで Tiny YOLOを使ってざっくりとした人の位置と大きさを出力する 教科書 わかりやすい記事ありがとうございます。 ChainerでYOLO - Qiita 今回扱うTinyYOLOの説明 上記でもあるように、 Pascal VOCという20クラス分類問題の…

機械学習のお勉強(chainerのTrainerについて)

公式Docs How to write a training loop in Chainer — Chainer 3.0.0rc1 documentation わかりやすいまとめ Chainer の Trainer 解説と NStepLSTM について MNIST分類コードをChainer-v1.11.0のTrainerで書き換える - Monthly Hacker's Blog Chainer: ビギナ…

機械学習のお勉強(データセット)

Segmentation ADK20K いい感じ ADE20K dataset SUN RGB-D Introduced: CVPR 2015 Device: Kinect v1, Kinect v2, Intel RealSense and Asus Xtion Live Pro Description: New images, plus images taken from NYUv2, B3DO and SUN3D. All of indoor scenes. …

機械学習のお勉強(Classification,Detection,Segmentationの有名論文)

All CVPR論文まとめ Classification,Detection,Segmentation UberNet Classification 全体 AlexNet 論文 論文まとめ VGG16 論文 論文まとめ Fine-tuning ResNet 論文 論文まとめ SqueezeNet 論文 論文まとめ DenseNet 論文 Git Local Binary Convolutional N…

機械学習のお勉強(セグメンテーション)

画像認識のタスク セグメンテーション ポイント Sample 前処理 入力画像のサイズ調整 画像の正規化 オーギュメンテーション Train Model Convolution層 Deconvolution層 モデルの結合 Segmentationのサンプル Segmenatation論文まとめ Tips 画像認識のタスク…

機械学習のお勉強(CNN)

全結合層の欠点 畳み込み層と比較してパラメータ数が膨大になる コンテキストの活用が難しい 位置ずれに弱い 畳み込みニューラルネットワーク(CNN) 全結合層の問題点はデータの形状が無視されてしまうこと。例えば、画像28×28ピクセルの形状を784個のデー…

機械学習のお勉強(chainerの概要)

chainerの特徴 計算グラフ 全結合層におけるバックワード計算 Config オブジェクト Variableクラス Functionクラス Linkクラス Chainクラス Optimizerクラス Trainerクラス Reporterによる監視対象のフック Updateクラス chainerの特徴 ネットワーク構築と学…

機械学習のお勉強(オプティマイザーと学習率とエポック、イテレーション)

オプティマイザー 勾配 勾配降下法 確率的勾配降下法 ミニバッチ確率勾配降下法 モーメンタムSGD 学習率 AdaGrad Adam エポックとイテレーション エポック イテレーション まとめ オプティマイザー 勾配 勾配(微分に負をかけたもの)が示す方向は関数の値を…

機械学習のお勉強(活性化関数と損失関数と過学習対策)

活性化関数 単位ステップ関数 パーセプトロン 符号関数 パーセプトロン 線形関数 ADALINE,線形回帰 区間線形関数 サポートベクトルマシン シグモイド関数 ロジスティック回帰、ニューラルネットワーク 双曲線正接 ニューラルネットワーク ReLU関数 ニューラ…

機械学習のお勉強(性能評価)

全体の考え方 機械学習における学習方法と性能評価の基礎知識 - Build Insider 交差検定(クロスバリデーション)など機械学習の評価方法まとめ : 新規事業のつくり方 検証 ホールドアウト法 学習データとテストデータを単純に分割 参考: 機械学習の性能を…

ベイズ的最適化・実験計画法のお勉強

目的 少ない実験回数で最適なパラメータを導出したい ベイズ的最適化 まずはこの2つを見てお勉強 1020:ベイズ的最適化の入門と応用 機械学習による機械学習の実験計画 - YouTube » 機械学習のハイパーパラメータ探索 : ベイズ最適化の活用 TECHSCORE BLOG …

kinect v2をROS(KINETIC)で動かしてみる

ROS

環境設定 実行結果 PCL Python x PointCloud rvizでの表示、TFの出し方 TFについて SD, HD, QHD 環境設定 手順:Ubuntu16.04: Kinect V2の設定 | demura.net GitHub - OpenKinect/libfreenect2: Open source drivers for the Kinect for Windows v2 device G…

Gazebo+ROSのお勉強

ROS

Gazebo Tutorial Gazebo : Tutorials gazebo_ros_pkgs - ROS Wiki わかりやすいブログ Controller と HardwareInterface との間の処理の仕組み(1. ロボットモデルの定義と登録) - Qiita Controller と HardwareInterface との間の処理の仕組み(2. RobotHW…

機械学習のお勉強(単層ニューラルネットワーク)

人工ニューロン 神経細胞を2値処理を行う単純なゲートとして表現。 z = w0 * x0 + w1 * x1 + .... + wm * xm and phi(z)={ 1 (z>=0) or -1 (z<0) これは脳内の一つのニューロンの働き(発火するかしないか)を模倣している。 パーセプトロンの学習規則 重み…

機械学習のお勉強(全体像)

教師あり学習 クラスラベルを予測するための分類 カテゴリデータをインスタンスに割り当てる 連続値を予測するための回帰 予測したい変数:結果変数 予測に使用される変数:説明変数 強化学習 エージェント:環境とのやりとりに基づいて性能を改善するシステ…

機械学習のお勉強(DeepPose, OpenPose)

やること pythonでのcaffe環境構築 OpenPoseを動かしてみる Caffe Install 設定(GPU) 【Caffe】はじめてCaffeをmakeするまでOn Ubuntu16.04 - 緑茶思考ブログ Ubuntu 14.04にCaffeをインストール(GPU編) - Qiita Installing Caffe on Ubuntu (CPU-ONLY) - Ch…

sumoをros(kinetic)で動かしてみる

動かし方 基本的には以下のREADMEの通り GitHub - arnaud-ramey/rossumo: Wrapper of the ARDroneSDK3 sample "JumpingSumoPiloting.c" as a C++ lightweight class for ROS. はじめに、WIFIでsumo(名前:Jett~)と接続しておく 変更点 catkin_make --only-pk…

chainerで動かしたいものリスト

動かしながら理解を深めたい ひとつずつ動かしていく〜(TBD) サンプル集 Chainerのサンプルコードを集めてみた(メモ) - あおのたすのブログ くそ初心者がchainerを理解してちょっといじれるようになるために見るべき5つのサイト - MATHGRAM 2D-CNN Chai…

クラスタリング(k-means)のお勉強

k-meansでクラスタリング(教師なし) import numpy as np from sklearn.cluster import KMeans # size 量的データ features = np.array([ [20, 95, 190], [52, 103, 103], [50, 70, 280], [65, 65, 210], [84, 84, 96], [20, 50, 140], [28, 49, 176], [40,…

PyQtのお勉強

MyEnigmaさんの以下の記事が非常にわかりやすい↓ myenigma.hatenablog.com 環境設定 sudo apt-get install python-qt4 解説内容 Windowを作る ステータスバーに文字などを表示する メニューバーを作る ツールバーを作る 一行のフォームに文字や数値を表示す…

ロボットをGazebo + ROS(kinetic)上で作って、動かしてみる

ROS

Gazebo ROS Demos GitHub - ros-simulation/gazebo_ros_demos: Example robots and code for interfacing Gazebo with ROS Quick Start Rviz: roslaunch rrbot_description rrbot_rviz.launch Gazebo: roslaunch rrbot_gazebo rrbot_world.launch ROS Contro…

HOG+SVMで物体認識(OpenCV3)

HOG+SVM HOG : 局所領域 (セル) の輝度の勾配方向をヒストグラム化 SVM : サポートベクターマシン(SVM) 2class の分類を行う sample1とsample2ディレクトリに分類したい画像を同じ枚数用意 予測したい画像を用意(test.png) 実行方法 python hog_svm_2cla…

Hough変換で直線、円検出をやってみる

import cv2 import numpy as np img = cv2.imread('dave.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) edges = cv2.Canny(gray,50,150,apertureSize = 3) lines = cv2.HoughLines(edges,1,np.pi/180,200) for rho,theta in lines[0]: a = np.cos(thet…

マーカーを用いたカメラ位置姿勢推定(OpenCV+ArUco)

ArUcoのマーカー種類 SingleMarker Board ChessBoard Diamond Single マーカの一辺の長さを指定。 マーカとカメラ間の位置関係を求める。 Board マーカの一辺の長さとマーカ間の長さを指定。 ボードとカメラ間の位置関係を求める。 単一マーカより精度は良い…