  In Video Analytics Pipelines (VAP), Analytics Units (AUs) such as object
detection and face recognition running on remote servers critically rely on
surveillance cameras to capture high-quality video streams in order to achieve
high accuracy. Modern IP cameras come with a large number of camera parameters
that directly affect the quality of the video stream capture. While a few of
such parameters, e.g., exposure, focus, white balance are automatically
adjusted by the camera internally, the remaining ones are not. We denote such
camera parameters as non-automated (NAUTO) parameters. In this paper, we first
show that environmental condition changes can have significant adverse effect
on the accuracy of insights from the AUs, but such adverse impact can
potentially be mitigated by dynamically adjusting NAUTO camera parameters in
response to changes in environmental conditions. We then present CamTuner, to
our knowledge, the first framework that dynamically adapts NAUTO camera
parameters to optimize the accuracy of AUs in a VAP in response to adverse
changes in environmental conditions. CamTuner is based on SARSA reinforcement
learning and it incorporates two novel components: a light-weight analytics
quality estimator and a virtual camera that drastically speed up offline RL
training. Our controlled experiments and real-world VAP deployment show that
compared to a VAP using the default camera setting, CamTuner enhances VAP
accuracy by detecting 15.9% additional persons and 2.6%-4.2% additional cars
(without any false positives) in a large enterprise parking lot and 9.7%
additional cars in a 5G smart traffic intersection scenario, which enables a
new usecase of accurate and reliable automatic vehicle collision prediction
(AVCP). CamTuner opens doors for new ways to significantly enhance video
analytics accuracy beyond incremental improvements from refining deep-learning
models.
