Measuring camera shaking


Photography is no longer just about photographers using hand-held cameras to capture a moment. These days, cameras are mounted everywhere, such as on bicycles and motorcycles, cars, boats, drones, and even sports helmets. As a result, image stabilization tests have had to adjust to include these camera setups when measuring the effects of camera shake on the overall image quality.

Up until now, image stabilization tests have focused on human hand tremors. These tests relied on advanced equipment to simulate hand shaking in a test lab environment. In addition, the ISO committee TC42 WG18 established standardized handshake profiles despite the difficult nature of standardizing human hand movement.

While determining the handshake profiles was difficult, creating and agreeing on a standardized movement profile for all the other camera applications will be even more demanding. For example, if you are generating a movement profile for a bicycle, you will need to determine whether the bike has suspension, will be ridden on roads or rougher terrain, or both. All is not lost, however, as the same test equipment used to test handshaking can also be used to test the shaking of the other camera systems, and why not decide on the movement parameters yourself?

Using apps to test camera shaking

As we all know, there is an app for everything today, including recording shaking profiles, where several apps record the raw data. For gyroscopes, these profiles are typically given in deg/s but not in the actual orientation of the camera. Orientation is needed when positioning a shaking device such as our image stabilization hexapod, STEVE 6D. Recently, however, we have discovered an app for iOS called myGyroscope, programmed by the Italian developer Gianluca Natalini. This app records the absolute orientation of an iPhone using its gyro sensor, compass, and GPS offering more possibilities for measuring camera shake without pre-defined movement profiles.

After recording the data, this is what it will look like after importing it into Excel:

Example table 1

The lines of the dataset depend on the frequency setting for the recording. Currently, the software can be set to 50 Hz or 100 Hz, but our CEO, Dietmar Wueller, has been in contact with Gianluca, and he is looking into increasing the sampling frequency to 1 kHz, which is the frequency needed for the STEVE 6D software.

Columns D, E, and F contain the data we need to simulate the camera rotation roll, pitch, and yaw, which mainly influences camera blurring during exposure. The calibration in myGryroscope is done with the phone lying flat on a table, and, as a result, the columns for roll and pitch need to be exchanged when the phone is used in the typical position with the camera facing forward and not downward.

The final data file fed into the STEVE software requires an ASCII format to store the data. The data points include X, Y, and Z shifts and roll, pitch, and yaw. The decimal separation is a point; each point is tab separated with a CR command at the end of each line. Each line represents 1 ms. For most shaking profiles, using a 30-second cycle that continuously gets repeated should be adequate.

To ensure that this cycle is possible, we have found that it is best to modify the recorded data so that the beginning of the recording is set to 0 for all three angles, and all of the following data points are then calculated relative to that. When the 30 seconds are almost up, it may often be necessary to make a slight adjustment so that the motion smoothly ends at 0 for the start of the next round.

Here is an example of the data format for the STEVE 6D software:

Example table 2

STEVE device

The STEVE device is a hexapod that uses six degrees of freedom to analyze the performance of a camera system’s optical image stabilizer (OIS). The STEVE control software allows the user to modify and control the frequency and amplitude of each movement direction. The software also includes an automated analysis that evaluates the recordings from a test target and presents the performance results numerically and graphically.

Different vibrations can be generated using STEVE. CIPA-compliant vibration and sine waves or individual waveforms are possible, and all movements can be reproduced and repeated accurately when using STEVE.


Updating the ISO standard

ISO 20954 describes a camera measurement procedure with manual control and optical image stabilization. The CIPA handshaking profiles determined for lightweight, mid-weight, and heavy-weight cameras are used depending on which camera is tested.

For cameras that do not allow manual control or use other image stabilization methods, e.g., a combination of multiple images, ISO 20954 is not applicable. These cameras' performance is measured as the low light performance ISO 9093 that analyzes multiple image quality aspects. The first part of this standard makes assumptions of a potential camera shake without applying the actual shake to the camera. A currently developed second part will shake the camera using a shaking device such as STEVE 6D. The shaking profile used in the main part of the standard is the one for cell phones developed and published by Apple Inc. They researched the various frequencies and spatial characteristics of hand shaking while holding a cell phone. Their research produced a table of values at 1 kHz to represent the different handshake frequencies that can be applied to image stabilization tests of mobile phone camera systems.

Currently, the standard only focuses on handshaking profiles for mobile phone testing but does not include profiles for any other camera movements. However, it was discussed in the TC42 WG18 committee to have an annex into the standard of how shaking profiles for different applications can be generated and applied. A draft is currently under development by the working group.