はじめまして、ごごちと申します。先日、応用情報技術者に合格しました。
次の目標は機械学習エンジニアの資格である、E資格に合格することです。E資格2022#2の試験からは、機械学習の実装に関する問題が出るようなので、試験対策も兼ねてPytorchを使った画像分類に取り組みました。私はネコが大好きなので、ネコ判別器を作ることにしました!自分で作ったネコ判別機の性能を紹介して、実家で飼っている4ニャンズに適用してみたいと思います!
ネコ判別器の概要
2000枚のイヌ、ネコの画像をもとに学習を行いネコ判別器を作りました。この判別器に被写体が移っている画像を入力すると、学習に基づいてその被写体がネコである確率を計算します!
データセット出展 https://www.kaggle.com/c/dogs-vs-cats/data
試しに12枚の画像でテストしてみます!
正解率60ー70%といったところでしょうか
被写体が小さかったりすると正しく当てられない様です。
我が家の4ニャンズがネコである確率を計算してみた
この判別器で我が家の4ニャンズを判別すると…
アンちゃん、ラル君、リンク君はネコの確率が79.4%、99.4%、98.1%となり、高い確率でネコであると分類できています。
シエル君だけネコの確率が43.7%ということで、イヌに分類されてしまいました^^;
4枚の中では一番引きで撮った写真だったので、誤って分類されてしまったようです。
確かに4ニャンズの中では、見た目が一番イヌに近いかもしれません^^;
ネコ判別器を作る方法について
ネコ判別器はGoogleColaboratory上で、Pytorchというライブラリで計算を行いました。コードの説明などはまた別の機会にしようと思います。E資格の勉強と平行するので遅れるかもしれませんが、ご了承ください^^;
今後もネコの分類に取り組みます
今回作ったネコ判別器は、正解率が60ー70%とそれほど高くなく、我が家のシエル君も誤って識別してしまいました。今回のネコ判別器は私が練習のために作ったもので、学習を行うニューラルネットワークの構造が単純なものでした。先人のつくったネットワークを用いる手法(ファインチューニング)を行うことで、精度を向上させることができます。いろいろ試して最高のネコ判別器を作ってみたいです!
また、ネコかどうかの判別だけでなく、ネコの種類の判別などもできるそうです!とても面白そうなので、またやってみたいと思います!
面白いですね!
確かにイヌっぽいねこちゃんもいますよね^ ^