Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【Python東海#44】Pydroid3で画像処理

 【Python東海#44】Pydroid3で画像処理

スライド内では動画を多用しているため、動画を確認したい方はYouTubeでの視聴を推奨しています。

YouTube:
https://youtu.be/Od0POpMRpQk

高橋かずひと

November 18, 2023
Tweet

More Decks by 高橋かずひと

Other Decks in Technology

Transcript

  1. Pydroid 3
    で画像処理
    Python東海 #44
    2023/11/18

    View full-size slide

  2. 2
    Who am I ?
    Name
    Twitter :KzhtTkhs
    :高橋かずひと
    Work :画像処理 兼 なんでも屋
    Other :Axross寄稿や
    インディーゲーム開発の
    お手伝いしています

    View full-size slide

  3. 3
    Who am I ?
    Name
    Twitter :KzhtTkhs
    :高橋かずひと
    Work :画像処理 兼 なんでも屋
    Other : Axross寄稿や
    インディーゲーム開発の
    お手伝いしています

    View full-size slide

  4. What is Pydroid 3?
    4

    View full-size slide

  5. 5
    Pydroid3とは
    Pydroid 3は、Android向けの
    最も使いやすく強力な教育用 Python 3 IDE
    ※「最も使いやすく」と「強力な」は公式の自称
    有料💴
    ※2023年8月購入時は日本円で1850円の買い切りアプリ

    View full-size slide

  6. 6
    Pydroid3の特徴

    View full-size slide

  7. 7
    Pydroid3
    Loaded with
    modern
    educational
    libraries
    and assets
    “最新の教育ラ
    イブラリとアセ
    ットが満載”

    View full-size slide

  8. 8
    Interactive
    terminal
    mode for
    both casual
    and advanced
    usage
    “カジュアルで
    も高度でも使用
    できる対話型タ
    ーミナル”

    View full-size slide

  9. 9
    Multiple
    graphical
    interface
    libaries
    support
    “複数の視覚的
    なインターフェ
    イス ライブラ
    リのサポート”

    View full-size slide

  10. 10
    Custom pip
    repository if
    bundled C
    compiler is not
    fast enough
    “バンドルCでは十分
    に動作しないパッケ
    ージのカスタムpipリ
    ポジトリ”

    View full-size slide

  11. 11
    Code completion
    and error
    checking(premium
    feature)
    “コード補完とエラ
    ーチェック
    (プレミアム機能)”

    View full-size slide

  12. 12
    Native
    matplotlib
    support with
    Tkinter and
    PyQt5
    “Tkinter と
    PyQt5 によるネイ
    ティブ matplotlib
    サポート”

    View full-size slide

  13. 13
    Use your phone
    sensors with
    Kivy and Qt
    “Kivy と Qt 上で
    スマートフォンの
    センサーを利用で
    きる”

    View full-size slide

  14. 14
    Pydroid3を画像処理に使う
    「QUICK INSTALL」に用意されて
    いる画像処理に使えるパッケージ
    ・OpenCV
    ・Pillow
    ・NumPy
    ・PyTorch
    ・TensorFlow など

    View full-size slide

  15. 15
    Pydroid3を画像処理に使う
    その他のパッケージは「INSTALL」
    からインストールできるが、
    CPUアーキテクチャに依存するよう
    なパッケージは「QUICK
    INSTALL」にあるものしか使用でき
    ない
    ONNX Runtimeが使えないのは残念。。。

    View full-size slide

  16. 16
    Pydroid3を画像処理に使う
    表示に関わる処理は、
    Tkinter や QTを
    使わなければならない
    ため、OpenCVで作
    るような簡易なサンプ
    ルを動かす場合は注意
    右図はTkinter利用例
    # TK用にチャンネルをRGBに変更
    rgb_image = cv2.cvtColor(debug_image, cv2.COLOR_BGR2RGB)
    # 表示向き補正
    label_width = label.winfo_screenwidth()
    label_height = label.winfo_screenheight()
    image_width = rgb_image.shape[0]
    image_height = rgb_image.shape[1]
    image_width, image_height = image_height, image_width
    # TKのラベル更新
    img = Image.fromarray(rgb_image)
    imgtk = ImageTk.PhotoImage(image=img)
    label.configure(image=imgtk)
    label.update()
    label.after(0, label_loop)
    cv2.imshow(“Sample", debug_image)
    cv2.waitKey(100)

    View full-size slide

  17. 17
    Pydroid3:サンプル①
    OpenCVを用いたカメラ制御
    ・カメラ入力
    ・オートフォーカス制御
    ・露出制御
    ・ライト
    など

    View full-size slide

  18. 18
    Pydroid3:サンプル②
    OpenCVでアスキーカメラ

    View full-size slide

  19. 19
    Pydroid3:サンプル③
    PyTorchを用いたクラス分類
    ・MobileNet v2

    View full-size slide

  20. 20
    Pydroid3:実演デモ
    TensorFlow Lite を用いた物体検出
    ほぼチューニング無しでGoogle
    Pixel Foldで約10fps
    (見た感じ、おそらく、CPU推論)
    ・YOLOX-Nano

    View full-size slide

  21. 21
    こんな人に向いているかも
    画像処理やAIのスマホプロトタイプをサッと動かしたい人
    ・画像処理(特にAI関連)は、基本的にPython
    ・Androidアプリは、基本的にはJAVA or Kotlin
    → Pythonでサッと作って、ちょっとスマホで試したい
    と言う場合に、JAVAに書き換える作業は正直面倒。。。

    View full-size slide

  22. ご清聴ありがとうございました🙂

    View full-size slide