Pratinjau video yang berhasil saja tidak cukup untuk membuktikan pengambilan gambar mentah yang stabil dalam mode pengoperasian yang diinginkan. Perangkat lunak tampilan mungkin menggunakan resolusi yang lebih rendah, aliran terkompresi, bingkai yang dilewati, atau kebijakan buffering yang berbeda. Catat mode pengoperasian dan batas pengukuran dan pertahankan agar tetap konstan sebelum menemukan masalahnya di antrean perangkat, transportasi, pengemudi, atau aplikasi.
Tentukan lapisan di mana frame hilang
| Lokasi | Bidang yang dapat diamati | Perbedaan untuk dilestarikan |
|---|---|---|
| Perangkat dan transportasi | Pengidentifikasi bingkai perangkat, status dan kesalahan transfer | Tidak dihasilkan, tidak diterima dan tidak valid adalah kejadian yang berbeda |
| Penerimaan tuan rumah | Jumlah yang diterima, panjang valid, format, dan kesalahan | Buffer yang diterima belum tentu merupakan gambar yang valid |
| Adaptor dan antrian | Alasan enqueue, dequeue, waiting, occupancy, dan reject | Pengambilan sampel yang disengaja dan kehilangan yang tidak disengaja memerlukan penghitung terpisah |
| Pemrosesan dan keluaran | Mulai, penyelesaian, batas waktu dan pengidentifikasi hasil | Hasil yang hilang mungkin mencerminkan kegagalan atau kelalaian yang disengaja |
Jika nomor urut bingkai perangkat berturut-turut hilang, periksa juga penyambungan ulang, reset, dan counter wraparound (kembali ke awal rentang penomoran). Pengidentifikasi bingkai yang dihasilkan host menggambarkan urutan yang diterima oleh host; mereka tidak dapat secara mandiri memastikan bahwa perangkat tersebut tidak kehilangan bingkai.
Tetapkan reproduksi minimal dengan bingkai mentah
Rekam kamera, firmware, kabel, host, driver, SDK, resolusi, format, dan kecepatan bingkai. Mulailah dengan program yang menerima dan memeriksa frame mentah. Tambahkan konversi, inferensi, penyimpanan, dan tampilan secara terpisah sambil membandingkan kesalahan dan sumber daya. Catat contoh vendor secara terpisah dari aplikasi bisnis daripada membandingkan mode yang berbeda secara langsung.
Periksa buffer dan kepemilikan
Tentukan kapan buffer SDK tetap dapat dibaca, kapan harus dikembalikan, dan apakah callback mengizinkan kepemilikan jangka panjang. Catat panjang antrian dan waktu tunggu. Jika bingkai lama dapat dibuang, pertahankan alasan dan hitungan pembuangan. Jika setiap frame harus disimpan, rancang throughput dan tekanan balik. Antrean yang lebih besar saja tidak menghasilkan perbaikan.
Waktu dan pemulihan
Tentukan sumber jam dan bedakan waktu pemaparan, penerimaan, antrian, dan penyelesaian. Untuk penyambungan kembali, tentukan penerapan ulang parameter, pembersihan buffer, dan mulai ulang urutan. Tanpa pengaturan waktu perangkat atau referensi independen, stempel waktu host tidak akan menghasilkan sinkronisasi paparan atau respons end-to-end yang lengkap.
Uji operasi normal dan pemulihan dalam kondisi, konkurensi, dan durasi yang disepakati. Memberikan konfigurasi, definisi penghitung, log mentah, dan langkah-langkah reproduksi. Layanan terkait: pengembangan pengambilan gambar Dan SDK perangkat vision.