情報処理学会研究報告
IPSJ SIG Technical Report

複数物体追跡技術を用いた魚類計数システムの高度化
長瀬 龍洋 1

右田 雅裕 1

榎本 洸一郎 2 戸田 真志 1

俵谷 賢悟 3

概要：マグロ養殖業での生簀内の魚数把握は重要な課題である．魚数を把握することができればマグロの生育状況の管理や，それに伴う給餌の量やタイミングの把握，出荷量や売り上げの予測などに大きく役立つことができるため，その需要は大きい．しかし，現状では素早く正確に魚数を把握する手段はなく，経験的な方法での予測などが行われている．そこで本稿では生簀の中に存在するマグロの数を数えるシステムの構築を目的とする．カウントには主にMulti Object Tracking を用い，検出，追跡，計数の三段階の処理を行うように実装した．また，
MOT の課題である occlusionに対して，重なり情報等を利用して対処を試みた．
キーワード：機械学習，画像分類，動画像認識・理解

Advanced Fish Counting System Using
Multiple Object Tracking Technology
Tatsuhiro Nagase1 Masahiro Migita1 Koichiro Enomoto2
Masashi Toda1 Kengo Hyoutani3
Abstract: The number of fish in a fish tank is an important issue in the tuna aquaculture industry. However, there is currently
no means to determine the number of fish quickly and accurately, and empirical methods are used to predict the number of fish.
Therefore, the purpose of this paper is to construct a system to count the number of tunas in a fish tank. The system isimplemented using Multi Object Tracking, which performs the three-step process of detection, tracking, and counting. Inaddition, we attempted to deal with occlusion, which is a problem in MOT, by using overlapping information and so on.
Keywords: Machine learning, image classification, video recognition and understanding

1.

序論

マグロの養殖において，各養殖網内の生産数や給餌量

2.

手法

管理のために生簀内の魚の数を把握することは大きな課題

計数システムを構築するにあたって，入力映像の特徴をの一つである．マグロは一個体あたりの金額が非常に高価考慮した結果システムの基盤として MOT (Multi Objectであるため，その個体数を正確に把握することが必要であTracking)を選択し，マグロの計数を行うためにいくつかのる．また，餌には多大なコストがかかるため，そのコスト機能の追加を行った．

を適正化するためにも個体数の把握には価値がある．

提案手法の概略図を図 1 に示す．

個体数の把握のために現在行われている方法は，経験的な方法で予測するか，漁獲した全数を釣り上げての計数や，2.1養殖網へ移動時などの水中映像を複数人が目視で計数する

計数のために，生簀間をつなぐ部分を泳ぐマグロを水中など，正確性に難がある方法や多大な労力が必要となるカメラで撮影した映像を用意した．水中カメラには GoPro[1][2][3]．

を使用した．その概念図を図 2 に示す．本稿におけるシス

本稿は生簀に通じる魚道を通過したマグロの数を数えるシステムの構築を目的とする．

入力映像

テムへの入力として，このようにして撮影した映像を用い，
生簀 A から生簀 B に移動したマグロの計数を行う．

1 熊本大学
Kumamoto University
2 滋賀県立大学
The University of Shiga Prefecture
3 株式会社ニッスイ
Nissui Corporationⓒ2023 Information Processing Society of Japan1

情報処理学会研究報告
IPSJ SIG Technical Report
検出結果を図 4 に示す．教師画像の作成には VoTT を用い，100～1000 回程のアノテーションを行った．また，図 4 より対象物体の検出が正常に行われていることがわかる．

図 1 システムの概略図
図 3 教師画像の作成

図 2 撮影環境
図 4 YOLOv3 による検出
2.2

MOT (Multi Object Tracking)

映像中のマグロを計数するためには，各フレームで検出2.2.2 追跡したマグロの同一性を調べなければならない．そのために

MOT の追跡部分では主に ID の管理を行う．ID は，検出は各物体の追跡を行う必要がある．追跡を行うことで検出段階で生成されたそれぞれの Bounding box に対して適切なしたマグロを個体ごとに分類することができ，計数が行えID が割り振られる．現在注目しているフレームとその前フるようになる．今回は，複数物体の追跡のためのアルゴリレームで検出されたそれぞれの Bounding box と ID の対応ズムである MOT(Multi Object Tracking) を用いた．

