てきとうなさいと べぇたばん

Tello EDUを使ってPythonで物体検出をしてみる

TOP > てきとうにこらむ > ゲーム作りとプログラミング日記 > Tello EDUを使ってPythonで物体検出をしてみる

Tello EDUを使って物体検出をしたぞ

Tello EDUを使ってPythonで色々してみる

Tello EDUは、ScratchやPythonを使うことのできるトイドローン。これを使って、色々と遊んでみることにしてみた。

Pythonを使う

Pythonを使うことで、OpenCVが使えるので、Tello EDUから撮影した映像からいろいろな処理を行うことができる。ちなみに、ドローンはあくまでも空を飛び、カメラで撮影するだけで、PythonやOpenCVなどの話はクライアント側であるコンピューターの話。

DJITelloPyを使ってドローンを制御

このドローンは、TCP 8889に向けてコマンドを投げるというものなのだけど、Pythonではライブラリがあるのでこちらを使うことにした。

$ pip install djitellopy

映像の受信に関しては、接続元であるコンピューターがPort 11111を開けておく必要がある。これを受信して動画としてだったり、静止画としてだったりして撮影するのである。

つまり、ドローンの制御をしながら、カメラで撮影するとなると、一つのプロセス・スレッドでどうにかするのが難しく、threading.Threadを使った。

Object Detectionをやってみる

物体検出をしてみようと思う。空を飛びながら、写ったものの物体を検出する。中身はYoloを使ってる。OpenCVには学習済みモデルのファイルを読み込むメソッドがあって、画像を読み込ませることで写ったものから物体を検出するということらしい。すごいね。

色々やってみた結果、空を飛んだときにいろんな物を検出することができた。結構楽しい。

動画

参考