Summary
This Fling analyses a sequence of screenshots collected by a user to generate three metrics: frame-count, smoothness, and image quality. The tool can be used to quantify user-experience for a VDI solution. It could also be used to quantify user experience for any video streaming application.
The tool measures frame-count with a combination of SSIM (Structural Similarity Metric), and a CNN model to reduce frame over-counting caused by techniques like build-to-lossless or progressive sharpening which are used by most remote display protocols. Smoothness is measured using a time-series analysis of the SSIM of successive frames displayed by the remote display protocol. We use a novel approach to measure image quality that counts the number of frames that have no blurring or blemishes. We accomplish this using two CNN models, both of which have an F1 score > 0.98, that we built to identify frames that are blurred or have a blemish. The novelty of this tool stems from the fact that it relies heavily on deep CNN models to avoid the need to make assumptions about the distribution of pixel intensities, the availability of reference images with one-to-one correspondence between the image source and the destination at which it is displayed, or canned workloads.
Requirements
- A VM running Ubuntu 20.04
Instructions
See readmeFirst.PDF for instructions, and notes on how to interpret results.
Quick Start Guide:
- Create an Ubuntu 20.04 VM
- Pull down container, projects.registry.vmware.com/image_quality/imgq03:latest
- Tag container as imgq03:latest. --- Example command "sudo docker tag projects.registry.vmware.com/image_quality/imgq03:latest imgq03:latest"
- Copy or mount screenshots to the VM.
- Extract the script genUE.bash from the zip file genue.zip.
- Run the script genUE.bash with the parameters listed above. Parameters "-t" and "-s" are required. ( Example: ./genUE.bash -t `pwd`/testData -s `pwd`/Results. In this example the screenshots and the file named, fileList.txt live in the `pwd`/testData directory. The directory `pwd`/Results exists and on completion, the results will be appended to `pwd`/Results/Res.csv )
Contributors
Similar Flings

Horizon Reach
Horizon Reach aims to resolve this disconnect between Cloud pods and distinct environments by discovering, monitoring and alerting on issues across your entire Horizon estate from a single UI. Horizon Reach gives alerts, usage reports, insights, etc. in a web console.