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

プロジェクト名
脳をつくるプロジェクト

Project Name
Make Brain Project

グループ名
画像認識だけで AI カー

Group NameAI Car with Image Recognition Alone
プロジェクト番号/Project No.

13

プロジェクトリーダ/Project Leader
太田怜志

Reiji Ota

グループリーダ/Group Leader
金拓史

Takumi Kon

グループメンバ/Group Member
金拓史

Takumi Kon

原瑶介

Yousuke Hara

斉藤陸

Riku Saitou

指導教員
香取勇一

栗川知己

加藤譲

佐々木博昭

冨永敦子

ヴラジミール リアボフ

佐藤直行

AdvisorYuichi Katori

Tomoki Kurikawa

Yuzuru Katou

Volodymyr Riabov

Hiroaki Sasaki

Naoyuki Satou

提出日
2024 年 1 月 17 日

Date of Submission
January 17, 2024

Atsuko Tominaga

概要
脳をつくるプロジェクトでは、脳の仕組みを取り入れた新しい人工知能の構築に取り組んでいる。本グループでは、強化学習を自動運転へ応用することを目的とした。強化学習では、エージェントが試行錯誤しながら、環境の中で目的として設定された報酬を最大化するための行動を学習する。そのため、未知の環境への対応が可能である。また、強化学習は、走行しながら刻々と変化する状況を検知し、判断しなければならない自動運転において実用性が高いとされている。自動運転における AI の役割は認知、判断、制御の 3 つの機能に分類される。AI を使わないルールベースのプログラムでは、発生しうる状況をすべて想定してプログラムを組む必要があるが、車の運転では、他の車両や歩行者に加えて、動物の出現や落下物の回避などを想定しなければいけない状況が多岐にわたるため、ルールベースのプログラムを組むことが困難である。そのため、実際に発生し得る走行状況をシミュレーション環境やデータとして用意
し、認知のアルゴリズムに強化学習を用いることで、様々な状況で安全な運転ができるように
判断、制御を同時に学習することができる。具体的には、観測情報に応じて適切な行動決定をすることができる AI カーの実現を目指す。前期の活動では、物体検出や強化学習についての学習を進めた。また、AI カーの制作に必要なラジコンカーや Jetson Nano [1]、GPU 搭載のパソコンを調達し、ラジコンカーを組み立てた。 後期の活動では、GPU 搭載のパソコン上にUnity、C ＃、Python を用いてシミュレーション環境を構築し、シミュレーションを行った。
キーワード

自動運転, 物体検出, 強化学習, Jetson Nano（※文責: 原瑶介）

-i-Abstract
In the Make Brain Project, groups are working on building a new artiﬁcial intelligencethat incorporates the mechanisms of the brain. Our group aimed to apply reinforcement
learning to automatic driving. In reinforcement learning, an agent learns behaviors tomaximize rewards set as objectives in the environment through trial and error. This
makes it possible to respond to unknown environments and to learn with less data.
Reinforcement learning is also considered highly practical in automatic driving, where
the driver must detect and judge ever-changing conditions while driving. The role of
AI in automatic driving can be categorized into three functions: cognition, judgment,
and control. Rule-based programs that do not use AI must be programmed to assume
all possible situations that may occur. However, it is diﬃcult to program rule-based
programs for automatic driving because of the wide variety of situations that must be
assumed, such as the appearance of animals and avoidance of falling objects in addition
to other vehicles and pedestrians. Therefore, by preparing a simulation environment anddata on driving situations that may actually occur and using reinforcement learning forthe cognition algorithm, judgment and control can be trained simultaneously to drive
safely in a variety of situations. Speciﬁcally, we aim to realize an AI car that can makeappropriate action decisions based on observed information. In the activities of theﬁrst semester, the group advanced learning about object detection and reinforcement
learning. We also procured radio-controlled cars, Jetson Nano [1], and a GPU-equipped
PC necessary for the creation of the AI car and assembled a radio-controlled car. In
the second semester, we built a simulation environment using Unity, C ＃, and Python
on a GPU-equipped PC. The simulation environment was built using Unity, C ＃, andPython on a GPU-equipped PC, and simulations were conducted.
KeywordNano

Automatic Driving, Object Detection, Reinforcement Learning, Jetson（※文責: 原瑶介）

- ii -

目次
第1章

背景

1

1.1

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

1

1.2

過去年度との違い. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.3

目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.4

目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.5

従来例とその問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.6

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

2

プロジェクト学習の概要

3

2.1

課題の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.2

達成目標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.3

課題の割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.4

自動運転とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.5

自動運転レベルとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

第3章

課題解決のプロセス

5

第4章

方法と技術

6

4.1

強化学習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

4.2

Dueling DDQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64.3

車線および車のふらつきの検出 . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

4.4

シミュレーション環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

4.5

制御理論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

4.6

ラジコン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

4.7

転移学習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9プロジェクトの活動内容

10

5.1

前期における活動内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

5.2

夏期休暇中における活動内容. . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

5.3

後期における活動内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

結果

13

6.1

シミュレーションにおける結果 (直進とカーブ) . . . . . . . . . . . . . . . . . . .

13

6.2

シミュレーションにおける結果 (標識) . . . . . . . . . . . . . . . . . . . . . . . .

13

考察

14

7.1

シミュレーションにおける考察 (直進とカーブ) . . . . . . . . . . . . . . . . . . .

14

7.2

シミュレーションにおける考察 (標識) . . . . . . . . . . . . . . . . . . . . . . . .

14

外部発表・評価 (中間発表)

15

第2章

第5章

第6章

第7章

第8章

- iii -

8.1

中間発表までの取り組み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

8.2

中間発表までの成果物 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

8.3

中間発表の内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

8.4

中間発表の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

外部発表・評価 (成果発表)

18

9.1

成果発表までの取り組み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

9.2

成果発表までの成果物 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

9.3

成果発表の内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

9.4

成果発表の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

第9章

第 10 章 まとめ

21

10.1

成果物 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

10.2

今後の課題と展望

21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

第 11 章 個人の取り組み

22

11.1

金 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

11.2

原 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

11.3

斉藤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

第 12 章 活動の詳細な時系列

25

12.1

4月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

12.2

5月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

12.3

6月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

12.4

7月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

12.5

8月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

12.6

9月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

12.7

10 月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

12.8

11 月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

12.9

12 月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

12.10

1月 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

付録 A

新規習得技術32

付録 B

活用した講義

33

参考文献

34

- iv -

Make Brain Project

第 1 章 背景1.1

背景

従来の自動運転車では、高精度なセンサやリアルタイムで読み込み可能であるマップを搭載する必要がある。しかし、高精度なセンサなどを搭載することでコストが高くなってしまう問題がある。具体例として、センサの価格とカメラの価格について述べる。日本経済新聞によると [2]、実際に自動運転車に搭載されているセンサの 1 種である LiDAR の価格は年々下がってきているが約5 万円であり、それに対してカメラの価格は約 5,000 円である。これは、カメラのみで AI カーを作成した場合に約 1/10 のコストに抑えられることを表している。そこで、私たちはセンサの高価格に着目し、画像認識の技術だけで AI カーを作成することで、コストを下げたいと考えた。
（※文責: 金拓史）

1.2

過去年度との違い

脳をつくるプロジェクトでは、2 年前に AI カーを作っていたグループがあった。しかし、標識の識別を 2 つ以上おこなえないという問題があった。また、センサを使っており、コストが高くなっていた。今年度はこの問題を解決し、複数の標識を識別できるようにするとともに、センサを使わず低コスト化を実現させたいと考えている。
（※文責: 金拓史）

1.3

目的

カメラ入力のみから、信号機を含む交差点で右左折ができれば画像認識だけで AI カーを実現できたといえるのではないかと考えた。実際は踏切や信号機のない交差点、急勾配の道路など様々な環境が考えられる。また、複数台での譲り合いや緊急車両の通過、追い越しなど人間同士のコミュ
ニケーションも考えられる。さらに、地震や落雷による停電中や道路拡張による工事中など特殊な状況も考えられる。しかし、基本的な環境としては信号機を含む交差点が一般的である。よって、応用的な要素はあとから考慮するべきであり、まずは基本的な環境においてカメラ入力のみから

AI カーを実現させたいと考えた。
（※文責: 金拓史）

1.4

目標

本研究ではシミュレーション環境と実環境を分けて開発をおこなう。本研究のシミュレーションにおける目標は以下の 3 点である。一つ目の目標は、交差点が存在する環境において、直進や右左折を行えることである。二つ目の目標は、いくつかの設置されている標識に従うことである。三Group Report of 2023 SISP

-1-Group Number 13

Make Brain Project
つ目の目標は、道路上に存在する信号機を検出、従うことである。また、2 年前に脳をつくるプロ
ジェクトで作られた AI カーの改良として、白線検出や標識認識の精度向上も考えている。これは、実環境での運用のために必要である。シミュレーション環境で目標達成後に実環境の開発をおこなう。しかし、実環境については開発をおこなわない可能性がある。
これらを達成した上で、交差点内における様々な状況判断や複数台による譲り合いを必要事項として考えている。これにより、交通事故のリスクを減少させることが可能ではないかと考えている。交差点内における様々な状況判断とは、歩行者や自転車がいた場合や黄色信号への対応などである。複数台による譲り合いとは、信号機のない交差点における対応や、丁字路での対応などである。はじめに述べた 3 点を基本的な目標とし、交差点内における様々な状況判断や複数台による譲り合いを発展的な目標とする。これを 1 つずつ達成していく。しかし、発展的な目標は議論のみとし開発はおこなわない。
（※文責: 金拓史）

1.5

従来例とその問題点

従来の自動運転車では、高精度なセンサやリアルタイムで読み込み可能であるマップを搭載する必要があり、コストが高くつく課題がある。
（※文責: 金拓史）

1.6

課題

1 つ目に、実環境とシミュレーション環境の違いに対処するという課題がある。例えば、信号機
や標識、標示の色が時間や環境により左右され、暗く見えてしまうことが考えられる。これにより、光の当たり具合で画像認識の精度に影響が出てしまう可能性である。現在は、ノイズを含める
ことでこの課題に対処できないかと考えている。2 つ目に、強化学習やそのアルゴリズムについて勉強中であるため、最適なアルゴリズムを選択する必要がある。
（※文責: 金拓史）

Group Report of 2023 SISP

-2-Group Number 13

