機械学習の学習経過・3

前回記事から4ヶ月が経った。
まだ機械学習の勉強は完了してない。大きな問題が発生したからである。
その現状をとりあえず綴ろうと思う。

勉強は大きく進んではいない。当面の目標は画像認識だったので、ネットの記事を闇雲に検索するよりもまずは基本でもチュートリアルでもやってみることが良さそうだ、馴染まなければと思い、とあるサイトで基礎を勉強しようとしていた。codExaというサイトである。

・Numpy 入門(前回時点で受講済み
・Pandas 入門(前回時点で受講済み
・Matplotlib 入門
・線形代数 入門
と前回受講していたコースに続き、新たに2つの無料コースを受講。
線形代数はなんの分野かわからなかったがやってみると専門学校でちょっと習ったベクトルや行列の話だった。
昔は単位行列を用いて逆行列を生成する手順なんてのも覚えていたけど、もう忘れてしまってる。
ただ、一応ゲーム開発の仕事をしていたこともあり、この辺りの分野は全く扱わない訳ではないので進学校出身じゃない自分でも理解できた。

さらにここからは有料コースで
・実践チュートリアル はじめての画像認識
というコースを受講。
まずは画像認識をできる必要があると思ったがさすがチュートリアル。概要しかわからない雰囲気。
このコースを受講して画像認識がバリバリできるようになるかは怪しい。
データセットは自分で用意しなければならないし、CNNの設計に正解があるわけじゃないのでPythonでの畳み込み方法なども詳細の解説には至っていない。

しかし凡そ画像を認識できそうな雰囲気は感じ取ることができたので
・学習済みモデルのexport/import方法
・解析対象の画像の事前処理
について調べることにした。

学習済みモデルの保存は

model = create_model()
model.save('saved_model/my_model') 

こうったコードでできそうな雰囲気を感じたので詳細を調べず、のちにライブラリのリファレンスを参照する方針で一旦放置。
次に画像の事前処理について調査をすることにした。

画像を事前処理するにはOpenCVを用いるのがそれっぽいな、と言う印象で
一部を矩形に切り取って学習済みモデルの解析にかける、とかはできそうだな、と想像できる。

OpenCVのfindContoursという関数を用いることで輪郭抽出ができるようなのでまずはそちらからアプローチ。
輪郭はいろいろ抽出できるのだが、可視化した結果をみるに精度というか切り取りたい矩形にはなってない印象。またPythonのOpenCVとC#のOpenCVのfindContours関数の戻り値?が微妙に違う感じでサイトの説明がアテにならない。(C#はUnityの環境

さらに輪郭を抽出してその対象が実際に利用したい画像の一部なのか?を学習済みモデルにかけて判別するか、学習済みモデルの前段階である程度ふるいにかけれるものなのか?とも疑問に思い始める。

輪郭抽出から1つ上の段階の判別をするにはその一部を切り取るための画像解析が必要なのでは?という疑問。
その際に必要そうだな、とたどり着いたのがカスケード分類器というもの。

カスケード分類器について調べてみると、これまた機械学習を利用して生成するものらしい・・鶏が先か卵が先か状態。

Google Colabの環境を用いてcodExaの学習をしていたがこれらのOpenCV向けの環境も整えようとhomebrewにカスケード分類器を作成するのに必要なものをインストール。問題はここで起きた。
一部のライブラリが「お使いのmacOSはバージョンが低すぎます」というような警告がでてライブラリを正常にインストールできなかったような印象。

使用していたmacは2013年のmacbook airでなかなかに古い。
それはいいのだが、しばらく前からソフトウェアアップデートが正常に終了しない問題が発生していてOSのアップデートには前向きになれない状況だった。
しかしこれを機にHigh SierraからCatalinaやBigSurあたりにしようと決心。
これがいけなかった。

CatalinaのOSインストールのリンクを踏んでもApp StoreでOSが見つからず。
しかたなくBigSurをインストールすることに。しかしソフトウェアアップデートが正常に終了しないmacではBigSurにOSをアップデートすることはできなかった。
OSインストール中に「アップデートに失敗しました」というダイアログが表示され再起動、またOSインストールが走り失敗を知らせるダイアログの表示、できることは再起動、と再起動を繰り返すだけのマシーンになる。

機械学習の勉強はこの状況から一向に進まず現在に至る。

macはM1チップを積んだものを新たに購入することを視野にいれているが
年明けの初売りキャンペーンでのワンチャンを期待して買い控えをしていた。
しかし2021年の初売りキャンペーン対象はmacbook proとiMacであったので
しゃあなしAppleStoreでポチるか・・と決心をし勉強を再開するメドがたったのでこのnoteを書いている。
(再起動を繰り返すだけmacはSSDのデータを全消去でとりあえず動くようにはしたがハードウェア診断でメモリ破損の結果がでたので勉強用に使うのは断念)

macが届きカスケード分類器の検証を行なったあたりでまた記事を書けたら・・と思う。

この記事が気に入ったらサポートをしてみませんか?