カメラを接続する
前回、基本的なセットアップはやれたので今回はカメラモジュールをつなげてみようと思います。
一応、フラットケーブル式のカメラモジュールは購入しましたが、よくよく考えるとUSB接続のWebカメラがあったのでそれ使えばよかったかなとも思っています…
接続方法
- フラットケーブルを固定するコネクターを緩めます。
左右の突起をそーっと上に持ち上げて緩めます。
あんまり力を入れるとたぶん壊れる。 - フラットケーブルの向きは色がついたほうが基盤の外側を向くように刺し込みます。
なお、すべてのフラットケーブルに色がついているのかは知りません…
刺し込む際はフラットケーブルが垂直に刺さっているか曲がっていないかをよくチェックしましょう。 - コネクターを基に戻し、電源を入れます。
- 起動後、下記コマンドでデバイスが認識されているか確認します。
1 |
<span class="token function">ls</span> -al /dev/video0 |
映像の表示
1 |
nvgstcapture |
VNCとかでリモート接続している場合は映像は表示されないそうなのでHDMIかDisplayPortにでも接続しましょう。
カメラから画像がちゃんと出ればOKです。終了するにはコンソールにて「Ctrl+C」を押すと終了します。
リアルタイム画像類推
せっかくなので、カメラで物の認識をしてみたいと思います。
まずは、OSとかのソフトウェア類を最新にしましょう。
1 2 |
<span class="token function">sudo</span> apt update <span class="token function">sudo</span> apt upgrade |
ビルドに必要な子をインストールします。
1 |
<span class="token function">sudo</span> apt <span class="token function">install</span> <span class="token function">git</span> cmake doxygen |
gitコマンドでjetson-inferenceをcloneします。
1 |
<span class="token function">git</span> clone https://github.com/dusty-nv/jetson-inference |
submoduleをインストールします。
1 2 |
<span class="token function">cd</span> jetson-inference <span class="token function">git</span> submodule update --init |
buildディレクトリを作成し、cmakeします。
いろいろダウンロードしたりするのでしばらく待ちます。
1 2 3 |
<span class="token function">mkdir</span> build <span class="token function">cd</span> build cmake <span class="token punctuation">..</span>/ |
cmakeすると、途中でどのモジュールをダウンロードするか聞かれますのでここは適当に。
デフォルトのままでもいいし、全部入れてもいいし。全部入れると2.2GBぐらいあるらしい。
上記以外も追加のものを入れるか緑色の画面で聞かれますので必要に応じて入れてください。
makeコマンドでビルド(コンパイル・リンク)します。
1 2 |
make sudo make install |
カメラ映像のリアルタイム類推を実行します。
CUDAエンジンの初期化にしばらく待ちます。
(初回実行時は起動までに5分から10分くらいかかります)
1 2 3 |
<span class="token function">cd</span> aarch64/bin ./imagenet-camera ./imagenet-camera --network=resnet-18 |
引数のどこを使う的なものはいろいろありますが、先に緑色の画面で選択したやつだけ使えると思います。たぶん。
なので、デフォルトは「googlenet」と「resenet-18」の2つになると思います。
引数にそのまま入れれば起動する的なことも書いてありましたが、うちの場合はうまくいきませんでしたが「–network=」を指定すると動きました。
1 2 |
./imagenet-camera googlenet ./imagenet-camera alexnet |
いろんなものを認識してみる
Googleで適当に検索してスマホで表示してどうなるか試してみました。
写真(スマホ上の)のでもちゃんと認識しますがシロクマさんだけはダメみたいですね。
Amazonの置物だったのでシロクマはダメだったのかもしれません。
ちゃんとした写真だと
シロクマとして認識しています。
CPUファンの回転制御
前回導入したCPUファンの回転制御ですが画像処理の負荷時にちゃんと可変で動いてくれました。
温度 回転数
39.5 165 画像認識中
39.0 165
38.5 157
38.0 153
37.5 153
37.5 148
37.0 144
37.0 140
37.0 144
36.5 140
36.5 140 画像認識終了
36.5 136
36.0 136
日々くだらないことを追い求め、黒歴史をまとめておくための自由なブログ。
あんまり役立つことは書きませんが主に日記・ゲームや買ったものについての記事を気まぐれで好き勝手書いています。