Make Brain Project

第 2 章 プロジェクト学習の概要
2.1

課題の設定

1.3 節で述べた問題を単眼カメラを用いた画像認識と強化学習という技術を使って、AI カーを作ることにより解決する。さらに、1.2 節で述べた目的を達成するために AI カーを走らせるコースに信号機の設置や交差点を配置するといった課題を設定する。この課題を克服するために強化学習を用いてシミュレーション環境で事前に学習させる。
（※文責: 金拓史）

2.2

達成目標

課題を解決できたといえるようなレベルを以下のように設定した。

• 信号機が存在する交差点において、直進や右左折を行える AI カーを作成する。
• 2 年前に脳をつくるプロジェクトで作られた AI カーの課題であった標識の検出できる種類を増やす。
（※文責: 金拓史）

2.3

課題の割り当て金 (グループリーダー)：シミュレーション環境構築、実機の組み立て
原 (コードリーダー)：メイン部分のコーディング、強化学習
斉藤 (タスクマネジャー)：コーディングのサポート、ドキュメント（※文責: 金拓史）

2.4

自動運転とは自動運転とは、運転車ではなくシステムが運転操作に関わる認知、予測、判断、操作の全てを代替しておこない、車両を自動で走らせることである。自動運転システムを搭載して、自動運転が可能な車両を自動運転車と呼ぶ。自動運転レベル 3 以上の車両が自動運転車にあたる。よって自動運
転車とは、認知、予測、判断、操作の全てを代わりにおこなってくれる車両のことである。
現在の自動運転車の課題としては主に 4 点が挙げられる。1 点目は、高価格なことである。2 点
目は、国際的なルール作りや法整備などが不十分なことである。3 点目は、人工知能の精度が十分ではないことである。4 点目は、通信インフラの整備が進んでいない地域が多く存在することである。
（※文責: 金拓史）

Group Report of 2023 SISP

-3-Group Number 13

Make Brain Project

2.5

自動運転レベルとは

自動運転レベルとは、レベル 0 からレベル 5 までの 6 段階で区別されている基準で、運転操作の主体や走行領域などにより決められている。レベル 0 とは、自動運転に関する技術が搭載されていない車のことであり、運転操作の主体は人である。レベル 1 とは、アクセルとブレーキ操作またはハンドル操作のどちらかが部分的に自動化されているものである。運転操作の主体は人である。これは、運転支援車と呼ばれている。例として、自動ブレーキなどが挙げられる。レベル 2 とは、ア
クセルとブレーキ操作およびハンドル操作の両方が部分的に自動化されているものである。運転操
作の主体は人である。これも、運転支援車と呼ばれている。例として、日産「ProPILOT」やスバル「EyeSight」などがある。レベル 3 とは、特定の走行環境条件を満たす限定された領域において自動運行装置が運転操作の全部を代替している状態である。ただし自動運行装置の作動中において、自動運行装置が正常に作動しないおそれがある場合については、運転操作を促す警告が発せられるので人は適切に対応しなければならない。運転操作の主体はシステムである。しかし、自動運行装置の作動が困難な場合は人である。これは、条件付自動運転車 (限定領域) と呼ばれている。
例として、ホンダ「新型 LEGEND」がある。レベル 4 とは、特定の走行環境条件を満たす限定された領域において自動運行装置が運転操作の全部を代替している状態である。運転操作の主体はシステムである。これは、自動運転車 (限定領域) と呼ばれている。レベル 4 は実証実験中である。
レベル 5 とは、自動運行装置が運転操作の全部を代替している状態である。運転操作の主体はシス
テムである。これは、完全自動運転車と呼ばれている。レベル 5 の開発については未定となっており、まだ先と考えられている。
（※文責: 金拓史）

Group Report of 2023 SISP

-4-Group Number 13

Make Brain Project

第 3 章 課題解決のプロセス
画像認識だけで走る AI カーを作るにあたり、以下のような課題解決プロセスを実行する予定である。

1. 各々必要な技術やツールの勉強をする。例：Ubuntu、強化学習、制御工学、画像処理など
2. Ubuntu でシミュレーション環境を構築する。
3. 実際にシミュレーション環境で AI カーが走ることができることを確認したのち、道路に沿って直進させる。

4. 信号機のある道路で直進させ、信号機を守れるように学習させていく。
5. 交差点での直進、右左折ができるように学習させる。
6. 交差点に信号機を置き、信号機を守りながらも直進、右左折ができるように学習させる。
7. 実環境で走らせる実機にこれまでシミュレーション環境で学習させたモデルを転移学習させる。

8. 実環境でも走れるように学習を進める。
（※文責: 金拓史）

Group Report of 2023 SISP

-5-Group Number 13

Make Brain Project

第4章
4.1

方法と技術

強化学習

強化学習とは、エージェントが環境の中で試行錯誤しながら最適な行動を学習し、それにより最適なシステム制御を実現する機械学習手法のひとつである。
ここで、強化学習の例について犬のしつけを用いて解説する。今回は成功したパターンについて記述するが、失敗した場合も同様である。今回の例では人間を環境とし、犬をエージェントとする。はじめに、人間が「おすわり」という指示を出す。次に、犬は「おすわり」を観測する。ここ
で犬には「座る」という選択と「座らない」という選択の 2 つの選択肢が用意されている。今回は成功したパターンであるため、犬が「座る」を選択したと仮定する。よって、犬は実際に座りおや
つをもらうことができる。このように、犬は「おすわり」のときに「座る」を選ぶことでおやつがもらえることを学習していく。これを繰り返しおこなうことで学習を強化していく。
ここで、強化学習に関する用語の解説をする。報酬とは行動の結果により得られるものである。
報酬には正の報酬と負の報酬が存在する。前述の犬のしつけの例では、成功した場合に正の報酬であるおやつを与える。つまり、理想的な行動をしたときに正の報酬が与えられる。反対に望まない行動をしたときに負の報酬が与えられる。
ここで、なぜ自動運転に強化学習を用いたのか説明する。その理由として主に 2 点挙げられる。

1 点目は、ルールベースのプログラムだけでは複雑な環境での走行が難しくなるからである。強化
学習では複雑な環境においても学習をさせることができ、精度を高く保つことが可能である。2 点
目は、様々な状況に応じて走行させたいからである。状況を変化させても最適な行動を取ってほしい場合に強化学習は適している。
ここで、強化学習をどのように実装したかについて解説する。はじめに、具体的な強化学習の手法として「Dueling DDQN」を用いた。ネットワークの構築と学習に「Python」と、深層学習ラ
イブラリの「PyTorch」を使用した。また、車のふらつきや速度、加速度、ステアリングの角度の実数ベクトルを正規化し、ネットワークに入力して学習させた。
（※文責: 原瑶介）

4.2

Dueling DDQN

Dueling DDQN とは、Dueling Network + DDQN で構成される強化学習の手法である [3][4]。
このアルゴリズムの特徴として学習効率が良く、学習の収束後に安定しやすいことが挙げられる。

Dueling Network とは、行動価値関数で表されるものである。また、行動価値関数は状態価値関数と Advantage 関数からなっている。状態価値関数は「どの状態が最適か」を判別する関数である。Advantage 関数は「どの行動が最適か」を判別する関数である。よって、この 2 つの関数を組み合わせた行動価値関数は「今の状態でどの行動が最適か」を判別する関数である。
（※文責: 原瑶介）

Group Report of 2023 SISP

-6-Group Number 13

Make Brain Project

4.3

車線および車のふらつきの検出

車線および車のふらつきの検出には、Python と画像処理ライブラリである OpenCV を使用している。車線検出の手順は全部で 3 つある。1 つ目は、画像に色のパターンを適用し、車線を検出する。2 つ目は、検出された左右の車線の交点を消失点とする。3 つ目は、消失点が中心よりも左右どちらに片寄っているかを数値化する。この 3 つの工程をおこない、車線および車のふらつきの検出をした。例えば、車が少し右にふらついている場合の消失点は左に寄り、このときのスコアは負の値となる。
（※文責: 原瑶介）

4.4

シミュレーション環境

シミュレーション環境には Unity を用いた。Unity とは、設計から実行までの一連のプロセスをおこなえるゲームエンジンである。また、C ♯言語によりプログラムの作成をおこなう。Unity の利点は主に 2 つ挙げられる。1 つ目は、物理演算などが簡単に扱える点である。2 つ目は、3D シ
ミュレーションを柔軟に設計可能な点である。自動運転のシミュレーションをおこなうためには、車とコースが必要である。私たちは、Unity 内で用いる車とコースを Unity Asset Store よりダウンロードをおこなった。また、強化学習を適用できるようにコーディングをおこない、設定の変更をした。
（※文責: 原瑶介）

4.5

制御理論

ラジコンの制御方式として PID 制御をおこなうことを考えた。よって、基礎的な制御方式であるオンオフ制御について述べてから PID 制御について述べる。
オンオフ制御とは、目標値に到達するまで 100 ％ (オン状態) の出力で動作し、目標値に達すると 0 ％ (オフ状態) となる制御方式である。また、目標値から離れると 100 ％ (オン状態) の出力を開始する。この制御方式のメリットとして、構造が単純なため安価に作れる点である。デメリット
として、目標値と比較して行き過ぎや戻りすぎが発生しやすい (サイクリング現象) ことが挙げられ、精密な制御には不向きである。

PID 制御とは、P(Proportional)(比例) と I(Integral)(積分) と D(Derivative)(微分) の頭文字をとった、3 つの動作による制御方式である [5]。P 動作は単独でも成り立つが、I、D の各動作は単独では動作せず、P 動作との組み合わせで動作する。

P 動作とは％を単位としている出力方式である。入力幅を基準として、その何％を比例帯 (P) として設定するかを決め、その比例帯の範囲の中心が目標値となる。ここで、比例帯の下限値に達するまで調節出力は 100 ％とし、比例帯の上限値を超えたときに調節出力は 0 ％とする。また、比例帯の中心である目標値と同じ場合の調節出力は 50 ％とする。通常は、目標値の設定を機械 (カメラなど) の能力の範囲内で実現できるように、容量の設定がされているので、比例帯のどこかで均衡を取れることになる。P 動作はオンオフ動作に比べて、行き過ぎ (オーバーシュート) や戻りすぎ (アンダーシュート)、サイクリング現象が少なくなる。しかし、オフセット (目標値との偏差)Group Report of 2023 SISP

