人物画像分割の使用

バーチャル背景を実装するには、初期化時にシルエット切り抜きを有効にする必要があります。詳細はカスタムストリーム内蔵カメラをご参照ください。

背景の設定

SDKはぼかし背景、画像背景の設定ができ、初期化パラメータでパススルーできます:
const config = {
module: {
beautify: true, // 美顔モジュールのオン・オフ。オンにすると美顔、化粧、ステッカーなどの機能が使用可能
segmentation: true // シルエット切り抜きモジュールのオン・オフ。有効にすると背景機能が使用可能
segmentationLevel: 0 // 1.0.19以上のバージョンは背景切り抜きモデルの切り替えをサポート
},
auth: authData, // 認証パラメータ
input: stream, // input入力ストリーム
beautify: { // 美顔パラメータの初期化(任意)
whiten: 0.1,
dermabrasion: 0.3,
eye: 0.2,
chin: 0,
lift: 0.1,
shave: 0.2
},
background: {
type: 'blur' // ぼかし背景
}
}
const sdk = new ArSdk(
// sdk初期化用のconfigオブジェクトを渡します
config
)
SDKは背景の変更もサポートしています:
sdk.setBackground({
type: 'image', // 画像背景
src: 'https://webar-static.tencent-cloud.com/assets/background/1.jpg'
})
SDKはvideoタイプの動的背景をサポートしています(1.0.23バージョン以上では利用可能):
sdk.setBackground({
type: 'video', // 動画の動的背景
src: 'https://webar-static.tencent-cloud.com/assets/background/video-bg-1.mp4',
})
エッジぼかし度の設定(1.0.25バージョン以上では設定可能):
sdk.setBackground({
type: 'image', // 画像背景
src: 'https://webar-static.tencent-cloud.com/assets/background/1.jpg',
edgeBlur: '6', // 値の範囲は0~10で、数値が低いほどエッジの切り取りが鋭く、ぼかし度が低くなります。
})

透明背景

SDKは一部のブラウザで透明背景をサポートしています:
sdk.setBackground({
type: 'transparent'
})
注意:
ブラウザの互換性上、以下の点に注意してください:
シルエット切り抜きはモバイル端末とデスクトップ端末のブラウザの両方をサポートしています。
透明背景はローカルでの処理と表示のみ可能です。WebRTCは透明チャネルのエンコードをサポートしていないため、プッシュストリームで透明背景が無効になります。
透明背景の効果はデスクトップのChrome/Firefoxのみをサポートしており、デスクトップSafariおよびiOSではサポートされていません。
1.0.19以上のバージョンは背景切り抜きモデルの切り替えをサポートし、パラメータは0、1、2をサポートしています。
level 0はパフォーマンスが最も良いですが、切り抜き効果が普通です。
level 1は効果とパフォーマンスが適正レベルにあります。
level 2は切り抜き効果が最も良く、推論時間が最も長いため、高い切り抜き効果を求めるハードウェアパフォーマンスが良好なシナリオに適しています。