code wiki / _hdl_build / nx_iqa_sota_fetch.nx
nx_iqa_sota_fetch.nx source
↩ module page · 65 lines · 4632 B
1// nx_iqa_sota_fetch.nx -- GROUND the reverse-AI-judge / photoreal metric (nx_natstat) in real SOTA. Two lines:
2// (1) no-reference IMAGE QUALITY ASSESSMENT -- classic natural-scene-statistics (NIQE/BRISQUE, what our
3// scale-invariance metric descends from) + modern learned (CLIP-IQA/MANIQA/MUSIQ); perceptual (LPIPS/
4// DISTS/DreamSim); distribution (FID). (2) EVALUATOR-IN-REVERSE = REWARD MODELS steering image gen
5// (ImageReward/HPSv2/PickScore) + RL/DPO fine-tuning of diffusion (DDPO/Diffusion-DPO); + AI-image
6// detection (for the "know it's AI" robustness). Banks raw -> knowledge/research/iqa_*.raw. expect_exit: 0
7import "nx_syscalls.nx"
8import "nx_x509_trust_store.nx"
9import "nx_trust_store_load_from_certdata.nx"
10import "nx_https_fetch_follow.nx"
11const K_MAGIC_4194304: i64 = 4194304
12const K_MAGIC_8388608: i64 = 8388608
13
14func w(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
15func wn(v: i64) -> i64 {
16 let b: *u8 = sys_mmap(28); var m: i64 = v
17 if m < 0 { m = 0 - m; sys_write(1, "-" as *u8, 1) }
18 let t: *u8 = sys_mmap(28); var k: i64 = 0
19 if m == 0 { t[0] = 48 as u8; k = 1 }
20 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 }
21 var i: i64 = 0; while i < k { b[i] = t[k - 1 - i]; i = i + 1 }
22 sys_write(1, b, k); return 0
23}
24func fetch_one(store: *TrustStore, url: *u8, outpath: *u8, raw: *u8, cap: i64) -> i64 {
25 let st: *i64 = (sys_mmap(8)) as *i64
26 let n: i64 = nx_https_fetch_follow(url, store, raw, cap, 6, st)
27 w(" [" as *u8); wn(st[0]); w("] " as *u8); wn(n); w("B <- " as *u8); w(url); w("\n" as *u8)
28 if n <= 0 { return 0 }
29 let fd: i64 = sys_openat_wr(outpath, 420)
30 if fd < 0 { return 0 }
31 var wr: i64 = 0
32 while wr < n { let c: i64 = sys_write(fd, raw + wr, n - wr); if c <= 0 { break } wr = wr + c }
33 sys_close(fd)
34 return n
35}
36func main() -> i64 {
37 let r: i64 = nx_trust_store_load_from_certdata("data/mozilla_certdata.txt" as *u8, 512, K_MAGIC_4194304)
38 if r <= 0 { w("STORE-FAIL\n" as *u8); return 1 }
39 let store: *TrustStore = r as *TrustStore
40 sys_mkdir("knowledge/research" as *u8, 0x1ed)
41 let cap: i64 = K_MAGIC_8388608
42 let raw: *u8 = sys_mmap(cap)
43 w("=== IQA / reverse-judge SOTA researcher ===\n" as *u8)
44 var ok: i64 = 0
45 // no-reference IQA: learned SOTA + the comprehensive metric library (lists NIQE/BRISQUE/PIQE = our NSS line)
46 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2207.12396" as *u8, "knowledge/research/iqa_01_clipiqa.raw" as *u8, raw, cap) > 0)
47 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2204.08958" as *u8, "knowledge/research/iqa_02_maniqa.raw" as *u8, raw, cap) > 0)
48 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2108.05997" as *u8, "knowledge/research/iqa_03_musiq.raw" as *u8, raw, cap) > 0)
49 ok = ok + (fetch_one(store, "https://raw.githubusercontent.com/chaofengc/IQA-PyTorch/main/README.md" as *u8, "knowledge/research/iqa_04_iqalib.raw" as *u8, raw, cap) > 0)
50 // perceptual + distribution metrics
51 ok = ok + (fetch_one(store, "https://arxiv.org/abs/1801.03924" as *u8, "knowledge/research/iqa_05_lpips.raw" as *u8, raw, cap) > 0)
52 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2306.09344" as *u8, "knowledge/research/iqa_06_dreamsim.raw" as *u8, raw, cap) > 0)
53 ok = ok + (fetch_one(store, "https://arxiv.org/abs/1706.08500" as *u8, "knowledge/research/iqa_07_fid.raw" as *u8, raw, cap) > 0)
54 // ★EVALUATOR-IN-REVERSE: reward models that STEER image generators (the operator's exact concept)
55 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2304.05977" as *u8, "knowledge/research/iqa_08_imagereward.raw" as *u8, raw, cap) > 0)
56 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2306.09341" as *u8, "knowledge/research/iqa_09_hpsv2.raw" as *u8, raw, cap) > 0)
57 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2305.01569" as *u8, "knowledge/research/iqa_10_pickscore.raw" as *u8, raw, cap) > 0)
58 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2305.13301" as *u8, "knowledge/research/iqa_11_ddpo.raw" as *u8, raw, cap) > 0)
59 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2311.12908" as *u8, "knowledge/research/iqa_12_diffusiondpo.raw" as *u8, raw, cap) > 0)
60 // AI-image detection (the "we KNOW it's AI" robustness piece)
61 ok = ok + (fetch_one(store, "https://arxiv.org/abs/2302.10174" as *u8, "knowledge/research/iqa_13_fakedetect.raw" as *u8, raw, cap) > 0)
62 w("=== banked " as *u8); wn(ok); w("/13 sources -> knowledge/research/iqa_*.raw ===\n" as *u8)
63 if ok < 7 { return 1 }
64 return 0
65}