家の庭で品種改良!

庭でみかんの品種改良やってます

楕円フーリエ変換など

2022年05月25日 22時01分07秒 | プログラミング

いよいよ暑くなってきましたね、、

天気がいい日は部屋の植物をベランダに出してから大学に行っているんですが、

日差しが強く、今日は帰ってくる頃にはカピカピに土が乾燥してしまいました…汗

 

さて、最近やたらAIという言葉がテレビを飛び交っています。

AIという言葉時代はかなり昔からあり、今に始まったことでは決してないわけですが、かなりその存在が身近になってきたように感じます。

育種もその例外ではなく、様々なところでAIを用いた育種というのが試みられています。育種は経験がものをいう世界であるため、AIに対してはいろいろな意見があるわけですが、私はどちらも体験しておいた方が良いだろうという立場から一応AIの方も少し勉強しています。

今日は葉や実の輪郭を抽出して、それを楕円フーリエ変換を用いて数式で再現するということをやったので、記録がてら載せておこうと思います。ちなみに言語はPythonを使いました。

 

・輪郭の抽出 (まだうまくいっていない)

pythonのOpenCVをつかって実行

Cannyと呼ばれる手法を使っていますが、うまく輪郭が取れていません。

手法だけでなく画像の質も見直さないといけないですね、、、

 

・楕円フーリエ変換で再現

輪郭がうまく抽出できなかったので、手で書いた葉の輪郭の再現を試みました。

つかったライブラリはskimageとnumpyです。

 

↓再現に用いた手書きの葉の輪郭

 

これを再現したのが下の図です。

青が単純にプロットしたもの、オレンジが楕円フーリエ変換を用いて再現したもの。

簡単にいうと波の重ね合わせで表現したものがオレンジになります。

波は波長といった定量的な値で表現することができるので、こっちの品種の葉の形はちょっと丸みを帯びているとか、ちょっとギザギザしている、というような違いを定量的に比較することができるようになるわけです。

重ね合わせる波の数は多ければ多いほど正確に再現できるわけですが、その分計算量やデータ数が多くなってしまいます。

この3枚の写真は波の重ね合わせる数が違い、上から2つ、5つ、10つとなっています。

10っも重ねればほとんどきれいに再現できていますね。

 

あとは重ね合わせた波の情報を使えば葉の形の比較ができるわけですが、まだその情報をどう引っ張り出すかが分かっていないのでそれは次の課題ですね。あとは輪郭の抽出。色々試してもう少しまともに輪郭を取れるようにしたいですね。