Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

What is Pydroid 3? 4

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

6 Pydroid3の特徴

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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)

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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