関係を計算し，同一のものと推定される対象物体に同じ ID

MOT とは動画内の複数の特定の物体を区別して追跡す割り振ることで複数物体の追跡を実現している．この対応る技術である．物体追跡のタスクである Object Tracking の関係の推定の計算には IoU（Intersection over Union）を用い

中 で も複 数 の 物 体 を対 象 と す る もの を 指 す ． 主に 検 出るものやハンガリアンアルゴリズムを用いるものが存在す（Detection）と追跡（Tracking）の 2 つの要素から構成される[4]が，今回使用した MOT では距離とカルマンフィルタ

る．の予測を利用したアルゴリズム[5]を用いている．

2.2.1 検出2.2.3 計数

MOT を使用するにあたって，検出器として入力映像からMOT は計数のためのアルゴリズムではないため，計数対象物体を検出し，Bounding Box を生成する機能が必要とを行うためにはそのための機能の実装を行う必要がある．

なる．本稿では機械学習を用いて水中映像中のマグロの検そこで，マグロの動きを利用した計数機能を実装し，入力出を試みた．

動画中に何匹のマグロが存在していたかの情報を出力する

機械学習モデルには YOLOv3 を使用した．YOLOv3 はリように実装した．

アルタイムオブジェクト検出アルゴリズムで，物体検出にMOT では検出した物体にそれぞれ ID が割り当てられ，必要な「検出」と「識別」を同時に行い，高速に動くこと以降同じ物体には同じ ID を振ることで追跡を行っている．

が特徴として知られている．教師画像作成の様子を図 3 に，

つまり，ID の最大値は検出された個体数であるが，この中ⓒ2023 Information Processing Society of Japan2

情報処理学会研究報告
IPSJ SIG Technical Reportには対象物体以外の誤検出も含まれているため，正確な計数結果を得るためにはそのような誤検出を除外して考える必要がある．
実際に動画を確認したところ，ノイズや気泡を誤検出していることがわかった．その様子を図 5 に示す．この画像では左端の気泡を誤検出している．
図 6 重複情報の利用
2.3.2 soft-NMS
ここでは，図 7 に示すような検出ミスについて考える．
図 7 では ID13 の右後方に別のマグロが重なって occlusionが発生しており，それにより検出ミスが起こっている．
このような検出ミスを回避する方法として，soft-NMS を使用する．
図 5 気泡の誤検出
本稿では誤検出を除外するために，誤検出時の ID の動
きとマグロを検出した場合の ID の動きの違いを利用している．MOT の出力動画で検証したところ，誤検出された物
体のほとんどは気泡またはノイズで，継続して検出されることなくその場で消失しており，一方マグロは映像中で止まることなく移動していることがわかった．そこで，ID の継続検出時間と Bounding box 重心座標の移動方向・移動距

図 7

soft-NMS で解決できる可能性のある検出ミス離を見ることで誤検出の除外を実現した．
2.3

追加・調整した機能

本節では MOT の説明と実装を行った機能について説明

具体的に soft-NMS がどう作用して検出ミスを回避するのかについて説明する．

する．
MOT を使用して計数を行うにあたって，ただ単に MOTに水中映像を入力してみるとそれだけでは水中映像特有のそのためにまずは本稿で検出器として用いられている
YOLO の検出について述べる．

外乱やマグロの移動の特徴などが原因で正解の値とかけ離YOLO は入力画像に対して検出対象を探し，いくつかのれた計数値しか返ってこないことがわかった．そこで，原

BBox を候補領域として発見する．そしてそれらの BBox因を追究するとともにこのシステムをマグロの計数に利用の中から尤もらしいもののみを選別して選ばれた領域を返できるように機能の追加や調整を行った．

す，というプロセスで検出を行っている．ここで，BBoxを選別するときに使用するのが NMS というアルゴリズム

2.3.1 重複情報の利用である．NMS では各領域の重なり度合いである IoU 値を計

一般的に，MOT を使用する際に障壁となるのが occlusion

算し，その結果から閾値以上の IoU をもつ候補領域を削除（物体が他のものに隠れること）である．そこで，重なりしていき，最終的にただ一つの領域を選び出す処理を行う．

情報を追跡に組み込むことでその問題への対処を試みた．

つまり，ある程度重なった物体の候補領域からは一つの領

