coding

OpenCV AI Kit (OAK-D)カメラを起動するまでの最初の設定手順

By 2021年1月5日No Comments

きた。

初めてのkickstarterで海外のものを購入。2020年内到着予定がコロナの影響もあって遅延した。それでも公式からの連絡はいつまでにいくつを配送手配できるなどの連絡が入っていた。時間はかかるだろうなと思っていると1月3日の午前中に届いたので開封記録。

必要は発明の母。以前から画像認識や機械学習は気になってはいたがなんのことかさっぱりやしどっからどう手をつけていいかわからなかったので後回しにしていた。がたまたま今回kickstarterで募集しているのを見つけた。
ふむふむ。ふむふむ。英語で何言ってるかわからん。けど画像認識でOpenCVが使われていたりしてるのは知ってはいたのと、今度新しいデバイスが安く帰るというのだけは理解できた。

ちょうどラズベリーパイでGPSモジュールをマウントしてみたり、ガジェット欲が高まっていたことや画像認識系に思うのところもあり。実際に触って学べる教材として輸入することにした。
プログラミングスキルはなし。趣味や仕事で何か作りたい時に目的や好奇心の度合いによって気合いで作る程度。

で、募集ページをみたら30秒でセッティングできるとあるやないか。これは初期学習でなおかつ最新の技術に触れられそうだと。空間の深さまで検知できる。OAK-Dの購入を決めボタンを押した。

OpenCVとは

OpenCV(正式名称: Open Source Computer Vision Library)は、オープンソースのコンピューター・ビジョン・ライブラリです。コンピューターで画像や動画を処理するのに必要な、さまざま機能が実装されており、BSDライセンスで配布されていることから学術用途だけでなく商用目的でも利用できます。加えて、マルチプラットフォーム対応されているため、幅広い場面で利用されていることが特徴です。

OpenCVは、Intelで開発され、その後、ロボティクス関連のハードウェア/ソフトウェアの開発を行っているWillow Garageに開発が引き継がれた後、現在はコンピュータービジョンの技術開発を手掛けるItseezによって開発が進められています。

OpenCVを使うと、主に以下のような機能を利用できます。

フィルター処理
行列演算
オブジェクト追跡(Object Tracking)
領域分割(Segmentation)
カメラキャリブレーション(Calibration)
特徴点抽出
物体認識(Object recognition)
機械学習(Machine learning)
パノラマ合成(Stitching)
コンピュテーショナルフォトグラフィ(Computational Photography)
GUI(ウィンドウ表示、画像ファイル、動画ファイルの入出力、カメラキャプチャ)
https://www.atmarkit.co.jp/ait/articles/1507/27/news154.html

画像認識で使われていることや化学の研究でも使われていてプログラミングやITに特に明るいわけではない友人からもその話を聞いていた。
話はそれるものの個人的にかなり面白いのは遺伝子情報の取扱についてはビッグテータ解析とおなじ文脈でITテクノロジーの技術が研究者の間でも注目されていたり、生物系の研究にはやはり倫理観の話もでてきたり、高度に生命とテクノロジーなどが交錯する点があるということ。

OpenCVはオープンソースで純粋な遊びで新しい世界を覗けるだけでなく商用利用も可能な自由さもホビープログラミングの醍醐味の一つ。

OpenCV AI Kit OAK-Dとは

新登場のガジェット「OpenCV AI Kit(OAK)」は、Raspberry Pi(ラズベリーパイ)や他の超小型コンピュータソリューションの成功に倣ってはいるが、成長著しいコンピュータビジョンや3D知覚の分野に特化しているという点で他とは異なっている。新しいマルチカメラ対応プリント基板により、小型でオープンソースのユニットの中に多数の機能を詰め込むことに成功したOAKが現在、Kickstarter(キックスターター)で出資者を募集中だ。

引用元であり募集の存在をしった記事コンピュータビジョン界のRaspberry Piとなる「OpenCV AI Kit」が新登場https://jp.techcrunch.com/2020/07/28/2020-07-14-opencv-ai-kit-aims-to-do-for-computer-vision-what-raspberry-pi-did-for-hobbyist-hardware/

