公立はこだて未来大学 2020 年度 システム情報科学実習
グループ報告書
Future University-Hakodate 2020 System Information Science PracticeGroup Report

プロジェクト名
フィッシュカウンター

Project Name
Fish Counter

グループ名
あわびチームGroup Name
Abalone Team
プロジェクト番号/Project No.

14-A

プロジェクトリーダ/Project Leader
吉野遊

Yuu Yoshino

グループリーダ/Group Leader
高橋太郎

Taro Takahashi

グループメンバ/Group Member
Taro Takahashi

高橋太郎
久保田光祐
三澤健斗

Kosuke Kubota
Kento Misawa

指導教員
長崎健 和田雅昭

AdvisorTakeshi Nagasaki Masaaki Wada

提出日
2021 年 1 月 20 日

Date of Submission
January 20, 2021

概要
本プロジェクトは, 情報処理技術で水産業に存在する課題を解決することを目的としている.
我々のグループでは, 福島町のアワビ陸上養殖施設に着目した. 福島町の施設には 15 万匹のアワビを飼育する規模があり, アワビの数を数えることやアワビの大きさを確認する作業は人間が手作業で行っている. この労力を軽減するために, 本グループでは画像からアワビの数を数えること, 殻長を計測することを目標に活動した.
前期活動ではアワビを検出することから取り組んだ. ChainerCV を使って, 物体検出のプロトタイプを作成した. 実際にアワビ養殖施設の漁業者の方にお話しを伺い, アワビの画像を撮影させていただいたり, アワビの出荷サイズや水槽の大きさについて聞いたりした. 後期活動では, 前期の活動より検出率を上げるための検出班と, アワビの殻長を計測する殻長班に分かれて活動した. 検出班では SSD アルゴリズムを用いて検出を行った. 光の反射やアワビの砂などが原因で, 一部のアワビの検出ができなかった. アワビ殻長班は Mask R-CNN を利用し, アワビの領域と水槽を仕切る柵の領域を求め, ピクセル数の比較からアワビの殻長を求めることを目標として活動した. 環境構築に時間がかかってしまったため, サンプルプログラムでの実行と
なった.
キーワード

画像処理, 物体検出, ディープラーニング（※文責: 久保田光祐）-2-

Abstract
The purpose of this project is to solve the problems of the ﬁshing industry with information processing technology. Our group focused on abalone landbased aquaculture
facilities. The facility in Fukushima Town has a scale of raising 150,000 abalone. The
work of checking the size of abalone is done manually by humans. The group aimed
to reduce the eﬀort required to manuually identify abalone by creating a program that
detects abalone from cage images and measures its size.
In the ﬁrst semester, our team detect abalones. We create a program by using ChainerCV. We go to the facilities to listen those abalone, to get images. In the second
semester, We were divided into a detection group to increase the detection rate fromthe activity in the ﬁrst semester and a shell length group to measure the shell lengthof abalone. Detection group used SSD algorithm. As a result, some abalone could not
be detected due to light reﬂection and sand in the cage. Shell length group used Mask
R-CNN to ﬁnd the area of the abalone and the fence that separates the cages, andworked with the goal of ﬁnding the abalone shell length by comparing the number ofpixels. Since it took time to build the environment, it was executed with the sample
program.
Keyword

Image processing, Object detection, Deep learning（※文責: 久保田光祐）-3-

Fish Counter

目次
第1章

はじめに

1

1.1

背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

プロジェクトの目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.3

グループ目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.4

課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.5

プロジェクト学習で行う利点. . . . . . . . . . . . . . . . . . . . . . . . . . . .

2第2章

前期活動内容3

2.1

前期課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.2

技術調査 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32.3

物体検出のプロトタイプの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.4

福島町のアワビ陸上養殖施設. . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

施設見学 (7 月 30 日) . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2.4.1
第3章

中間発表会

5

3.1

発表の流れ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

3.2

発表動画の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

3.3

ポスター作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

3.4

発表の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

後期活動内容7

4.1

後期課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

4.2

施設見学（11 月 18 日） . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

4.2.1

実際に使う水槽の撮影 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

4.2.2

撮影条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

アワビ検出班 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

4.3.1

画像に行った塗りつぶし処理 . . . . . . . . . . . . . . . . . . . . . . . .

7

4.3.2

データセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

4.3.3

SSD アルゴリズムによる検出器の学習 . . . . . . . . . . . . . . . . . . .

8

4.3.4

結果

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

4.4.1

技術調査 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

4.4.2

Faster R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

4.4.3

Mask R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

4.4.4

使用したツール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

第4章

4.3

4.4

第5章

アワビ殻長測定班

成果発表会

12

5.1

発表の流れ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

5.2

発表動画の作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12Group Report of 2020 SISP

-4-Group Number 14-A

5.3

ポスター作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

5.4

発表の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

発表会の評価シート

14

6.1

中間発表会 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

6.2

最終成果発表会 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

まとめ

18

7.1

前期のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

7.2

後期のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

プロジェクト内のインターワーキング

19

8.1

