Inferix Decentralized GPU
  • Getting Started
    • Overview
    • $IFX
    • Resources
    • Brand Kit
    • Frequently asked questions (FAQs)
  • Inferix Whitepaper
    • Introduction
      • Rendering network using crowdsourced GPU
      • Rendering verification problem
    • High-level description of ANGV
      • Noise generation
      • Noise verification
      • Thread model
    • Implementation of ANGV
      • Structure of noise
      • Noise insertion
        • Geometric constraints
        • Distortion region
      • Adaptive noise spreading
      • Verification key generation
      • Noise verification
      • Threat analysis
        • Attacks on verification keys
        • Attacks on noises
        • Attacks on verifiers
      • Performance evaluation
      • Integration
    • Decentralized visual computing
      • Client Apps plugin
      • Client API and SDK
      • Manager node
      • Worker node
      • Decentralized storage
        • Data categories
        • Multi-level 3D polygon data
        • Polygon digester
        • Decentralized storage
        • Decentralized cache
      • Data security with FHE and TEE
        • Verifier data security enhancement with FHE
        • Worker and Manager data security enhancement with FHE
    • Decentralized federated AI
      • Federated learning with TensorOpera
      • Meta LLaMA
      • Stable Diffusion
      • Other AI models
      • Inferix AI
    • Economic model
      • GPU compute market for visual computing and federated AI
      • Inferix vision
      • $IFX token
      • Burn-Mint-Work token issuance model
      • Inferix bench and IBME
        • IB and IBM
        • IBME
      • Price simulation
      • Token metrics and allocation
        • Token allocation
        • Token vesting
      • Governance
      • Node staking and rewards
        • Worker
        • Verifier
        • Manager
        • Penalty pool
      • Node sale and guaranteed node buyback
        • Node sales
        • Guaranteed Node Buyback
    • Future development
      • PoR and NFT minting for graphics creative assets
      • ZKP and PoR communication
      • Inferix RemotePC
      • Rendering professional network
    • References
    • Appendix A: Proofs
    • Appendix B: Price simulation details
    • Appendix C: Hardware requirements for nodes
    • Appendix D: Performance evaluation data
  • Worker Node Guide
    • What is Worker Node
      • How do the Worker Node work
      • Worker Node Rewards
      • How to run Worker Node
      • What is the Worker Node License (NFT)
    • Worker Node Sales
      • Guide to Purchase Worker Nodes
      • Worker Node Sale Timeline
      • Node Supply, Price, Tiers and Purchase Caps
      • Guaranteed Node Buyback
      • How to get Node Whitelisted?
      • Smart Contract Addresses
      • User Discounts & Referral Program
      • Worker Node Purchase FAQ
      • ABKK Collaboration FAQ
  • Verifier Node Guide
    • What is Verifier Node
      • How do the Verifier Node work
      • Verifier Node Rewards
      • How to run Verifier Node
      • What is the Verifier Node License (NFT)
    • Verifier Node Sales
      • Guide to Purchase Verifier Nodes
      • Verifier Node Sale Timeline
      • Node Supply, Price, Tiers and Purchase Caps
      • Guaranteed Node Buyback
      • How to get Node Whitelisted?
      • Smart Contract Addresses
      • User Discounts & Referral Program
      • Verifier Node Purchase FAQ
      • Aethir Node Winners FAQ
  • Inferix MVP
    • Tutorial: MVP for designers & GPU owners
    • PoR MVP
  • Inferix Testnet 2 on Solana & IoTeX [ENDED]
    • Adding GPUs to the Network
      • For GPU providers
      • For GPU providers without funds
      • For users without GPUs
      • For Inferix Node Holders
    • Renting GPU Devices
    • User Revenue Calculation
      • Worker Rewards
      • Rental Revenue
      • Viewing Revenue
      • Claiming Rewards
    • GPU Staking & Unstaking
      • Staking Requirements
      • Unstaking GPUs
    • Guide to get tIFX tokens
    • Why choose Inferix DePIN GPU Solutions?
  • Inferix Testnet 1 on IoTeX [ENDED]
    • Inferix GPU Solutions
    • Adding GPUs to the Network
    • Renting GPU Devices
    • User Revenue Calculation
    • GPU Staking
    • Multiple options to participate in the Staking & Mining Program
    • Special airdrop for Inferix Node Holders! 🎉
    • Guide to get tIFX tokens
    • FAQ
  • Inferix Explorer
  • Team & Achievements
    • Our Story
    • Team
    • Member of Cohort 1 DePINSurf
    • Achievements
  • Community & Events
    • Events
    • Inferix Campaign: "ALLIANCE" (ENDED)
  • Terms of Service
    • Privacy Policy
    • Airdrop Terms of Service
