- マルチコアのCPU、GPUなどのアクセラレータ、その他のアクセラレータの扱い
- 画像データのデータストリームの扱い
- 例: GStreamer
これらが、可能な範囲で扱いやすくすること 3D処理の多くは、遅延時間が大きくなりすぎると意味を持たなくなる。 あるアイディアを1つの実装から、別の実装へ置き換える際の改変のポイントがわかりやすいこと 利用するフレームワーク間の移植を容易にすること。
- アルゴリズムの実装自体の時点では、その内部にデータストリームを含まないようにする。
- データストリームを用いるのは、それらをつなぐときに用いる。
- アルゴリズムを記述・動作検証するうえで、必須の機能の部分
- 動作結果の可視化は、コアには含めない。
- ファイルのリストに対する処理の一群、ビデオフレームに対する処理は、ロジックが単一フレームに対し実行するものの場合、コアの実装に含めるべきではない。
- アルゴリズムの実装のコアの部分の実装には、ファイル単位の処理・結果ファイルの書き出しを含めないがいい。
- 理由:
- 組み込み分野では、結果をファイルとして保存することを想定しないからである。
- 組み込み分野では、限られたリソースの中で実行するので、ディスクスペースがあっても、ごく僅かである。 - 例外:
- その機械学習が必要とするモデルファイル、設定ファイルが残ることはある。
- 例:検出結果をjson化して保存する。