高橋太郎 (担当:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

8.2

久保田光祐 (担当:) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

第6章

第7章

第8章

21

参考文献

-5-

Fish Counter

第 1 章 はじめに
1.1

背景

現在，第一次産業は全体的に衰退してきている．第一次産業就業者数を見ても，1951 年には1,668 万人いた農林漁業者数は，2019 年には 222 万人にまで減っている [1]. 漁業も例外ではなく，資源量の減少や近隣諸外国との衝突や摩擦に加え，収入の不安定さ，労働の過酷さなどから事業者は減少傾向にある．その中でも，養殖業は，商品の供給が安定しやすく，AI 技術や IoT 技術を応用して効率的に生産が行えることから，近年漁業の中でも注目されている．漁業全体の生産量は緩やかだが減少傾向にある中，養殖業は海面養殖・内水面養殖ともに生産量の割合が増加している [2]．
（※文責: 高橋太郎）

1.2

プロジェクトの目的

第一次産業は全体的に衰退傾向にあるが, 昨今でも函館市の周辺では水産業が盛んに行われている．私たちは, 水産業には情報技術を活用できる場面がまだ多くあると考えた．そこで情報技術を用いて, 漁業をサポートできるシステムを作ることで，水産業における漁業者のニーズや課題を解決し，水産業を盛り上げる手助けができるのではないかと考えた．システムの例としては, 漁における漁業者の経験や勘を数値化すること, 手作業の仕事を自動化することなどが挙げられる．本プ
ロジェクトでは 2 つのチームに分かれた．1 つ目のあわびチームは，水槽の画像や映像からアワビの個数と大きさを測定する事を目標とした．2 つ目のぎょたんチームでは, 定置網に設置された魚群探知機からブリの大きさを予測し漁の効率化を目指した．
（※文責: 高橋太郎）

1.3

グループ目的養殖業では, 先進技術を応用しやすいと言われているが, いまだ, 多くの仕事が手作業で行われているところが多い. 養殖業において, 商品の個体数や大きさは, 出荷量や売り上げに大きく影響する.
養殖業では在庫数が決まっているため, 出荷量や売り上げの計画や予測がしやすい. そのため, 正確に個体数を数える, 成長に応じて大きさを正確に計測するということは, 養殖業の在庫管理において, とても重要となる. 私たちが焦点を当て現地調査させていただいた北海道松前郡福島町のアワビ陸上養殖施設 [3] では, 餌やりや商品となるアワビの個体数を数える作業, 商品の大きさの測定などが手作業で行われていた. その中でもアワビの個体数を数える作業と, 貝殻の大きさ (以下, 殻長) を測る作業がとても時間がかかっている. 施設内には, 縦 35cm, 横 140cm, 水深 3cm の水槽が 10 段
重なった棚が何列も並んでいる. その中のアワビの殻長を調べる方法は, 同時期に稚貝を入荷した 2
つの棚の, 総重量とアワビの個数を調べ, アワビの成長具合の平均値を推定で出す方法と, 棚からアワビを取り出し, 手作業でノギスを使い殻長を測る方法がある. 推定の方法は, 年に 6 回ほど, 同時期に入荷したアワビの棚の全ての水槽を 2 日から 4 日かけて調べる. ノギス使って手作業で行う方Group Report of 2020 SISP

-1-Group Number 14-A

Fish Counter
法は, 年に 4 回ほど,3 日から 4 日かかって殻長を測る. 本グループのあわびチームでは, この作業の測定にかかる時間と, アワビの個数を数える手間を問題としてとらえた.
（※文責: 高橋太郎）

1.4

課題

上記の問題点から, 私たちは, 画像や映像などのデータからアワビの数を正確に数え, 殻長を測定する作業を自動で検出することで漁業者の作業を楽に, 効率的に行えるようにすることを目的とした. 具体的には, アワビの個数と殻長を調べる作業時間を短縮することを目標とした.
前期はまず, 機械学習を使いアワビの画像を学習させ, 画像の中のアワビを正確に認識させられるようにすることに取り組んだ. 画像からアワビの正確な位置, 個数を検出できないことには, 殻長を測定するまでにも至らないと考えたからである. 前期では,ChainerCV を使いデータセットを作り学習をさせ, 検出を行った. しかし, 完璧な検出とは言えず, 多くの改善点が見られた.
そのため後期では, 本グループ内を 2 つに分け, 一つは画像に写っているアワビを正確に数える
検出班, もう一つは画像内のアワビの殻長を測定する殻長測定班として活動した. 検出班は, アワビの数を正確に数えなければならないため, 画像からのアワビの検出率 100 ％を目指す. 殻長測定班
は, アワビの水槽と水槽内の仕切りの柵の長さが分かっているため, そことの比率からアワビの大きさを求めることを目指した.
また後期には,2 回福島町の方に出向き現地調査に行った. そこでの説明や疑問点を課題解決に活かそうとした.
（※文責: 高橋太郎）

1.5

プロジェクト学習で行う利点

本課題では, 水産業の背景について調査し, 発見した問題を解決し, 成果を発表するという一連の流れが求められる. 画像処理や機械学習ライブラリを用いた演習環境を構築する為の調べ物を分担して行い, 情報共有をすることは演習を効率的に進めるだけでなく, 技術者としてのコミュニケー
ション能力を養う事に役立つと思われる. 加えて, 各個人の長所や得意分野を生かし, お互いを刺激し合い, それぞれの成長につながる. また, 水産業のニーズをどう解消していくか, 正解のない問題について背景の異なる学生同士が議論を行うことで様々な角度から問題をとらえることができるこ
ともプロジェクト学習でこの課題を行う利点である.
（※文責: 高橋太郎）

Group Report of 2020 SISP

-2-Group Number 14-A

Fish Counter

第 2 章 前期活動内容
2.1

前期課題

第 1 章に示した問題点より, まずアワビを画像から検出し, アワビの数を正確に数えることを目標とした. アワビを正確に検出できないことには, 正確な個体数が分からず, 殻長を測定するまでにも至らないからだ. 技術調査から行い, 機械学習を用いアワビの画像を学習させ, 検出させることを課題とした.
（※文責: 高橋太郎）

2.2

技術調査

我々は画像処理や Deep Learning を利用したプログラムに関する知識を持っていなかったので開発の具体的な手順が分からなかった. そこで, 課題に対する理解を深めるために Deep Learningと物体検出に必要なライブラリや関連のある既存プロジェクトを調査した.
（※文責: 三澤健斗）

2.3

物体検出のプロトタイプの作成

使用ツール• アノテーションデータ作成ツール LabelImg[4]• ローカル開発環境 Jupyter Notebook[5]• オンライン開発環境 Google Colaboratory[6]• プログラミング言語 Python[7]• 機械学習フレームワーク ChainerCV[8]このサイトを参考に作成した [9]. 初めに, カメラで撮影した画像データからアノテーションデータ
を作成する. アノテーションデータは検出したい物体が画像のどの位置にあるのかという情報を持つ. この操作には LabelImg というツールを用いる. 次に, 作成したアノテーションデータから
ニューラルネットワークのモデルを作成する. 今回は Faster R-CNN というモデルを選択し, 予め学習済みの Imagenet というモデルにアワビの画像の特徴を学習させた. 最後に, 学習したモデルを使って生け簀の画像からアワビを検出した. 検出の結果, 検出に用いた画像からは 16 匹のアワビが検出された. この画像にはアワビが 32 匹存在するため, 半数のアワビを検出することができた. 結果から, 次の改善案が得られた.

• アワビ同士が重なっているような画像も学習させる.
• 検出に用いる画像について, 柵とアワビが重なって映らないものを用意する.
（※文責: 三澤健斗）

Group Report of 2020 SISP

-3-Group Number 14-A

Fish Counter

2.4

福島町のアワビ陸上養殖施設

2.4.1

施設見学 (7 月 30 日)

7 月 30 日に福島町のアワビ陸上養殖施設に見学に伺った. Deep Learning に用いるモデルの作成に必要なデータセット作成の為の画像収集, 生け簀の情報, アワビの出荷, 管理のお話を伺うことが目的である. 生け簀やアワビのサイズに関する具体的な数値を聞き, 実際の生け簀を見ることで多くの発見が得られた.
アワビの出荷サイズについて• アワビの大きさは殻長 (殻の最大距離) を見る.
• 殻長 50mm を出荷サイズとする.
• 稚貝は 20mm のものから水槽で飼育する.
• 1 年たつと 50mm を超える個体が出てくる.2 年たつと 8 割が 50mm を超えるまで育つ.
水槽の棚について• 水槽の奥行きは 350mm, 横幅は 80mm で区切られていて, この区画が 1 段につき 15 区画ある.

• 1 区画に 50mm 未満のアワビを 10 匹飼育している.
• アワビの大きさが 50mm を超えると狭くなるので水槽を移す必要がある.
アワビの特徴• アワビは居心地の良い環境を目指して移動する. 実際に水槽の中で移動するアワビを確認した.

• 餌や環境で個体間の競争がある.
（※文責: 三澤健斗）

Group Report of 2020 SISP

-4-Group Number 14-A

Fish Counter

第 3 章 中間発表会
3.1

発表の流れ

今年度の中間発表はオンライン上で行われた. あらかじめプロジェクト内で作成した,10 分のプ
ロジェクト紹介動画とプロジェクト紹介ポスターを見てもらい, ミーティングアプリ Zoom を用いて質疑応答を行うという形式で行った. その後, プロジェクト内で作成した発表評価シートを記入していただいた.
（※文責: 久保田光祐）

3.2

発表動画の作成

スライドを用いた発表動画を YouTube に投稿し, 中間発表専用サイトに動画 URL をアップロー
ドした. 動画はグループ A あわびチームだけではなく, 同プロジェクトのグループ B ぎょたんチームと協力し作成した.
動画の流れは, 初めにプロジェクト全体の概要と前期のスケジュールについて説明し, グループ

A あわびチーム, グループ B ぎょたんチーム, 最後に後期活動計画を説明する構成で作成した.
作業の分担は, プロジェクト全体で共通する部分は両チームで連携を取り製作した. グループごとの発表部分については各グループ個別に動画を制作した. 動画全体でスライドのデザインを統一する事を心掛け, テキストと図の配置について両チームで連絡を取りつつ作業を行った. 担当教員
からのアドバイスを受け, 発表での画面の遷移を少なく見やすくするために, スライドの枚数が１０枚前後になるように作成し, 丁寧に説明するように心掛けた.
（※文責: 久保田光祐）

3.3

ポスター作成動画作成と同じように, グループ B のぎょたんチームと協力し, ポスターを作成した. 前期のプロ
ジェクトの活動内容を A1 サイズのポスター 1 枚にまとめた. プロジェクト内容を知らない人が見て全体概要と両グループの活動を理解し興味を持ってもらう事が目的である.
プロジェクト全体の概要と, あわびチーム, ぎょたんチームそれぞれの活動内容でポスターを構成した.
ポスターの見やすさ, 分かりやすさに加え, 内容や英訳の誤りがないか何度も確認し, 担当教員から多くアドバイスを頂いた. また, 別々に活動しているグループ同士で対応のある記述をするために密なコミュニケーションが必要であった.
（※文責: 久保田光祐）

Group Report of 2020 SISP

-5-Group Number 14-A

Fish Counter

3.4

発表の評価

発表専用サイトにプロジェクト毎にポスターと発表動画を用意し, 閲覧時間後にミーティングア
プリ Zoom で質疑応答を行った. 質疑応答後, 聴講者に発表評価シートを記入していただいた. この評価シートは英語での解答も出来るように日本語の質問に英訳を添えたものをプロジェクト内で作成した. 発表技術と発表内容それぞれ１０段階評価で, 評価理由を記述式で書いていただく形式であった.
中間発表会で聴講者に記入していただいた評価シート (第６章) の結果をまとめると以下の通り
である.
発表技術は平均点が 7.7 点, 発表内容は平均点が 7.9 点であった.
発表技術に対するコメントでは, 声量と発音の聞き取りやすさについては良好な反応が得られた
が, 読み方についての工夫が必要だという課題も得られた. スライドの見やすさについて, 図を有効に使っていて分かりやすいスライドと字が多くて分かり辛いスライドがあることが分かった. 質疑
応答については, 分担を良く行われていて円滑に対応することができていたという評価を受けた. 両グループ間でコミュニケーションをとれていたと感じる.
発表内容に対するコメントを見ると, 活動内容や計画が具体的であったという意見を受けた. しかし, 個人の役割の説明が不十分であるという指摘も受けた. また, ツールや専門用語に対する説明が足りていない事も分かった.
発表の評価から, 後期の発表では開発プロセス, スライドの文字の数とサイズの調整が課題である. また, 従来の画像処理の手法と比較することも後期の活動の課題である.
（※文責: 久保田光祐）

Group Report of 2020 SISP

-6-Group Number 14-A

Fish Counter

第 4 章 後期活動内容
4.1

後期課題

前期ではアワビを検出することを目標に活動した. 後期では, 殻長を測るという目的を達成するために, 本グループを２つの班に分けた. 一つは画像に写っているアワビを前期より正確に数える
検出班, もう一つは画像内のアワビの殻長を測定する殻長測定班として活動した. 検出班は, アワビの数を正確に数えなければならないため, 画像からのアワビの検出率 100 ％を目指す. 殻長測定班
は, アワビの水槽と水槽内の仕切りの柵の長さが分かっているため, そことの比率からアワビの大きさを求めることを目指した.
（※文責: 高橋太郎）

4.2

施設見学（11 月 18 日）

4.2.1

実際に使う水槽の撮影

私たちは令和 2 年 11 月 18 日に動画を撮影した.2018 年頃に稚貝を入荷した棚を選び, この棚と, 隣の棚あわせて 2 つの棚の最上段の水槽を撮影した. 選択した水槽には 73 匹のアワビがいる.
もう一方の画像には 74 匹のアワビがいる. 選んだ 1 つの水槽から検出器を学習し, もう一つ棚の水槽の画像からアワビを検出する. 入荷時期が似ている水槽のアワビは大きさが似ているので, このように水槽を選ぶことで正解率の高い検出が行えるという仮説を立て, 撮影を行った.
（※文責: 三澤健斗）

4.2.2

撮影条件

水槽内で 80mm 毎に区切られた区画 1 つが端から端まで映るように撮影した. 使用したカメラ
は experia z5 内臓カメラであり, 撮影モードはプレミアムおまかせオート, メインカメラを使用, 水槽の約 350mm 上の高さから撮影した. 画像の大きさは,1080*1920px である.
（※文責: 三澤健斗）

4.3

アワビ検出班

4.3.1

画像に行った塗りつぶし処理

ディープラーニングの学習時に使うデータに対して, 水槽の 80mm 区切りの区画 1 つを 1 つのデータとするために着目しない区画のアワビを Windows10 標準のペイントツールで塗りつぶし
た. アワビが本来ある場所を背景として学習させることを避ける事が狙いである.
（※文責: 三澤健斗）

Group Report of 2020 SISP

-7-Group Number 14-A

Fish Counter

4.3.2

データセット

学習時の訓練データとして, 水槽の各区画に塗りつぶしの処理を行った画像 15 枚を使用した. 学
習時の評価データは, この水槽の隣の水槽の画像に対し同様に塗りつぶし処理を行った画像 15 枚を使用した. それらの画像から効果的な学習を行うために, 学習時にデータオーギュメンテーションを行った. データオーギュメンテーションは画像の反転, 色調の調整, 切り出しをランダムに行う処理である.
（※文責: 三澤健斗）

4.3.3

SSD アルゴリズムによる検出器の学習

検出器の学習には, SSD アルゴリズムを使用した. SSD は Faster R-CNN より精度で劣るが, 非常に動作が高速なアルゴリズムである. この処理により 1 回の学習毎に異なるデータで学習を行う
ことができる. PyTorch フレームワークによる小川 [10] の実装を利用した.
（※文責: 三澤健斗）

4.3.4

結果

検出に使った水槽には 74 匹のアワビがいる. この内 57 匹のアワビを検出した. これは水槽内のアワビの 77% である. この他に, アワビとアワビの間の空間にバウンディングボックスが表示される間違いが 3 件, 1 個のアワビから 2 個のバウンディングボックスが表示される間違いが 1 件, 重なったアワビに対してまとめて大きなバウンディングボックスを表示する間違いが 1 件あった. この水槽には, 水槽やアワビに付着した砂のような汚れが多く, アワビの輪郭が汚れにより途切れていることがあった. また, 水面で光が強く反射してアワビの白い模様と判別することが困難になっていることがあった. 検出結果の一部を 4.1 に示す.

図 4.1

Group Report of 2020 SISP

実行結果

-8-

Group Number 14-A

Fish Counter（※文責: 三澤健斗）

4.4

アワビ殻長測定班

4.4.1

技術調査

技術調査では画像から直接物の長さを測るプログラムや技術を見つけることは出来なかった. ア
ワビの殻長を画像から計測するためには, あらかじめ分かっている水槽の長さとアワビの殻長を比較することで出せると予測を立てた. そこで私たちは画像から物体の領域, ピクセル数を求めるための方法を調べ, Faster R-CNN を元に改良された Mask R-CNN を利用した.
（※文責: 久保田光祐）

4.4.2

Faster R-CNN

Faster R-CNN は Deep learning の一種で, 物体検出を行う機能を持つ.Resion Proposal Network(RPN) と呼ばれる CNN 構造を用いている. 学習の流れとしてある矩形の中身が物体なのか
何も写ってないかを学習する. その後, その移っているものが何かを判断する. ネットワーク構造は大きく「Backbone」「RPN」「HEAD」の 3 つの層に分けられている.
（※文責: 久保田光祐）

Backbone「Backbone」は, 入力画像の特徴を抽出する役割を持つ. ネットワークが浅い段階では線, 角などの単純な形状が抽出され, 層が深くなるにつれて複雑な形状が抽出される.
（※文責: 久保田光祐）

RPN（Region Proporsal Network）
物体の領域の候補を絞り込む役割を持つ. Head ネットワークのみでクラス識別と物体の領域の候補を絞り込むことを同じ層で行うことは非効率であるため, 先に RPN で候補を絞り込む. 学習するステップは大きく４つに分けられる. 最初にアンカーと呼ばれる物体の領域の候補を絞り込むための基となる領域を定義する. 次にアンカーと訓練データの領域との重なり具合を基に, 物体, 非物
体, 評価対象外のいずれかに分類し,「物体」に分類したアンカーについては, 対応するアンカーからのオフセットを求める. そのアンカーそれぞれに対して, 正解とするデータを定義する. そして,アンカーそれぞれに対して物体と見なすか否かと, オフセットという正解とする領域からどれだけズレているかを得る. 最後に, 得られた情報と正解とするデータを基に損失を得る.
（※文責: 久保田光祐）

Group Report of 2020 SISP

-9-Group Number 14-A

Fish Counter

Head ネットワーク（出力層）
Backbone の出力から RPN で得られた候補を切り出し, それぞれについてクラス識別と物体検出を行う.
（※文責: 久保田光祐）

4.4.3

Mask R-CNN

Mask R-CNN は Faster R-CNN と似たネットワークを持っている.Faster R-CNN との違い
として, Head ネットワークの層にセグメンテーションレイヤーが追加されている. 機能として,Faster R-CNN は物体検出を行い, Mask R-CNN はそれに加えてイメージセグメンテーションのタスクを行う. セグメンテーションは物体の周りに BoundingBox で囲うだけではなく, ピクセルレ
ベルで判定をする.
（※文責: 久保田光祐）

Mask R-CNN 動作テスト
GitHub matterport/Mask_RCNN の実装を利用した [11]. 環境構築や Mask R-CNN について学ぶことに時間がかかってしまったため, サンプルの実行になった. データセットとテスト画像はCOCO の 2014 Train images, 2014 Val images, 2014 Test images, 2014 Train/Val annotationsを利用した [12]. サンプルでの実行結果を図 4.2 に示す.

図 4.2

実行結果

環境構築とプログラムの修正までは出来ていることが確認できた. 残った課題として, アワビの画像を利用した実行結果を求める, アワビの領域と水槽を仕切る柵の領域を比較し殻長を測ることが必要である.
（※文責: 久保田光祐）

Group Report of 2020 SISP

- 10 -

Group Number 14-A

Fish Counter

4.4.4

使用したツール

Google Colaboratory
Python を扱う環境の一つである. チーム内で共有が Google Drive で保存されるためファイルの共有が行いやすく, 無料の GPU を利用でき, 環境構築がほぼ不要ですぐに機械学習を行うことが出来る. しかし, 欠点として Google Colaboratory 特有の処理や, 90 分でリセットされる時間制限がある. サンプルのプログラムを起動し, 確認するために用いた.
（※文責: 久保田光祐）

Jupyter Notebook
Python を扱う環境の一つである. 様々な os で利用でき, 入力したプログラムの実行結果がプログラムの直後に表示されるため, データ分析と確認が容易である. 今回は学内の GPU サーバーが利用できるため, 時間制限のない Jupyter Notebook の利用に切り替えた.
（※文責: 久保田光祐）

Anaconda Prompt(Anaconda3)
Python を扱う環境の一つである. Jupyter Notebook を利用するときに, 仮想環境を作成するために使用した. 利用する Python のバージョンを 3.6 に対応させるため, Anaconda のバージョンを

4.5.12 に, ダウングレードをして利用した.
VIA (VGG Image Annotator)
VIA をダウンロードし, ブラウザ上で利用することが出来るアノテーションツールである.
VIA[13] を用いてピクセル単位でのセグメンテーションを作成することが出来る.
（※文責: 久保田光祐）

Group Report of 2020 SISP

- 11 -

Group Number 14-A

Fish Counter

第5章
5.1

成果発表会

発表の流れ

後期の最終発表会も, 前期の中間発表会と同様の形式で, あらかじめプロジェクト内で作成した,
プロジェクト紹介動画とプロジェクト紹介ポスターを見てもらい, その後 Zoom のブレイキング
ルームにて質疑応答を行った.
（※文責: 高橋太郎）

5.2

発表動画の作成

前期と同様, 作成した動画は, YouTube に投稿し, 最終発表会の専用サイトに動画 URL をアップロードした.
動画はスライドに音声を入れる形式で作成した. スライドは, プロジェクト全体の概要と目的, あわびチームの目的と活動内容, 実験内容・結果・考察, ぎょたんチームの概要, 活動内容, 実験内容・
結果・考察, 最後にまとめという構成で作成した. スライド全体を通して, デザインやレイアウト,
フォントやフォントサイズ, 使う色まで細かく気を配って作成した. スライドの内容に関しては, 各チームでそれぞれ作成し, 担当教員からアドバイスをもらい, また, お互いのチームで, 何も知らない人が内容を理解できるかを確認し合った. また, スライドに音声を入れる際は, 読む文章の内容も何度も確認した. 何も知らない人が一度で内容を理解できる内容になっているか, 適切な言葉遣いをしているか, 回りくどい言い方をしていないか, 内容が重複していないかを何度も確認した. また,なるべく一枚のスライドにおいての文量を少なくするように心がけた.
（※文責: 高橋太郎）

5.3

ポスター作成ポスター作成ポスター作成も動画と同様に, ぎょたんチームと協力して行った. ポスターは前期と同様に A1 サイズの用紙 1 枚にまとめた. 前期と同様に注意した点としては, プロジェクト内容を知らない人が見て全体概要と両グループの活動を理解し興味を持ってもらう事, 内容のわかりやすさ, ポスターの見やすさ, 英訳の誤りがないかなどを確認した. 加えてレイアウトや字体, フォントなども確認し, 統一感のあるようにまとめた. また, ポスターは, あくまで興味を持ってもらうもの, スライドのプロジェクト紹介動画が活動の説明となるように, 載せる文章や内容のバランス, ス
ライドとポスターで内容に正誤が無いかにも注意して作成した. 担当教員から多くアドバイスを頂き, お互いのグループ同士で確認し合ったり, 指摘し合ったりしながら, たくさんコミュニケーショ
ンを取って活動を行った.
（※文責: 高橋太郎）

Group Report of 2020 SISP

- 12 -

Group Number 14-A

Fish Counter

5.4

発表の評価

後期も, 前期と同様に, 発表専用サイトにポスターと発表動画のリンクを用意し, 閲覧時間後に

Zoom にて質疑応答を行った. 質疑応答後, 聴講者に発表評価シートを記入してもらった. 発表評価
シートも前期と同様の形式で発表技術と発表内容それぞれ 10 段階評価で, 評価理由を記述式で書いていただく形となっていた.
発表技術は平均点 7.4, 発表内容は平均点 7.8 となった. 発表技術についてのコメントとして, わ
かりやすかった, 聞き取りやすかった, 質問に対する受け答えが明確だった等, 多くの評価者から高評価をいただけた. 一方で質疑応答の際, 無言となる時間にスライドなどで説明をして, 場をつなげてほしかったといった意見もいただいた.
発表内容については, 実用的で現場で活用できそうな技術を開発している事への評価や, 課題や目標の設定が明確で結果もある程度出ていたことへの評価をいただけた. しかし, ポスターについて画像が少ないことに対する見難さの指摘や, プロジェクト紹介動画について動画内の文量が多めで説明頼りな部分がありプロセスの説明が簡潔でないとの指摘を受けた. 先行研究や背景をもう少し加えた方がいいという意見もいただいた. また, 実用レベルにしてほしいという言葉を多くいた
だいた.
私たちは, 期間内に実用レベルの段階まで到達することはできなかったが, 次年度以降のプロジェ
クト学習等で引き継いでもらい, 実際に漁業者の方に使ってもらえるところまで行ってほしいという期待が持てる結果となった.
（※文責: 高橋太郎）

Group Report of 2020 SISP

- 13 -

Group Number 14-A

Fish Counter

第6章
6.1

発表会の評価シート

中間発表会

中間発表会で聴講者に記入していただいた評価シートの結果を示す.
記入項目は, 発表技術について 10 段階で評価, コメント, 発表内容について 10 段階で評価, コメ
ントの 4 つである. 発表技術の評価の基準は, プロジェクトの内容を伝えるために効果的な発表が行われているかである. 発表内容の評価の基準は, プロジェクトの目標設定や計画, 活動内容は十分なものであるかである. 教員と学生合わせて 38 名に評価をしてもらった. 中間発表で聴講者に記入していただいたコメントから要点を抜粋したものを以下に示す.
発表技術について• 発話と動画のスライド内テキストとのリンクについて一致度がまちまちだった.
• 目的が明確でよかった.
• はっきりとした発声でゆっくり喋っているのは聞きやすい.
• 同じ調子で喋り続けているため, どこに着目して聞くべきかわかりにくい.
• 文章の量が多いところが気になった.
• スライドが見やすくてよかったです. 発表の順序, 構成が良くて理解しやすかった.
• 声は聞き取りやすかった. もう少し元気のある声だと, より聞き取りやすいと思う.
• 動画の文字は見えないことはないが, もう少し大きくしたほうが見やすくなるのではないかと思う.

• ポスターに文字が多すぎて少しみづらい.
• 年間スケジュールがわかりやすかった. ポスターにも記載してあるとよかった.
• 質疑応答でしっかりと役割分担ができていた.
• 質問への対応がとても聞きやすかった.
発表内容について• 行ったことの成果部分が, 急に専門的な用語が頻出する具体的な作業の紹介になっており, その前のスライドから見ると唐突な感じがする.

• ツールを使うならそのツールがどのようなものかについて説明があったほうがすんなりと成果を受け止めやすいと思う.

• 現状の問題点とそれに対する解決策が説明されていたので, プロジェクト全体を通してのやりたいことがわかりやすかった.

• 軽い説明のようなものがあった方が理解が深まるのではないかと感じた.
• もう少し, 各個人の役割やこれまでの開発プロセスなどをまとめた項目がほしい.
• 実際にシステムを動作させて実験を繰り返している点がよい.
• 目的や目標がはっきりしていた. 今後の見通しも立っていた.
• 実際にやったことから改善点を見つけ, そこから後期はこうするという過程がしっかりしていた.

• 発表内容については概要を理解できた.
Group Report of 2020 SISP

- 14 -

Group Number 14-A

Fish Counter• アワビの検出はアワビ以外にも応用できると思う.
• さらにアワビならでは特性みたいなものの検出を追加すると面白くなると思う.
• 今期の活動や, 最終的な目標まで細かく説明されていた.
表 6.1

中間発表会の評価

評価

発表技術

発表内容

1

0

0

2

0

0

3

0

0

4

0

1

5

0

0

6

6

1

7

10

11

8

12

14

9

7

8

10

3

3

合計

38

38

平均

7.8

7.9

（※文責: 高橋太郎）

6.2

最終成果発表会

最終成果発表会で聴講者に記入していただいた評価シートの結果を示す.
記入項目は, 発表技術について 10 段階で評価, コメント, 発表内容について 10 段階で評価, コメ
ントの 4 つである. 発表技術の評価の基準は, プロジェクトの内容を伝えるために効果的な発表が行われているかである. 発表内容の評価の基準は, プロジェクトの目標設定や計画, 活動内容は十分なものであるかである. 教員と学生合わせて 41 名に評価をしてもらった. 中間発表で聴講者に記入していただいたコメントから要点を抜粋したものを以下に示す.
発表技術について• 聞き取りやすく, 特に不満を感じなかった.
• 素直な動画構成で, やりたかったことがよく伝わりました• スライドは分かりやすくまとまっていたが, ポスターの文字が小さく見えづらかった.
• 推奨機だと音声が小さくきこえたので少し気になった程度であり, 理解がしやすかった.
• スライドが見やすく，話し方も適切だった．
• 全体的に聞き取りやすかった. また, 見やすいスライドであったと思う. やったことや失敗したこと等の理由が明確でよく伝わってきた.

• 活動内容が詳しく説明されていてわかりやすかった. 質問への受け答えが的確だった.
• 発表が動画の視聴のみになっており, 時間の有効活用になっていた• 質問が来なかった場合に何か画面共有しているスライドについて説明をするとよいと思った
Group Report of 2020 SISP

- 15 -

Group Number 14-A

Fish Counter• 無言の時間が長かったので, 何かしらの盛り上げなどが欲しかったです.
• 発表がスムーズでない時があったが, 質疑応答がしっかりしていた
発表内容について• システムを使用した場合としなかった場合との差を定量的に提示しているのが素晴らしいと思った.

• 目標と結果, 今後の展望が明確に示されています.
• しっかりとした背景のもとで目標が設定されていた. 結果もしっかりと出ていて良かった.
• 厳しい状況のなかでも，十分な取り組みができていたような印象をもちました．しっかりとした内容でした．わりと控えめに淡々と語られて（記述されて）いましたが，どのあたりがチャレンジングだったのか，特筆すべき実践や成果なのか，もう少し強くアピールしてもよ
かったように思います．ポスターは文章がメインですが，もう少しインフォグラフィック的な表現があっても良いかもしれません．

• 役にたちそうな活動でおもしろいと思いました. 頑張ってください.
• すこしの誤差はあるが精度が良く, 課題もはっきりしているので良いと思いました.
• トピック柄難しいのかもしれないが, 動画内の文量が多めで説明頼りな部分がある. プロセスの説明が簡潔でないように思った.

• すごく実用的なものを作っていると思いました.
• 現状どのようなことができているか, 今後の展望がどのようなものかが明確でわかりやす
かった• 実際の現場で活用できそうな技術を開発していると感じた. 実際に現場で使用してみてのレビューを参考にして, 実用レベルまで進めてほしいと思った.

• 先輩の研究からの継承などのプロジェクトの背景をもう少し加えないと，このプロジェクトが正しく評価されいと思います．

• 実際の現場で活用できそうな技術を開発していると感じた. 実際に現場で使用してみてのレビューを参考にして, 実用レベルまで進めてほしいと思った.

Group Report of 2020 SISP

表 6.2

最終成果発表会の評価

評価

発表技術

発表内容

1

0

0

2

0

0

3

0

1

4

3

0

5

0

1

6

8

1

7

7

11

8

15

16

9

6

8

10

2

3

合計

41

41

平均

7.4

7.8

- 16 -

Group Number 14-A

Fish Counter（※文責: 高橋太郎）

Group Report of 2020 SISP

- 17 -

Group Number 14-A

Fish Counter

第7章
7.1

まとめ

前期のまとめ

前期の活動では, アワビを検出する課題について手探りの状態で取り組む事から始まった. 技術調査から始め,ChainerCV を使って検出をする事を決め, サンプルプログラムを動かしてみた.ChainerCV は開発が終了していたが, 多くの有用なライブラリがあったため, 技術・知識の習得として使用した. その後, 前期でやった内容を, 中間発表に向けてまとめ, 資料を作成した. 前期終了
後, 夏休み期間に施設見学に行き, 実際にアワビ養殖施設の漁業者の方にお話を伺い, 施設の構造や養殖環境を実際に見て, 開発内容のイメージを膨らませた. これらの活動から課題を分析し, 個人に割り振るまで細分化することができた. 後期に向けては, 検出プログラムの改良, 殻長測定方法の考案・プログラム化, 従来の画像処理の手法と比較という課題に分担して取り組むことになった.
（※文責: 高橋太郎）

7.2

後期のまとめ後期の活動では, アワビの検出する正確性を挙げる検出班と殻長を測定する殻長班に分かれて活動した. 検出班は SSD アルゴリズムを用いて検出を行った. 実験の結果,74 匹中 57 匹のアワビを検出した. これは水槽内の 77% となった. 水槽内の砂のような汚れや光の反射をアワビと判別してしまうことが検出率を下げる原因となった. これの原因のどう解決するかという課題が残った.
殻長班は Mask R-CNN を用いて, アワビと水槽を仕切る柵の領域を求め, ピクセル数の比較をし, 殻長を求めることを目標とした. 環境構築に時間がかかってしまったため, サンプルプログラムでの実行となった. 画像の領域を求めることが出来た. 課題として, アワビと水槽の柵を学習データを作成し, 実行結果を出す, その結果からピクセル数の比較をする課題が残った.
また, 前期活動と同じように施設見学を行った. 前期では足りなかった水槽にあるアワビの画像を検出しやすい条件を考えながら撮影や, アワビについて聞いた.
成果発表会では, 中間発表と同じようにもう一つのグループのぎょたんチームと協力し, プロジェ
クト紹介動画, ポスターを作成した.
（※文責: 久保田光祐）

Group Report of 2020 SISP

- 18 -

Group Number 14-A

Fish Counter

第8章
8.1

プロジェクト内のインターワーキング高橋太郎 (担当:)

前期は, グループ分けと課題設定から始め, 技術調査, サンプルコードの書き換え, 物体検出のプ
ロトタイプの作成を主に行った.Web サイトや授業での内容を参考に機械学習や画像認識やディー
プラーニングについて調べ, 様々な方法を試してみた. 前期は, 全員で活動し, データセットの作成と検出の動作を行ってみた. 今年は, 前期はすべてオンラインでの活動だった為, コミュニケーショ
ンの取り方がとても難しかった.
中間発表では, スライドとポスターを作成し準備した. 中間発表では, 私はポスターを担当した.
ポスター内の文章と英訳に矛盾が無いか, 内容は正確かなど何度も確認した. また, 当日は質疑応答を担当し, 柔軟に対応することができ, 出た質問をまとめることで, 後半の質疑応答や後期の活動課
題設定に活かすことが出来た.
前期終了後, 実地調査で福島町のアワビ養殖施設に出向いたときには, 検出に使えそうな画像や動画などのデータを様々な条件で収集する事を主に行った. 後期では, 活動内容を細分化し, 画像からアワビを検出する班と, 殻長測定を行う班に分かれた. 私は殻長測定班に所属した. まず, 殻長測定についての技術調査と類似の先行研究について調べた. 先行研究では, ホタテの殻長をクレー
ター検出の技術を応用して測定する方法が紹介されていたが, 時間がかかるという問題点があり, 実
用的ではないため, この方法は, 見送りとなった. 画像からアワビの殻長を測定するというのは, 撮影する高さなどの条件によって, 上手く測定できなくなるため, ピクセル数を比較するという方針で進めることになった. 具体的には, 水槽や水槽内の柵の大きさが決まっているため, 柵とアワビとの比較で測定を行うということだ. 具体的な活動内容は, Mask R-CNN や Google Colaboratory,

Jupyter Notebook などを使い, 環境構築から, データセットの作成を主に行った. エラー文の原因の調査と修正に多くの時間をかけた. 私は, プログラミングが得意ではないため, メンバーに何度も教えてもらいなら, 活動した.
成果発表では, スライド班として, スライドの内容と, レイアウトを重点的に確認した. フォントとサイズの統一, 配色などを, ぎょたんチームと連携して確認した. スライド枚数は多くなってしまったが, 見やすかったと評価をいただけた. また, スライドの音声も担当し, 読む内容を各チームと何度も確認し, 文を分かりやすく, なるべく短く手も伝わるように修正した.
（※文責: 高橋太郎）

8.2

久保田光祐 (担当:)

前期では技術調査後, 全員でチョコボール統計の web サイトを参考に機械学習, Deep learningの概要について学んだ. 並行して, 初めて Python を利用したので並行して Jupyter Notebook や

Python の使い方について学んだ. アワビを LabelImg を利用してデータセットを作成し, 物体検出のプロトタイプの作成を行った.
中間発表に向けて, 発表動画のスライドの作成, 修正を行い, スライドが多くなりすぎず, 見やす
くなるようにした. また, 中間発表会の評価シートの Google Forms を用いて作成した.

Group Report of 2020 SISP

- 19 -

Group Number 14-A

Fish Counter
後期では, アワビの殻長を測る, 殻長班に所属した. 技術調査時に画像から長さを測る直接的な技
術, 方法を見つけることができなかった. そこで殻長を測るためには, 長さが決まっている水槽を仕切る柵のピクセル数と, アワビのピクセル数を比較する方法を提案した. 環境の構築の予習を積極的に行った. Google Colaboratory でプログラムの動作をテストするとき, 特有の記述やファイルを参照するプログラムの場所を探し, エラーを吐く原因を調査し, 修正した. Google Colaboratory では, 始めるたびに状態がリセットされてしまうため, 動作を確認した後,Jupyter Notebook に切り替える作業を行った.Anaconda3 で環境を作成した際,Google Colaboratory で試した際と違う内容のエラーを吐いたためエラーの原因を調べた.Python のバージョンと Anaconda3 のバージョンの対応がしてないことが原因ということが分かったあと, Anaconda3 のバージョンを下げる方法について調べた. プログラムのライブラリのバージョンと Python のバージョン,Jupyter Notebookの対応バージョンをまとめて, 班内で共有した.
殻長班のリーダーとして, グループメンバーの進捗の確認や, 班のメンバーと協力し, 計画を立てた. プロジェクトリーダーへの報告を行った. 成果発表会でも, 中間発表会と同じようにスライドの作成, 修正を行った.
（※文責: 久保田光祐）

Group Report of 2020 SISP

- 20 -

Group Number 14-A

Fish Counter

参考文献[1] 独立行政法人労働政策研究・研修機構 図 4

産業別就業者数 (第一次〜第三次産業, 主要産業

大分類):https://www.jil.go.jp/kokunai/statistics/timeseries/html/g0204.html[2] 農林水産省 漁業生産に関する統計[3] 福島町におけるアワビ陸上養殖事業について 福島町産業課 (水産) http://www.kanchi.or.jp[4] LabelImg: https://github.com/tzutalin/labelImg[5] JupyterNotebook: https://jupyter.org/[6] GoogleColaboratory: https://colab.research.google.com[7] Python: https://www.python.org/[8] ChainerCV: https://chainercv.readthedocs.io/en/stable/[9] チョコボール統計: https://chocolate-ball.hatenablog.com/entry/2018/05/23/012449[10] 小川雄太郎, つくりながら学ぶ!PyTorch による発展ディープラーニング, マイナビ, 2019.
[11] GitHub: https://github.com/matterport/Mask_RCNN[12] COCO: https://cocodataset.org/[13] VGG Image Annotator (VIA) :https://www.robots.ox.ac.uk/ vgg/software/via/

Group Report of 2020 SISP

- 21 -

Group Number 14-A