今さらOpen MVを触ってみた

K.Miura

自己紹介

  • 三浦 耕生(こうき)
  • 大学院生、ロボット工学専攻
  • TechAcademyのジュニアメンター
  • Twitter: @k_miura_io
  • Facebook: koki.miura05

※このスライドはjupyter-notebookを使用しています

In [ ]:
print("Hello World")

さて、本題です

kickstarterにてOpen MVを購入

  • 1年前にOpen MVを購入し、今年の4月に到着
  • その2ヶ月後にそれより安いM○SrickVが出てきてしまい、後悔…(49ドルで購入)
  • 最近エッジコンピューティングが流行っているし、触ってみたい

とりあえず触ってみた

Open MVについて

  • micro pythonで動作するマシンビジョンに特化したボード
  • 専用の開発環境をインストールするだけでセットアップができる
  • ピンヘッダもついているのでボードの拡張も可能
  • レンズの変換が可能(赤外線カメラ、広角レンズなど)
  • ARM Cortex M7搭載

開封の儀

  • レンズにはキャップがついている
  • 今回はケースも注文

セットアップ

起動

  • 起動するとエディタ画面が表示されれている
  • すでにサンプルコードがある

お約束のHello World

  • まずはサンプルコードを実行する
  • ファームウェアが最新でない場合はアップデート(画面下に【最新】と表示されていればOK)
  • カメラの画像を右上に表示、ターミナルにはFPSが出力されている

他に何かやってみた

  • 他のデモを探してみたらArduinoみたいにたくさんサンプルがあった
  • 機械学習名古屋っぽいデモを探してみた(手抜きですいません…)

顔認識をしてみた

  • デフォルトでカスケードファイルがあり、そこから顔認識ができる(らしい)
  • 遅延、カクツキなくサクサク動く

デモ

In [ ]:
# 顔認識のサンプル
import sensor, time, image

# Reset sensor
sensor.reset()

# Sensor settings
sensor.set_contrast(1)
sensor.set_gainceiling(16)
# HQVGA and GRAYSCALE are the best for face tracking.
sensor.set_framesize(sensor.HQVGA)
sensor.set_pixformat(sensor.GRAYSCALE)

# Load Haar Cascade
# By default this will use all stages, lower satges is faster but less accurate.
face_cascade = image.HaarCascade("frontalface", stages=25)
print(face_cascade)

# FPS clock
clock = time.clock()
In [ ]:
while (True):
    clock.tick()

    # Capture snapshot
    img = sensor.snapshot()

    # Find objects.
    # Note: Lower scale factor scales-down the image more and detects smaller objects.
    # Higher threshold results in a higher detection rate, with more false positives.
    objects = img.find_features(face_cascade, threshold=0.75, scale_factor=1.25)

    # Draw objects
    for r in objects:
        img.draw_rectangle(r)

    # Print FPS.
    # Note: Actual FPS is higher, streaming the FB makes it slower.
    print(clock.fps())

あれ?Open CVと似てね?

まとめ・今後の展望

  • 最近流行りのエッジコンピューティングを今さら体験した
  • 小さいのに思いの他サクサク動いた(顔認識時でもFPSは20前後)
  • 今後は自作の学習モデルをOpenMV上で動かしてみたい(そもそも自作の学習モデル作ったことないw)
  • トラッキングを取り入れたロボットを使ってみたい(願望)
  • それでも値段が高い→M○StickVほしい…

最後に宣伝

11/17(日)に東京テレコムセンターにて開催されるサイエンスアゴラのIBMブースでCall for Codeの作品紹介とデモを行う予定

END