Kickstarterの募集ページhttps://www.kickstarter.com/projects/opencv/opencv-ai-kit

んで。とりあえずUSBでつなげるも動かず。ターミナルにコードコピペしたらすぐ動き出すような紹介があってんけどやりかたもわからない。
説明書はない。(注文ありがとう!https://docs.luxonis.com/にいってねとカードがはいっていた)まあしあってもあんまみんけど。にしても最初の30秒セッティングとカメラ起動までは簡単にで教えて欲しい。
だいたいこの手のやつはどなたかがやってたりするので日本語の検索ですぐやり方がでるのだけれど、そもそもが第一陣で手に入れたような時期なのでみつからず。

プログラマー以外の方で勢いで買った人もいるだろうから。やり方をメモしておく。ただやり方があってるかはわからないので自己責任で。結論カメラは起動した。

いろいろな言語に対応していて、デバイスにも種類があった。機械学習系でよく聞くpythonと今使っているmacOSで進めていく。
調べててここやでゆうてるところがいまいちわからなかったので30秒セッティングの動画を凝視したり他の記事などで以下のサイトにたどり着く。
参考にしたサイトページではmacOS以外の方法も書いてあるのでmac以外の方は該当の箇所をご覧いただくとよいだろう。

OAK-D到着開封

画像の段ボールの箱にさらに段ボールに包まれて送られてくる。

募集時点では基盤剥き出しだったけれどそうではなかった。

中身。アダプタは追加で買ったけな。とりあえず、カメラとUSBケーブルとアダプタ。アダプタの先端は着脱式になっていて異なる国の形に適応してる様子。ほかシールロゴの入った厚紙とレンズ拭きっぽいものと緩衝材など。

インストールDepthAI Python API

https://docs.luxonis.com/en/latest/pages/api/

ここにある該当コマンドを叩いていくだけ。

Installing system dependencies macOS

sudo curl -fL http://docs.luxonis.com/_static/install_dependencies.sh | bash
変更許可を求めるのでパソコンのパスワードをいれて進める。
するとエラーの赤文字がある。

指示があるのでその通りにやる。

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
できたっぽいのでつぎへ。

Install from PyPi

python3 -m pip install depthai
そしたらまたあかんぽい。


警告のところみて素直にやってみる。

pip install --upgrade pip
次にすすめる。

Test installation

git clone https://github.com/luxonis/depthai.git
cd depthai

python3 install_requirements.py
次が起動前最後。ここまでうまくできていればカメラが起動するはず。

python3 depthai_demo.py

するとUSBで繋いであったカメラから少し音がしたかなとおもったらディスプレイに画像が映し出された。

内容はわかっていない。FPSは秒間のフレーム数。カメラが動くと物体を捉えた瞬間に四角が現れて物体を特定する。角度や距離によって検知の精度もちがうためこのフレーム数の間にけたたましく資格の文字や表示されている数字が変化する。

こどものころに友達とやってたあのスカウターの世界やなと思った。当時はこんなものの存在のかけらもないのでマンションの公園で1人が気合いをいれて戦闘力をあげてもう1人がその戦闘力をエアーのスカウターで持ってみせて気合いや星稜から戦闘力を数値化しひたすら順番交代で読み上げていたのをおもいだした。ちなみにめっちゃ楽しかった。当時はスカウターもほとばしるエネルギーもエアーではなく我々の中では実在していた。

「bottle」を特定している。確率まででる。その後カメラをあたりを回すと得意不得意があるのがわかる。特に人に対しては強い印象。黒い物体は苦手そう。あくまで少しの間つかった個人的印象。
距離もしっかりとでている。考えたらgif画像のがまだよかったかな。いつか更新して差し替えよう。

これだけ常に計算しながら動いてると熱もすごくなりそう。カメラ背面の形状も気になるので後で調べてみよう。

また何か新しい機能や遊び方がわかったらメモしていく予定。