-7-Group Number 13

Make Brain Projectが生じてしまう。また、P の値が大きすぎると、目標値から離れたところから比例動作が起こるた
め、目標値までの到達時間がかかり、オフセットも大きくなる。反対に、オフセットを小さくする
ために P の値を小さくしすぎると、オンオフ動作に近づいてしまいサイクリング現象が発生してしまうため、P の値の調節が難しい。

I 動作とは分または秒を単位としている出力方式であり、時間積分をおこなっている。I 動作を組み合わせることで P 動作の時に発生していたオフセットを解消することができる。これが PI 動作である。オフセットを解消できる仕組みは、目標値との偏差が起こっている時間の積み重ねに比例した調節出力となり、結果的に目標値との偏差が引き戻されることになるためである。デメリットとして I の定数は、数値が小さいほど強く動作し、目標値との偏差を短時間で引き戻しするように動作するが、サイクリング現象が起きやすくなる。反対に、I の定数の数値が大きいほど弱く動作し、目標値への引き戻しに時間がかかるようになる。また、PI 動作は外乱などによる急激な変化に対応ができず、外部刺激に対して弱い。

D 動作とは分または秒を単位としている出力方式であり、目標値に近づけるための変化速度に比例した動作となっている。D 動作は微分動作であり、外乱などによる急激な変化にすぐ反応し、出力を修正できる。よって、I 動作の欠点に対応した動作である。数値が大きいほど強く動作し変化に対する応答性が良くなるが、目標値へ向かう動作を抑制する働きもあるため目標値到達までの時間が長くかかってしまう。しかし、これは行き過ぎ (オーバーシュート) を防ぐ効果もあり、一長一短である。反対に、数値を小さくすると逆の現象が現れ、目標値到達までの時間は短くなるが、行き過ぎ (オーバーシュート) も大きくなる傾向がある。また、I 動作を除いた PD 制御ではオフ
セット (目標値との偏差) を収束させることはできない。
上記の P 動作と I 動作、D 動作を組み合わせたものが PID 動作となる。それぞれの役割として、P 動作でサイクリング現象を解消し、I 動作でオフセット (目標値との偏差) を解消し、D 動作で外乱などの急激な変化にすばやく反応する。PID 制御では、この 3 つの動作を組み合わせることで理想的な制御が可能となる。オンオフ制御よりも優れた制御動作が可能となるが、設定を誤ると期待する制御結果が得られなくなる。また、動作が相反する結果になることもあり、設定には注意が必要である。さらに、PID 制御の定数の各設定値を手動でおこなうためには人間の経験や勘が必要であり、適切な指示を与えることは難しい。しかし近年は、オートチューニングという PID 定数を自動的に見つけることが可能な機械があるため、一から手動で探す必要はなくなった。ここで注意点として、オートチューニングは必ず最適解を見つけるわけではないため、手動で修正が必要である。
制御手法は、他にも現代制御や AI 制御、ニューラルネットワーク制御など様々な制御がある。
このように精度が良く高度な技術を用いている制御手法が数多く提案されている。しかし、複雑なものがほとんどのため実装に時間がかかり扱うのが難しいものが多い。よって、PID 制御は古典制
御の代表的な手法であり、比較的実装がしやすいことから今回採用した。
（※文責: 原瑶介）

4.6

ラジコン

ラジコンには、TAMIYA 製の FIRST TRY R/C KIT とファインスペック 2.4G 電動 RC ドラ
イブセットを用いた。今回 TAMIYA 製のラジコンを用いた理由として、自動運転車用のラジコンもあるが、ハードウェアの依存性をなくすためである。もし自動運転車用のラジコンを使用した場

Group Report of 2023 SISP

-8-Group Number 13

Make Brain Project
合、ソフトウェアを設計する際にハードウェアの制約を受ける可能性がある。
次に、ラジコンにおける自動運転車の内部機構について解説する。ラジコンは主に 6 つの段階で動いている。1 段階目は、カメラから外界の入力情報を得ることである。2 段階目は、カメラからの情報を処理し強化学習を用いて最適な角度を求めることである。3 段階目は、サーボモーターが角度の情報を受け取ることである。4 段階目は、バッテリーを動力源として駆動系に伝えることである。5 段階目は、モーターにより前進、右左折をおこなうことである。6 段階目は、一連の情報を保持し再び 1 段階目に戻ることである。このサイクルを繰り返すことで、ラジコンによる自動運
転をおこなっている。
（※文責: 原瑶介）

4.7

転移学習

転移学習とは、ある学習済みモデルを他の類似したモデルに適用させる技術である。私たちは、
シミュレーション環境での学習済みモデルを実環境に適用させるときに転移学習を用いる予定である。
転移学習の問題点としては、転移元と転移先で条件が異なる場合に、精度が悪化する可能性がある。これを「負の転移」という。自動運転に関する問題点としては、シミュレーション環境での車体の設定と実環境で相違が起こってしまう可能性がある。例えば、車体の重さや幅、長さ、縮尺などがシミュレーションと実環境で異なってしまうことである。
（※文責: 原瑶介）

Group Report of 2023 SISP

-9-Group Number 13

Make Brain Project

第5章
5.1

プロジェクトの活動内容

前期における活動内容

はじめに、私たちが 3 人でプロジェクトをすることになった経緯について書く。5 月 2 日に「脳を作るプロジェクト」として始動した。15 人のメンバーでプロジェクト活動をおこなっていた。
最初は、脳の仕組みを解明していきたい班と脳の仕組みを応用したい班に分かれて調べ物をした。
その後、ブレインストーミングをおこない、物理レザバーや音楽生成に興味のある GroupA と AI
カーに興味のある GroupB に分かれた。ここからは、私たちに関連している GroupB のみを記述する。GroupB は 8 人のメンバーで構成されていた。GroupB ではプロジェクトの目標設定から始めた。ここから約 2 週間、目標やアイディアについて案出しをした。最初の週では、車に関連する目標が多く出された。例えば、交差点で対向車や歩行者がいても安全に右左折ができることや混雑状況を回避すること、渋滞解消などが出された。2 週目では、主に AI カーと別の分野を組み合わせるアイディアを模索した。例えば、駄菓子や旅行、SDGs など様々な意見があった。しかし、検証に AI カーを使うという前提で話を進めていたが、仮説が無いという問題に気付いた。ここで、仮説を考えるという逆説的な問題が発生した。この問題について検討会をおこなった。検討会では、検証方法として AI カーを使うのにふさわしい仮説と、脳に関わる検証を行う仮説が出た。前者では、トロッコ問題や AI カーのコストに関する問題、AI カーが判断しやすい標識、観光地の圧縮などであった。後者では、忘却曲線を用いた忘却学習モデルやマイクを使わない音声入力などであった。この 2 つのうち、どちらをプロジェクトにしたいかについてアンケートをとった。その結果、AI カーのコストに関する問題を行う 3 人と、忘却学習モデルを行う 4 人に分かれた。ここで、AI カーに関するグループはそのまま GroupB として活動し、忘却学習モデルに関するグループは
新たに GroupC として活動することになった。ここからは、私たちに関連している GroupB のみを記述する。このような経緯を踏み、現在の GroupB として 3 人での活動が始まった。
次に、新体制として 3 人となってから前期末までを書いていく。この段階で約 1 ヶ月半が経過しており、5 月下旬になっていた。7 月 7 日に中間発表会があるため、それまでに 1 ヶ月くらいしか活動ができないという厳しい状況であった。まず、購入物品について話し合い、ハードウェアの選定からおこなった。購入物品や具体的な技術については、他の章や節で記述していく。次の週からは少ない人数で効率的に作業するため、各自で勉強会を行い、共有する形をとった。基礎知識から不足していたため、初歩的な学習から始めた。必要と思われる技術を 1 つずつ学んでいく作業は、
予定より大幅な時間をとられた。ここで、各々勉強していたものをまとめて挙げていく。6 月上旬
では Unity, Ubuntu, Jetson Nano, OpenCV, Yolo, 強化学習, DQN などについて基礎事項を学んだ。6 月中旬では画像処理, 物体検出, 強化学習, 深度測定, 制御工学, シミュレーション環境, 転移学習, OS などにおいて、どの手法や種類を使うかについて 3 人で話し合って絞っていった。枠組みと手法の関係性や具体的な技術については、他の章や節で記述している。6 月第 3 週には、使用していたデスクトップパソコンに不具合が起き (BIOS エラー)、作業が進まなくなってしまった。これについては別に記述する。また、同日に購入物品が届き、開封・確認した。6 月第 4 週には、使用していたデスクトップパソコンが GroupC に移動し、新たにノートパソコンを先輩から譲ってもらった。このノートパソコンを用いてシミュレーションを行う予定である。6 月下旬ではGroup Report of 2023 SISP

- 10 -

Group Number 13

Make Brain Project
中間発表会に向けた準備が本格化した。主に、グループポスターの作成や発表原稿の作成に時間を割いた。また、ピアレビューをプロジェクト全体でおこなった。具体的な発表準備については、別に記述する。7 月上旬ではポスターと発表原稿の修正を行い、2 回目のピアレビューなどで最終確認をした。また、急ピッチでラジコンの作成をした。ラジコンの具体的な内容は他の章や節で記述する。7 月 7 日には中間発表会に臨んだ。中間発表会当日の出来事や外部評価などについては第 5章に記述している。中間発表会後は報告書作成を中心に活動した。前期の活動は以上である。
（※文責: 斉藤陸）

5.2

夏期休暇中における活動内容

夏期休暇中の活動は特に定めなかった。この時点での課題として、強化学習の選定やハードウェ
アの勉強などがあった。よって、各々が知識や技術の習得を目指すこととした。
（※文責: 斉藤陸）

5.3

後期における活動内容

後期は 9 月中旬よりプロジェクトが再開された。後期に入り、始めにシミュレーション環境について議論した。私たちは、オープンソース自動運転シミュレータである AWSIM を活用した。

