釣りが趣味で、よく黒鯛(チヌ)、キビレ(キチヌ)を釣るのですが、この2魚は姿、形がとても似ています。そのため、素人ではなかなか見分けがつきません。僕は余裕ですが。
上が黒鯛で下がキビレ。ほぼ同じですね。
一番の見分けポイントは下ビレが黒いほうが黒鯛、黄色いほうがキビレです。
釣れたときに、あれ?これ黒鯛?キビレ?どっちだ?ってことがよくあると思います。
そして、キビレは黒鯛に対し味が落ちるため、釣れた時に持ち帰るかリリースするか即座に判断しないといけません。
そこで今回は、この2魚を識別することができるのか、pythonで検証しました。
将来的にはその場で写真を撮って画像をアプリに投げ、判定する。そんなことができたらいいですね。いや、いらないですね。
ソースコード、手順は以下記事を参考にさせていただきました。
■ TensorFlowで画像認識「〇〇判別機」を作る
https://qiita.com/too-ai/items/4fad0239b8b3c465fe6d
また、識別ライブラリであるTensorFlowがpython3.7では使えなかったので、一時的に
pythonのバージョンを下げるため、以下の記事を参考にさせていただきました。
■ MacでPythonに好きなバージョンを入れて切り替えられるようにする
https://qiita.com/baozam/items/76d32c8fda9399322b34
次にTensoFlowのライブリを以下記事を参考に追加しました。
■ TensorFlow Hubから学習済みモデル(Inception-v3)を利用する
https://qiita.com/shu-yusa/items/8ae5326ff55f9dd674c7
さらに画像を判定するときにエラーが出てしまったのですが、以下記事を参考にすることで解決できました。
■ Tensorflowでエラー「tensorflow error KeyError: “The name 'import/Mul' refers to an Operation not in the graph.”」が出た時
https://qiita.com/umeee/items/ffde72ec84fa2065b1ff
学習データとして、黒鯛、キビレの画像を40枚ずつ用意し、判別機に学習させます。
学習が終われば、いよいよ画像判定です。
76%キビレと判定しています。
71%黒鯛と判定していますね。
なかなか高い精度で判定できています。