ビジョン勉強会に行ったけど正直ついていけなかった、けどログを残す
ちゃんとバックボーンを勉強する必要性を痛感して帰ってきた。 日常的に勉強をすることは、本当に大事だと思う。 さらに、正直3本目以降くらいから頭が回らなくなってしまった。。。 普段から頭を使う&食事をとって体調を用意することの必要性も痛感した。
Discriminant Optimization: Theory and Application to Point Cloud Registration
資料
メモ
- コスト関数を最小化するように座標変換を求めるのでなくて、特徴量から直接座標変換を求める
- その際に学習を行う(リッジ回帰)
- ICPよりロバスト
- DO(discriminant Optimization)の方が初期値によらず寄っている
- 学習だから仕方ないが、トレーニングのシーン次第に強く依存する気がする
- 処理速度はICPと同等かちょっと遅い
- 精度は圧倒的に良い
- ICPで特徴量を使って、外れ値や欠損点に対するロバスト性の工夫をしたときとの比較はわからない?
- 確かに、トラッキング(途中で見えなくなるときなど)に強そうだ
- (関連アルゴリズムで)SDMという方法もある
Learning Cross-modal Embeddings for Cooking Recipes and Food Images
資料
メモ
- 画像をみて、レシピを決める(Pic2Recipe)
- レシピをいれると、画像が出てくることも可能
- よくわかっていない
- joint embedding spaceで両方からアクセス可?
- このjpoint embedding spaceから、レシピや画像を決定するステップがわかっていない
- LSTM
- (VGG-16) and ResNet-50
- ResNetは最近本当によく聞く
- similarity lossで学習
- レシピと画像が同じが違うかで学習
- 2:8の、マッチデータ、ミスマッチデータ
- semantic regularization loss
- semantic regularization loss
- 同じカテゴリだったらロスを小さくする?
- 例えば、チーズバーガーとハンバーガーはロスが小さい?
- タイトルからカテゴリを推定
- 同じカテゴリだったらロスを小さくする?
- semantic regularization loss
- http;//wednesday.????
- word2vec math
- king - man + woman = queenみたいな(適当)
CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction
資料
メモ
- CNNを使ったSLAM
- LSD-SLAM ?
- 昔あったmono-slamのやつだろうか?
- 輝度勾配が大きいところを特徴としてもってくる
- キーフレームで准距離推定?
- CNNデプス推定
- MITの研究室で元からあった手法
- 絶対スケールがわかる
- こっちの方がコア技術の印象を受けた
- 概略
- End-to-Endではない
- orb-slam, lsd-slamについて
Universal adversarial perturbations
資料
メモ
- 今日のベストプレゼンはこれだと思う
- Deep Learningモデルをご認識させるような普遍的な摂動ノイズを発見
- 汎用的なノイズ(Universal)
- 識別境界への法線ベクトルが結構共通方向を向いている→もっと低次元化できるという見解は超面白い
- 聞いているのがやっとでメモしている時間がなかった
- 法線方向(境界への最短方向)を決めてくるところが肝
- SVMとかと関連があるのだろうか?
Realtime Multi-Person 2D Pose Estimation using Part Affinity Field
資料
メモ
- CPM (Convorutional Pose Machine)の他の信用できる情報を組み合わせ得る発想はちゃんと勉強する
- kinectのpose estimatinでも似た感じだったのだろうか?
- あれはrandom forestだっけ
A Point Set Generation Network for 3D Object Reconstruction from a Single Image
資料
メモ
- 1枚の画像から、Point Cloudの推定
- chamfer distanceとearth mover’s distance
- VAE(Variational Auto-Encoder)?
- Deconvとは…
- 非常に面白いけど、厳密なデータとして扱うには限界があるきがする。個人的には将来への発展性を感じた。 こういった漠然とした3D形状を認識するモデルを中間層にもって、分類に活かすのはもちろん類似度?まで考慮するみたいな。。。これはコップじゃないけどコップとして使用できるみたいな物体の本質を理解した上での応用みたいなことをしたくなるとこういった暗黙の推定がいる気がする。何言っているのが良くわからない。
Image Super-Resolution via Deep Recursive Residual Network
資料
メモ
- DRRN(Deep Recursive Residual Network)
- global residual learning
- resursive learnig
- ウェイトを共有
- 汎化能力が高くなる(使われるシーンが一つでないので発散しにくくなる)
- multi-path local residual learning
- パラメータは少ないけど結構複雑
- 工夫の一覧
- Data Augmentation
- データの水増し
- 1/3, 1/4をひとつのpathで渡している
- batch normalization
- pre-activation
- gradient clipping
- Local Residual Learning
- バッチイメージのストライドサイズが半分でなく、2/3
- 境界を敢えてまたぐようにする
- Data Augmentation
- GAN (Generative Adversarial Networks)を使うというのもあるらしい
Person Re-Identification in the wild Joint Detection and Identification Feature Learning for Person Search
資料
メモ
- Person Re-Identification(人物再同定)という問題
- 複数のカメラにまたがった人物推定
1本目は、datasetと性能のベースとなるデータを用意した、という話か
Joint Detection and Identification Feature Learning for Person Search
- End-to-Endのアルゴリズムも提唱している
- 「Faster R-CNN」という単語が今日何回か出てきている
- クラス分類ではなく類似度問題にすることで、mini batchに含まれる画像の人物だけで、lossが計算できる
- online instance matchingの方がsoftmaxよりも高精度
Scalable Surface Reconstruction from Point Clouds with Extreme Scale and Density Diversity
資料
メモ
- 従来法
- Octreeアプローチ
- ドロネー網(Graph cut)アプローチ
- 密度の違うPoint Cloudの統合、表面生成にチャレンジ
- TX2では、OpenCV3.3が動く
- メッシュをきるときも視点情報を使うというのはしっくりくる
- その最たる例が、距離画像
- 今更だけど、Graph-Cutはいい加減勉強しないといけないな
NVIDIAのGPU付のubuntuにログインしようとしてもできなくなってしまったときの対処メモ
初期症状
- (明らかに解像度が間違っている)ログイン画面にはなる
- パスワードをいれると、一瞬エラーが発生しましたみたいな画面になるが、直ぐにログイン画面に戻ってしまう
- 後からわかったことだが、これらは別の問題で、前者は未解決のまま
- ubuntu16.04で、GeForce1080を使っている
NVIDIAのGPUを使っているときの注意点
ライブCDをいれたときに以下のような確認画面になる(厳密ではない) - run ubuntu without installing - install ubuntu - OEM的な何か - check disk for defect
この画面において以下の操作が必須!
- 選択メニューで「e」を押す
- quiet splashという単語を探して、nomodesetに置き換える
- 起動(私の環境では、F10)
上記の操作を忘れていると色々面倒。
GUIが立ち上がらないときなどの基本事項
- Alt + Shift + F1でコンソールモードになるのでそこで頑張る
さらにGUIをストップする必要があるとき(以下のどれかが、数打てばあたる)
- sudo sudo service lightdm stop
- $ sudo service gdm stop
GUIのスタート
- Alt + F7
- 正し、リブートした方が無難
ディスクチェックをしよう
今回はこれでは直らなかったが、覚えておいた方が良い。 ここで注意点はこの操作の際も、CDのubuntuを、nomodesetで立ち上げる必要があることだ。
ubuntuが動かなくなりました。昨日までは普通に動いたのに急に添付ファイルの画... - Yahoo!知恵袋
まとめると、一度なんとかubuntuを立ち上げて、gpartedを実行して、ディスクをチェックすれば良い。
Ubuntu16.04にNVIDIAのドライバをいれたときのおさらい
結局、ドライバを入れ直す作業が有効だった。 以下のサイトを見て、その操作を行った。
操作の具体例は、以下のサイトがわかりやすい。
なお、現時点での最新のドライバは、別のPCで調べるべき。 2017年8月5日時点では、384だったので、
sudo apt-get install nvidia-384
そして、リブートしたら直った。
自分用メモ:「初めてのThree.js」を読む&手を動かす
- 「初めてのThree.js」を読んだ際のメモ記事
- 逐次更新
一章
- ローカルウェブサーバは以下のコマンドだけで立ち上がる
- cloneしたレポジトリのディレクトリで実行する必要があるらしい
python -m SimpleHTTPServer
- requestAnimationFrameとはモダンブラウザでサポートされていて、ブラウザによって定義された感覚で呼び出す関数を設定できる
- setIntervalでは、focusのチェックもしないから裏でも走ってCPU利用率が高くなるとき、setIntervalは画面の再描画と同期されないなどの問題があるらしい。
- 一章で書かれている内容は、必ず必要になる手順なので、htmlに書いても良いけど、jsでラッピングしても良いよね
二章
- sceneオブジェクトの重要なプロパティや関数
説明 | |
---|---|
add(obejct) | シーンに足す |
children | 追加されたオブジェクトの一覧(配列?) |
getObjectByName(name) | オブジェクト名からオブジェクトを取得するのだろうが、どうやってオブジェクト名を指定するの? |
remove(object) | |
tranerse(function) | すべてのchildrenに関数を適用する |
自分用メモ:Emacsの設定
逐次更新します
C-hの挙動をバックスペースに変更
jsの編集モードをインストール
- 何も考えず以下の手順でいけた
- M-x package-list-packagesでpackageの一覧を取得
- js2-modeを選んでiで選択
- xでインストールを実行
- ~/.emacs.d/init.elを編集(自分はこれを使っているので)
Ctrl-Spaceで選択できるようにする
markdownをEmacsで書いて、気軽に確認する
以下を参考にした
ようするに
pythonのタブ幅を指定
- 以下をinit.elに追加
;;python-mode (add-hook 'python-mode-hook '(lambda() (setq indent-tabs-mode t) (setq indent-level 2) (setq python-indent 2) (setq tab-width 2)))
自分用メモ:three.jsで遊ぶ環境つくり&Git Hubにレポジトリを作ってみる
- 目標としては、物理演算を試すところまでやりたい
gitをインストール
$ sudo apt-get install git
GitHubのアカウント作成と、レポジトリの作成
- ハマりポイントは特にないと思う。
sshの設定
three.jsのマスタディレクトリを開発ディレクトリにもってきてignoreにする
以下の感じで無視されるようになる。
xxxx@xxxx:~/prog/threejs_handson$ git add * The following paths are ignored by one of your .gitignore files: three.js Use -f if you really want to add them.
自分用メモ:動的計画法の章を読んでみた
Ubuntu16.04とWindows10のデュアルブート環境を整えた
まずは以下のページが最も詳しいと思うので、それにそって準備をする。 www.iandprogram.net
実際の手順
Windowsで高速スタートアップの無効化
- 不要な場合もあるようですが、必要でした
Windowsのドライブを縮小
Ubuntu16.04のディスクを作成
- DVDに焼いた
Ubuntuのインストール
以下のリンクと同様に、既に基本パーティションが4つあるという問題があるが、同様に論理パーティションを使うことで解決
- Windows10とUbuntuのデュアルブートをやってみた話 - 鹿児島ハードチル同好会
- 内部的な話の触りは、以下のリンクを見ればわかる。
スワップ領域について
- 以下のリンクを参考にする。メモリが足りなければ、メモリを増設したい派なので、適当に16G程度にしておく。
- 推奨される Swap 領域の目安 - eTuts+ Server Tutorial
-
- 以下のページをみた結果、ひとまずしなくて良いだろうと思ったので、しなかった。
NVIDIAのドライバのインストール
- nomodesetにしないといけなかったり色々面倒だった。
- ubuntu画面上部や左側の、バーすらみえなくなるという問題があったので、以下のリンクの作業を行った。
emacsのインストール
- $ sudo apt-get install emacs
- 細かい設定は今度にする
- $ sudo apt-get install emacs
-
- サイトからのダウンロードだけではうまくいかないので、以下のリンクを参照。
- Ubuntu 16.04 にGoogle Chromeをインストール | ロボット研究者の戯言
CapsLockキーをCtrlにする
- 以下のリンク通りに、Tweak Toolを使用。
- Ubuntu 16.04でcaps lockをCtrlに変更 - soy-curd's blog
ubuntuからwindowsディレクトリが見えてしまっている。
なんとなく、windowsはubuntu側からはアクセス不許可にしたいがどうしたら良いだろうか?
以下のリンクが非常にわかりやすい。 結論から言うと、homeではセキュアな状態にするのは無理そうだ。。。ぐぬぬぬ。