AWSIM の具体的な内容は別に記述する。AWSIM は、株式会社ティアフォーにより開発されたもので、自動運転 OS である Autoware を End-2-End にシミュレートすることができるものである。マップの候補として「西新宿」をインストールし、Unity を用いてシミュレーションを行う
予定であった。AWSIM については基礎知識が無かったため、チュートリアルや仕様を確認した。
しかし、ノートパソコンの GPU が足りず、シミュレーションを行えない可能性があった。また、AWSIM で Python を使う方法が分からなかったため、ML-Agents に変更した。ML-Agents の具体的な内容は別に記述する。この段階で 9 月末となり、残り約 2 ヶ月で行える活動についてメン
バーで精査した。ここで、強化学習の選定とダウンロード、パラメータ調整を 1 セットとし、10 月
中に 3 セットを行えることを目標とした。10 月初旬に ML-Agents の環境構築と強化学習の勉強、

Unity の Assets 調査をおこなった。その後、Unity 内で用いるマップと車を Unity Assets Storeからダウンロードし、Unity 内で動かせるようにプログラミングをおこなった。しかし、車体と車輪が離れてしまうトラブルや車体が沈んでしまうエラーがみられた。この原因として、C ♯のコードが機能していない可能性が考えられた。この時点で強化学習について 4 つの段階を設定した。1
段階目は直進とカーブ、2 段階目は標識のある環境、3 段階目は信号のある環境、4 段階目は交差点のある環境とした。10 月中旬になると、白線検出や標識認識のモデルを考えた。具体的なモデルについては別の章で記述する。10 月下旬には、Unity 内のコースを組み立てて車を動かせるようになった。また、深度推定や Python for Unity、YOLO などについて調査した。11 月に入り、シミュレーションを Unity 上で行うことを最終的に決定した。また、Unity Assets Store からダウンロードしたマップと車を別のものに変更した。11 月中旬より、成果発表会のスライド作成とプ
ログラムの調整を同時並行で作業した。スライド作成では、Power Point を用いてスライド作成をおこなった。プログラムの調整では、Python プログラムのデバッグと Ubuntu の仮想環境作成を行い、その後 C ♯ファイルと Python ファイルの調整をおこなった。11 月下旬には、シミュレー

Group Report of 2023 SISP

- 11 -

Group Number 13

Make Brain Project
ションをテスト用のファイルに追加し、GitHub にプログラムを追加した。また、11 月 29 日と 12
月 6 日に発表練習をおこなった。ここで、担当教員よりアドバイスをいただき、スライドのレイア
ウトを改善した。12 月第 1 週と第 2 周はスライドの修正と発表原稿作成をメインに活動し、一部の時間をシミュレーションでの強化学習に用いた。12 月 8 日には成果発表会に臨んだ。成果発表
会当日の出来事や外部評価などについては第 5 章に記述している。成果発表会後は報告書作成を中心に活動した。後期の活動は以上である。
（※文責: 斉藤陸）

Group Report of 2023 SISP

- 12 -

Group Number 13

Make Brain Project

第 6 章 結果
6.1

シミュレーションにおける結果 (直進とカーブ)

現時点において、直進とカーブにおけるシミュレーションは学習の途中段階である。下の図は、1844 ステップ経過後の報酬 (上のグラフ) とステップ数 (下のグラフ) の推移をまとめたものである。横軸がエピソード数、縦軸がそのエピソードの対応する報酬（上のグラフ）とステップ数（下のグラフ）となっている。報酬の最大値は-0.2、ステップ数の最大値は 72 となった（図 6.1）。
一定ステップごとに報酬を与える報酬設定だったため、うまく学習できていれば走行距離が長くなっていくはずである。つまり、上下どちらのグラフも右肩上がりのグラフになるはずである。しかし、うまく学習できておらず、期待通りの結果が得られなかった。

図 6.1 1844 ステップ経過後の報酬 (上図) とステップ数 (下図) の推移（※文責: 原瑶介）

6.2

シミュレーションにおける結果 (標識)

現時点において、標識におけるシミュレーションは調整中である。まだ学習ができておらず、画像処理のアルゴリズムを準備中である。
（※文責: 原瑶介）

Group Report of 2023 SISP

- 13 -

Group Number 13

Make Brain Project

第7章
7.1

考察

シミュレーションにおける考察 (直進とカーブ)

直進とカーブの走行の学習がうまくできなかった原因として主に 2 つ考えられる。1 つ目は、車線およびふらつきの検出の精度が良くないことである。今回使用した車線およびふらつきの検出のアルゴリズムでは、そもそも車線検出の Haar-Like アルゴリズムの精度があまり良くなく、また、
カーブの角度が急になると、かなり精度が落ちるという欠点があった。時間的な制約を考え、精度が高い代わりに学習コストも高いセグメンテーションなどのモデルは使わずに、学習コストがかからない画像処理のアルゴリズムを採用したが、結果としてネットワークの学習不足に陥ってしまった。そのため、今後はニューラルネットワークを使って、車線およびふらつきの検出を学習することで精度の向上を図る。

2 つ目は、シミュレーションに時間がかかってしまい、パラメータの調整がうまくできなかったことである。ネットワークを学習する際には、多くのハイパーパラメータを設定したが、シミュレーションにかける時間が少なかったため、パラメータを調整する時間が短かった。しかし、今回はアルゴリズムにより問題があったと考える。
また、シミュレーション中のネットワークの学習とネットワークの出力を得る際にローカルサー
バーを経ずに処理したり、インスタンスの維持にファイルの入出力を使用したりと、シミュレー
ションの高速化の課題もあった。
（※文責: 原瑶介）

7.2

シミュレーションにおける考察 (標識)

現時点において、標識におけるシミュレーションは調整中である。さらに学習コストが増加する
ことが考えられるので、同様にシミュレーションの高速化の課題の解決が求められる。
（※文責: 原瑶介）

Group Report of 2023 SISP

- 14 -

Group Number 13

Make Brain Project

第 8 章 外部発表・評価 (中間発表)
8.1

中間発表までの取り組み

中間発表までは各々必要な分野の知識を深めることに専念した。そのうえで、実際に Ubuntu でシミュレーション環境の構築を試みた。
（※文責: 金拓史）

8.2

中間発表までの成果物実機である FIRST TRY R/C KIT の組み立て (図 5.1)。

図 8.1

組み立てられた FIRST TRY R/C KIT（※文責: 金拓史）

8.3

中間発表の内容

中間発表は 7 月 7 日 (金) に行われた。私たち「脳を作るプロジェクト」は、プレゼンテーショ
ンベイで発表をおこなった。私たちのプロジェクトでは 3 グループに分かれており、全グループの発表をまとめて 15 分以内とすると各グループの発表時間が短くなるため、工夫が必要であった。

Group Report of 2023 SISP

- 15 -

Group Number 13

Make Brain Project
よって、最初の 3 分程度で全グループの概要を説明し、そこから興味のあるグループに分かれるという手法にした。各グループに分かれたあと、具体的な内容を 7 分程度説明し、残り 5 分程度で質疑応答とした。最初の概要説明は代表者が話した。ここからは、GroupB の発表に限定して内容を書いていく。私たちは、発表を聞きに来る人が知識を持っていない前提で、分かりやすく発表することを心がけた。そのため、技術の具体的な内容より全体像を把握してもらうことを優先した。実際に中間発表で用いたポスターを図 5.2 に掲げている。
（※文責: 斉藤陸）

8.4

中間発表の評価

中間発表会においては 39 件の回答をいただいた。そのうち、学生が約 9 割、教員が約 1 割であった。
発表技術の評価は 10 点満点中 10 点が 8 人、9 点が 9 人、8 点が 9 人、7 点が 7 人、6 点が 3 人、5 点が 2 人、4 点が 1 人という結果だった。平均点は約 8.05 点であった。評価理由や改善のためのコメントとして、「現状の課題を述べあと、なぜ解決したいのかというのを述べていて、発表内
容がスムーズに頭に入ってきた」「完成したものが想像しづらく、内部機構について説明してほしかった」などのコメントを頂いた。
プロジェクトの評価は 10 点が 11 人、9 点が 8 人、8 点が 8 人、7 点が 10 人、6 点が 2 人という結果だった。平均点は約 8.41 点であった。評価理由や改善のためのコメントとして、「目標や計画が具体的でよいと思います」「実現可能かどうか不透明」などのコメントを頂いた。
自動運転という聞きなじみある単語と、コストを下げるというシンプルな社会的な影響が分かり
やすさにつながったと考える。Raspberry Pi と Jetson Nano の性能比較のグラフは前日急遽配置したばかりだったため原稿の説明が足りなかった。自動運転の内部機構についても考えがまとまっておらず、完成したものについての説明がなかった。そのため、分かりやすくまとめたものを後期の発表で行うべきだと上記で出てきたようなコメントを受けて反省した。
（※文責: 金拓史）

Group Report of 2023 SISP

- 16 -

Group Number 13

Make Brain Project

図 8.2

Group Report of 2023 SISP

中間発表で用いたポスター- 17 -

Group Number 13

Make Brain Project

第9章
9.1

外部発表・評価 (成果発表)

成果発表までの取り組み

成果発表までには目標を達成する必要があったため、各自が役割分担に従い開発を進めた。中間
発表までの取り組みとしては、各々が必要な分野の知識を深めることであった。後期に入るとその知識を活用しつつ、目標達成に向けて開発をおこなった。具体的には金はシミュレーション関連や
ラジコン制作など、原は強化学習や深度推定、画像認識など、斉藤はハードウェア制御やドキュメ
ント作成などであった。最終的には、シミュレーション環境における車線検出までおこなうことができた。
（※文責: 金拓史）

9.2

成果発表までの成果物

1. シミュレーション環境では、Unity 内での車とコースの設定をおこない強化学習用の仕様とした。(既存の車とコースをダウンロードし設定の変更をおこなった。)

2. シミュレーションでは、Dueling DDQN における直進とカーブの学習で成果を得た。標識や信号機における学習では、成果発表までに間に合わせることができなかった。

3. 実機では、FIRST TRY R/C KIT(株式会社タミヤ製) とファインスペック 2.4G 電動 RC ド
ライブセット (株式会社タミヤ製) を用いて組み立てた。
（※文責: 金拓史）

9.3

成果発表の内容

