# 画像解析ツール ## 機能 * 画像・動画プレビュー機能 * ドラッグ&リリース対応 * 物体検知機能 ## Library * 可視化ツール * Tkinter 標準ライブラリ,シンプルなウィンドウならすぐ作れる * PySide6 LGPLライセンス / 大規模アプリやプロダクト向けにおすすめ * PySimpleGUI× GUIウィンドウを作って画像を表示するため(無料では難しい) * 画像分析ツール * opencv-python ・・・ 画像/動画の読み込み(cv2.VideoCapture)とフレーム処理用 --- ### 可視化ツールの選定 #### Tkinterの特徴 ![Tkinter](images/tkinter.png) **長所** * 標準ライブラリなので追加インストール不要(どの環境でも動く) * 非常に軽量で起動も速い * 基本的な GUI パーツ(ラベル、ボタン、テキスト入力、チェックボックスなど)は一通り揃っている * 初心者でも学習コストが低い(ドキュメントやサンプルが豊富) **短所** * デザインが古い・野暮ったい(各OSのネイティブっぽさは出ない) * カスタマイズ性が低い(スタイルやテーマの自由度が限られる) * 近年のモダンなUI(フラットデザイン、レスポンシブ、アイコン付きボタンなど)は作りにくい + 大規模アプリや複雑な画面構成になると管理が難しい #### PySide6の特徴 ![PySide6](images/pyside6.png) **長所** * Qtベースで本格的なGUIが作れる(業務用アプリにも対応可能) * 見た目がモダンでOSのネイティブに近いデザイン * Qt Designerで画面をドラッグ&ドロップ設計できる * 豊富なウィジェットや機能(OpenGL, Web埋め込みなど)が利用可能 **短所** * 学習コストが高め(シグナル/スロットなど独自の概念に慣れが必要) * 実行ファイルサイズが大きくなりがち(PyInstallerで数十MB以上) * インストールや依存関係が重い(環境によってバージョン注意) * モバイル対応は限定的(基本はデスクトップ専用) ## モデルの選定 ### 物体認識&検出 * 商用や配布を考えるなら YOLOv8 / SSD / Faster R-CNN / Mask R-CNN / DETR | モデル | 特徴 | 速度 | 精度 | 向いてる場面 | | ---------------- | -------------------------------- | ---- | ---- | ------------------------ | | **YOLO** | 一回で検出、軽量&高速 | ◎ | ◎ | リアルタイム監視 | | **SSD** | シンプルで軽量 | ○ | ○ | モバイル端末 | | **Faster R-CNN** | 二段階、高精度 | △ | ◎ | 精度最優先(医療、研究) | | **Mask R-CNN** | 輪郭まで検出(セグメンテーション) | △ | ◎ | 領域抽出、背景切り抜き | | **DETR** | Transformerベース | △ | ◎ | 最新研究、拡張性 |