Powered by GitBook
On this page
  1. Inferix Whitepaper
  2. Implementation of ANGV

Noise verification

PreviousVerification key generationNextThreat analysis

Last updated 8 months ago

Given a tested image JJJ and a verification key K=(ki)1≤i≤nK = \left(k_i\right)_{1 \leq i \leq n}K=(ki​)1≤i≤n​, the goal of noise verification is to recover and check the trails of noises in JJJ at all regions kik_iki​. For each kik_iki​, we pick an atomic enveloping region viv_ivi​ determined by:

vi≜(xiul−δix,yiul−δiy,xilr+δix,yilr+δiy)v_i \triangleq \left(x^{\mathtt{ul}}_i - \delta^{x}_{i}, y^{\mathtt{ul}}_{i} - \delta^{y}_i ,x^{\mathtt{lr}}_i + \delta^{x}_{i}, y^{\mathtt{lr}}_{i} + \delta^{y}_{i}\right)vi​≜(xiul​−δix​,yiul​−δiy​,xilr​+δix​,yilr​+δiy​)

where δix\delta^{x}_{i}δix​ and δiy\delta^{y}_{i}δiy​ are the width and the height of kik_iki​:

δix=xilr−xiul+1δiy=yilr−yiul+1\delta^{x}_{i} = x^{\mathtt{lr}}_i - x^{\mathtt{ul}}_i + 1 \qquad \delta^{y}_{i} = y^{\mathtt{lr}}_i - y^{\mathtt{ul}}_i + 1δix​=xilr​−xiul​+1δiy​=yilr​−yiul​+1

Since any enveloping region is so small that spectral analysis cannot give reliable results, hence to filter the distortions of noises (i.e. the trails of high energy) we compare gradients of the region and the contained distortion region; one way to do that is using the Laplacian filter. Let abla2abla^2abla2 denote the Laplacian operator, calculate the mean of each enveloping region viv_ivi​:

v‾i=1∣vi∣∑(x,y)∈vi(∇2vi)(x,y)\overline{v}_i = \frac{1}{\lvert v_i \rvert} \sum\limits_{\left(x,y\right) \in v_i} \left( \nabla^2 v_i \right) \left(x,y\right)vi​=∣vi​∣1​(x,y)∈vi​∑​(∇2vi​)(x,y)

and the mean of corresponding distortion region:

k‾i=1∣ki∣∑(x,y)∈ki(∇2vi)(x,y)\overline{k}_i = \frac{1}{\lvert k_i \rvert} \sum\limits_{\left(x,y\right) \in k_i} \left( \nabla^2 v_i \right) \left(x,y\right)ki​=∣ki​∣1​(x,y)∈ki​∑​(∇2vi​)(x,y)

Figure 6:

where ∣vi∣\lvert v_i \rvert∣vi​∣ and ∣ki∣\lvert k_i \rvert∣ki​∣ are respectively the area of viv_ivi​ and of kik_iki​. Then compare the deviation (c.f.~\cref{equ:noise_recovery,equ:noise_difference}):

ei≜∣v‾i−k‾i∣e_i \triangleq \lvert \overline{v}_i - \overline{k}_i \rvertei​≜∣vi​−ki​∣

with some energy threshold. Using the , we experimentally accept the existence of the atomic watermarked wiw_iwi​ when ei≥5e_i \geq 5ei​≥5.

If there is a distortion region where the deviation eie_iei​ is lower than the threshold then the image JJJ is immediately rejected, otherwise JJJ is accepted.

Remark. From the construction of enveloping regions from distortion regions, the areas can be simply calculated by ∣ki∣=δix×δix\lvert k_i \rvert = \delta^{x}_{i} \times \delta^{x}_{i}∣ki​∣=δix​×δix​ and ∣vi∣=9×∣ki∣\lvert v_i \rvert = 9 \times \lvert k_i \rvert∣vi​∣=9×∣ki​∣.

The figure on the left shows an enveloping region of size 9×99 \times 99×9, its distortion region is of size 3×33 \times 33×3 located at the center, numbers at each pixel are the RGB color values. The right one shows the enveloping region after applying the Laplacian convolution.

noise tuning
Noise verification using Laplacian filter