成果発表は 12 月 8 日 (金) におこなわれた。私たち「脳を作るプロジェクト」は、中間発表のときと同様にプレゼンテーションベイで発表をおこなった。私たちのプロジェクトでは 3 グループに分かれており、発表時間は全体で 1 ターン 15 分しかないため工夫が必要であった。なぜなら、質疑応答の時間を 5 分とすると残りの 10 分を 3 グループで分けることとなり、1 グループあたり約3 分しか発表できないことになるからである。よって、中間発表のときと同様に最初の 2 分程度で全グループの概要を代表者が説明し、そこから興味や関心のあるグループに分かれるという手法にした。よって、聞き手は 1 つのグループの話題を残りの時間で聞くことになる。各グループに分かれたあと、専門的な内容や成果物について 8 分程度説明し、残りの 5 分程度で質疑応答とアンケー
ト回答とした。私たちは 8 分程度の発表のうち、約 7 分をスライドによる説明とし、約 1 分でシ
ミュレーションのデモンストレーション映像を見せた。
中間発表の際は、プレゼンテーションベイを 1 区画使用できたため十分広かったが、成果発表ではプレゼンテーションベイを半分しか使用できなかったため、隣のグループと声や音楽が合わさり聞こえにくくなることが事前練習の段階で懸念された。そのため、発表時の声を大きくすることや聞き手に近くまで寄ってきてもらうこと、聞き手のほうを向いて発表することを心がけた。中間発

Group Report of 2023 SISP

- 18 -

Group Number 13

Make Brain Project
表の際は、ポスター発表が 2 グループでスライド + テレビでの発表が 1 グループであったため、場所を取らない発表であった。しかし成果発表では、スライド + プロジェクターでの発表が 1 グ
ループ、スライド + テレビでの発表が 1 グループ、スライド + ディスプレイでの発表が 1 グループであったため、場所を取る発表であった。これは、隣のグループと重なってしまうことで見えにくくなる可能性があった。よって、プロジェクターやテレビの位置を工夫することで重ならないよ
うにした。
発表の内容に関しては、中間発表のときと同様に発表を聞きに来る人が前提知識を持っていない
前提で、一から分かりやすく発表することを心がけた。そのため、数式などは使わず直感的に分かるような内容とした。また、スライドにアニメーションを用いることで、聞き手が迷わずにスライドの情報を理解できるような構成とした。約 1 分でのシミュレーションのデモンストレーション映
像は、スライドに埋め込みプロジェクタで投影させた。その映像を流している間は、動画だけでは分かりにくい点の補足説明をおこなった。最後の質疑応答の時間では、発表したスライドをもう一度少しずつ流すことで質問をしてもらいやすいようにした。
（※文責: 金拓史）

9.4

成果発表の評価

成果発表会においては 48 件の回答をいただいた。そのうち、学生が 42 名 (うち高校生 2 名)、一般が 3 名、教員が 3 名であった。
評価者に評価していただく項目は、発表技術の評価とプロジェクトの評価の 2 項目であった。発表技術の評価とは、「プロジェクトの目的、成果を伝えるために効果的な発表が行われているか？」であった。プロジェクトの評価とは、「プロジェクトの目的と成果は優れているか？」であった。
これらの 2 項目について 1 から 10 の 10 段階で評価をしていただいた。また、それぞれの項目について評価理由や改善のためのコメントを箇条書きで記載していただいた。
発表技術の評価は 10 点満点中 10 点が 4 人、9 点が 15 人、8 点が 15 人、7 点が 9 人、6 点が 4人、5 点が 0 人、4 点が 0 人、3 点が 1 人、1 点と 2 点はなしという結果であった。平均点は約 8.02
点であった。評価理由や改善のためのコメントとして、「適切にアニメーションや図があり見やすかった。
」「実験映像などがあり分かりやすくまとめられていて良かったと思った。
」「グループ発表を 3 つのブースに分けて、十分な説明をしていた。」「『脳をつくる』と実際にやっていることの関係が弱い？」「声が小さく、最後の結果までの流れが長すぎて、省略できるところは省略して強調
するところは強調して欲しい。
」などのコメントをいただいた。
プロジェクトの評価は 10 点満点中 10 点が 10 人、9 点が 8 人、8 点が 13 人、7 点が 12 人、6 点が 4 人、5 点が 0 人、4 点が 0 人、3 点が 1 人、1 点と 2 点はなしという結果であった。平均点は約 8.06 点であった。評価理由や改善のためのコメントとして、「実験結果の反省点と改善点をしっかりまとめられていて良かったと思った。
」「目的に関しては着眼点は素晴らしいと思うが、それに対する成果が少し伴っていない 他の車がいるのを想定したものを考えて欲しいと感じた」「使ったデータなどについてもう少し詳しく説明するべき？ Lidar のコストだけではなく、他に研究のモ
ティベーションを考えるのがよいと思いました。
」「信号、車線、標識の認識で安全性がちゃんと取れるのか疑問点。安全面についても考えて欲しかったです。
」などのコメントをいただいた。
発表技術の評価のコメントについて良かった点と改善すべき点をまとめる。アニメーションをス
ライドに用いることで理想的な視線誘導を実現できたことは良かった点であった。また、シミュGroup Report of 2023 SISP

- 19 -

Group Number 13

Make Brain Project
レーションの映像を用いたことで聞き手に理解をしてもらいやすくなった。グループ発表を 3 つに分けることで十分な時間を確保したことも良い結果となった。「脳をつくるプロジェクト」で活動をおこなっていたが、うまく自動運転と結びつけることができなかった。ニューラルネットワーク
を用いているが成果発表会では話さなかったため、「脳をつくる」との関連について述べる必要があった。スライドで重複している箇所があったり、重要な点を強調していなかったりなどがあったため、より効果的なスライドを作成できたと反省した。
プロジェクトの評価のコメントについて良かった点と改善すべき点をまとめる。グループで結果をまとめたあとに今後の展望について考えたところは良かった点であった。しかし、時間と人が足りず成果をあまり出すことができなかった。LiDAR の価格は減少傾向であるため、コスト以外の要因も考える必要があった。自動運転の課題は多くあるため、コスト以外の要因も含めて複合的に考えるべきであった。また、私たちはシミュレーション環境で道路しかない状態で検証をおこなった。よって、複数台による自動運転は想定されていない。かつ、自然環境も考慮していない。時間が足りなかったため環境を簡素化させたが、あとから様々な状況を追加できるように設計をすべきであったと感じた。さらに、精度を向上させる目標を立てたが、安全性において疑問の残る結果となったため、精度が十分に保たれていない理由について検証すべきであったと感じた。最後にまとめると、時間や人が足りておらず各自の負担が大きくなってしまった。また、それぞれが担当する役割を完全に決めてしまったため、誰かが分からず止まっていても助けることができなかった。
それによって全体の工程が後ろ倒しになってしまった。他にも、似た内容を複数の人が調べていた
り、グループで使わなくなった技術の知識を調べていたりといったことが度々起こった。これも時間が足りなくなってしまった要因の一つであった。このように各々の知識が分断されてしまったことで大幅な時間が取られたため、共有や意見交換の時間をもっと設けるべきであったと反省した。
（※文責: 金拓史）

Group Report of 2023 SISP

- 20 -

Group Number 13

Make Brain Project

第 10 章
10.1

まとめ

成果物

1. ラジコン一式 FIRST TRY R/C KIT(株式会社タミヤ製) とファインスペック 2.4G 電動 RC
ドライブセット (株式会社タミヤ製)

2. シミュレーション環境における Dueling DDQN を用いた直進とカーブ（※文責: 原瑶介）

10.2

今後の課題と展望シミュレーションにおける改善点としては、車線検出アルゴリズムの変更やシミュレーションの高速化などである。
実環境における課題としては、単眼カメラでは環境や天候、時間の変化により精度が大きく変動してしまうことである。実際に企業の自動運転開発でも精度の向上を目指している。現在、企業では LiDAR やミリ波レーダーなどが複合的に使われている。しかし、自動運転車の課題であったよ
うに複数のセンサーやレーダーを使うことでコストが高くなってしまう。よって、センサーやレー
ダーを使わずに精度を向上させる方法を考える必要がある。
今後の展望としては、シミュレーション環境において直進とカーブや標識の精度を向上させることである。また、信号機における目標を達成することである。さらに、実環境において直進とカーブや標識、信号機の目標を達成することである。
より長期的なビジョンとしては、単眼カメラの複数同期やアルゴリズムの改良によって精度を向上させ、大幅にコストを削減させることである。これにより、自動運転車の実用化や普及が進むことで、交通事故死者数ゼロやドライバーの作業効率向上などに繋がることを願っている。
（※文責: 原瑶介）

Group Report of 2023 SISP

- 21 -

Group Number 13

Make Brain Project

第 11 章11.1

個人の取り組み金

私はもともと自動運転技術に興味があったため、例年 AI カーを作っている「脳をつくるプロ
ジェクト」に参加した。そのため、グループ決めでは率先して AI カーを作らないかと意見を出していた。その時に興味を持ってくれた原さんと斉藤さんと一緒に GroupB を立ち上げた。
私はグループの中でリーダーを務めた。そのため、最初の期間では今後の目標などで意見を出したり、出た意見をまとめたりしてプロジェクト活動が円滑に進むよう努力した。そして、話し合いの結果、私は AI カーのハードウェアと環境構築、シミュレーションを主に行うことになった。7
月の中間発表までは AI カーのハードウェアに当たるラジコンの制作に重きを置いていた。また、「脳をつくるプロジェクト」にある PC の設定をデスクトップ PC とノート PC の二つした。ノート PC の方は ubuntu のクリーンインストールも行った。そして、空いた時間があればポスターのデザイン変更にも時間を充てていた。10 月からはシミュレーションを行う上での環境構築をする時間が増えた。この環境構築をする期間は強化学習のアルゴリズムに何を使うかが定まっておらず時間を浪費した。最終的には Unity 上で C ♯を用いて Python のコードから強化学習を進めることになった。ここでは Unity のなかで車やマップの設定をしたり C ♯でコードを書くことになった。Unity で C ♯のコードと Python のコードをやり取りしながら意図した行動をとるようになったのが 11 月末になっていた。そのため、当初の目標であるラジコンでの自動運転はできな
いと判断した。12 月の最終発表まではスライドの調整と強化学習の実験を行った。12 月から 1 月
にかけては、グループの最終報告書作成に取り組んだ。また、その他の提出物も作成し不備がない
ように点検した。最後には、グループメンバーで活動をまとめた。
私はこのプロジェクトを通して様々なことが学べた。１つはプロジェクトリーダーの難しさ。私たちのグループでは決して人数が多いといえるようなグループではなかったが、それでもメンバーが今何をしていてどの活動に人員が足りていないかを把握し、人数の割り当てを考えるのが難しいと感じた。そして普段はしないような環境構築やコードの執筆はこれからの大学生活やその先に役立つものだと感じた。
相互評価
原さんはこのプロジェクトの根幹となる部分を請け負ってくれました。プロジェクトを進めるにあたっての必要な知識の習得にも機敏に動いてくれてとても助かりました。
斉藤さんは報告書の作成で大きな役割を果たしてくれました。その他にも発表の原稿作成など、文章を構築する際は率先して行ってくれてとても助かりました。
（※文責: 金拓史）

