超初心者の機械学習入門
目的 自分の撮影した写真をもとにして、スマホで画像を判別するアプリを作る --------------------- 概要 ・スマホを使った画像分類の方法を教えてくれるサイトがいくつかあるが、その多くは既存の画像データセットを用いたものである。ここでは、自分の撮影した写真を教師データとして、画像の判別アプリを作る。 ・この方法を使えば、独自の視点から画像を判別するアプリを作ることができる。例えば、家族の一人にスマホを向ければ誰であるか答えるアプリや、子どもの絵とピカソの絵を区別するアプリなどを作ることができる。 ・ここで行うのは、TensorFlow Liteの形式で機械学習モデルを作り、これを組み込んだスマホ(ここではAndroid)のアプリを作ることである。 ・TensorFlow Liteの形式でモデルを作るための比較的簡易なやりかたとして、TensorFlow Model Maker というライブラリを使う方法があったが、2024年3月現在、これは(普通のやり方では)使えない。TensorFlow のモデルをつくるには、少なくとも初心者は別の方法を使ったほうがいい。私は書籍に従ってKerasで作成した。Model Maker の代わりにMediaPipe Model Makerを使うと良いと言われているが、私はまだこのやり方でうまくいっていない。 ・上記モデルを組み込んだアプリを作る方法を非常に親切に教えてくれるサイトがある。その通りに入力しても動かないが、わずかの手直しで画像を分類するアプリを作ることができた。 なお、この記事は約2か月前に機械学習の勉強を始めた超初心者によるものです。不備な点や誤りがあると思いますが、どうかご指摘いただければありがたいです。 ---------------------- 画像分類のモデルを作る スマホで扱える機械学習モデルの形式として「TensorFlow Lite」がある。これを使えば、例えば花にスマホをかざすとその花の種類を5種類の中から答えてくれるといったアプリを作ることができる。 この方法を教えてくれるサイトがいくつかあるが、その多くは既存の画像のセットを使ってモデルを作るものである。しかし私は、自分の撮影した写真を教師データとして画像を分類するアプリを作りたかったので、その方法を模索した。(事情があって