[Udemyで勉強] Raspberry Piで物体検出！

# はじめに
Raspberry Pi、ラズパイというものが以前から気になっていたので、何か勉強してみようと、今回、Udemyのこの動画を購入して、さらにRaspberry Piも購入して、勉強してみました！

https://www.udemy.com/course/ai-iotraspberry-pi-line-iot/

今回はこの動画を通して、物体検出を試してみた！できた！という内容の記事です。

あまり細かいことは、有料動画の内容を公開することになってしまうので、ざっくりです。（このコマンドを叩いて、この画面に遷移してetc.というようなことは）

動画の目次はこんな感じでした。

>【各セクションの学習内容】
1 はじめに
このコースの目的や学習内容、ハンズオンを実施するために必要なモノについて解説します。
> 2 Raspberry Piのセットアップ
シングルボードコンピュータのRaspberry Piをセットアップしてパソコンから操作できるようにします。
> 3 物体検出ハンズオン環境構築
Raspberry Piに物体検出に必要なサンプルプログラムや、OpenCVなど各種ソフトウェアパッケージをインストールします。
> 4 ハンズオンで触れる深層学習型人工知能（ディープニューラルネットワーク）
深層学習型人工知能、mobilenet SSDやOpenCVの概要、コースで使用するモデル、Tensorflow、Cocoなどの用語について解説します。
> 5 Raspberry Piで物体検出をしてみよう
物体検出のサンプルプログラムを動かし、そのしくみを概観します。
> 6 AI×IoT　検出結果をLINEに投稿しよう
検出結果をLINEに投稿するハンズオンを通して、HTTPやWebAPIを使って人工知能とインターネットサービスを連携するしくみの基本をおさえます。
> 7 コースのまとめ
このコースで何を学んだのか、全体を通してふり返ります。

5の物体検出までできました！（LINE投稿はやってない汗）

端的に概要を説明すると、mobilenet SSDという深層学習型モデルの学習済みのもの（ネットで入手できる）を、Raspberry Piで動かすと、簡単に物体検出ができる！というものです。学習という面倒な作業はもう他の誰かがやってくれてるのでやる必要ない！ということですね（笑）

# ラズパイ
Udemy動画を購入後、まず、ラズパイを買いました。（amazonで・・）

最新版は、バージョン4が出ているようですが、自分は3 (3 model B+)を買いました。（動画では、3 model B, 3 model B+, 4 model BのどれでもOKとのことでした。）

![PXL_20210930_004637988.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/1e82fd22-0e3b-80c5-a256-70e2b855c977.jpeg)

あとは、ウェブカメラも持ってない場合は買わなきゃいけないのですが、自分は持ってたので買わずに済みました！w

![PXL_20210930_071108216.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/f8ed39c6-6a59-eaf9-3dfd-95d88d509d07.jpeg)

ラズパイの箱の中身はこんな感じ。
![PXL_20210930_005031539.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/67c33a96-b4fd-a24c-fc78-3396a7efd2e2.jpeg)
ラズベリーパイは電源を差しただけでOSが起動するようになっているみたいで、
![PXL_20210930_021438142_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/fa94ce15-f06b-31cd-4317-82c812df07ca.jpeg)
アダプターをコンセントに差して電源投下！すると、赤と緑のランプがチカチカしだします。
![PXL_20210930_021521791_3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/626f5931-7916-238e-1d45-ebadf452e2db.jpeg)

さらに、起動処理が終了するまでに３分ぐらい待ってくださいね（by 動画）とのことです。
３分経つと、緑ランプが消えて赤ランプだけになる。

![PXL_20210930_022023069_3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/bb2953df-fc62-d0bc-5aca-580ff1f1081c.jpeg)

ここで毎回思うのは、パソコンと違って画面がないから、実際ちゃんと起動してるのかどうなのか分からないのがちょっと不安というか・・・汗。

## ラズパイOSの画面をパソコンの画面に表示。
電源投入して起動はしてるはずだけど、実際にパソコンに表示してみないと分からん！ので、パソコン画面に表示してみます。

VNC Viewerというものを使うとパソコンとWiFiで繋がったラズパイにアクセスできます。
パソコンを立ち上げてVNC Viewerを起動し、
![viewer2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/1a2da457-070c-d496-a45f-8c79201e0e51.png)
raspberrypiを選んで、ログイン。
![viewer3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/b92da59b-e325-391f-1553-331f8c795f71.png)
ラズパイOSの画面が見えました！
![viewer4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/342f86ac-ef7a-a9a6-f060-f8326b24c434.png)

# ラズパイで画像認識。
諸々のセットアップは動画のお陰で済ませてあるので、画像認識をさせてみます。

ラズパイにUSBのウェブカメラを接続します。
(カメラの接続はラズパイ起動前でも後でもOKのようです）

![PXL_20210930_044023950.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/384df3e1-3b0a-a38d-a7f4-64356177f925.jpeg)

ラズパイのターミナルを開いてコマンドを入力し、プログラムを実行すると、ウェブカメラの映像がパソコンの画面に映し出されます。

スマホと、ハサミ。
![cap5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/791dcee1-77e2-fdb5-30c1-c2a1fb4b809e.png)

コップと目覚まし時計
![cap6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/d61b5c50-9161-1e55-e2d9-9f2f09d9a019.png)

マウスとキーボード（キーボードは一応、枠で囲まれてるので認識してるっぽいです）
![cap7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/388d99b0-7d72-c056-780d-2259c4c28abe.png)

フォークとスプーン
![cap8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/d3c0d88d-a7c2-81dc-0fa3-81ad5989d541.png)

バナナ（笑）（もしかするとバナナが置いてあるから机をダイニングテーブルと認識したのかな？？）
![cap9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/cbb0f14f-2885-3597-8c47-50cdf1bfd364.png)

コップはコップでも取っ手の部分がワザと隠れるようにしてカメラに映すと、認識率が下がったりします。特徴が掴みにくくなると分からなくなるのは人間も同じだから仕方ないですね💦

# 感想
そもそもRaspberry Piを一度も使ったことがなかったので、まずどのラズパイを購入したらいいのか、接続の仕方、セットアップ方法などが分かってよかったと思いました。AI部分だけならパソコンがあれば動かせますが、この辺が簡単に分からないとやる気なくなるので、Udemy動画を購入して正解でした！

学習に使ったモデルは、COCOデータセットという有名なデータセットを用いて学習させて作られたモデルだそうです。ここで紹介したもの以外にも色々認識でき、机の上に置けるものばかりじゃなく、車、ボート、飛行機、バス、列車、犬猫、馬、羊、熊、ゾウなどもあるみたいです（笑）・・・と言っても、馬やゾウやボートとかはすぐに撮影しにいけないので・・・、今回は身近にある、机に置けるものだけにトライしました💦。飛行機やボートやスキーやスノーボードが認識できるという所がなんとなくアクティブな感じで、日本というより海外っぽい感じがするなぁと思いました（笑）