11.2

原

私はもともと脳科学や深層学習に興味があったため、「脳をつくるプロジェクト」に参加した。
また、昨年度訪れたオープンラボで同プロジェクトの AI カーを走行させている様子を拝見し、私も AI カーを作成したいと思っていたため、金さんと斉藤さんとともに GroupB として、AI カー

Group Report of 2023 SISP

- 22 -

Group Number 13

Make Brain Projectの作成に取り掛かった。
私は、グループの中でコードリーダーを務めた。システムの基盤となる強化学習のアルゴリズムの理解と実装に取り組むために、積極的にライブラリから本を借り勉強した。勉強の後、具体的には Dueling DDQN と呼ばれる手法を Python の深層学習ライブラリである PyTorch を使い実装した。その他、ネットワークを学習する際には、入力ベクトルの正則化や行動の離散化、経験メモ
リの追加など工夫をし、学習のより早い収束と精度の向上を図った。また、コードリーダーとして、GitHub 上（private リポジトリ）で Python コードを公開して、コードの解説などを行った。
また、時間を設けて強化学習の簡単な例としてロボットがクリスタルを拾うタスクを用いて学習則を説明し、知識の共有も積極的に行った。
夏から秋頃には、シミュレーション環境とアルゴリズムを決定し、金さんが主体となり環境構築を進めたが、AWSIM や Unity の ML-Agents ではエラーが多発してしまい、最終的に Unity でマップを作成し、車や標識などの Assets を配置、Unity の挙動を制御する C ＃を一からコーディ
ングするに至った。最終的にシステムは、Unity でシミュレーションを動かすとともに、Python
で強化学習（ネットワークの学習）を行うという流れになった。私が Python、金さんが C ＃を
コーディングすることとなり、積極的にコミュニケーションを取り、多発したエラーや例外処理に対処していった。
このグループのシミュレーションが途中で終わってしまった理由が主に 3 つ挙げられる。1 つ目は、GroupB に Linux がインストール済みで GPU が搭載されたパソコンが 1 台支給されたが、Unity での 3D の強化学習タスクのシミュレーションの負荷に耐えられるパソコンはそのパソコンのみだったため、C ＃のコードなどのシミュレーション環境の共有が難しかったことである。2 つ目は、画像処理の精度があまり良くなく、ネットワークの学習がうまく進まなかったことである。

3 つ目は、処理が重かったために、シミュレーションの途中で Unity が止まってしまったり、学習の収束がそもそも遅かったことである。2 つ目と 3 つ目は、強化学習の勉強に時間を取りすぎてし
まい、高速化などの改良を加えることができなかった。
この活動を通して、Notion や Slack を通じた情報の伝達や情報を分かりやすく記録することの大切さを実感した。また、「画像認識だけで AI カー」というテーマを設定して取り組む際に、背景や目的について熟考することで、よりテーマに興味を持つことができた。そして、学生や教員とのコミュニケーションを通して、一年間プロジェクトに取り組み、他人と協力してプロジェクトを作り上げることを学んだ。この経験を活かし、今後の卒業研究や就職活動研究を有意義なものにしたい。
相互評価
金さんはグループリーダーとして、グループ全体へ積極的に行動を呼びかけ、統率してくれました。また、コーディングにも参加してくださり、とても助かりました。
斉藤さんはスライドや原稿、報告書などの構成を積極的に提案してくださり、とても助かりました。また、分からないことは積極的に調べる姿勢も良かったと思います。
（※文責: 原瑶介）

11.3

斉藤

私は脳科学や人工知能に興味があったため、「脳をつくるプロジェクト」に参加した。また、プロジェクトのテーマを考えるなかで、自動運転技術に興味を持った。そのような経緯で GroupB「画Group Report of 2023 SISP

- 23 -

Group Number 13

Make Brain Project
像認識だけで AI カー」の一員となった。

3 人のメンバーの中で私は、ドキュメント作成や文献調査、案出しなどを中心にプロジェクト活動をおこなってきた。5 月末にプロジェクトの内容が決まり、私は目標や方法について調査した。
また、環境や強化学習の手法などについても調査した。6 月に入ると、購入物品について考え注文をおこなった。文献調査では、強化学習関連の論文を読んだ。また、中間発表会で用いる仮のスラ
イドを作成し共有した。そのスライドをもとにポスターを作成し、発表原稿も同時に書き上げた。
この頃には、ラジコンの制作も急ピッチでおこなっていた。7 月には報告書作成に取り組んだ。また、その他の資料なども同時に作成した。9 月には購入物品の追加注文について考えた。また、実環境での操作についても調査した。技術面では、AWSIM や強化学習の学習済みモデルについて調査した。シミュレーション環境におけるスペック要件についても調査した。10 月には ML-Agents
や Unity の Asset などについて調査した。合間の時間では、ラジコンの追加部分の組み立て作業をおこなった。また、高校生への発表会があったためスライドの作成作業もおこなった。11 月には成果発表会で用いるスライドを作成した。スライド作成では、内容の案出しをおこない文章の中身を膨らませた。12 月から 1 月にかけては、グループの最終報告書作成に取り組んだ。また、その他の提出物も作成し不備がないように点検した。最後には、グループメンバーで活動をまとめた。
私は、この活動を通じてプロジェクトの全体像を知ることができた。また、約 1 年間かけて一つの目標と向き合うということは、なかなか無いことなので貴重な経験ができた。プロジェクト学習の活動をおこなう中で、一人では難しい研究でも複数人いることで大きな力となることを学ぶことができた。私はこの経験を、卒業研究に活かしたいと思っている。
相互評価
金さんはグループリーダーとして積極的に活動してくれました。また、プロジェクトで困難に直面した際にも先陣を切ってくれました。シミュレーションの開発においても、中心的な存在となりグループを助けてくれました。最後に、リーダーを務めてくれたことで安心して活動できました。
原さんはコーディングを中心にグループの中核を担ってくれました。また、強化学習などの技術について調べ分かりやすく教えてくれました。さらに、最新の技術について書籍や論文を読み調査してくれました。最後に、原さんがいたことでプロジェクトを完結できたと思っています。
（※文責: 斉藤陸）

Group Report of 2023 SISP

- 24 -

Group Number 13

Make Brain Project

第 12 章12.1

活動の詳細な時系列

4月

4 月 10 日にプロジェクト学習のガイダンスがおこなわれた。4 月 14 日にはテーマと担当教員が公開され、テーマ説明会がおこなわれた。4 月 14 日から 21 日までの 1 週間では、プロジェクト担
当教員との面談期間が設けられた。この期間にプロジェクトの説明を受け、希望プロジェクト選択の参考とした。4 月 21 日までにプロジェクト配属希望調査書を提出した。その後、配属調整作業がおこなわれた。4 月 28 日には未配属者の配属作業がおこなわれた。
（※文責: 斉藤陸）

12.2

5月

5 月 2 日の正午に配属結果が発表された。この日の 4 限に顔合わせがあり、プロジェクト学習が始動した。はじめに自己紹介をおこない、やりたいテーマについて共有した。SNN や物理レザ
バーなどに興味があるグループと応用分野に興味があるグループに分かれて活動した。本や論文などを読み、やりたいテーマについて知識を深めることと、読んできた資料の内容を共有することを次回の課題とした。5 月 10 日にはブレインストーミングをおこなった。プロジェクトでやりたい
テーマを全員で共有し、関係のある意見をまとめていった。5 月 12 日からはグループが分かれ、私たちは GroupB となった。主に、自動運転に関して興味のあるグループであった。プロジェクトの
目標について議論し、交差点で対向車や歩行者がいても安全に右左折をおこなう機能や道に沿って運転する機能、混雑状況を回避する機能などを AI カーに搭載するという案が出された。昨年度のグループ報告書を参考としながら AI カーについての知識を深めることと、AI カーを走らせる道路を考えることが次の課題であった。5 月 17 日には主に 3 点議論した。1 点目は、AI カーに認識させる対象物についてで、信号や標識、車から見える景色などの意見が出された。2 点目は、最終的な目標をどうするかで、車外部の状況によって内部の状況を変化させる AI カーなどの意見が出された。3 点目は、AI カーに別の分野を組み合わせたアイデアを考えることで、旅行や SDGs などの意見が出された。次回の課題として AI カーのハードウェアの研究が挙げられた。5 月 19 日には仮説について議論した。どういう仮説の検証に AI カーを用いるかについて話し合い、トロッコ問
題が案として出された。次回の活動までに仮説を考えることを課題とした。5 月 24 日には仮説について発表をおこなった。発表の結果、検証方法として AI カーを使うことにふさわしい仮説を考えてきた案と、脳に関わる検証をおこなう仮説を考えてきた案に分けられた。ここで、後者の案について興味を持った 4 名が GroupC を作り、分かれてそれぞれ活動を開始した。よって、GroupB
は 3 名での活動となった。AI カーについての解析が次回の課題であった。5 月 26 日には購入予定のハードウェアについて話し合い、Jetson Nano について勉強した。次回から勉強会をおこなうこととした。5 月 31 日には中間発表会までの予定を決め、考えられる課題について話し合った。話し合いでは、環境や強化学習の手法と方針、物体検出に用いる手法と方針、購入が必要なものなどが議題として上がった。強化学習についての調査を次回までの課題とした。

Group Report of 2023 SISP

- 25 -

Group Number 13

Make Brain Project（※文責: 斉藤陸）

12.3

6月

