Skip to content

Commit

Permalink
better denoising model
Browse files Browse the repository at this point in the history
  • Loading branch information
harry7557558 committed Mar 13, 2024
1 parent e6abd09 commit 4ba6cd5
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 48 deletions.
59 changes: 14 additions & 45 deletions implicit3-rt/denoise.js
Original file line number Diff line number Diff line change
Expand Up @@ -199,12 +199,6 @@ function UNet1(nin, n0, n1, n2, n3, params) {


function initDenoiserModel_unet1(params) {
if (!renderer.gl) {
setTimeout(function() {
initDenoiserModel_unet1(params);
}, 1);
return;
}
let gl = renderer.gl;

let unet = new UNet1(3, 16, 24, 48, 64, params);
Expand Down Expand Up @@ -288,12 +282,6 @@ function applyResidualDenoiser(model) {


function initDenoiserModel_runet1(params) {
if (!renderer.gl) {
setTimeout(function() {
initDenoiserModel_runet1(params);
}, 1);
return;
}
let unet = new UNet1(3, 12, 16, 24, 32, params);
window.addEventListener("resize", function (event) {
setTimeout(unet.updateLayers, 20);
Expand All @@ -304,12 +292,6 @@ function initDenoiserModel_runet1(params) {


function initDenoiserModel_runet1an(params) {
if (!renderer.gl) {
setTimeout(function() {
initDenoiserModel_runet1an(params);
}, 1);
return;
}
let gl = renderer.gl;

let unet = new UNet1(11, 12, 16, 24, 32, params);
Expand Down Expand Up @@ -467,12 +449,6 @@ function UNet2(nin, n0, n1, n2, n3, params) {


function initDenoiserModel_runet2(params) {
if (!renderer.gl) {
setTimeout(function() {
initDenoiserModel_runet2(params);
}, 1);
return;
}
let unet = new UNet2(3, 12, 16, 24, 32, params);
window.addEventListener("resize", function (event) {
setTimeout(unet.updateLayers, 20);
Expand All @@ -483,12 +459,6 @@ function initDenoiserModel_runet2(params) {


function initDenoiserModel_runet2gan(params) {
if (!renderer.gl) {
setTimeout(function() {
initDenoiserModel_runet2gan(params);
}, 1);
return;
}
let unet = new UNet2(3, 12, 16, 24, 32, params);
window.addEventListener("resize", function (event) {
setTimeout(unet.updateLayers, 20);
Expand All @@ -499,12 +469,6 @@ function initDenoiserModel_runet2gan(params) {


function initDenoiserModel_runet2gan2(params) {
if (!renderer.gl) {
setTimeout(function() {
initDenoiserModel_runet2gan(params);
}, 1);
return;
}
let unet = new UNet2(3, 12, 16, 24, 32, params);
window.addEventListener("resize", function (event) {
setTimeout(unet.updateLayers, 20);
Expand All @@ -514,12 +478,6 @@ function initDenoiserModel_runet2gan2(params) {
}

function initDenoiserModel_temp(params) {
if (!renderer.gl) {
setTimeout(function() {
initDenoiserModel_temp(params);
}, 1);
return;
}
let unet = new UNet2(3, 12, 16, 24, 32, params);
window.addEventListener("resize", function (event) {
setTimeout(unet.updateLayers, 20);
Expand All @@ -530,8 +488,11 @@ function initDenoiserModel_temp(params) {

function useDenoiser(model_id) {

if (!useDenoiser.hasOwnProperty('denoisers'))
var firstLoad = false;
if (!useDenoiser.hasOwnProperty('denoisers')) {
useDenoiser.denoisers = {};
firstLoad = true;
}
renderer.requireAlbedo = false;
renderer.requireNormal = false;
if (model_id == null || model_id == "null") {
Expand Down Expand Up @@ -559,8 +520,16 @@ function useDenoiser(model_id) {
if (loadedFiles < 2)
return;
var params = Dnn.decodeDnnParameters(files.bin, files.json);
window['initDenoiserModel_'+model_id](params);
state.renderNeeded = true;

function update() {
if (!renderer.gl) {
setTimeout(update, 1);
return;
}
window['initDenoiserModel_'+model_id](params);
state.renderNeeded = true;
}
update();
}

function getFile(key, filename) {
Expand Down
Binary file modified implicit3-rt/denoise_models/denoise_runet2gan2.bin
Binary file not shown.
2 changes: 1 addition & 1 deletion implicit3-rt/denoise_models/denoise_runet2gan2.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"dtype": "int8", "state_dict": {"convi.weight": {"shape": [12, 3, 3, 3], "m": 0.002730962947549026, "b": 0.09228768811401805, "offset": 0}, "convi.bias": {"shape": [12], "m": 0.001573531509755732, "b": 0.09889259868925745, "offset": 324}, "econv0a.weight": {"shape": [12, 12, 3, 3], "m": 0.004690704016333659, "b": 0.13515311343890712, "offset": 336}, "econv0a.bias": {"shape": [12], "m": 0.0009400049572462564, "b": 0.04352493334438774, "offset": 1632}, "econv0b.weight": {"shape": [12, 12, 3, 3], "m": 0.0038369460794577606, "b": 0.026184745823008337, "offset": 1644}, "econv0b.bias": {"shape": [12], "m": 0.0008259719497929188, "b": -0.004217266744029016, "offset": 2940}, "econv1a.weight": {"shape": [16, 12, 3, 3], "m": 0.0031826201843878537, "b": 0.055778995343429894, "offset": 2952}, "econv1a.bias": {"shape": [16], "m": 0.0011230871853311918, "b": -0.06932099830224711, "offset": 4680}, "econv1b.weight": {"shape": [16, 16, 3, 3], "m": 0.0030186720882517575, "b": -0.004196825216478961, "offset": 4696}, "econv1b.bias": {"shape": [16], "m": 0.0006760039265900616, "b": -0.025464014294944715, "offset": 7000}, "econv2a.weight": {"shape": [24, 16, 3, 3], "m": 0.0031788663549737616, "b": 0.023604378922955027, "offset": 7016}, "econv2a.bias": {"shape": [24], "m": 0.000981178538204175, "b": -0.05826193260341836, "offset": 10472}, "econv2b.weight": {"shape": [24, 24, 3, 3], "m": 0.003274045475236662, "b": 0.0048532297650535905, "offset": 10496}, "econv2b.bias": {"shape": [24], "m": 0.0007907816412123256, "b": -0.033173758852378915, "offset": 15680}, "econv3a.weight": {"shape": [32, 24, 3, 3], "m": 0.004140929299957898, "b": 0.009260036507431346, "offset": 15704}, "econv3a.bias": {"shape": [32], "m": 0.0027303360227138693, "b": 0.009303314602543467, "offset": 22616}, "econv3b.weight": {"shape": [32, 32, 3, 3], "m": 0.006477517460354456, "b": -0.12210617334913787, "offset": 22648}, "econv3b.bias": {"shape": [32], "m": 0.0022697783246332284, "b": 0.1301171499855664, "offset": 31864}, "dconv2a.weight": {"shape": [32, 24, 4, 4], "m": 0.008102649796514346, "b": -0.279950502341733, "offset": 31896}, "dconv2a.bias": {"shape": [24], "m": 0.002576674640272251, "b": 0.09405030092601685, "offset": 44184}, "dconv2b.weight": {"shape": [24, 48, 1, 1], "m": 0.005434931166692281, "b": -0.09120753365371448, "offset": 44208}, "dconv2b.bias": {"shape": [24], "m": 0.0020906354886957765, "b": -0.05306687822428002, "offset": 45360}, "dconv1a.weight": {"shape": [24, 16, 4, 4], "m": 0.005873978792966067, "b": -0.2555303272310194, "offset": 45384}, "dconv1a.bias": {"shape": [16], "m": 0.00117716272734398, "b": -0.06724247296620012, "offset": 51528}, "dconv1b.weight": {"shape": [16, 32, 1, 1], "m": 0.0040940109938617025, "b": -0.00989699045567538, "offset": 51544}, "dconv1b.bias": {"shape": [16], "m": 0.0014444373934010696, "b": -0.0005160379961858252, "offset": 52056}, "dconv0a.weight": {"shape": [16, 12, 4, 4], "m": 0.008034235454241933, "b": -0.23533630062309885, "offset": 52072}, "dconv0a.bias": {"shape": [12], "m": 0.0007874420383474328, "b": 0.027669231151486492, "offset": 55144}, "dconv0b.weight": {"shape": [12, 24, 1, 1], "m": 0.00652966824955244, "b": -0.15489173964765424, "offset": 55156}, "dconv0b.bias": {"shape": [12], "m": 0.0011403664502094453, "b": 0.05033281219763508, "offset": 55444}, "convo.weight": {"shape": [3, 12, 3, 3], "m": 0.0014412318892905625, "b": 0.016379411778232933, "offset": 55456}, "convo.bias": {"shape": [3], "m": 0.00030526022896100436, "b": -0.006184714531973355, "offset": 55780}}}
{"dtype": "int8", "state_dict": {"convi.weight": {"shape": [12, 3, 3, 3], "m": 0.0029375370200050866, "b": 0.08863501826204723, "offset": 0}, "convi.bias": {"shape": [12], "m": 0.0007484340382333453, "b": 0.05450698776606301, "offset": 324}, "econv0a.weight": {"shape": [12, 12, 3, 3], "m": 0.004382926029163402, "b": -0.19886978576471515, "offset": 336}, "econv0a.bias": {"shape": [12], "m": 0.0010650084475333126, "b": -0.018556509114322328, "offset": 1632}, "econv0b.weight": {"shape": [12, 12, 3, 3], "m": 0.00333730827321063, "b": 0.0014338416385126784, "offset": 1644}, "econv0b.bias": {"shape": [12], "m": 0.0009935065004477509, "b": 0.027857624684435617, "offset": 2940}, "econv1a.weight": {"shape": [16, 12, 3, 3], "m": 0.003903430990371824, "b": 0.0037849457522202146, "offset": 2952}, "econv1a.bias": {"shape": [16], "m": 0.001678933949448063, "b": -0.1270009923720472, "offset": 4680}, "econv1b.weight": {"shape": [16, 16, 3, 3], "m": 0.004166002550529348, "b": -0.01640951858023454, "offset": 4696}, "econv1b.bias": {"shape": [16], "m": 0.000680191398509069, "b": -0.05836099481540534, "offset": 7000}, "econv2a.weight": {"shape": [24, 16, 3, 3], "m": 0.005271716432257012, "b": 0.017213723816714377, "offset": 7016}, "econv2a.bias": {"shape": [24], "m": 0.0019303430895228962, "b": -0.10913955322006247, "offset": 10472}, "econv2b.weight": {"shape": [24, 24, 3, 3], "m": 0.004611924828689551, "b": -0.04920180860082246, "offset": 10496}, "econv2b.bias": {"shape": [24], "m": 0.0013358694511455492, "b": 0.02614476294307916, "offset": 15680}, "econv3a.weight": {"shape": [32, 24, 3, 3], "m": 0.005956680003664744, "b": -0.10298280396865722, "offset": 15704}, "econv3a.bias": {"shape": [32], "m": 0.003010284863236935, "b": -0.12614613177263567, "offset": 22616}, "econv3b.weight": {"shape": [32, 32, 3, 3], "m": 0.010211388207679641, "b": -0.17696289224564743, "offset": 22648}, "econv3b.bias": {"shape": [32], "m": 0.0034600213240229727, "b": 0.03753714338295877, "offset": 31864}, "dconv2a.weight": {"shape": [32, 24, 4, 4], "m": 0.007638294056783104, "b": -0.2896209565024923, "offset": 31896}, "dconv2a.bias": {"shape": [24], "m": 0.003622617788928644, "b": 0.022006763253518857, "offset": 44184}, "dconv2b.weight": {"shape": [24, 48, 1, 1], "m": 0.004269340348954852, "b": 0.05989201799666677, "offset": 44208}, "dconv2b.bias": {"shape": [24], "m": 0.002504259207559343, "b": -0.10221065587862693, "offset": 45360}, "dconv1a.weight": {"shape": [24, 16, 4, 4], "m": 0.009776453956891452, "b": -0.36952216387543624, "offset": 45384}, "dconv1a.bias": {"shape": [16], "m": 0.0021278921345152324, "b": 0.13814018982545923, "offset": 51528}, "dconv1b.weight": {"shape": [16, 32, 1, 1], "m": 0.005121674605029718, "b": -0.015064256157568234, "offset": 51544}, "dconv1b.bias": {"shape": [16], "m": 0.0011419939985454924, "b": 0.017517685293683444, "offset": 52056}, "dconv0a.weight": {"shape": [16, 12, 4, 4], "m": 0.005914105257396608, "b": -0.052365475256738736, "offset": 52072}, "dconv0a.bias": {"shape": [12], "m": 0.0006343864103314266, "b": 0.02619864382843956, "offset": 55144}, "dconv0b.weight": {"shape": [12, 24, 1, 1], "m": 0.005668499499699759, "b": -0.09005571483068597, "offset": 55156}, "dconv0b.bias": {"shape": [12], "m": 0.0009067165935806801, "b": 0.016591084901728836, "offset": 55444}, "convo.weight": {"shape": [3, 12, 3, 3], "m": 0.0019021493673698868, "b": 0.04181558700801813, "offset": 55456}, "convo.bias": {"shape": [3], "m": 0.00011521122554314192, "b": -0.000985058438284338, "offset": 55780}}}
2 changes: 1 addition & 1 deletion implicit3-rt/export_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class Model(torch.nn.Module):
pass

model = torch.load(
'../../Graphics/image/denoise/data_spirulae_4/model6_6.pth',
'../../Graphics/image/denoise/data_spirulae_5/resunet2gan_1_3.pth',
map_location=torch.device('cpu'))

state_dict = model.state_dict()
Expand Down
2 changes: 1 addition & 1 deletion implicit3-rt/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
<span><select id="select-denoise" style="width:5.8em;">
<option value="null" selected>no</option>
<!-- <option value="temp">Test</option> -->
<!-- <option value="runet2gan2">ResUNet 2 (GAN) 2</option> -->
<option value="runet2gan2">ResUNet 2 (GAN) 2</option>
<option value="runet2gan">ResUNet 2 (GAN)</option>
<option value="runet2">ResUNet 2</option>
<!-- <option value="runet1an">ResUNet [an]</option> -->
Expand Down

0 comments on commit 4ba6cd5

Please sign in to comment.