• bitcoinBitcoin(BTC)$85,383.000.62%
  • ethereumEthereum(ETH)$2,702.660.73%
  • tetherTether(USDT)$1.000.00%
  • binancecoinBNB(BNB)$789.35-0.01%
  • rippleXRP(XRP)$1.511.17%
  • usd-coinUSDC(USDC)$1.00-0.01%
  • solanaSolana(SOL)$121.661.58%
  • tronTRON(TRX)$0.335271-0.19%
  • Figure HelocFigure Heloc(FIGR_HELOC)$1.074.38%
  • zcashZcash(ZEC)$1,334.572.45%
  • HyperliquidHyperliquid(HYPE)$90.381.60%
  • dogecoinDogecoin(DOGE)$0.0954502.53%
  • chainlinkChainlink(LINK)$14.212.28%
  • moneroMonero(XMR)$546.43-1.18%
  • whitebitWhiteBIT Coin(WBT)$84.930.73%
  • USDSUSDS(USDS)$1.00-0.01%
  • cardanoCardano(ADA)$0.2525953.12%
  • leo-tokenLEO Token(LEO)$8.99-0.10%
  • RainRain(RAIN)$0.0114170.98%
  • stellarStellar(XLM)$0.2190391.99%
  • nearNEAR Protocol(NEAR)$5.026.61%
  • bitcoin-cashBitcoin Cash(BCH)$316.910.99%
  • uniswapUniswap(UNI)$9.030.71%
  • litecoinLitecoin(LTC)$71.313.51%
  • CantonCanton(CC)$0.1281125.35%
  • suiSui(SUI)$1.234.88%
  • avalanche-2Avalanche(AVAX)$11.09-0.33%
  • Ethena USDeEthena USDe(USDE)$1.000.00%
  • daiDai(DAI)$1.000.00%
  • hedera-hashgraphHedera(HBAR)$0.1034251.42%
  • USD1USD1(USD1)$1.000.00%
  • the-open-networkGram (prev. Toncoin)(GRAM)$1.531.24%
  • quant-networkQuant(QNT)$257.02-0.11%
  • BittensorBittensor(TAO)$303.683.03%
  • BitwayBitway(BTW)$1.27-14.32%
  • shiba-inuShiba Inu(SHIB)$0.0000060.87%
  • tether-goldTether Gold(XAUT)$4,141.400.02%
  • crypto-com-chainCronos(CRO)$0.0676212.60%
  • Global DollarGlobal Dollar(USDG)$1.00-0.01%
  • Pump.funPump.fun(PUMP)$0.0065040.60%
  • paypal-usdPayPal USD(PYUSD)$1.000.00%
  • aaveAave(AAVE)$180.080.80%
  • okbOKB(OKB)$121.701.25%
  • Ripple USDRipple USD(RLUSD)$1.000.00%
  • EthenaEthena(ENA)$0.2398861.24%
  • OndoOndo(ONDO)$0.4953001.08%
  • Circle USYCCircle USYC(USYC)$1.140.00%
  • MemeCoreMemeCore(M)$1.041.42%
  • Ondo US Dollar YieldOndo US Dollar Yield(USDY)$1.150.04%
  • BlackRock USD Institutional Digital Liquidity FundBlackRock USD Institutional Digital Liquidity Fund(BUIDL)$1.000.00%
TradePoint.io
  • Main
  • AI & Technology
  • Stock Charts
  • Market & News
  • Business
  • Finance Tips
  • Trade Tube
  • Blog
  • Shop
No Result
View All Result
TradePoint.io
No Result
View All Result

Hierarchical NeRF with JAX3D for Volumetric Rendering, Novel-View Synthesis, and 3D Reconstruction

September 13, 2026
in AI & Technology
Reading Time: 3 mins read
A A
Hierarchical NeRF with JAX3D for Volumetric Rendering, Novel-View Synthesis, and 3D Reconstruction
ShareShareShareShareShare

YOU MAY ALSO LIKE

Sony Digital Camera Model Numbers Explained: Bigger Isn’t Always Better

Trump Announces Super Intelligence Force Led by Four Officials – Unite.AI

@jax.jit
def render_chunk(params, o, d, rng):
   _, out_f, aux = render_rays(params, o, d, rng, deterministic=True)
   return out_f.ray_values["rgb"], out_f.ray_depth, out_f.ray_alpha, aux
