a) Illumination stability:
The code should be decodable under a wide range of lighting conditions. However, under conditions making face identification impossible, a decoding failure is tolerable.
b) Blurriness tolerance:
Picture blurriness can arise from sub-optimal auto-focus mechanisms because the photographer actually focused on another object or person or moved the camera during exposure (a common problem with amateur photographers).
c) Size and clipping invariance:
The code should be decodable from shots with different fields of view. Therefore, it should be so redundant that a partial capture in a close-up produces results as good as those in a wide shot. Furthermore, in a wide shot, a larger part of the code is recorded but with a reduced resolution compared to a close-up. Fine encoding that repeats multiple times is better for close-up shots while coarse encoding is better for wide shots. Ideally, a code unifies both traits.
d) Distortion stability:
People do not always face the camera head-on, especially when they are being photographed unintentionally. Furthermore, the human body is not a flat board, and loose clothing tends to fold and wrinkle. Another faults may arise from lense distortion or improper washing or drying of the person’s clothing.
e) Noise robustness:
Another artifact introduced by cameras is noise, especially in low-light and low-contrast situations due to the automatic camera gain amplifying the sensors background noise.
f) Computational weight:
The detection algorithm should be lightweight because operators of publishing systems will most likely demand one that conserves computational resources.
g) Compression stability:
Digital photography greatly depends on picture compression algorithms. They commonly destroy details in pictures and introduce artifacts. These algorithms are often based on a psycho-visual model of human visual perception and are therefore not optimized for computer vision purposes. The most common compression method for photographs on the Internet is JPEG.
h) Blind decoding ability:
The decoder should have the ability to decode the data without prior knowledge of the original pattern used to encode the data or the data that is being looked for (a common prerequisite for some watermarking techniques).
i) Detection accuracy:
Detection accuracy should be high with a slight bias toward false positives since people typically feel more comfortable with more privacy than with less. False positives can still be overridden by the publisher if necessary.
j) Error detection and correction:
The encoding scheme should have an error detection or correction code to avoid producing erroneous results.
a) Dress code:
Dress codes are often imposed by society, the employer, or another external entity. The coding scheme should thus produce markings and patters that blends into the imposed dress code.
People additionally often have their own fashion demands. The coding scheme should thus produce markings that blends into the individual’s fashion style.
Clothing is sold in many different colors and shapes. The code should thus be versatile and work with many different colors and shapes.
The application of P3F should require only a slight adjustment in clothing style. The code should be subtle with low visual impact. It should be unrecognizable by other people, thus minimizing social complications.