養殖 x コンピュータビジョンに関連しそうな論文を読んだ

この記事は[UMITRON Advent Calendar 2021](https://adventar.org/calendars/6652) 24日目の記事です。皆様メリークリスマス。
お魚食べてますか？我が家の今日の夕食は鶏の唐揚げです。

## まえがき
こんにちは、ウミトロンでソフトウェアエンジニアとして働いている高橋（[q_tarou](https://twitter.com/q_tarou)）です。本年度２回目のアドベントカレンダーの記事執筆です。（１回目の記事はこちら -> [日系企業研究職からスタートアップのエンジニア職に転職して2年が経ちました](https://note.com/qtarou1210/n/n9fcd2b179d92)）

本記事ではもともと[12/17に紹介されたComputer vision in the Oceanの論文](https://qiita.com/hosonot/items/f0a2480e2cf60efe031e)の残りを紹介しようと思っていたのですが、色々とサーベイしているうちに他に気になる論文が見つかったので今回はそちらを紹介します。

## 紹介する論文
1. Foids: bio-inspired fish simulation for generating synthetic datasets
1. Computer vision based individual fish identification using skin dot pattern

今回は (1) コンピュータビジョン/コンピュータグラフィクス分野の論文誌/国際会議に投稿された養殖に関する論文と、 (2)自然科学分野（特に養殖）の論文誌に投稿された、コンピュータビジョンを利用した論文という異なる立ち位置の論文を読みました。
（なお、本記事で掲載する図は全て論文内の図（オープンアクセス）を使用しました。）

### 1. Foids: bio-inspired fish simulation for generating synthetic datasets
ジャーナル：ACM Transactions on Graphics. (Siggraph Asia 2021 accepted)
発行年度：2021年
著者：YUKO ISHIWAKA (SoftBank Corp), XIAO S. ZENG (NeuralX Inc), MICHAEL LEE EASTMAN, SHO KAKAZU (SoftBank Corp), SARAH GROSS (NeuralX Inc), RYOSUKE MIZUTANI (Nosan Corporation), MASAKI NAKADA (NeuralX Inc)
論文： https://dl.acm.org/doi/abs/10.1145/3478513.3480520
プロジェクトページ：https://foids.atpo.info/

####　概要
- **貢献：魚の3Dシミュレーションデータセットの構築**
- **背景**：養殖では生簀内の魚の状態（特に尾数）を管理・把握することは極めて重要だが、人手で実施することは現実的ではない。これを解決するアプローチとしてコンピュータビジョンの技術が注目されている。
- **解決すべき課題**：昨今提案されている手法の多くはDeep learningベースであり、これらを安定して使用するためには大量の学習データが必要となるが、現状水中における魚のデータセットは少なく、新たに作成することもコストがかかる。
- **キーアイデア**：行動および見た目ともにリアルな3Dシミュレーションを実現することで、少ないコストで大量の学習データを獲得する。
    - 行動：鳥などの群行動に関するモデル（Boidモデル）に魚の生態に関する情報を取り入れる（魚の群行動や光や水温に関する反応など）
    - 見た目：computer graphicsの技術を利用
- **実験と結果**：作成したデータセットを利用して生簀の尾数カウントモデルを作成し、目視でのカウンティングと同等の精度を達成。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149/ac331efd-c9d7-ea6d-1362-130163be5b8b.png", width=70%>
実際に撮影した映像との比較。一番上：実際に撮影された映像、真ん中：Boidモデルを利用した映像、一番下：提案手法（Foidモデル）による映像。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149/f0590d91-057c-a2b9-d774-1501d3d3fe56.png", width=70%>
作成したデータセットを利用して魚の検出&カウントを適用した例。検出ではYOLO v4ベースのRegion proposalを利用。

#### 所感
養殖に限らず、実環境の課題を解くために学習ベースの手法を適用する場合、データセットの整備は必ず大きな課題の一つに上がります。僕も養殖現場で撮影した映像に対して既存技術を適用する際には毎回データセットの準備に多くの時間を割くので、今回のデータセットはぜひ利用したいところです。公開されないかな。。。
論文内では作成したデータセットを尾数カウントのモデル学習に利用していますが、segmentationや3D box detectionなど他にも色々と応用ができそうですね。自動運転の分野でも3DCGのデータセットが自動運転xコンピュータビジョン分野の進展に大きく貢献したので、このようなデータセットが公開されると養殖xコンピュータビジョンの分野もどんどん活発になるのでは思います。

また、今回の論文では特に魚の生態を丁寧に調べて行動モデルに組み込んでいて、このシミュレーションモデルの妥当性が示されればさらにもう一本論文が書けそうなくらい魅力的な内容でした。なかなか水中の実環境で確認することは難しいですが、実現できれば魚の生態の理解に大きく貢献することが期待できます。

ちなみに弊社でも今回のアドベントカレンダーで超絶優秀新卒エンジニアがBoidモデルを利用して病気のシミュレーションをしているのでそちらもぜひ御覧ください（宣伝） → [魚の病気の拡散をシミュレーションしたい](https://note.com/ryota_nomura/n/n2c06a21113c2)


### 2. Computer vision based individual fish identification using skin dot pattern
ジャーナル：Nature, Scientific Reports.
発行年度：　2021年
著者：Petr Cisa, Dinara Bekkozhanyeva, Oleksandr Movchan, Mohammadmehdi Saberioon (University of South Bohemia in Ceske Budejovice), Rudolf Schraml (University of Salzburg)
論文：https://www.nature.com/articles/s41598-021-96476-4

#### 概要
- **貢献：コンピュータビジョンの技術を利用した大量個体かつ長期間に渡るサーモンの自動個体識別の成功**
- **背景**：養殖の自動化・効率化を目指す上で、生簀内の各魚の成長状態や健康状態を把握するために魚の個体識別が重要である。
- **解決すべき課題**：従来個体識別はタグを付けるなど、侵襲式の手法が取られていたが斃死率が高まるという課題があった。コンピュータビジョンの技術を利用した非侵襲な個体識別も取り組まれているが、半自動だったり魚種が実験的なものに限定されていた。
- **キーアイデア**：サーモン（Atlantic Salmon）という養殖においてインパクトの大きい魚種に対し、魚の模様に着目することで長期間に渡って非侵襲な自動個体識別を試みる。

- **実験と結果**：個体識別の実験は半年間において2ヶ月ごと計４回実施。それぞれにおいて筆者らの提案する２種類の識別方法で結果を確認。short-termでは328尾、long-termでは30尾それぞれ100%(!?)個体識別が可能であることを確認した。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149/ad7089a6-33cf-a605-e2d7-5641975fc7c7.png" width=70%>
実験環境の図。個体識別は水揚げして机の上においた状態と、実際の環境に近づけるために水槽に入れた状態で実施した。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149/52b67bcd-eac6-63d5-4f23-9778bc529497.png" width=70%>
魚の模様（dot pattern）の比較。

#### 所感
個体識別は以前から関心があったのでとても興味深く読みました。本論文では、サーモンの皮膚の模様（dot-pattern）を用いることで、半年程度であれば十分個体識別が可能であるということを大規模かつ長期間にわたって確認したという点で大きな貢献があったのかなと思います。個人的にはこの分野の論文はほとんど読んだことが無いので、その実験のデザインに関しても学びが多かったです。一方、コンピュータビジョン畑出身の自分にとってはどうにも個体識別手法のところに突っ込みどころが多かったですが、ある程度統制された環境内における自動化であれば、最新の手法は必ずしも必要ではないということも学びでした。（とはいえなぜHOG??という疑問は残りますが...。）

余談ですが、魚の模様といえば25年前、当時京大の近藤先生がNatureの表紙を飾った時の[研究](https://www.nature.com/articles/376765a0)も魚の模様の研究でしたね。これはタテジマキンチャクダイの体表面の模様は時間とともに変化し、その模様はチューリングパターンに基づいて予測が可能であることを示したという研究です。（こんなところにもチューリングの名前が出てくることに驚きです...。）この研究の経緯に関しては最近[NHKの記事](https://www3.nhk.or.jp/news/html/20211220/k10013391291000.html)にまとまっていたので、ご興味ある方ぜひ御覧ください。

今回で紹介した論文でも、時間が経つに連れて多少dot patternの位置が変化しているように見え、かつ時期の遠いデータ(SL１とSL4など）では同定の精度が低下していることを見ると、やはりその模様の見えも時間に応じて変化しているのかもしれません。いずれにしても、これらは大規模かつ長期間に渡って丁寧に実施したからこそ見えてくる事実であり、コンピュータビジョンがそれをサポートしたという良い例だったのかなと思います。

### おわりに
本記事では養殖 x コンピュータビジョンに関連する論文を２本紹介しました。（１本目はコンピュータビジョンというよりコンピュータグラフィクスでしたが...。）

双方ともに目視で行っていた作業の自動化・省力化を目指した研究でしたが、アプローチや問題定義の違いが見て取れて非常に興味深かったです。実際僕も業務において同様のモチベーションでビジョンの技術を用いることが多いですが、将来的にそれらの内容を論文としてまとめる（かもしれない）際の参考になりました。

それでは皆様良いクリスマスを。

---
というわけでWe are hiringです。ぜひご応募くださいませ。

https://umitron.com/ja/career.html