Revert "Update Virtual Background Model (#9867)" (#10247)

This reverts commit 9b6b335c60.
This commit is contained in:
Avram Tudor 2021-10-25 14:48:18 +03:00 committed by GitHub
parent 0182cc0504
commit b4ba887d92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 17 additions and 12 deletions

View File

@ -166,10 +166,14 @@ export default class JitsiStreamBackgroundEffect {
const outputMemoryOffset = this._model._getOutputMemoryOffset() / 4;
for (let i = 0; i < this._segmentationPixelCount; i++) {
const person = this._model.HEAPF32[outputMemoryOffset + i];
const background = this._model.HEAPF32[outputMemoryOffset + (i * 2)];
const person = this._model.HEAPF32[outputMemoryOffset + (i * 2) + 1];
const shift = Math.max(background, person);
const backgroundExp = Math.exp(background - shift);
const personExp = Math.exp(person - shift);
// Sets only the alpha component of each pixel.
this._segmentationMask.data[(i * 4) + 3] = (255 * person);
this._segmentationMask.data[(i * 4) + 3] = (255 * personExp) / (backgroundExp + personExp);
}
this._segmentationMaskCtx.putImageData(this._segmentationMask, 0, 0);
}

View File

@ -8,8 +8,8 @@ import JitsiStreamBackgroundEffect from './JitsiStreamBackgroundEffect';
import createTFLiteModule from './vendor/tflite/tflite';
import createTFLiteSIMDModule from './vendor/tflite/tflite-simd';
const models = {
model_landscape: 'libs/selfie_segmentation_landscape.tflite'
model96: 'libs/segm_lite_v681.tflite',
model144: 'libs/segm_full_v679.tflite'
};
let tflite;
@ -17,7 +17,11 @@ let wasmCheck;
let isWasmDisabled = false;
const segmentationDimensions = {
model_landscape: {
model96: {
height: 96,
width: 160
},
model144: {
height: 144,
width: 256
}
@ -72,7 +76,7 @@ export async function createVirtualBackgroundEffect(virtualBackground: Object, d
}
const modelBufferOffset = tflite._getModelBufferMemoryOffset();
const modelResponse = await fetch(models.model_landscape);
const modelResponse = await fetch(wasmCheck.feature.simd ? models.model144 : models.model96);
if (!modelResponse.ok) {
throw new Error('Failed to download tflite model!');
@ -85,12 +89,9 @@ export async function createVirtualBackgroundEffect(virtualBackground: Object, d
tflite._loadModel(model.byteLength);
const options = {
...segmentationDimensions.model_landscape,
...wasmCheck.feature.simd ? segmentationDimensions.model144 : segmentationDimensions.model96,
virtualBackground
};
};
return new JitsiStreamBackgroundEffect(tflite, options);
}