6 月 2 日には調べてきたことの発表をグループ内でおこなった。その結果、DQN を強化学習に用いる手法の候補とした。他にも、物体検出のモデルには YOLO を用いることやシミュレー
ション環境として Unity を用いることを仮決定した。また、貸与されたパソコンのスペックを調査し、使えるツールを考察した。中間発表までの予定を決定し、購入する物品の値段を調べ選定した。次週までの課題として、金は Unity の勉強とリモートデスクトップについての勉強とし、原は Python、OpenCV、YOLO の練習と強化学習、DQN の勉強とし、斉藤は Jetson Nano の勉強と強化学習、DQN の勉強とした。また、次週からポスターとスライド作成に取りかかることとした。6 月 7 日にはポスターの作成方法について考えた。また、購入物品を調べなおし必要なものを列挙した。使う手法やツールについても調べなおした。この時点では、検証ツールとして Unity、
画像処理に OpenCV、物体検出に YOLO、強化学習に DQN とし、深度測定については検討中であった。このときに、Ubuntu デスクトップの操作方法が分からず先に進めないトラブルも起きていた。次までの課題として、3 名とも中間発表用のスライドを作ってくることとした。次は作成してきた中間発表用のスライドを発表し合うことから始める予定を立てた。6 月 9 日には金がデスク
トップ PC で Unity の環境を構築し、原が深度推定の手法について調べなおして必要なカメラの台数を決定し、斉藤がハードウェアの制御について調べることとなった。始めはカメラ 2 台を用いるステレオマッチングをおこなう予定であったが、カメラ 1 台による手法に変更した。具体的な手法としては MiDaS や LeReS を検討した。深度推定後に深度マップが得られることを利用し、YOLO で物体検出をした際のバウンディングボックスの中心の座標に対応する深度マップの正規化された値に対して、パラメータを設定することで距離を測定できるのではないかと考えた。また、データセットは Roboﬂow で作成することを検討した。Unity の環境ができ次第、Python やライブラリのバージョンを合わせることとした。スライドの構成を考える時間がなかったため次週までの課題とした。また、道路環境の設定 (標識やマップ) について各自考えることを次回のやることとした。6 月 14 日にはスライドとポスターの構成を決め、中間発表までの目標について決めた。この時点での目標として、中間発表までに 4 つの段階を設けた。1 つ目に、Unity の環境を構築することとした。2 つ目に、制御のコードを実装することとした。3 つ目に、強化学習のコードを実装することとした。4 つ目に、強化学習の進捗に合わせて適宜転移学習を利用して AI カーに組み込むこととした。これらの 4 つを準備した上で直進とカーブの強化学習をクリアしたいと計画した。ポスターの内容とスライドの内容を同じにする予定で進めるため、デザイン案をインターネットから探すことを課題とした。次回からはポスター作成に取りかかり、物体検出のコードを実装したいと考えた。6 月 16 日にはポスターと報告書の構成を考えた。前回のスライドをもとに内容をポスターにまとめた。また、昨年度の報告書の構成を参考とした。Python のコーディングでは、MiDaS と LeReS のモデルを組み合わせる MergeNet を使用するつもりだったが、エラーが発生したため MiDaS のモデルを用いた。デスクトップ PC で BIOS エラーが起こり、Ubuntu やUnity での作業はできなかった。この時点で強化学習について勉強不足であったため、強化学習の勉強をしてから深度推定や物体検出の内部機構への応用を考えることとした。次週よりポスター優
先で進め、合間でラジコンカーの組み立てをすることにした。6 月 21 日にはポスターの作成をおこなった。ポスターは PowerPoint で作成し、7 つの Section に分ける予定であった。次回も引き
続きポスター作成をし、終わり次第ノートパソコンのシミュレーション環境の構築とラジコンカー

Group Report of 2023 SISP

- 26 -

Group Number 13

Make Brain Projectの組み立てに取り組むこととした。6 月 23 日にはグループポスターに必要な情報を記入した。デザインや細かい調整は次週の課題とした。また、次の回に模擬発表をおこなうため、発表の練習をしつつ構成などについて指摘をいただくこととした。6 月 28 日には模擬発表をおこない、先生方からご指摘をいただいた。また、ポスターのデザインと原稿案を考えた。様々なご指摘をもとに質問対策も考えた。既存のポスターの修正作業もおこなった。次回はポスターを部分的に修正し 2 回目の模擬発表をおこなうこととした。6 月 30 日にはポスターと原稿の修正を終え、ラジコンカーの作成に取り組み始めた。この日はメインポスターを修正した。また、原稿を再構成して分かりやすくなるように書き直した。ラジコンカーについては途中まで組み立てた。最後に前期末提出物の確認をおこない、中間発表会後に取り組むこととした。この日は模擬発表をおこなわず、次回ピアレビューをすることとなった。また、次回までにラジコンカーを完成させたいとした。
（※文責: 斉藤陸）

12.4

7月

7 月 5 日にはピアレビューの 2 回目と最終確認を中心に活動した。中間発表の準備として、ポス
ターと原稿を少し修正した。ラジコンカーは前回の続きから最後まで完成させた。ピアレビューの2 回目をおこない、ご指摘を受けた部分のポスターを微修正した。最後に中間発表の最終確認をおこなった。次回までの課題としてポスターを印刷することになった。7 月 7 日の金曜日に中間発表
会が対面形式でおこなわれた。中間発表前の最終確認として、ポスターに新しくグラフを挿入し原稿を修正した。中間発表会本番はポスターを用いて発表をおこなった。良い発表ができたが、人があまり来なかった。後期の成果発表会では、AI カーを走らせるなどでもっと人を集めたいとメンバーで話し合った。ポートフォリオの作成や前期末提出物の作成を次週からの課題とした。7 月 12日には中間発表会の振り返りとグループ報告書の作成をおこなった。発表評価シートを参考にして中間発表について振り返り、良かった点と悪かった点をまとめた。そこから反省点について考えた。前期末提出物の確認をし、グループで提出するものと個人で作成するものを 1 つずつ調べた。
その後全員でグループ報告書を MS-Word を用いて作成した。次回も引き続きグループ報告書を作成することとした。7 月 14 日にはグループ報告書の作成の続きをおこなった。また、学習フィードバックシートの作成もおこなった。次週までにグループ報告書を完成させる目標を立てた。7 月

19 日には TeX への流し込みをおこない、先生方に添削を依頼した。次回までに学習ポートフォリ
オを終わらせることとした。また、夏期休暇前に必要な物品の購入をおこなうために調査した。7月 21 日は前期末提出物の最終提出期限であった。この日までにグループ報告書、学習ポートフォ
リオ、期末提出物チェックシート、学習フィードバックシート、著作権等に関する誓約書の全てを提出した。次回は購入物品について調査することとした。7 月 26 日には夏期休暇中の予定を決めた。また、信号機の候補について調査した。購入が必要な物品について前期中に注文をしたかったが、まとまらなかったため後期に入ってから注文をすることにした。夏期休暇中はそれぞれが必要な勉強をおこなうという方針で一致した。
（※文責: 斉藤陸）

Group Report of 2023 SISP

- 27 -

Group Number 13

Make Brain Project

12.5

8月

8 月は夏期休暇中のため活動はなかった。私たちのグループではそれぞれが自主的に勉強をおこなうということになった。具体的には金はシミュレーション環境の構築やツールの調査、原は強化
学習の勉強や深度推定の実装、斉藤はハードウェアの勉強や文書の整理などであった。また、夏期
休暇は 9 月の中旬頃まで続くため、自主的な勉強の期間は約 1 ヶ月半であった。
（※文責: 斉藤陸）

12.6

9月

9 月 20 日から後期のプロジェクト学習が始動した。この日は AWSIM のインストールを進め、関連する情報を集めた。AWSIM は、自動運転 OS である Autoware を End-2-End にシミュレー
トすることができるオープンソース自動運転シミュレーターである。AWSIM に関連する情報調査として、ノートパソコンのスペックと AWSIM の推奨スペックの比較検討や Autoware の勉強な
どをおこなった。その結果、ノートパソコンのグラフィックボードが不足してしまう可能性があった。前期の時点では Donkey Simulator を使う予定であったが、AWSIM に乗り換えることとした。AWSIM のインストールとマップのインストールを終わらせることができた。マップは「西新宿」と「柏の葉」があった。次回はチュートリアルを読みながらコードを実装していくこととした。

9 月 22 日には AWSIM についてチュートリアルや仕様を確認しながら環境構築をおこなった。次週までの課題としてチュートリアルを読み、次回はマップの作成をおこなうこととなった。9 月 27
日には AWSIM についてチュートリアルや仕様を確認しながら環境構築の続きをおこなった。また、先輩と意見交換をすることができた。先輩への質問で疑問点を解消するとともに、成果発表会に向けてやるべきことを整理した。次回までの課題として金はシミュレーション環境構築、原は強化学習の基礎についての勉強、斉藤は学習済みモデルの調査とした。次回はチュートリアルを読み操作をできるようにし、来週からモデルを動かせるようにする計画を立てた。9 月 29 日には金はシミュレーション環境の構築、原は強化学習の勉強と調査、斉藤は自動運転に適した強化学習のモ
デルの調査をおこなった。AWSIM では Python が使いづらいことが分かったため、ML-Agentsというフレームワークに変更した。次週までの課題は ML-Agents の環境構築とした。
（※文責: 斉藤陸）

12.7

10 月

10 月 4 日には前回と同様に環境構築や強化学習の調査をおこなった。また、ML-Agents の環境構築においてエラーが多発したため、バージョン情報などを調べ修正作業をおこなった。今後やるべきこととしてマップのセット、車本体のセット、カメラのセット、パスを確認して強化学習のセットが挙げられた。課題はシミュレーションの環境構築と強化学習の勉強であった。また、有線接続の方法について分からなかった。10 月 6 日には金は ML-Agents の環境構築、原は強化学習についての勉強、斉藤は Unity の Asset についての調査をおこなった。この日で ML-Agents の環境構築作業が終了した。次週は Unity の Asset をインストールする予定とした。10 月 11 日にはUnity の Asset をインストールし、強化学習の問題設定について勉強した。Unity の Asset Store
Group Report of 2023 SISP

- 28 -

Group Number 13