def render_image(params, origins, dirs, rng):
   """Chunked full-image render with padding, so only one shape gets compiled."""
   o = jnp.asarray(origins.reshape(-1, 3)); d = jnp.asarray(dirs.reshape(-1, 3))
   R = o.shape[0]; rgb, dep, alp = [], [], []
   for i in range(0, R, cfg.chunk):
       oc, dc = o[i:i + cfg.chunk], d[i:i + cfg.chunk]
       pad = cfg.chunk - oc.shape[0]
       if pad:
           oc = jnp.concatenate([oc, jnp.tile(oc[-1:], (pad, 1))], 0)
           dc = jnp.concatenate([dc, jnp.tile(dc[-1:], (pad, 1))], 0)
       c, dp, a, _ = render_chunk(params, oc, dc, rng)
       n = cfg.chunk - pad
       rgb.append(c[:n]); dep.append(dp[:n]); alp.append(a[:n])
   s = (cfg.H, cfg.W)
   return (np.asarray(jnp.concatenate(rgb)).reshape(*s, 3),
           np.asarray(jnp.concatenate(dep)).reshape(*s),
           np.asarray(jnp.concatenate(alp)).reshape(*s))
h = np.array(history)
plt.figure(figsize=(6, 3))
plt.plot(h[:, 0], h[:, 1], lw=1.6)
plt.xlabel("step"); plt.ylabel("train PSNR (dB)")
plt.title("Fine-network training PSNR"); plt.grid(alpha=.3)
plt.tight_layout(); plt.show()
print("\nRendering held-out test views ...")
key, k_eval = jax.random.split(key)
psnrs = []
fig, axes = plt.subplots(cfg.n_test_views, 4,
                        figsize=(11, 2.7 * cfg.n_test_views), squeeze=False)
for v in range(cfg.n_test_views):
   pred, depth, alpha = render_image(state.params, te_o[v], te_d[v], k_eval)
   p = float(mse_to_psnr(np.mean((pred - te_c[v]) ** 2))); psnrs.append(p)
   depth_vis = depth + (1.0 - alpha) * cfg.far
   for a, (im, ttl, kw) in zip(axes[v], [
           (np.clip(te_c[v], 0, 1), "ground truth", {}),
           (np.clip(pred, 0, 1), f"NeRF  ({p:.2f} dB)", {}),
           (depth_vis, "depth (ray_depth)", dict(cmap="turbo",
                                                 vmin=cfg.near, vmax=cfg.far)),
           (alpha, "opacity (ray_alpha)", dict(cmap="gray", vmin=0, vmax=1))]):
       a.imshow(im, **kw); a.set_title(ttl, fontsize=9); a.axis("off")
plt.suptitle(f"Novel-view synthesis   |   mean PSNR = {np.mean(psnrs):.2f} dB",
            fontsize=12)
plt.tight_layout(); plt.show()
print(f"  mean held-out PSNR: {np.mean(psnrs):.2f} dB")
cy, cx = cfg.H // 2, cfg.W // 2
o1 = jnp.asarray(te_o[0][cy, cx])[None]; d1 = jnp.asarray(te_d[0][cy, cx])[None]
o1 = jnp.tile(o1, (cfg.chunk, 1)); d1 = jnp.tile(d1, (cfg.chunk, 1))
_, _, _, aux = render_chunk(state.params, o1, d1, k_eval)
dc = np.asarray(aux["depths_c"][0]); wc = np.asarray(aux["weights_c"][0])
tf = np.asarray(aux["t_fine"][0])
fig, ax = plt.subplots(figsize=(8, 3))
ax.bar(dc, wc, width=(cfg.far - cfg.near) / cfg.n_coarse * .9,
      alpha=.55, label="coarse weights (the PDF)")
ax.plot(tf, np.full_like(tf, wc.max() * .06), "|", ms=16, color="crimson",
       label="fine samples (sample_piecewise_constant_pdf)")
