[*] Плагин камеры для прямой видеоидации. Вывод
Проблема
Ограничивающие коробки отображаются с заметной задержкой при перемещении коробки лекарственного средства. Точность обнаружения хороша, но визуальная обратная связь не является в режиме реального времени для плавного пользовательского опыта.
Применяемые текущие оптимизации
Я уже реализовал несколько оптимизаций:
. /> < /li>
Ограничение скорости: минимальное количество 50 мс между циклами обработки < /p>
< /li>
асинхронная обработка: использование изолятов для предотвращения блокировки ui < /p>
< /li>
interpolation system: 120fplest steptation frame. /> < /li>
Прогнозирование движения: рендеринг на основе прогнозирования 250fps < /p>
< /li>
Оптимизация пользовательской оптимизации: всегда перекрашивание для отзывчивости < /p>
< /li>
< /ul>
< /pslious> < /> < /press> < /press> < /press> < /press> < /press> < /press> < /press> < /press> < /press> < /press> < /prong> < /b /> < /ul>
< /psliou
Код: Выделить всё
// Detection processing
void onCaptureImage(CameraImage image) async {
// Process every 2nd frame with 50ms rate limiting
if (frameSkipCounter++ % PROCESS_EVERY_N_FRAMES != 0) return;
// Asynchronous processing in isolate
final detectionsFuture = compute(
runInferenceIsolate, data
);
detections = await detectionsFuture;
update(); // GetX update
}
// CustomPainter for rendering
class _DetectionsPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
// Render bounding boxes with coordinate transformation
// Account for letterboxing and camera rotation
}
@override
bool shouldRepaint(covariant _DetectionsPainter oldDelegate) {
return true; // Always repaint for responsiveness
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... -detection
Мобильная версия