Make Brain Projectからマップと車をダウンロードし、その後 Unity の仮想環境内にインストールをおこなった。また、マップと車の使い方を確認した。この時点での課題として 3 点あった。1 つ目は、車輪と本体がくっついていない問題であった。2 つ目は、車体が沈んでいく問題であった。3 つ目は、C ♯のソースコードが機能していない問題であった。後半は原より強化学習の問題設定について解説があった。それに加えて強化学習の基礎について全員で勉強した。また、本プロジェクトにおける強化学習の段階として直進とカーブ、標識のある環境、信号機のある環境、交差点のある環境と 4 段
階を設定した。次回は強化学習の段階についての再考、アルゴリズムの実装の準備、C ♯の勉強とした。10 月 13 日には Unity で車やマップの設定をおこなう人と、強化学習のアルゴリズムを考える人で分かれて作業した。この時点での課題として、時系列の画像入力データをどのように強化
学習に落とし込むのかというものがあった。また、次週はアルゴリズムの実装からおこなうこととした。10 月 18 日には金と斉藤で Unity へのマップと車のインストールと使い方の確認をおこない、原は強化学習の問題設定と内部機構の調査をおこなった。特に、マップの作成と AI カーの内部機構について取り組んだ。課題として、Transformer の空間把握への応用と Python for Unityの準備があった。また、次回は Unity(C ♯) と Python スクリプトの追加をおこなうこととした。

10 月 20 日には金は AI カー (ラジコン) の組み立て、原は Python for Unity のインストール、斉藤は物体検出のモデルの確認をおこなった。また、深度推定モデルや YOLO、レーン検出モデルの調査もおこなった。AI カーは前期の時点で本体の組み立てが終わっていたが、足りていない部
分があり部品が到着したため最後まで組み立てた。次週からも引き続き Python for Unity や物体検出、深度推定などに取り組む予定を立てた。10 月 25 日には金と斉藤で AI カーの調整をおこな
い、原が Python for Unity を使ったデータのやり取りの検証と車線逸脱検知モデルのチューニン
グをおこなった。この日の疑問点として AI カーへの Jetson Nano の取り付け方があった。よって、実機についても勉強する必要が出てきた。10 月 27 日には高校生への発表がおこなわれた。そのため、PowerPoint を用いて発表資料を作成した。実機が自動運転している様子を見せることはできなかったが、シミュレーション環境で車線検出をおこなっている様子を発表することができた。次週は強化学習の構築やパラメータの調整、ノイズの付加などをおこなうこととした。
（※文責: 斉藤陸）

12.8

11 月

11 月 1 日には Google Colaboratory の環境構築をおこなった。また、GitHub のプログラムを実行した。それと同時にデバッグ作業もおこなった。次週の課題として Google Colaboratory の続きと新たな車線検出モデルの模索、デバッグ作業とした。11 月 8 日には Google Colaboratory
での作業とハードウェアの物品調査を中心におこなった。また、強化学習に関するコーディングやデバッグ作業も同時におこなった。次回からは、成果発表会に向けてスライド資料作成に取り組むこととした。11 月 10 日には成果発表会用であるスライド資料作成のための案出しや、強化学習の実装などに取り組んだ。中間発表会ではポスター発表をおこなったが、成果発表会ではスライドとプロジェクターを用いて発表することとした。次週の課題として発表時間の割り振りやスライド作
成、強化学習の実装、役割分担とした。11 月 15 日には金は C ♯ファイルと Python ファイルの調整、原は Python プログラムのデバッグ、斉藤はスライドの原稿案の作成であった。Python プ
ログラムのデバッグ作業においては、Ubuntu の仮想環境作成に関しても終了した。スライドの原稿案については、PowerPoint を用いて作成した。この日はプログラムの調整とスライドの原稿案

Group Report of 2023 SISP

- 29 -

Group Number 13

Make Brain Projectの作成について進めることができた。次回は強化学習に用いる YOLO の調整をおこなうこととした。11 月 17 日には金は C ♯ファイルと Python ファイルの調整の続き、原はシミュレーションを
テスト用のファイルに追加、斉藤はスライドの原稿案の作成の続きであった。シミュレーションを
テスト用のファイルに追加では、保守コーディングをおこなった。具体的には、PyTorch で GPUが使えているかの確認や py ファイルの作成、md ファイルの更新、GitHub への push であった。
次週はスライドを完成させる計画を立てた。11 月 22 日には成果発表用のスライド作成や発表原稿作成をおこなった。スライドはそれぞれが担当した箇所をメインに書いていった。そのスライドをもとに発表原稿を作成した。スライドの大半は完成したため、次回は改善をすることとした。11月 24 日には金は C ♯ファイルと Python ファイルの調整の続き、原と斉藤はスライドのレイアウ
トの改善をおこなった。スライドのレイアウトの改善では、文字の大きさの統一や文字のフォントの統一、写真の挿入など視覚的に分かりやすいスライドへと変更した。次週からは発表練習をおこなう予定とした。11 月 29 日にはピアレビューをおこない先生方からスライドのアドバイスをいた
だいた。また、発表原稿の作成の続きをおこなった。ピアレビューでは他のグループの発表やスライド資料も参考とさせていただいた。様々なご意見をいただき、素晴らしく良い 1 日となった。次回はアドバイスをいただいた箇所について修正をおこなっていくこととした。
（※文責: 斉藤陸）

12.9

12 月

12 月 1 日には金は C ♯ファイルと Python ファイルの調整の続き、原と斉藤はスライドのレ
イアウトの改善の続きをおこなった。スライドのレイアウトの改善では、前回のピアレビューで指摘を受けた点を中心に改善した。具体的には、Dueling DDQN や Q 学習の話が難しいことや

Haar-Like 特徴において説明が足りなかったこと、消失点の意味が分かりにくかったこと、シミュレーションのシステムの流れがなかったこと、背景の「コストが安価である」点の説明が分かりにくかったこと、絵が少なかったこと、英語表記が少なかったことなどであった。これらの点を一つずつ改善していった。次週は成果発表会であるため、開発を急がなければいけないことを全員で確認した。12 月 6 日にはスライドのレイアウトの改善を全員でおこなった。また、発表練習をグ
ループでおこない、2 回目のピアレビューもおこなった。ピアレビューでは、実際の成果発表会のときと同様の形式でおこなった。その際に指摘を受けたところについて修正をおこなった。発表時
間が大幅に長くなっていたため、重要度の低いスライドを削除し文章量も減らす必要があった。具
体的には、強化学習の例として 2 点挙げたが 1 点に変更した点、自動運転の定義や自動運転レベルの説明をなくした点、Dueling DDQN や DQN の説明を圧縮した点、価値関数の説明を削除した点などであった。反対に、説明不足で分かりにくかったところは補足をおこなった。具体的には、強化学習のところで報酬設定の説明がなかった点、カメラに関する話題が少なかった点、コストを下げることの背景について書いていなかった点、問題点が次にどうなったのかを書いていなかった点などであった。次回までの課題として、スライドの修正とシミュレーションの続きとした。12 月

8 日の金曜日に成果発表会が対面形式でおこなわれた。中間発表会のときと比べ多くの人が来てくださった。後ろのほうまで声が届くように大きな声で発表をおこなった。また、質疑応答では分かりやすさを心がけて対応した。実機を用いての発表をおこなうことはできなかったが、シミュレー
ション環境のデモンストレーション映像を見せることができた。次週からの活動としては、今までの振り返りやアンケート結果の確認、報告書作成などとした。12 月 20 日には報告書の作成に取りGroup Report of 2023 SISP

- 30 -

Group Number 13

Make Brain Project組んだ。中間報告書の作成時とは異なり、始めから TeX を用いて作成した。この日は中間報告書の内容をもとに加筆修正作業をおこなうことにした。次回からは後期の活動について記述をしていく予定であった。12 月 22 日には報告書の作成の続きに取り組んだ。報告書の中で担当する箇所を決め、それぞれが書いていくこととした。年内の活動はこの日が最後であった。よって、各自が年末年始休暇中に報告書作成を進めることとした。年明けの最初の活動は参考文献の追加や文章の整
合性の確認、語句の一致についての確認、不足している情報の追加などから始めることとした。
（※文責: 斉藤陸）

12.10

1月

1 月 10 日には全員で提出物の最終確認をおこなった。特に、グループ報告書については要件を満たしている内容となっているか入念に確認をおこなった。また、個人週報やグループ週報を全て提出しているか全員で確認をおこなった。さらに、相互評価をおこない今までの約 9 ヶ月の活動の総括をおこなった。次週までの課題として、すべての提出物を仕上げることとした。1 月 17 日
は期末提出物の最終提出期限であった。この日までに成果発表会で使用したメインポスター、プロ
ジェクト報告書、グループ報告書、学習ポートフォリオ、期末提出物チェックシート、学習フィードバックシートの全てを提出した。また、今までのグループでの活動を 3 人で振り返り、建設的な議論を交わした。3 人での感想としては、「プロジェクト学習はあっという間に感じられたが、有意義なものとすることができた」であった。1 月 19 日には最終講義がおこなわれる予定である。また、次月 (2 月) には東京にて課外発表会がおこなわれる予定である。
（※文責: 斉藤陸）

Group Report of 2023 SISP

- 31 -

Group Number 13

Make Brain Project

付録 A

新規習得技術・Ubuntu のクリーンインストール方法
・深層強化学習に関する技術
・Python と C ＃のコーディング技術
・ラジコンのメンテナンス技術
・マネジメント技術
・発表資料作成技術
・TeX における文書作成技術

Group Report of 2023 SISP

- 32 -

Group Number 13

Make Brain Project

付録 B

活用した講義1 年次後期講義
・データサイエンス入門

2 年次前期講義
・システム数学基礎
・確率論
・ハードウェア基礎

2 年次後期講義
・人工知能基礎3 年次前期講義
・パターン認識・数値解析

Group Report of 2023 SISP

- 33 -

Group Number 13

Make Brain Project

参考文献[1] NVIDIA,”JetsonNano

Developer

Kits

and

Module”.

[Online].

Available:

https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/.
[Accessed: July 19, 2023].
[2] 日本経済新聞. 日立系、単眼カメラだけの低コスト自動運転センサー.[Online]. Available:
https://www.nikkei.com/article/DGXZQOUC124340S3A110C2000000/. [Accessed: July19, 2023].
[3] Ziyu Wang, Tom Schaul, Matteo Hessel, Hado van Hasselt, Marc Lanctot, Nando de Freitas, ”Dueling Network Architectures for Deep Reinforcement Learning,” arXiv:1511.06581[Machine Learning], Nov 2015.
[4] Hado van Hasselt, Arthur Guez, David Silver, ”Deep Reinforcement Learning with Double
Q-learning,” arXiv:1509.06461 [Machine Learning], Sep 2015.
[5] MOTOYAMA

『PID

制

御

と

は

』.[Online].

Available:

https://www.motoyama.co.jp/engineer/engi106.htm [Accessed: January 17, 2023]

Group Report of 2023 SISP

- 34 -

Group Number 13