この手法では，図 6 のように，ID0 が ID1 の後ろに隠れ，域しか選ばれないということである．

その後再度出現する場合を考える．ID0 が ID1 の後ろに隠れた時に，ID1 に ID0 が重なっているという情報を保持しこのような検出に対し，soft-NMS はどのような処理を行ておく．そして ID1 の近くに新規検出が発生した場合，そうかというと，IoU 値を計算するところまでは同じであるの物体に ID0 を割り当てる．こうすることで，ID0 の位置がその後不適な候補領域を削除するのではなくスコアを下をカルマンフィルタ等で推定できなかったとしても正しくげるという処理をする．このようにすることで，複数の候ID を割り当てることができる可能性が向上すると考えら補領域を選別する機能は残しつつ，重複度の高い物体に対れる．

しては柔軟に対処することができるという処理になっていⓒ2023 Information Processing Society of Japan3

情報処理学会研究報告
IPSJ SIG Technical Report
る．

実装の結果として正しくない ID の移動を大幅に削減することができたものの，新たな問題も発生した．この機能
ではマグロの移動が一方向であることを前提としていたが，図 9 のようにわずかながら逆走するマグロが存在しているため，それらの個体が順方向に進む個体と交差する場合などで追跡ミスが発生していた．
このような追跡ミスを改善するために行ったことを次節で述べる．

図 8 soft-NMS による検出の改善イメージ

これを実際の映像に適用したときの検出の改善の様子を図 8 に示すイメージ図を使って説明する．
図 8 では青い円を検出対象のマグロ，緑の四角形を実際に検出結果として返す BBox，黒の四角形を検出候補領域の BBox として表している．そして，左から右に行くにつれ二匹のマグロの重なり度合いが小さくなっていく様子を示している．
図の左の状態では奥のマグロが十分に映っておらず候

図 9 逆走するマグロ(ID 296)

補領域もつかない，検出不能の状態になっている．対して右の状態では二匹のマグロがほとんど離れ，どちらも十分

2.3.4 部分検出による向き判別に検出が行われている状態である．
今回 soft-NMS で解決するのはそれらの中間状態である

2.3.3 節の結果から，精度向上のために逆走マグロへの対中央の図の場合である．ここでは二匹のマグロがそれぞれ処が必要であることがわかった．そこで，マグロの向きをはっきりと検出できるほど離れておらず，奥のマグロの検判別する機能を実装して逆走マグロを発見できるようにし出候補領域は存在するものの手前のマグロの BBox とのた．

IoU が高いためその領域は削除されてしまっている状態でプロセスについて説明すると，各マグロに対してそれぞある．そこで，NMS を soft-NMS に置き換えることで検出れの個体検出とは別に頭部と尾ひれの部分検出を行い，そ候補領域が削除されずに残る可能性を上げるのが狙いとなの結果から向きの判別を行う．っている．
実際の部分検出結果について図 10 に示す．
2.3.3 移動方向の制限
2.3.1 節などで述べたように，MOT の追跡においては正しくない ID の移動がたびたび発生し，それによって計数ミスが引き起こされる．そこで，対象物体であるマグロの移動がほとんど一方向であるという映像の特徴をいかし，その逆方向への ID の移動を禁じる機能を追加した．
実際の挙動としては，通常，ID は検出された BBox に付随して動くが，その動きが逆方向になった場合は付随していた BBox を見失った場合と同様の処理を行う．これによ

図 10

部分検出って occlusion などで検出ミスが発生した際にその個体に付いていた ID が近くにいた別個体に乗り移ってしまうことを防げるのではないかと考えた．

ここでは青い BBox を頭部，黄色の BBox を尾ひれとして検出して表示している．検出領域が狭いことが原因で検出精度は 6 割程度であるが，これらの部分検出情報と個体ⓒ2023 Information Processing Society of Japan4情報処理学会研究報告
IPSJ SIG Technical Report
検出の BBox 情報，個体ごとの過去の向き情報などをあわせることで各マグロの向きの推定を行っている．

2.3.5 BBox 縦横比を利用した occlusion 検出
本節では occlusion への対処法として，BBox 縦横比を利用して occlusion を検知する手法を説明する．
図 11 に示すように，物体同士が重なって occlusion が発生した場合，経験的にそれら二つにまたがって BBox が生成されることが多い．そこで，そのような場合に起こる

