Takunojiのプログラミング・プレイグラウンド(遊び場)

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

学習方法 トップダウン 〜わからないをわかったへ〜

イントロダクション

ここ数ヶ月…機械学習の理解に挑戦してきました。いろいろと調べてみたけど、どれも数式ばかりで、わからない。他のものは根本的なトコがわからない… というような状況で足踏みをしていました。

OpenCvを学ぶ

結論から言うと機械学習の先駆けはOpenCvであろうと思った次第です。実際に機械学習の本などで使用される言葉があり、それに対する説明が記載されていました。 早い話が「機械学習の根本的なトコはOpenCvのものと同じだから、そっちを理解すればおっけ⭐️」となった次第です。

<ポイント>

  1. わからないに対してわかる部分から攻め入る
  2. 「早い話がなんなのよ?」と言う疑問をはじめに解決する
  3. 「早い話」がわかったら詳細に向かって疑問点を掘り下げていく

<疑問点を掘り下げる>

自分の「機械学習がわからない」の場合は次のようになります。

「早い話が」

機械学習は、色々なアルゴリズムを使って学習モデルを作り、色々な物事を判定する(分類する)

掘り下げる

上のところで明確にならない「色々なアルゴリズム」と「学習モデル」について同じように「早い話が…」を理解できるように学習します。 同じ事を繰り返し、掘り下げていきます。

現在学習中

OpenCv機械学習について調べています。これに関しては「わからん」の一言に尽きます。

わからない原因など
  • 数式がわからない
  • 記載し記載している内容がわからない
  • 数学の話はどうでも良い
  • プログラムに関しては最小限度

上記の理由で今まで読んだ本では理解できませんでした。

実際に撮っている方法

色々な本を読んだけど、わからなかったので他の方法を探していたところ、OpenCVの本を持っていたので中に「機械学習」という文言があり学習し始めた次第です。 読んで見ると、画像解析(顔識別、人間の抽出)を行うために使用する技術が「機械学習」でした。こいつを応用しているのが世間巷で言うところの「AI(ディープラーニング)」であろうと言うところまでたどり着きました。 つまり、「機械学習」を理解すればディープラーニングも理解できるであろうと言う認識です。

OpenCVを学ぶ

結局ここにたどり着くのですが、現状で少し学習しておりました(笑)。学習した時の記事リストです。

OpenCv

  1. Java OpenCV 環境セットアップ(on Mac)
  2. Java OpenCv Lv1 〜入門: 写真の表示〜
  3. Java OpenCV Lv2 〜画像を表示する〜
  4. Java OpenCV Lv3 〜画像の平滑化(smooth())
  5. Java OpenCV Lv3 〜画像にガウシアンフィルタ(GaussianBlur())
  6. Java OpenCV Lv3 〜画像に中央値フィルタ(medianBlur())
  7. Java OpenCV Lv4 〜画像の中身をみてみる〜
  8. Java OpenCV Lv5 Matクラスで描画処理〜
  9. Java OpenCV Lv6 Matクラスで背景から作成してみる〜
  10. Java OpenCV Lv7 MatクラスでEllipseしてみる〜
  11. Java OpenCV Lv9 〜画像編集「足し算」(cvAdd)
  12. Java OpenCV Lv9 〜画像編集「引き算」(cvSubtract)
  13. Java OpenCV Lv9 〜画像の掛け算〜
  14. Java OpenCV Lv10 〜行列演算Mat#submat()
  15. Java OpenCv Lv10〜画像の平均値をだす〜

OpenCv + JavaFX

  1. EclipseにSceneBuilderを追加する
  2. JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
  3. Java OpenCv Lv1 〜入門: 写真の表示〜
  4. Java OpenCV Lv2 〜JavaFXでの画像表示〜
  5. Java OpenCv ビデオキャプチャ〜カメラからの入力を表示〜
  6. OpenCV tutorial〜ヒストグラム〜
  7. OpenCV tutorial 解析 〜ヒストグラム〜
  8. OpenCV tutorial 解析2 〜ヒストグラム計算〜
  9. OpenCV tutorial 〜フーリエ変換など〜