「釣り場の混雑具合」検出にYOLOを使ってみた!(AI×釣り)【実装】

   

物体検出で釣り場の混雑を捉えられるのか?

こんにちは。釣りを趣味としながらAI開発を本業としています、つりくず(@kuzu_tsuri)です。現在はCOVID-19のため、釣りを自粛中です。。。

今回取り上げるテーマは物体検出(Computer Vision)です!

利用するのは、YOLO(You Only Look One)と呼ばれるアルゴリズムで、リアルタイムで物体検出することができます。

検証のモチベーションとしては、やっぱり釣りです。最近ですと、COVID-19の影響もあり様々な釣り場が閉鎖されていますが、その影響もあり逆に混雑している釣り場もあるそうです。Twitter上では混雑している釣り場の写真が流れてくることもあります。

そこで、今回はYOLOを利用して、釣り場の混雑具合を検出できるかを試してみたいと思います!

物体検出の導入は、実は簡単にチャレンジできる!

今回は、釣り場の混雑具合を物体検出で検出することを目的に進めていきますが、物体検出の技術はもっと有用なユースケースがたくさんあります。

例えば、防犯の観点からは、監視カメラと連携させることで不審者を検知することができ、撮影された映像を犯罪発生後の証拠としてだけでなく、事前に検知することができるようになります。

一般的に、映像の解析を人手で行う際には、撮影した時間分の確認時間が必要です(早送りすればある程度はスピードアップできますが)。一方、物体検出技術を使えば人手を借りず、解析対象とすべき映像の場面を特定できるようになります。

また、同様の技術を用いることで不法入国者の検知や、テロの未然防止、自然災害時の火災、増水の事前検知など様々なところで利用されています。

ほかにも、コロナ禍で混んでいる場所を検知するとなると、渋谷のLive映像で人が何人いるか把握することができるようになります。

4月24日23時ごろの渋谷Live映像

さて、このように幅広い応用が考えらえる物体検出技術ですが、気になってくるのが、この技術が自分たちの業務に活かせるか否かではないでしょうか。

おそらく、上記のユースケースから自分たちの業務に活かせるのでは?と考えているビジネスマンもいらっしゃると思います。その一方で、物体検出技術自体はいかにもAIっぽい処理であり、導入のハードルが高いと思う方もいらっしゃるかもしれません。

今回の記事ではYOLOを使うことで、既存の重みを使いながら簡易に人の検出にトライし、簡易的なPoC的なことを実施してみたいと思います!

釣り場のデータセットで試してみた

下準備として必要なものは、Google Colaboratoryの環境のみです。

その後、ニューラルネットワークのオープンソースフレームワークであるDarknetをGitHubからクローンし、そこにYOLOv3の重みはこちらからダウンロードします。具体的なソースコードについては解説している記事はググればたくさん出てきますので、ここでは割愛します。

今回利用する重みでは80種類の物体を検出することができ、人や自転車、車、バイク、飛行機など様々な物体を検知することができます。

もし、この中に実業務で使えそうな検出対象がある場合は、ノンチューニングで導入することができるかもしれないですね!

さて、今回利用するデータは、こちらの若洲海浜公園の混雑を伝えるツイートに添付されている画像を利用したいと思います。

実際にYOLOで検知してみた結果がこちらになります!まずは堤防部分の画像から人を検出してみました。

堤防部分の結果

やはり奥側に写っている人は検出することができませんが、22人の人と3つの椅子を検出することができました。その一方で、椅子の近くにいる2人の子供たちは1人の人間として検出されていますね。

次は突堤側の結果です。

突堤側の人の検出結果

こちらも11名の人を検出することができましたが、奥側にいらっしゃる釣り人は検知することができませんでした。

ちなみに、分類対象でない画像(銚子で釣ったシーバス)を利用すると当然ながら誤った分類がなされました。

銚子で釣れたシーバスの分類結果

なんとシーバスがバナナに分類されましたね。。。

やはり、認識した対象を明確にしない場合、このような誤検知が発生することも分かりました。

物体検出の技術をビジネスで使うには?

今回の記事ではYOLOを使った物体検知を使って若洲海浜公園の画像から人の検出を試してみました。

このようなAIタスクであれば、イチから開発をせずともオープンな技術である程度の精度の結果を得られることが分かりました。

このような技術が業務で役に立たせるかどうかは、以下のポイントを検証する必要があります。

  • オープンな技術の重みで分類したい対象を検知することができるか?
  • 自社のデータを使って実際に検出することができるか?

特に実際のビジネスで利用されるデータは今回利用したデータとは異なり、白黒であったり、解像度が低い可能性もあります。

このように、実業務で利用するデータが既存のデータをどこまでカバーできるかを見極めることをAI導入の最初のフェーズで行うことができれば、PoCを実施する前に、AI導入の見通しがよりクリアになるかと思います!

また、既存の学習なしでできることを理解し、何ができるかを普段の仕事と当てはめて検討することで、より効率的な物体検出技術の活用ができるかもしれません!

今回の記事が物体検出の検討の参考になれば幸いです!

AI×釣り」のほかの記事もどうぞ

▶ 「釣り場の盛り上がり」を感情分析で捉えてみた
▶ ツイートを感情分析して「良い釣り場」を探してみた
▶ 釣れなさすぎるので、AIで釣果を偽装します


業界から探す

さらに学ぼう!

PAGE TOP