ax.set_xlabel("depth along ray"); ax.set_ylabel("weight")
ax.set_title("Importance resampling concentrates samples on the surface")
ax.legend(fontsize=8); plt.tight_layout(); plt.show()
print("\nRendering 360-degree orbit ...")
n_frames = 24 if jax.devices()[0].platform != "cpu" else 8
frames = []
for t in range(n_frames):
   az = 2 * np.pi * t / n_frames; el = np.deg2rad(32.0)
   eye = cfg.cam_radius * np.array([np.cos(el) * np.cos(az),
                                    np.cos(el) * np.sin(az), np.sin(el)])
   o, d = rays_from_pose(look_at(eye), cfg.H, cfg.W, FOCAL)
   rgb, _, _ = render_image(state.params, o, d, k_eval)
   frames.append((np.clip(rgb, 0, 1) * 255).astype(np.uint8))
gif_path = os.path.join(os.getcwd(), "nerf_orbit.gif")
pil = [Image.fromarray(f).resize((cfg.W * 3, cfg.H * 3), Image.NEAREST) for f in frames]
pil[0].save(gif_path, save_all=True, append_images=pil[1:], duration=90, loop=0)
try:
   from IPython.display import Image as IPImage, display
   display(IPImage(filename=gif_path))
except Exception:
   pass
print("  saved", gif_path)
print("\nExtracting isosurface from the learned density field ...")
try:
   from skimage import measure
   g = np.linspace(-1.0, 1.0, cfg.grid_res, dtype=np.float32)
   X, Y, Z = np.meshgrid(g, g, g, indexing="ij")
   pts = np.stack([X, Y, Z], -1).reshape(-1, 3)
   @jax.jit
   def density_at(p):
       s, _ = model.apply(state.params["fine"], p, jnp.zeros_like(p))
       return s
   vol = np.concatenate([np.asarray(density_at(jnp.asarray(pts[i:i + 65536])))
                         for i in range(0, pts.shape[0], 65536)])
   vol = vol.reshape(cfg.grid_res, cfg.grid_res, cfg.grid_res)
   step = (cfg.far - cfg.near) / (cfg.n_coarse + cfg.n_fine)
   level = float(-np.log(0.5) / step)
   if not (vol.min() 

Credit: Source link

ShareTweetSendSharePin

Related Posts

Sony Digital Camera Model Numbers Explained: Bigger Isn’t Always Better
AI & Technology

Sony Digital Camera Model Numbers Explained: Bigger Isn’t Always Better

October 4, 2026
Trump Announces Super Intelligence Force Led by Four Officials – Unite.AI
AI & Technology

Trump Announces Super Intelligence Force Led by Four Officials – Unite.AI

October 4, 2026
The Pros And Cons Of Enabling Wi-Fi Calling
AI & Technology

The Pros And Cons Of Enabling Wi-Fi Calling

October 4, 2026
What Is Infill In 3D Printing And Is It Necessary?
AI & Technology

What Is Infill In 3D Printing And Is It Necessary?

October 4, 2026
Next Post
LIVE: Vance, Trump deliver remarks at the Republican midterm convention | NBC News

LIVE: Vance, Trump deliver remarks at the Republican midterm convention | NBC News

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Search

No Result
View All Result
Arizona State puts men’s hockey coach on leave after controversial practice 

Arizona State puts men’s hockey coach on leave after controversial practice 

October 3, 2026
The Government Just Intervened in AI Stocks!

The Government Just Intervened in AI Stocks!

October 3, 2026
Estonian slackline champion walks between buildings

Estonian slackline champion walks between buildings

October 3, 2026

About

Learn more

Our Services

Legal

Privacy Policy

Terms of Use

Bloggers

Learn more

Article Links

Contact

Advertise

Ask us anything

©2020- TradePoint.io - All rights reserved!

Tradepoint.io, being just a publishing and technology platform, is not a registered broker-dealer or investment adviser. So we do not provide investment advice. Rather, brokerage services are provided to clients of Tradepoint.io by independent SEC-registered broker-dealers and members of FINRA/SIPC. Every form of investing carries some risk and past performance is not a guarantee of future results. “Tradepoint.io“, “Instant Investing” and “My Trading Tools” are registered trademarks of Apperbuild, LLC.

This website is operated by Apperbuild, LLC. We have no link to any brokerage firm and we do not provide investment advice. Every information and resource we provide is solely for the education of our readers. © 2020 Apperbuild, LLC. All rights reserved.

No Result
View All Result
  • Main
  • AI & Technology
  • Stock Charts
  • Market & News
  • Business
  • Finance Tips
  • Trade Tube
  • Blog
  • Shop

© 2023 - TradePoint.io - All Rights Reserved!