13.1.12. ROM ファイルシステムの編集

ROMFS をサポートするボードは、フラッシュ内に読み取り専用ファイルシステムを持ち、カメラ上では /rom にマウントされます。これにはボードのデフォルトの機械学習モデルが付属しており、製品のモデルやアセットを置くべき場所です。ROMFS 内のファイルはフラッシュから直接メモリマップされるため、大きなモデルをコピー用の RAM を消費せずにロードできます。IDE の Tools → ROM File System サブメニューがその編集ツールです。

13.1.12.1. エディタ

Edit ROMFS on OpenMV Cam は、接続されたカメラの ROMFS を読み込んでエディタで開きます。ファイルツリーに加えて、ファイルの追加、フォルダの作成、エントリの削除と抽出、モデルズー からモデルを直接取り込むためのボタンがあります。使用量の表示は、コンテンツがボードの ROMFS パーティションをどれだけ占有しているかを追跡します。Commit を押すまでカメラには何も影響せず、押すと結果をカメラに書き戻すか、ディスク上の .img ファイルに保存するかを尋ねられます。

ファイルを追加すると、2つの変換が自動的に行われます。.py スクリプトはターゲットボード用に .mpy バイトコードへクロスコンパイルされ、モデルファイルは、ボードに NPU アクセラレータがありモデルがそれを必要とする場合に、そのアクセラレータ用に変換されます。ROMFS に格納されるのは常に、カメラが直接実行する形式です。

Edit ROMFS ダイアログ。モデルファイルとラベルファイルのファイルツリー、使用量の表示、Commit、Model Zoo、Add File、New Folder、Delete、Extract File の各ボタンがあります

ボードのデフォルトのコンテンツ(その機械学習モデル)を表示する Edit ROMFS ダイアログ。右下に使用量の表示があります。

Open ROMFS File は、接続されたカメラの代わりにディスク上の .img イメージファイルに対して同じエディタを実行し、New ROMFS File は空の状態で開始します。どちらの場合も、本番でのフラッシュやカスタムファームウェアビルドと併せた出荷のために、ROMFS イメージをオフラインで準備する経路となります。Reset ROMFS on OpenMV Cam は、接続されたカメラの ROMFS をボードのデフォルトに復元し、すべての編集を取り消します。

参考

アプリケーションの出荷における ROMFS の役割、つまり何を入れるべきか、カメラが実行時にそれをどう読み取るかについては ROMFSイメージのビルド を参照してください。