技術レビュー
Camera2 統合の場合、バッファーの配置方法、バッファーがいつ有効になるか、いつ解放されるかを確立します。寸法のみに基づいて、YUV_420_888 を連続した NV21 として読み取らないでください。 rowStride、pixelStride、画像トリミング四角形、非同期処理中の画像の方向と所有権を SDK 入力コントラクトに含めます。
rowStride と pixelStride の意味
rowStride は、隣接する行の先頭間のバイト距離です。 pixelStride は、行内の隣接するピクセル サンプル間のバイト距離です。どちらも単なる画像の幅ではありません。パディングや異なるプレーン レイアウトを有効なピクセルとして扱うことを避けるために、ターゲット デバイスから返された実際のプレーン情報を読み取ります。
Android の ImageFormat リファレンスと Image.Plane インターフェイスは、フォーマットとストライドを定義します。このレビューでは、これらのインターフェイスを統合チェックに適用します。各ターゲットデバイスには依然として関連する入力ケースが必要です。
ImageFormatリファレンス · Image.Plane インターフェイス
SDK に渡す前に入力を確認してください。
すべての列を表示するには、テーブルを水平にスワイプします。
| アイテム | 記録する情報 | 確認項目 |
|---|---|---|
| Image フォーマットとイメージ プレーン | 形式、寸法、各画像プレーンのrowStrideとpixelStride | 行/色のエラー、境界および画像のトリミング四角形 |
| 方向とミラーリング | センサー/ディスプレイの向きとフロントカメラのミラーリング | ポートレート/ランドスケープ、左/右、座標変換 |
| バッファの有効期間 | Image 所有者、コピー ポリシーおよび非同期完了 | 無効な読み取り、解放漏れ、キューの停止 |
| ロードしてキューに入れる | キャプチャ/送信率、バックログ、ポリシーの削除 | 持続的な入力下でのレイテンシーとリソース使用量 |
| 出力座標 | モデル入力、画像トリミング四角形およびプレビュー領域 | 既知の位置と比較したボックス |
非同期処理の所有権を割り当てる
Imageと各画像プレーンのデータは、非同期処理が終わるまで有効である必要があります。コールバック終了時にImageを解放する設計では、後続処理が使えるデータを合意した方法で確保します。解放を遅らせる場合は、処理完了・キャンセル・異常終了後の解放担当を決めます。単一フレームの成功に加え、連続取得と異常経路も確認します。
これらのフィールドを統合問題レコードに使用します。デバイスの測定値は事前に設定されていません。
すべての列を表示するには、テーブルを水平にスワイプします。
| レコードフィールド | 内容 | 目的 |
|---|---|---|
| 環境のアイデンティティ | デバイス、Android バージョン、カメラ、SDK リビジョン | ハードウェアとコードの変更を区別する |
| 入力メタデータ | 形式、寸法、画像の切り出し矩形、各プレーンのrowStrideとpixelStride | 変換の前提条件を再確認する |
| 所有権とタイミング | コールバック、処理への投入、完了、解放を担当する主体 | 無効な読み取りとバックログを診断する |
| 検証サンプル | 公開可能なパターン、方向、予想される座標 | 画像変換と座標変換の結果を比較する |
| 障害経路 | キャンセル、タイムアウト、切断、回復 | 合意されたリソースのクリーンアップを確認する |
プロジェクトの範囲と統合インプット
RK3588 オフライン顔検出およびビジョン SDK ケース は、Android、Camera2、およびオフライン CPU パスをカバーします。顔検出と ID 認識は別のタスクです。 NPU アクセラレーションとその他のデバイスには別の証拠が必要です。 RK3588 Android の適応の場合、デバイス マトリックスとテストを定義する前に、ハードウェア、システム、サンプル、既存のインターフェイス、および上記の記録を提供します。
相談
電話
WeChat
トップに戻る