2017年10月29日日曜日

【実践】機械学習 #01

【実践】機械学習

-#001-

環境/前提

・教科書:ゼロから作るDeepLearning 斎藤 康毅著

・Eclipse + PyDev
・PC AspireV5122P

・Python経験:初〜中級程度
・オブジェクト指向プログラミング:初〜中級程度
・行列計算経験初〜中級程度

・GitHub
・GitKraken

実践

判定結果→←読み込み画像


1-3章までで

・ニューラルネットワークて なんぞ?
・重み、バイアスって なんぞ?
・「機械学習」って なんぞ?

↑といった、ことがテンポよく理解できて、「深層学習の基礎を理解した気」になれますw
ニューラルネットワークの、重みやバイアスのパラメータを、「自動的に算出する手法」が、機械学習のすごいトコなんですよ、と。

ソースコードもダウンロードできるため、実行環境さえ整えれば、コードを1行も書くこと無くディープラーニングを体験することが可能になっています。

4章まで理解したら、アトはマシンパワー使って学習をブン回せば、それなりに最適化された重み&バイアスマップ=学習結果が手に入るんでしょ? っていう認識。

反省

数値の読み取りの他にどういった実装が出来そうか、考えるのが楽しみ。
テストデータと教師データを用意するのが大変そう。

2017年4月17日月曜日

OpenCV @Python で動画の手ブレ補正してみた


基本的には↓のコードをPythonに移植すれば、
素人目にはちゃんとブレが取れるものができるんさ。

 Simple video stabilization using OpenCV


Pythonのソースコードを載せないクズ→σ(゚∀゚ )オレ
んが、しかし
フレーム毎に抽出している特徴点(cv2.goodFeaturesToTrack)の軌跡を使ってカメラ移動(縦・横・回転)の平均をとっている関係上、次のような特徴があり、一般的に動画ファイルに対して手ブレ補正をかけようとすると、こまかい点で工夫が必要となります。
 
・抽出される特徴点が、必ずしもブレの除去に適していない…とか
・フレーム間で特徴点の変化が大きすぎるときには、cv2.calcOpticalFlowPyrLKがエラーを吐いて止まる…とか

 特徴点の発生する範囲や量をいろいろ弄る必要があり、往生しましたが、なんとなく僕の望んでいるものにはなってきたような気がします(-_-;)


※携帯カメラの性能が良くないせいか、あまりジッと見ていると酔います(-_-;)
左が補正前 右が補正後






Youtubeの自動手ブレ補正機能は、縦・横・回転により映像の端が不自然にならないよう、上手に調整してあります。流石です。 ←それ故、大きすぎる振動(ジェットコースターのオンボード映像等)の除去には限界がある模様

2017年1月2日月曜日

xubuntuでjava開発環境を整えてみる

 

 

材料

  • xubuntu16.10
  • java8
  • eclipse3.8
  • AmaterasUML1.3.4
    • GEF(↑が必要としている)
自分が再構築できなくなるので、トリッキーなことはしない主義
チューニングとかほぼ無しの、ドノーマル仕様のXubuntu16.10がベースです


Xubuntuのインストール

Xubuntuはほぼノーマルなので、インストールは割愛

Java(ランタイム、開発環境)とeclipseをインストール
sudo apt-get install default-jre default-jdk eclipse

eclipse用のUML記述環境をインストール

GEF


※GEF公式HPからのダウンロード方法がわからなかったため、Eclipseが持っているインストール方法を利用することにした。

Eclipseメニューの「ヘルプ」-> 「Install New Software...」をクリックして,インストールウィンドウを開く.以下の手順を実行してGEFをインストールする.

    「作業対象」: "http://download.eclipse.org/releases/luna/" 入力
   …Eclipseがリストを取得するので、しばし待つ…
    「モデリング」-> 「グラフィカル編集フレームワーク GEF SDK」をチェック
    「次へ」をクリックして,インストールの流れを進める.
   …インストールの同意をすれば、再起動ボタンが表示される
    Eclipseを再起動する.

AmeterasUML

AmaterasUMLはこちらから入手してください。
入手したアーカイブを解凍し、出てきたjarファイルをEclipseのプラグインフォルダにコピーすれば、インストールは完了
 ↑「プラグインフォルダー」は、利用者が自分だけだれば ~/eclipse/org.eclipse.platform_3.8_ホゲホゲ/plugins/


 AmaterasUMLの使い方

  1. 「ファイル」->「新規」->「その他」をクリック.
  2. 「AmaterasUML」→「クラス図」を選択してファイルを作成.
  3. 必要なクラスファイルをドラック&ドロップ