図 13 Video B

BBox の縦横比の変化を発見できれば occlusion を検知することができるためこの機能を実装した．

図 14 Video C
図 11 BBox 縦横比の変化

3.

実験

計数精度やロバスト性を評価するために，実際の水中画像を用いて計数を行った．
3.1

計数精度の評価

使用した映像のフレーム画像を図 12 に示す．

図 15 Video D

4.

結果・考察

実験の結果とその考察を示す．
図 12 Video A

4.1

計数精度の評価

マグロ 241 匹（魚群 13 個）を含む水中映像を使用して3.2

ロバスト性の評価

提案手法のロバスト性を評価するために，画角と明るさ計数を行った．その結果を表 1 に示す．魚群とは，計数のためにある程度のまとまり毎にマグロをグループ分けしたの異なる 3 つの動画を用意し，魚の数をカウントした．

ものである．GT は Ground Truth を表し，目視で数えた魚用意した映像のフレーム画像を図 13〜図 15 に示す．

群毎のマグロの数を示している．count はシステムが返した計数結果である．miss は GT と count の間にいくつの差があるかを表している．

ⓒ2023 Information Processing Society of Japan5情報処理学会研究報告
IPSJ SIG Technical Report

表 1 計数結果

魚群GT

表 2count

missGT

116160212120326251422211536382691017252508121209222201014131112625

1121415113770

241

2418

合計

ロバスト性評価結果
CountMiss

Accuracy

241

242

996%

23

26770%

27181159%

2720774%

Video A

Video B

Video C

計数結果は GT241 に対してミス数合計 8，つまり精度97％となった．

Video D

計数ミスが発生した中でも魚群 5 と魚群 11 に注目すると，どちらも図 16 のように一画面中のマグロの数が多く，occlusion が多く発生したために計数ミスが発生したと推測できる．

映像 A と比較すると，映像 B〜D の精度は大きく低下している．この理由は，水中映像特有の乱れが魚の検出を妨げているためと考えられる．
映像 B では，魚眼レンズのように画角が歪んでおり，奥の被写体が影になって見えにくくなっている．
動画 C では，太陽光の影響で魚影が見えない部分があり，occlusion が発生している．
動画 D は他の動画よりも深い位置で撮影されており，明るさが足りないために検出が途切れてしまうことが確認された．
このように，条件が悪いと十分な精度が得られないことが，これらの映像で実証された．

図 16 魚群 11

5.
4.2

今後の展望

ロバスト性の評価

4 種類の映像を用いた計数結果を表 2 に示す．

今後は，更なる精度の向上を目指すために評価指標を用いた定量的な精度算出や，検出部分での occlusion への対処，追跡部分の頑健化を行っていきたい．また，計数だけではなく，マグロの成長度合い等の付加情報の取得ができるよう改良を加えていきたい．

ⓒ2023 Information Processing Society of Japan6

情報処理学会研究報告IPSJ SIG Technical Report

参考文献[1] “98%以上の精度でマグロを自動カウント ヤンマー舶用システムが「自動魚数カウントシステム」を発表”，ロボスタ，
https://robotstart.info/2020/12/08/tuna-ai-automatic-count.html, (参照2023-2-10).
[2] 株式会社 電通国際情報サービス，“ディープラーニングで生
簀のマグロは数えられるか”，
https://www.isid.co.jp/library/special/2018_tunafarm_1.html, (参照2023-2-10).
[3] 濱野 明 , 笹倉 豊喜 , 鉛 進 , 榊原 昇 , 井藤 俊亮 , 古寺 建二 , 野村 高樹 , 渡邉 勝世 , 能勢 正貴 , 稲井 邦夫 , 中村 武史 , 田上 英明. マルチ送受波ソナーとピンガーを用いた生簀クロマグロの計数手法の開発，水産工学 Fisheries Engineering
215，2018-02[4] Nicolai Wojke,Alex Bewley,Dietrich Paulus. Simple Online andRealtime Tracking with a Deep Association Metric，
arXiv:1703.07402v1 [cs.CV] 21 Mar 2017[5] “adipandas/multi-object-tracker – GitHub”，
https://github.com/adipandas/multi-object-tracker, (参照 2023-2-10).

ⓒ2023 Information Processing Society of Japan

7