From 32854d40dac12e2ece65beca03a09acc962c7983 Mon Sep 17 00:00:00 2001 From: Qing Date: Thu, 15 Sep 2022 22:21:27 +0800 Subject: [PATCH] wip --- README.md | 21 +- lama_cleaner/app/package.json | 4 + lama_cleaner/app/src/App.tsx | 16 +- lama_cleaner/app/src/adapters/inpainting.ts | 16 +- .../app/src/components/Croper/Croper.scss | 126 +++++++ .../app/src/components/Croper/Croper.tsx | 326 ++++++++++++++++++ .../app/src/components/Editor/Editor.scss | 2 +- .../app/src/components/Editor/Editor.tsx | 316 +++++++++++------ .../app/src/components/Header/Header.scss | 4 +- .../app/src/components/Header/Header.tsx | 8 +- .../src/components/Header/PromptInput.scss | 18 + .../app/src/components/Header/PromptInput.tsx | 44 +++ .../components/Settings/ModelSettingBlock.tsx | 10 +- .../Settings/NumberInputSetting.tsx | 27 +- .../src/components/Settings/SettingsModal.tsx | 22 +- .../src/components/Shortcuts/Shortcuts.tsx | 5 +- .../components/Shortcuts/ShortcutsModal.tsx | 3 +- .../src/components/SidePanel/SidePanel.scss | 57 +++ .../src/components/SidePanel/SidePanel.tsx | 188 ++++++++++ lama_cleaner/app/src/components/Workspace.tsx | 2 + .../app/src/components/shared/Button.scss | 8 + .../app/src/components/shared/Button.tsx | 4 + .../app/src/components/shared/Input.tsx | 42 +++ .../app/src/components/shared/Modal.tsx | 6 + .../src/components/shared/NumberInput.scss | 5 + .../app/src/components/shared/NumberInput.tsx | 27 +- .../app/src/components/shared/Selector.tsx | 1 + .../app/src/components/shared/Switch.tsx | 1 + .../app/src/components/shared/Toast.scss | 4 +- lama_cleaner/app/src/event.ts | 7 + lama_cleaner/app/src/hooks/useHotkey.tsx | 22 ++ lama_cleaner/app/src/store/Atoms.tsx | 140 ++++++++ lama_cleaner/app/src/styles/_Colors.scss | 3 + lama_cleaner/app/src/styles/_ColorsDark.scss | 3 + lama_cleaner/app/src/styles/_index.scss | 3 + lama_cleaner/app/yarn.lock | 323 ++++++++++++++++- lama_cleaner/model/base.py | 48 ++- lama_cleaner/model/fcf.py | 2 +- lama_cleaner/model/lama.py | 11 +- lama_cleaner/model/ldm.py | 2 +- lama_cleaner/model/mat.py | 2 +- lama_cleaner/model/sd.py | 152 ++++++++ lama_cleaner/model/sd_pipeline.py | 309 +++++++++++++++++ lama_cleaner/model/zits.py | 2 +- lama_cleaner/model_manager.py | 20 +- lama_cleaner/parse_args.py | 17 +- lama_cleaner/schema.py | 16 + lama_cleaner/server.py | 32 +- .../tests/overture-creations-5sI6fQgYIuo.png | Bin 0 -> 404753 bytes .../overture-creations-5sI6fQgYIuo_mask.png | Bin 0 -> 12106 bytes lama_cleaner/tests/test_model.py | 34 +- requirements.txt | 2 + 52 files changed, 2258 insertions(+), 205 deletions(-) create mode 100644 lama_cleaner/app/src/components/Croper/Croper.scss create mode 100644 lama_cleaner/app/src/components/Croper/Croper.tsx create mode 100644 lama_cleaner/app/src/components/Header/PromptInput.scss create mode 100644 lama_cleaner/app/src/components/Header/PromptInput.tsx create mode 100644 lama_cleaner/app/src/components/SidePanel/SidePanel.scss create mode 100644 lama_cleaner/app/src/components/SidePanel/SidePanel.tsx create mode 100644 lama_cleaner/app/src/components/shared/Input.tsx create mode 100644 lama_cleaner/app/src/event.ts create mode 100644 lama_cleaner/app/src/hooks/useHotkey.tsx create mode 100644 lama_cleaner/model/sd.py create mode 100644 lama_cleaner/model/sd_pipeline.py create mode 100644 lama_cleaner/tests/overture-creations-5sI6fQgYIuo.png create mode 100644 lama_cleaner/tests/overture-creations-5sI6fQgYIuo_mask.png diff --git a/README.md b/README.md index 972b202..8bd1ad3 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ 1. [ZITS](https://github.com/DQiaole/ZITS_inpainting) 1. [MAT](https://github.com/fenglinglwb/MAT) 1. [FcF](https://github.com/SHI-Labs/FcF-Inpainting) + 1. [SD](https://github.com/CompVis/stable-diffusion) - Support CPU & GPU - Various inpainting [strategy](#inpainting-strategy) - Run as a desktop APP @@ -54,15 +55,16 @@ lama-cleaner --model=lama --device=cpu --port=8080 Available arguments: -| Name | Description | Default | -| ---------- | ---------------------------------------------------------------- | -------- | -| --model | lama/ldm/zits. See details in [Inpaint Model](#inpainting-model) | lama | -| --device | cuda or cpu | cuda | -| --port | Port for backend flask web server | 8080 | -| --gui | Launch lama-cleaner as a desktop application | | -| --gui_size | Set the window size for the application | 1200 900 | -| --input | Path to image you want to load by default | None | -| --debug | Enable debug mode for flask web server | | +| Name | Description | Default | +| ----------------- | -------------------------------------------------------------------------------------------------------- | -------- | +| --model | lama/ldm/zits/mat/fcf/sd. See details in [Inpaint Model](#inpainting-model) | lama | +| --hf_access_token | stable-diffusion(sd) model need huggingface access token https://huggingface.co/docs/hub/security-tokens | | +| --device | cuda or cpu | cuda | +| --port | Port for backend flask web server | 8080 | +| --gui | Launch lama-cleaner as a desktop application | | +| --gui_size | Set the window size for the application | 1200 900 | +| --input | Path to image you want to load by default | None | +| --debug | Enable debug mode for flask web server | | ## Inpainting Model @@ -73,6 +75,7 @@ Available arguments: | ZITS | :+1: Better holistic structures compared with previous methods
:neutral_face: Wireframe module is **very** slow on CPU | `Wireframe`: Enable edge and line detect | | MAT | TODO | | | FcF | :+1: Better structure and texture generation
:neutral_face: Only support fixed size (512x512) input | | +| SD | :+1: SOTA text-to-image diffusion model | | ### LaMa vs LDM diff --git a/lama_cleaner/app/package.json b/lama_cleaner/app/package.json index 5e7db27..17e38ee 100644 --- a/lama_cleaner/app/package.json +++ b/lama_cleaner/app/package.json @@ -6,6 +6,7 @@ "dependencies": { "@heroicons/react": "^1.0.4", "@radix-ui/react-dialog": "0.1.8-rc.25", + "@radix-ui/react-popover": "^1.0.0", "@radix-ui/react-select": "0.1.2-rc.27", "@radix-ui/react-switch": "^0.1.5", "@radix-ui/react-toast": "^0.1.1", @@ -20,14 +21,17 @@ "@types/react-dom": "^17.0.9", "cross-env": "7.x", "lodash": "^4.17.21", + "mitt": "^3.0.0", "nanoid": "^4.0.0", "npm-run-all": "4.x", "react": "^17.0.2", "react-dom": "^17.0.2", + "react-hotkeys-hook": "^3.4.7", "react-scripts": "4.0.3", "react-use": "^17.3.1", "react-zoom-pan-pinch": "^2.1.3", "recoil": "^0.6.1", + "socket.io-client": "^4.5.2", "typescript": "4.x" }, "scripts": { diff --git a/lama_cleaner/app/src/App.tsx b/lama_cleaner/app/src/App.tsx index f5b849d..7df91a1 100644 --- a/lama_cleaner/app/src/App.tsx +++ b/lama_cleaner/app/src/App.tsx @@ -1,5 +1,4 @@ import React, { useEffect, useMemo } from 'react' -import { useKeyPressEvent } from 'react-use' import { useRecoilState } from 'recoil' import { nanoid } from 'nanoid' import useInputImage from './hooks/useInputImage' @@ -9,6 +8,7 @@ import Workspace from './components/Workspace' import { fileState } from './store/Atoms' import { keepGUIAlive } from './utils' import Header from './components/Header/Header' +import useHotKey from './hooks/useHotkey' // Keeping GUI Window Open keepGUIAlive() @@ -24,11 +24,15 @@ function App() { }, [userInputImage, setFile]) // Dark Mode Hotkey - useKeyPressEvent('D', ev => { - ev?.preventDefault() - const newTheme = theme === 'light' ? 'dark' : 'light' - setTheme(newTheme) - }) + useHotKey( + 'shift+d', + () => { + const newTheme = theme === 'light' ? 'dark' : 'light' + setTheme(newTheme) + }, + {}, + [theme] + ) useEffect(() => { document.body.setAttribute('data-theme', theme) diff --git a/lama_cleaner/app/src/adapters/inpainting.ts b/lama_cleaner/app/src/adapters/inpainting.ts index e82f855..38bb884 100644 --- a/lama_cleaner/app/src/adapters/inpainting.ts +++ b/lama_cleaner/app/src/adapters/inpainting.ts @@ -1,4 +1,4 @@ -import { Settings } from '../store/Atoms' +import { Rect, Settings } from '../store/Atoms' import { dataURItoBlob } from '../utils' export const API_ENDPOINT = `${process.env.REACT_APP_INPAINTING_URL}` @@ -7,6 +7,8 @@ export default async function inpaint( imageFile: File, maskBase64: string, settings: Settings, + croperRect: Rect, + prompt?: string, sizeLimit?: string ) { // 1080, 2000, Original @@ -30,6 +32,18 @@ export default async function inpaint( hdSettings.hdStrategyResizeLimit.toString() ) + fd.append('prompt', prompt === undefined ? '' : prompt) + fd.append('croperX', croperRect.x.toString()) + fd.append('croperY', croperRect.y.toString()) + fd.append('croperHeight', croperRect.height.toString()) + fd.append('croperWidth', croperRect.width.toString()) + fd.append('useCroper', settings.showCroper ? 'true' : 'false') + fd.append('sdStrength', settings.sdStrength.toString()) + fd.append('sdSteps', settings.sdSteps.toString()) + fd.append('sdGuidanceScale', settings.sdGuidanceScale.toString()) + fd.append('sdSampler', settings.sdSampler.toString()) + fd.append('sdSeed', settings.sdSeedFixed ? settings.sdSeed.toString() : '-1') + if (sizeLimit === undefined) { fd.append('sizeLimit', '1080') } else { diff --git a/lama_cleaner/app/src/components/Croper/Croper.scss b/lama_cleaner/app/src/components/Croper/Croper.scss new file mode 100644 index 0000000..f1642be --- /dev/null +++ b/lama_cleaner/app/src/components/Croper/Croper.scss @@ -0,0 +1,126 @@ +@use 'sass:math'; + +$drag-handle-shortside: 12px; +$drag-handle-longside: 40px; + +$half-handle-shortside: math.div($drag-handle-shortside, 2); +$half-handle-longside: math.div($drag-handle-longside, 2); + +.crop-border { + outline-color: var(--yellow-accent); + outline-style: dashed; +} + +.info-bar { + position: absolute; + pointer-events: auto; + font-size: 1rem; + padding: 0.2rem 0.8rem; + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + color: var(--text-color); + background-color: var(--page-bg); + border-radius: 9999px; + + border: var(--editor-toolkit-panel-border); + box-shadow: 0 0 0 1px #0000001a, 0 3px 16px #00000014, 0 2px 6px 1px #00000017; + + &:hover { + cursor: move; + } +} + +.croper-wrapper { + position: absolute; + height: 100%; + width: 100%; + z-index: 2; + overflow: hidden; + pointer-events: none; +} + +.croper { + position: relative; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2; + pointer-events: none; + + display: flex; + flex-direction: column; + align-items: center; + + box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5); +} + +.drag-handle { + width: $drag-handle-shortside; + height: $drag-handle-shortside; + z-index: 4; + position: absolute; + display: block; + content: ''; + border: 2px solid var(--yellow-accent); + background-color: var(--yellow-accent-light); + pointer-events: auto; + + &:hover { + background-color: var(--yellow-accent); + } +} + +.ord-topleft { + cursor: nw-resize; + top: (-$half-handle-shortside)-1px; + left: (-$half-handle-shortside)-1px; +} + +.ord-topright { + cursor: ne-resize; + top: -($half-handle-shortside)-1px; + right: -($half-handle-shortside)-1px; +} + +.ord-bottomright { + cursor: se-resize; + bottom: -($half-handle-shortside)-1px; + right: -($half-handle-shortside)-1px; +} + +.ord-bottomleft { + cursor: sw-resize; + bottom: -($half-handle-shortside)-1px; + left: -($half-handle-shortside)-1px; +} + +.ord-top, +.ord-bottom { + left: calc(50% - $half-handle-shortside); + cursor: ns-resize; +} + +.ord-top { + top: (-$half-handle-shortside)-1px; +} + +.ord-bottom { + bottom: -($half-handle-shortside)-1px; +} + +.ord-left, +.ord-right { + top: calc(50% - $half-handle-shortside); + cursor: ew-resize; +} + +.ord-left { + left: (-$half-handle-shortside)-1px; +} + +.ord-right { + right: -($half-handle-shortside)-1px; +} diff --git a/lama_cleaner/app/src/components/Croper/Croper.tsx b/lama_cleaner/app/src/components/Croper/Croper.tsx new file mode 100644 index 0000000..496d909 --- /dev/null +++ b/lama_cleaner/app/src/components/Croper/Croper.tsx @@ -0,0 +1,326 @@ +import { ChevronLeftIcon, ChevronRightIcon } from '@heroicons/react/outline' +import React, { useEffect, useState } from 'react' +import { useRecoilState, useRecoilValue } from 'recoil' +import { + croperHeight, + croperWidth, + croperX, + croperY, + isInpaintingState, +} from '../../store/Atoms' + +const DOC_MOVE_OPTS = { capture: true, passive: false } + +const DRAG_HANDLE_BORDER = 2 +const DRAG_HANDLE_SHORT = 12 +const DRAG_HANDLE_LONG = 40 + +interface EVData { + initX: number + initY: number + initHeight: number + initWidth: number + startResizeX: number + startResizeY: number + ord: string // top/right/bottom/left +} + +interface Props { + maxHeight: number + maxWidth: number + scale: number + minHeight: number + minWidth: number +} + +const Croper = (props: Props) => { + const { minHeight, minWidth, maxHeight, maxWidth, scale } = props + const [x, setX] = useRecoilState(croperX) + const [y, setY] = useRecoilState(croperY) + const [height, setHeight] = useRecoilState(croperHeight) + const [width, setWidth] = useRecoilState(croperWidth) + const isInpainting = useRecoilValue(isInpaintingState) + + const [isResizing, setIsResizing] = useState(false) + const [isMoving, setIsMoving] = useState(false) + + useEffect(() => { + setX(Math.round((maxWidth - 512) / 2)) + setY(Math.round((maxHeight - 512) / 2)) + }, [maxHeight, maxWidth, minHeight, minWidth]) + + const [evData, setEVData] = useState({ + initX: 0, + initY: 0, + initHeight: 0, + initWidth: 0, + startResizeX: 0, + startResizeY: 0, + ord: 'top', + }) + + const onDragFocus = () => { + console.log('focus') + } + + const checkTopBottomLimit = (newY: number, newHeight: number) => { + if (newY > 0 && newHeight > minHeight && newY + newHeight <= maxHeight) { + return true + } + return false + } + + const checkLeftRightLimit = (newX: number, newWidth: number) => { + if (newX > 0 && newWidth > minWidth && newX + newWidth <= maxWidth) { + return true + } + return false + } + + const onPointerMove = (e: PointerEvent) => { + if (isInpainting) { + return + } + const curX = e.clientX + const curY = e.clientY + if (isResizing) { + switch (evData.ord) { + case 'top': { + // TODO: 添加四个角以及 drag bar handle + const offset = Math.round((curY - evData.startResizeY) / scale) + const newHeight = evData.initHeight - offset + const newY = evData.initY + offset + if (checkTopBottomLimit(newY, newHeight)) { + setHeight(newHeight) + setY(newY) + } + break + } + case 'right': { + const offset = Math.round((curX - evData.startResizeX) / scale) + const newWidth = evData.initWidth + offset + if (checkLeftRightLimit(evData.initX, newWidth)) { + setWidth(newWidth) + } + break + } + case 'bottom': { + const offset = Math.round((curY - evData.startResizeY) / scale) + const newHeight = evData.initHeight + offset + if (checkTopBottomLimit(evData.initY, newHeight)) { + setHeight(newHeight) + } + break + } + case 'left': { + const offset = Math.round((curX - evData.startResizeX) / scale) + const newWidth = evData.initWidth - offset + const newX = evData.initX + offset + if (checkLeftRightLimit(newX, newWidth)) { + setWidth(newWidth) + setX(newX) + } + break + } + + default: + break + } + } + + if (isMoving) { + const offsetX = Math.round((curX - evData.startResizeX) / scale) + const offsetY = Math.round((curY - evData.startResizeY) / scale) + const newX = evData.initX + offsetX + const newY = evData.initY + offsetY + if ( + checkLeftRightLimit(newX, evData.initWidth) && + checkTopBottomLimit(newY, evData.initHeight) + ) { + setX(newX) + setY(newY) + } + } + } + + const onPointerDone = (e: PointerEvent) => { + if (isResizing) { + setIsResizing(false) + } + + if (isMoving) { + setIsMoving(false) + } + } + + useEffect(() => { + if (isResizing || isMoving) { + document.addEventListener('pointermove', onPointerMove, DOC_MOVE_OPTS) + document.addEventListener('pointerup', onPointerDone, DOC_MOVE_OPTS) + document.addEventListener('pointercancel', onPointerDone, DOC_MOVE_OPTS) + return () => { + document.removeEventListener( + 'pointermove', + onPointerMove, + DOC_MOVE_OPTS + ) + document.removeEventListener('pointerup', onPointerDone, DOC_MOVE_OPTS) + document.removeEventListener( + 'pointercancel', + onPointerDone, + DOC_MOVE_OPTS + ) + } + } + }, [isResizing, isMoving, width, height, evData]) + + const onCropPointerDown = (e: React.PointerEvent) => { + const { ord } = (e.target as HTMLElement).dataset + if (ord) { + setIsResizing(true) + setEVData({ + initX: x, + initY: y, + initHeight: height, + initWidth: width, + startResizeX: e.clientX, + startResizeY: e.clientY, + ord, + }) + } + } + + const createCropSelection = () => { + return ( +
+
+ +
+ +
+ +
+ +
+
+
+
+
+ ) + } + + const onInfoBarPointerDown = (e: React.PointerEvent) => { + setIsMoving(true) + setEVData({ + initX: x, + initY: y, + initHeight: height, + initWidth: width, + startResizeX: e.clientX, + startResizeY: e.clientY, + ord: '', + }) + } + + const createInfoBar = () => { + return ( +
+
+ {width} x {height} +
+
+ ) + } + + const createBorder = () => { + return ( +
+ ) + } + + return ( +
+
+ {createBorder()} + {createInfoBar()} + {createCropSelection()} +
+
+ ) +} + +export default Croper diff --git a/lama_cleaner/app/src/components/Editor/Editor.scss b/lama_cleaner/app/src/components/Editor/Editor.scss index 4b00593..6f6a485 100644 --- a/lama_cleaner/app/src/components/Editor/Editor.scss +++ b/lama_cleaner/app/src/components/Editor/Editor.scss @@ -55,7 +55,7 @@ position: fixed; bottom: 0.5rem; border-radius: 3rem; - padding: 1rem 3rem; + padding: 0.6rem 3rem; display: grid; grid-template-areas: 'toolkit-size-selector toolkit-brush-slider toolkit-btns'; column-gap: 2rem; diff --git a/lama_cleaner/app/src/components/Editor/Editor.tsx b/lama_cleaner/app/src/components/Editor/Editor.tsx index 4c07990..154658b 100644 --- a/lama_cleaner/app/src/components/Editor/Editor.tsx +++ b/lama_cleaner/app/src/components/Editor/Editor.tsx @@ -22,7 +22,6 @@ import Button from '../shared/Button' import Slider from './Slider' import SizeSelector from './SizeSelector' import { - dataURItoBlob, downloadImage, isMidClick, isRightClick, @@ -30,7 +29,18 @@ import { srcToFile, useImage, } from '../../utils' -import { settingState, toastState } from '../../store/Atoms' +import { + croperState, + isInpaintingState, + isSDState, + propmtState, + runManuallyState, + settingState, + toastState, +} from '../../store/Atoms' +import useHotKey from '../../hooks/useHotkey' +import Croper from '../Croper/Croper' +import emitter, { EVENT_PROMPT } from '../../event' const TOOLBAR_SIZE = 200 const BRUSH_COLOR = '#ffcc00bb' @@ -74,8 +84,14 @@ function mouseXY(ev: SyntheticEvent) { export default function Editor(props: EditorProps) { const { file } = props + const promptVal = useRecoilValue(propmtState) const settings = useRecoilValue(settingState) + const croperRect = useRecoilValue(croperState) const [toastVal, setToastState] = useRecoilState(toastState) + const [isInpainting, setIsInpainting] = useRecoilState(isInpaintingState) + const runMannually = useRecoilValue(runManuallyState) + const isSD = useRecoilValue(isSDState) + const [brushSize, setBrushSize] = useState(40) const [original, isOriginalLoaded] = useImage(file) const [renders, setRenders] = useState([]) @@ -90,7 +106,6 @@ export default function Editor(props: EditorProps) { const [showRefBrush, setShowRefBrush] = useState(false) const [isPanning, setIsPanning] = useState(false) const [showOriginal, setShowOriginal] = useState(false) - const [isInpaintingLoading, setIsInpaintingLoading] = useState(false) const [scale, setScale] = useState(1) const [panned, setPanned] = useState(false) const [minScale, setMinScale] = useState(1.0) @@ -130,83 +145,28 @@ export default function Editor(props: EditorProps) { [context, original] ) - const drawLinesOnMask = (_lineGroups: LineGroup[]) => { - if (!context?.canvas.width || !context?.canvas.height) { - throw new Error('canvas has invalid size') - } - maskCanvas.width = context?.canvas.width - maskCanvas.height = context?.canvas.height - const ctx = maskCanvas.getContext('2d') - if (!ctx) { - throw new Error('could not retrieve mask canvas') - } - - _lineGroups.forEach(lineGroup => { - drawLines(ctx, lineGroup, 'white') - }) - } - - const runInpainting = async () => { - if (!hadDrawSomething()) { - return - } - - const newLineGroups = [...lineGroups, curLineGroup] - setCurLineGroup([]) - setIsDraging(false) - setIsInpaintingLoading(true) - if (settings.graduallyInpainting) { - drawLinesOnMask([curLineGroup]) - } else { - drawLinesOnMask(newLineGroups) - } - - let targetFile = file - if (settings.graduallyInpainting === true && renders.length > 0) { - console.info('gradually inpainting on last result') - const lastRender = renders[renders.length - 1] - targetFile = await srcToFile(lastRender.currentSrc, file.name, file.type) - } - - try { - const res = await inpaint( - targetFile, - maskCanvas.toDataURL(), - settings, - sizeLimit.toString() - ) - if (!res) { - throw new Error('empty response') + const drawLinesOnMask = useCallback( + (_lineGroups: LineGroup[]) => { + if (!context?.canvas.width || !context?.canvas.height) { + throw new Error('canvas has invalid size') + } + maskCanvas.width = context?.canvas.width + maskCanvas.height = context?.canvas.height + const ctx = maskCanvas.getContext('2d') + if (!ctx) { + throw new Error('could not retrieve mask canvas') } - const newRender = new Image() - await loadImage(newRender, res) - const newRenders = [...renders, newRender] - setRenders(newRenders) - draw(newRender, []) - // Only append new LineGroup after inpainting success - setLineGroups(newLineGroups) - // clear redo stack - resetRedoState() - } catch (e: any) { - setToastState({ - open: true, - desc: e.message ? e.message : e.toString(), - state: 'error', - duration: 2000, + _lineGroups.forEach(lineGroup => { + drawLines(ctx, lineGroup, 'white') }) - drawOnCurrentRender([]) - } - setIsInpaintingLoading(false) - } + }, + [context, maskCanvas] + ) - const hadDrawSomething = () => { + const hadDrawSomething = useCallback(() => { return curLineGroup.length !== 0 - } - - const hadRunInpainting = () => { - return renders.length !== 0 - } + }, [curLineGroup]) const drawOnCurrentRender = useCallback( (lineGroup: LineGroup) => { @@ -219,8 +179,107 @@ export default function Editor(props: EditorProps) { [original, renders, draw] ) + const runInpainting = useCallback( + async (prompt?: string) => { + console.log('runInpainting') + if (!hadDrawSomething()) { + return + } + console.log(prompt) + + const newLineGroups = [...lineGroups, curLineGroup] + setCurLineGroup([]) + setIsDraging(false) + setIsInpainting(true) + if (settings.graduallyInpainting) { + drawLinesOnMask([curLineGroup]) + } else { + drawLinesOnMask(newLineGroups) + } + + let targetFile = file + if (settings.graduallyInpainting === true && renders.length > 0) { + console.info('gradually inpainting on last result') + const lastRender = renders[renders.length - 1] + targetFile = await srcToFile( + lastRender.currentSrc, + file.name, + file.type + ) + } + + try { + const res = await inpaint( + targetFile, + maskCanvas.toDataURL(), + settings, + croperRect, + prompt, + sizeLimit.toString() + ) + if (!res) { + throw new Error('empty response') + } + const newRender = new Image() + await loadImage(newRender, res) + const newRenders = [...renders, newRender] + setRenders(newRenders) + draw(newRender, []) + // Only append new LineGroup after inpainting success + setLineGroups(newLineGroups) + + // clear redo stack + resetRedoState() + } catch (e: any) { + setToastState({ + open: true, + desc: e.message ? e.message : e.toString(), + state: 'error', + duration: 4000, + }) + drawOnCurrentRender([]) + } + setIsInpainting(false) + }, + [ + lineGroups, + curLineGroup, + maskCanvas, + settings.graduallyInpainting, + settings, + croperRect, + sizeLimit, + promptVal, + drawOnCurrentRender, + hadDrawSomething, + drawLinesOnMask, + ] + ) + + useEffect(() => { + emitter.on(EVENT_PROMPT, () => { + if (hadDrawSomething()) { + runInpainting(promptVal) + } else { + setToastState({ + open: true, + desc: 'Please draw mask on picture', + state: 'error', + duration: 1500, + }) + } + }) + return () => { + emitter.off(EVENT_PROMPT) + } + }, [hadDrawSomething, runInpainting, prompt]) + + const hadRunInpainting = () => { + return renders.length !== 0 + } + const handleMultiStrokeKeyDown = () => { - if (isInpaintingLoading) { + if (isInpainting) { return } setIsMultiStrokeKeyPressed(true) @@ -230,13 +289,13 @@ export default function Editor(props: EditorProps) { if (!isMultiStrokeKeyPressed) { return } - if (isInpaintingLoading) { + if (isInpainting) { return } setIsMultiStrokeKeyPressed(false) - if (!settings.runInpaintingManually) { + if (!runMannually) { runInpainting() } } @@ -246,7 +305,7 @@ export default function Editor(props: EditorProps) { } useKey(predicate, handleMultiStrokeKeyup, { event: 'keyup' }, [ - isInpaintingLoading, + isInpainting, isMultiStrokeKeyPressed, hadDrawSomething, ]) @@ -257,7 +316,7 @@ export default function Editor(props: EditorProps) { { event: 'keydown', }, - [isInpaintingLoading] + [isInpainting] ) // Draw once the original image is loaded @@ -341,7 +400,7 @@ export default function Editor(props: EditorProps) { }, [windowSize, resetZoom]) const handleEscPressed = () => { - if (isInpaintingLoading) { + if (isInpainting) { return } if (isDraging || isMultiStrokeKeyPressed) { @@ -361,7 +420,7 @@ export default function Editor(props: EditorProps) { }, [ isDraging, - isInpaintingLoading, + isInpainting, isMultiStrokeKeyPressed, resetZoom, drawOnCurrentRender, @@ -404,7 +463,7 @@ export default function Editor(props: EditorProps) { if (!canvas) { return } - if (isInpaintingLoading) { + if (isInpainting) { return } if (!isDraging) { @@ -416,13 +475,29 @@ export default function Editor(props: EditorProps) { return } - if (settings.runInpaintingManually) { + if (runMannually) { setIsDraging(false) } else { runInpainting() } } + const isOutsideCroper = (clickPnt: { x: number; y: number }) => { + if (clickPnt.x < croperRect.x) { + return true + } + if (clickPnt.y < croperRect.y) { + return true + } + if (clickPnt.x > croperRect.x + croperRect.width) { + return true + } + if (clickPnt.y > croperRect.y + croperRect.height) { + return true + } + return false + } + const onMouseDown = (ev: SyntheticEvent) => { if (isPanning) { return @@ -434,7 +509,7 @@ export default function Editor(props: EditorProps) { if (!canvas) { return } - if (isInpaintingLoading) { + if (isInpainting) { return } @@ -447,10 +522,14 @@ export default function Editor(props: EditorProps) { return } + if (isSD && settings.showCroper && isOutsideCroper(mouseXY(ev))) { + return + } + setIsDraging(true) let lineGroup: LineGroup = [] - if (isMultiStrokeKeyPressed || settings.runInpaintingManually) { + if (isMultiStrokeKeyPressed || runMannually) { lineGroup = [...curLineGroup] } lineGroup.push({ size: brushSize, pts: [mouseXY(ev)] }) @@ -501,7 +580,7 @@ export default function Editor(props: EditorProps) { }, [draw, renders, redoRenders, redoLineGroups, lineGroups, original]) const undo = () => { - if (settings.runInpaintingManually && curLineGroup.length !== 0) { + if (runMannually && curLineGroup.length !== 0) { undoStroke() } else { undoRender() @@ -527,14 +606,14 @@ export default function Editor(props: EditorProps) { useKey(undoPredicate, undo, undefined, [undoStroke, undoRender]) const disableUndo = () => { - if (isInpaintingLoading) { + if (isInpainting) { return true } if (renders.length > 0) { return false } - if (settings.runInpaintingManually) { + if (runMannually) { if (curLineGroup.length === 0) { return true } @@ -575,7 +654,7 @@ export default function Editor(props: EditorProps) { }, [draw, renders, redoRenders, redoLineGroups, lineGroups, original]) const redo = () => { - if (settings.runInpaintingManually && redoCurLines.length !== 0) { + if (runMannually && redoCurLines.length !== 0) { redoStroke() } else { redoRender() @@ -603,14 +682,14 @@ export default function Editor(props: EditorProps) { useKey(redoPredicate, redo, undefined, [redoStroke, redoRender]) const disableRedo = () => { - if (isInpaintingLoading) { + if (isInpainting) { return true } if (redoRenders.length > 0) { return false } - if (settings.runInpaintingManually) { + if (runMannually) { if (redoCurLines.length === 0) { return true } @@ -688,7 +767,7 @@ export default function Editor(props: EditorProps) { }, [showBrush, isPanning]) // Standard Hotkeys for Brush Size - useKeyPressEvent('[', () => { + useHotKey('[', () => { setBrushSize(currentBrushSize => { if (currentBrushSize > 10) { return currentBrushSize - 10 @@ -700,18 +779,23 @@ export default function Editor(props: EditorProps) { }) }) - useKeyPressEvent(']', () => { + useHotKey(']', () => { setBrushSize(currentBrushSize => { return currentBrushSize + 10 }) }) // Manual Inpainting Hotkey - useKeyPressEvent('R', () => { - if (settings.runInpaintingManually && hadDrawSomething()) { - runInpainting() - } - }) + useHotKey( + 'shift+r', + () => { + if (runMannually && hadDrawSomething()) { + runInpainting() + } + }, + {}, + [runMannually] + ) // Toggle clean/zoom tool on spacebar. useKeyPressEvent( @@ -792,7 +876,7 @@ export default function Editor(props: EditorProps) { }} >
+ + {settings.showCroper ? ( + + ) : ( + <> + )} - {showBrush && !isInpaintingLoading && !isPanning && ( + {showBrush && !isInpainting && !isPanning && (
)} @@ -867,11 +963,15 @@ export default function Editor(props: EditorProps) { )}
- + {isSD ? ( + <> + ) : ( + + )} } - disabled={!hadDrawSomething() || isInpaintingLoading} + disabled={!hadDrawSomething() || isInpainting} onClick={() => { - if (!isInpaintingLoading && hadDrawSomething()) { + if (!isInpainting && hadDrawSomething()) { runInpainting() } }} diff --git a/lama_cleaner/app/src/components/Header/Header.scss b/lama_cleaner/app/src/components/Header/Header.scss index cd5909e..b8c887a 100644 --- a/lama_cleaner/app/src/components/Header/Header.scss +++ b/lama_cleaner/app/src/components/Header/Header.scss @@ -1,6 +1,6 @@ header { height: 60px; - padding: 1rem 2rem; + padding: 1rem 1.5rem; position: absolute; top: 0; display: flex; @@ -31,4 +31,4 @@ header { align-items: center; gap: 6px; justify-self: end; -} \ No newline at end of file +} diff --git a/lama_cleaner/app/src/components/Header/Header.tsx b/lama_cleaner/app/src/components/Header/Header.tsx index 4d62259..d839d01 100644 --- a/lama_cleaner/app/src/components/Header/Header.tsx +++ b/lama_cleaner/app/src/components/Header/Header.tsx @@ -1,17 +1,19 @@ import { ArrowLeftIcon, UploadIcon } from '@heroicons/react/outline' import React, { useState } from 'react' -import { useRecoilState } from 'recoil' -import { fileState } from '../../store/Atoms' +import { useRecoilState, useRecoilValue } from 'recoil' +import { fileState, isSDState } from '../../store/Atoms' import Button from '../shared/Button' import Shortcuts from '../Shortcuts/Shortcuts' import useResolution from '../../hooks/useResolution' import { ThemeChanger } from './ThemeChanger' import SettingIcon from '../Settings/SettingIcon' +import PromptInput from './PromptInput' const Header = () => { const [file, setFile] = useRecoilState(fileState) const resolution = useResolution() const [uploadElemId] = useState(`file-upload-${Math.random().toString()}`) + const isSD = useRecoilValue(isSDState) const renderHeader = () => { return ( @@ -37,6 +39,8 @@ const Header = () => {
+ {isSD && file ? : <>} +
{file && ( diff --git a/lama_cleaner/app/src/components/Header/PromptInput.scss b/lama_cleaner/app/src/components/Header/PromptInput.scss new file mode 100644 index 0000000..1f8e748 --- /dev/null +++ b/lama_cleaner/app/src/components/Header/PromptInput.scss @@ -0,0 +1,18 @@ +.prompt-wrapper { + display: flex; + gap: 12px; +} + +.prompt-wrapper input { + all: unset; + border-width: 0; + border-radius: 0.5rem; + min-width: 600px; + padding: 0 0.8rem; + outline: 1px solid var(--border-color); + + &:focus-visible { + border-width: 0; + outline: 1px solid var(--yellow-accent); + } +} diff --git a/lama_cleaner/app/src/components/Header/PromptInput.tsx b/lama_cleaner/app/src/components/Header/PromptInput.tsx new file mode 100644 index 0000000..7d0d3a5 --- /dev/null +++ b/lama_cleaner/app/src/components/Header/PromptInput.tsx @@ -0,0 +1,44 @@ +import React, { FormEvent, useState } from 'react' +import { useRecoilState } from 'recoil' +import emitter, { EVENT_PROMPT } from '../../event' +import { appState, propmtState } from '../../store/Atoms' +import Button from '../shared/Button' +import TextInput from '../shared/Input' + +// TODO: show progress in input +const PromptInput = () => { + const [app, setAppState] = useRecoilState(appState) + const [prompt, setPrompt] = useRecoilState(propmtState) + + const handleOnInput = (evt: FormEvent) => { + evt.preventDefault() + evt.stopPropagation() + const target = evt.target as HTMLInputElement + setPrompt(target.value) + } + + const handleRepaintClick = () => { + if (prompt.length !== 0 && !app.isInpainting) { + emitter.emit(EVENT_PROMPT) + } + } + + return ( +
+ + +
+ ) +} + +export default PromptInput diff --git a/lama_cleaner/app/src/components/Settings/ModelSettingBlock.tsx b/lama_cleaner/app/src/components/Settings/ModelSettingBlock.tsx index 386202c..19aeea0 100644 --- a/lama_cleaner/app/src/components/Settings/ModelSettingBlock.tsx +++ b/lama_cleaner/app/src/components/Settings/ModelSettingBlock.tsx @@ -1,6 +1,6 @@ import React, { ReactNode } from 'react' import { useRecoilState } from 'recoil' -import { AIModel, settingState } from '../../store/Atoms' +import { AIModel, SDSampler, settingState } from '../../store/Atoms' import Selector from '../shared/Selector' import { Switch, SwitchThumb } from '../shared/Switch' import Tooltip from '../shared/Tooltip' @@ -145,6 +145,8 @@ function ModelSettingBlock() { return undefined case AIModel.FCF: return renderFCFModelDesc() + case AIModel.SD14: + return undefined default: return <> } @@ -182,6 +184,12 @@ function ModelSettingBlock() { 'https://arxiv.org/abs/2208.03382', 'https://github.com/SHI-Labs/FcF-Inpainting' ) + case AIModel.SD14: + return renderModelDesc( + 'Stable Diffusion', + 'https://ommer-lab.com/research/latent-diffusion-models/', + 'https://github.com/CompVis/stable-diffusion' + ) default: return <> } diff --git a/lama_cleaner/app/src/components/Settings/NumberInputSetting.tsx b/lama_cleaner/app/src/components/Settings/NumberInputSetting.tsx index f18e17e..a71aa8f 100644 --- a/lama_cleaner/app/src/components/Settings/NumberInputSetting.tsx +++ b/lama_cleaner/app/src/components/Settings/NumberInputSetting.tsx @@ -4,14 +4,28 @@ import SettingBlock from './SettingBlock' interface NumberInputSettingProps { title: string + allowFloat?: boolean desc?: string value: string suffix?: string + width?: number + widthUnit?: string + disable?: boolean onValue: (val: string) => void } function NumberInputSetting(props: NumberInputSettingProps) { - const { title, desc, value, suffix, onValue } = props + const { + title, + allowFloat, + desc, + value, + suffix, + onValue, + width, + widthUnit, + disable, + } = props return ( {suffix && {suffix}} @@ -39,4 +55,11 @@ function NumberInputSetting(props: NumberInputSettingProps) { ) } +NumberInputSetting.defaultProps = { + allowFloat: false, + width: 80, + widthUnit: 'px', + disable: false, +} + export default NumberInputSetting diff --git a/lama_cleaner/app/src/components/Settings/SettingsModal.tsx b/lama_cleaner/app/src/components/Settings/SettingsModal.tsx index 0d441cb..29c563e 100644 --- a/lama_cleaner/app/src/components/Settings/SettingsModal.tsx +++ b/lama_cleaner/app/src/components/Settings/SettingsModal.tsx @@ -1,13 +1,14 @@ import React from 'react' -import { useRecoilState } from 'recoil' -import { settingState } from '../../store/Atoms' +import { useRecoilState, useRecoilValue } from 'recoil' +import { isSDState, settingState } from '../../store/Atoms' import Modal from '../shared/Modal' import ManualRunInpaintingSettingBlock from './ManualRunInpaintingSettingBlock' import HDSettingBlock from './HDSettingBlock' import ModelSettingBlock from './ModelSettingBlock' import GraduallyInpaintingSettingBlock from './GraduallyInpaintingSettingBlock' import DownloadMaskSettingBlock from './DownloadMaskSettingBlock' +import useHotKey from '../../hooks/useHotkey' interface SettingModalProps { onClose: () => void @@ -15,6 +16,7 @@ interface SettingModalProps { export default function SettingModal(props: SettingModalProps) { const { onClose } = props const [setting, setSettingState] = useRecoilState(settingState) + const isSD = useRecoilValue(isSDState) const handleOnClose = () => { setSettingState(old => { @@ -23,6 +25,17 @@ export default function SettingModal(props: SettingModalProps) { onClose() } + useHotKey( + 's', + () => { + setSettingState(old => { + return { ...old, show: !old.show } + }) + }, + {}, + [] + ) + return ( - + {isSD ? <> : } + - + {isSD ? <> : } ) } diff --git a/lama_cleaner/app/src/components/Shortcuts/Shortcuts.tsx b/lama_cleaner/app/src/components/Shortcuts/Shortcuts.tsx index 6dda87b..36bf4d0 100644 --- a/lama_cleaner/app/src/components/Shortcuts/Shortcuts.tsx +++ b/lama_cleaner/app/src/components/Shortcuts/Shortcuts.tsx @@ -1,6 +1,6 @@ import React from 'react' -import { useKeyPressEvent } from 'react-use' import { useRecoilState } from 'recoil' +import useHotKey from '../../hooks/useHotkey' import { shortcutsState } from '../../store/Atoms' import Button from '../shared/Button' @@ -13,8 +13,7 @@ const Shortcuts = () => { }) } - useKeyPressEvent('h', ev => { - ev?.preventDefault() + useHotKey('h', () => { shortcutStateHandler() }) diff --git a/lama_cleaner/app/src/components/Shortcuts/ShortcutsModal.tsx b/lama_cleaner/app/src/components/Shortcuts/ShortcutsModal.tsx index f2b500e..d23329e 100644 --- a/lama_cleaner/app/src/components/Shortcuts/ShortcutsModal.tsx +++ b/lama_cleaner/app/src/components/Shortcuts/ShortcutsModal.tsx @@ -64,7 +64,8 @@ export default function ShortcutsModal() { - + +
) diff --git a/lama_cleaner/app/src/components/SidePanel/SidePanel.scss b/lama_cleaner/app/src/components/SidePanel/SidePanel.scss new file mode 100644 index 0000000..ff54c20 --- /dev/null +++ b/lama_cleaner/app/src/components/SidePanel/SidePanel.scss @@ -0,0 +1,57 @@ +@use '../../styles/Mixins/' as *; + +.side-panel { + position: absolute; + top: 68px; + right: 1.5rem; + padding: 0.3rem 0.3rem; + z-index: 4; + + border-radius: 0.8rem; + border-style: solid; + border-color: var(--border-color); + border-width: 1px; +} + +.side-panel-trigger { + font-family: 'WorkSans', sans-serif; + font-size: 16px; + border: 0px; +} + +.side-panel-content { + position: relative; + font-family: 'WorkSans', sans-serif; + font-size: 14px; + top: 1rem; + right: 1.5rem; + padding: 1rem 1rem; + z-index: 9; + + // backdrop-filter: blur(12px); + color: var(--text-color); + background-color: var(--page-bg); + + border-radius: 0.8rem; + border-style: solid; + border-color: var(--border-color); + border-width: 1px; + + display: flex; + flex-direction: column; + gap: 12px; + + .setting-block-content { + gap: 1rem; + } + + // input { + // height: 24px; + // // border-radius: 4px; + // } + + // button { + // height: 28px; + // // border-radius: 4px; + // } +} diff --git a/lama_cleaner/app/src/components/SidePanel/SidePanel.tsx b/lama_cleaner/app/src/components/SidePanel/SidePanel.tsx new file mode 100644 index 0000000..44337bb --- /dev/null +++ b/lama_cleaner/app/src/components/SidePanel/SidePanel.tsx @@ -0,0 +1,188 @@ +import React, { useState } from 'react' +import { useRecoilState } from 'recoil' +import * as PopoverPrimitive from '@radix-ui/react-popover' +import { useToggle } from 'react-use' +import { SDSampler, settingState } from '../../store/Atoms' +import NumberInputSetting from '../Settings/NumberInputSetting' +import SettingBlock from '../Settings/SettingBlock' +import Selector from '../shared/Selector' +import { Switch, SwitchThumb } from '../shared/Switch' +import Button from '../shared/Button' +import emitter, { EVENT_PROMPT } from '../../event' + +const INPUT_WIDTH = 30 + +// TODO: 添加收起来的按钮 +const SidePanel = () => { + const [open, toggleOpen] = useToggle(false) + const [setting, setSettingState] = useRecoilState(settingState) + + const onReRunBtnClick = () => { + emitter.emit(EVENT_PROMPT) + } + + return ( +
+ + toggleOpen()} + > + Stable Diffusion + + + + { + setSettingState(old => { + return { ...old, showCroper: value } + }) + }} + > + + + } + /> + {/* + { + const val = value.length === 0 ? 0 : parseInt(value, 10) + setSettingState(old => { + return { ...old, sdNumSamples: val } + }) + }} + /> */} + + { + const val = value.length === 0 ? 0 : parseInt(value, 10) + setSettingState(old => { + return { ...old, sdSteps: val } + }) + }} + /> + + { + const val = value.length === 0 ? 0 : parseFloat(value) + console.log(val) + setSettingState(old => { + return { ...old, sdStrength: val } + }) + }} + /> + + { + const val = value.length === 0 ? 0 : parseFloat(value) + setSettingState(old => { + return { ...old, sdGuidanceScale: val } + }) + }} + /> + + { + const sampler = val as SDSampler + setSettingState(old => { + return { ...old, sdSampler: sampler } + }) + }} + /> + } + /> + + +
+ } + /> + + + +
+ ) +} + +export default SidePanel diff --git a/lama_cleaner/app/src/components/Workspace.tsx b/lama_cleaner/app/src/components/Workspace.tsx index f8beba9..73c79ed 100644 --- a/lama_cleaner/app/src/components/Workspace.tsx +++ b/lama_cleaner/app/src/components/Workspace.tsx @@ -10,6 +10,7 @@ import { modelDownloaded, switchModel, } from '../adapters/inpainting' +import SidePanel from './SidePanel/SidePanel' interface WorkspaceProps { file: File @@ -82,6 +83,7 @@ const Workspace = ({ file }: WorkspaceProps) => { return ( <> + diff --git a/lama_cleaner/app/src/components/shared/Button.scss b/lama_cleaner/app/src/components/shared/Button.scss index 4a0c3d8..010cfcb 100644 --- a/lama_cleaner/app/src/components/shared/Button.scss +++ b/lama_cleaner/app/src/components/shared/Button.scss @@ -4,6 +4,7 @@ display: grid; grid-auto-flow: column; column-gap: 1rem; + background-color: var(--page-bg); color: var(--btn-text-color); font-family: 'WorkSans', sans-serif; width: max-content; @@ -25,6 +26,13 @@ } .btn-primary-disabled { + background-color: var(--page-bg); pointer-events: none; opacity: 0.5; } + +.btn-border { + border-color: var(--btn-border-color); + border-width: 1px; + border-style: solid; +} diff --git a/lama_cleaner/app/src/components/shared/Button.tsx b/lama_cleaner/app/src/components/shared/Button.tsx index ea35962..707c44a 100644 --- a/lama_cleaner/app/src/components/shared/Button.tsx +++ b/lama_cleaner/app/src/components/shared/Button.tsx @@ -1,6 +1,7 @@ import React, { ReactNode } from 'react' interface ButtonProps { + border?: boolean disabled?: boolean children?: ReactNode className?: string @@ -17,6 +18,7 @@ interface ButtonProps { const Button: React.FC = props => { const { children, + border, className, disabled, icon, @@ -55,6 +57,7 @@ const Button: React.FC = props => { toolTip ? 'info-tooltip' : '', tooltipPosition ? `info-tooltip-${tooltipPosition}` : '', className, + border ? `btn-border` : '', ].join(' ')} > {icon} @@ -65,6 +68,7 @@ const Button: React.FC = props => { Button.defaultProps = { disabled: false, + border: false, } export default Button diff --git a/lama_cleaner/app/src/components/shared/Input.tsx b/lama_cleaner/app/src/components/shared/Input.tsx new file mode 100644 index 0000000..5646bff --- /dev/null +++ b/lama_cleaner/app/src/components/shared/Input.tsx @@ -0,0 +1,42 @@ +import React, { FocusEvent, InputHTMLAttributes } from 'react' +import { useRecoilState } from 'recoil' +import { appState } from '../../store/Atoms' + +const TextInput = React.forwardRef< + HTMLInputElement, + InputHTMLAttributes +>((props: InputHTMLAttributes, forwardedRef) => { + const { onFocus, onBlur, ...itemProps } = props + const [_, setAppState] = useRecoilState(appState) + + const handleOnFocus = (evt: FocusEvent) => { + setAppState(old => { + return { ...old, disableShortCuts: true } + }) + onFocus?.(evt) + } + + const handleOnBlur = (evt: FocusEvent) => { + setAppState(old => { + return { ...old, disableShortCuts: false } + }) + onBlur?.(evt) + } + + return ( + { + if (e.key === 'Escape') { + e.currentTarget.blur() + } + }} + /> + ) +}) + +export default TextInput diff --git a/lama_cleaner/app/src/components/shared/Modal.tsx b/lama_cleaner/app/src/components/shared/Modal.tsx index 81507a9..602a7bf 100644 --- a/lama_cleaner/app/src/components/shared/Modal.tsx +++ b/lama_cleaner/app/src/components/shared/Modal.tsx @@ -1,7 +1,9 @@ import { XIcon } from '@heroicons/react/outline' import React, { ReactNode } from 'react' +import { useRecoilState } from 'recoil' import * as DialogPrimitive from '@radix-ui/react-dialog' import Button from './Button' +import { appState } from '../../store/Atoms' export interface ModalProps { show: boolean @@ -16,10 +18,14 @@ const Modal = React.forwardRef< ModalProps >((props, forwardedRef) => { const { show, children, onClose, className, title } = props + const [_, setAppState] = useRecoilState(appState) const onOpenChange = (open: boolean) => { if (!open) { onClose?.() + setAppState(old => { + return { ...old, disableShortCuts: false } + }) } } diff --git a/lama_cleaner/app/src/components/shared/NumberInput.scss b/lama_cleaner/app/src/components/shared/NumberInput.scss index cd44cd0..cfea79c 100644 --- a/lama_cleaner/app/src/components/shared/NumberInput.scss +++ b/lama_cleaner/app/src/components/shared/NumberInput.scss @@ -5,8 +5,13 @@ padding: 0 0.8rem; outline: 1px solid var(--border-color); height: 32px; + text-align: right; &:focus-visible { outline: 1px solid var(--yellow-accent); } + + &:disabled { + color: var(--border-color); + } } diff --git a/lama_cleaner/app/src/components/shared/NumberInput.tsx b/lama_cleaner/app/src/components/shared/NumberInput.tsx index 5f93bca..ead35aa 100644 --- a/lama_cleaner/app/src/components/shared/NumberInput.tsx +++ b/lama_cleaner/app/src/components/shared/NumberInput.tsx @@ -1,31 +1,44 @@ -import React, { FormEvent, InputHTMLAttributes } from 'react' +import React, { FormEvent, InputHTMLAttributes, useState } from 'react' +import TextInput from './Input' interface NumberInputProps extends InputHTMLAttributes { value: string + allowFloat?: boolean onValue?: (val: string) => void } const NumberInput = React.forwardRef( (props: NumberInputProps, forwardedRef) => { - const { value, onValue, ...itemProps } = props + const { value, allowFloat, onValue, ...itemProps } = props + const [innerValue, setInnerValue] = useState(value) const handleOnInput = (evt: FormEvent) => { const target = evt.target as HTMLInputElement - const val = target.value.replace(/\D/g, '') - onValue?.(val) + let val = target.value + if (allowFloat) { + val = val.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1') + onValue?.(val) + } else { + val = val.replace(/\D/g, '') + onValue?.(val) + } + setInnerValue(val) } return ( - ) } ) +NumberInput.defaultProps = { + allowFloat: false, +} + export default NumberInput diff --git a/lama_cleaner/app/src/components/shared/Selector.tsx b/lama_cleaner/app/src/components/shared/Selector.tsx index 5037b7d..3635382 100644 --- a/lama_cleaner/app/src/components/shared/Selector.tsx +++ b/lama_cleaner/app/src/components/shared/Selector.tsx @@ -51,6 +51,7 @@ const Selector = (props: Props) => { className="select-trigger" style={{ width }} ref={contentRef} + onKeyDown={e => e.preventDefault()} > diff --git a/lama_cleaner/app/src/components/shared/Switch.tsx b/lama_cleaner/app/src/components/shared/Switch.tsx index fea7e49..ce5338e 100644 --- a/lama_cleaner/app/src/components/shared/Switch.tsx +++ b/lama_cleaner/app/src/components/shared/Switch.tsx @@ -12,6 +12,7 @@ const Switch = React.forwardRef< {...itemProps} ref={forwardedRef} className={`switch-root ${className}`} + onKeyDown={e => e.preventDefault()} /> ) }) diff --git a/lama_cleaner/app/src/components/shared/Toast.scss b/lama_cleaner/app/src/components/shared/Toast.scss index 828f744..21b2b03 100644 --- a/lama_cleaner/app/src/components/shared/Toast.scss +++ b/lama_cleaner/app/src/components/shared/Toast.scss @@ -1,7 +1,7 @@ .toast-viewpoint { position: fixed; - top: 48px; - right: 0; + bottom: 48px; + right: 1.5rem; display: flex; flex-direction: row; padding: 25px; diff --git a/lama_cleaner/app/src/event.ts b/lama_cleaner/app/src/event.ts new file mode 100644 index 0000000..e4344fb --- /dev/null +++ b/lama_cleaner/app/src/event.ts @@ -0,0 +1,7 @@ +import mitt from 'mitt' + +export const EVENT_PROMPT = 'prompt' + +const emitter = mitt() + +export default emitter diff --git a/lama_cleaner/app/src/hooks/useHotkey.tsx b/lama_cleaner/app/src/hooks/useHotkey.tsx new file mode 100644 index 0000000..ed2ed62 --- /dev/null +++ b/lama_cleaner/app/src/hooks/useHotkey.tsx @@ -0,0 +1,22 @@ +import { Options, useHotkeys } from 'react-hotkeys-hook' +import { useRecoilValue } from 'recoil' +import { appState } from '../store/Atoms' + +const useHotKey = ( + keys: string, + callback: any, + options?: Options, + deps?: any[] +) => { + const app = useRecoilValue(appState) + + const ref = useHotkeys( + keys, + callback, + { ...options, enabled: !app.disableShortCuts }, + deps + ) + return ref +} + +export default useHotKey diff --git a/lama_cleaner/app/src/store/Atoms.tsx b/lama_cleaner/app/src/store/Atoms.tsx index 05c6c08..ed8890b 100644 --- a/lama_cleaner/app/src/store/Atoms.tsx +++ b/lama_cleaner/app/src/store/Atoms.tsx @@ -9,6 +9,7 @@ export enum AIModel { ZITS = 'zits', MAT = 'mat', FCF = 'fcf', + SD14 = 'sd1.4', } export const fileState = atom({ @@ -16,6 +17,89 @@ export const fileState = atom({ default: undefined, }) +export interface Rect { + x: number + y: number + width: number + height: number +} + +interface AppState { + disableShortCuts: boolean + isInpainting: boolean +} + +export const appState = atom({ + key: 'appState', + default: { + disableShortCuts: false, + isInpainting: false, + }, +}) + +export const propmtState = atom({ + key: 'promptState', + default: '', +}) + +export const isInpaintingState = selector({ + key: 'isInpainting', + get: ({ get }) => { + const app = get(appState) + return app.isInpainting + }, + set: ({ get, set }, newValue: any) => { + const app = get(appState) + set(appState, { ...app, isInpainting: newValue }) + }, +}) + +export const croperState = atom({ + key: 'croperState', + default: { + x: 0, + y: 0, + width: 512, + height: 512, + }, +}) + +export const croperX = selector({ + key: 'croperX', + get: ({ get }) => get(croperState).x, + set: ({ get, set }, newValue: any) => { + const rect = get(croperState) + set(croperState, { ...rect, x: newValue }) + }, +}) + +export const croperY = selector({ + key: 'croperY', + get: ({ get }) => get(croperState).y, + set: ({ get, set }, newValue: any) => { + const rect = get(croperState) + set(croperState, { ...rect, y: newValue }) + }, +}) + +export const croperHeight = selector({ + key: 'croperHeight', + get: ({ get }) => get(croperState).height, + set: ({ get, set }, newValue: any) => { + const rect = get(croperState) + set(croperState, { ...rect, height: newValue }) + }, +}) + +export const croperWidth = selector({ + key: 'croperWidth', + get: ({ get }) => get(croperState).width, + set: ({ get, set }, newValue: any) => { + const rect = get(croperState) + set(croperState, { ...rect, width: newValue }) + }, +}) + interface ToastAtomState { open: boolean desc: string @@ -50,6 +134,7 @@ type ModelsHDSettings = { [key in AIModel]: HDSettings } export interface Settings { show: boolean + showCroper: boolean downloadMask: boolean graduallyInpainting: boolean runInpaintingManually: boolean @@ -62,6 +147,16 @@ export interface Settings { // For ZITS zitsWireframe: boolean + + // For SD + sdMode: SDMode + sdStrength: number + sdSteps: number + sdGuidanceScale: number + sdSampler: SDSampler + sdSeed: number + sdSeedFixed: boolean // true: use sdSeed, false: random generate seed on backend + sdNumSamples: number } const defaultHDSettings: ModelsHDSettings = { @@ -100,10 +195,28 @@ const defaultHDSettings: ModelsHDSettings = { hdStrategyCropMargin: 128, enabled: false, }, + [AIModel.SD14]: { + hdStrategy: HDStrategy.ORIGINAL, + hdStrategyResizeLimit: 768, + hdStrategyCropTrigerSize: 512, + hdStrategyCropMargin: 128, + enabled: true, + }, +} + +export enum SDSampler { + ddim = 'ddim', +} + +export enum SDMode { + text2img = 'text2img', + img2img = 'img2img', + inpainting = 'inpainting', } export const settingStateDefault: Settings = { show: false, + showCroper: false, downloadMask: false, graduallyInpainting: true, runInpaintingManually: false, @@ -114,6 +227,16 @@ export const settingStateDefault: Settings = { ldmSampler: LDMSampler.plms, zitsWireframe: true, + + // SD + sdMode: SDMode.inpainting, + sdStrength: 0.75, + sdSteps: 50, + sdGuidanceScale: 7.5, + sdSampler: SDSampler.ddim, + sdSeed: 42, + sdSeedFixed: true, + sdNumSamples: 1, } const localStorageEffect = @@ -164,3 +287,20 @@ export const hdSettingsState = selector({ }) }, }) + +export const isSDState = selector({ + key: 'isSD', + get: ({ get }) => { + const settings = get(settingState) + return settings.model === AIModel.SD14 + }, +}) + +export const runManuallyState = selector({ + key: 'runManuallyState', + get: ({ get }) => { + const settings = get(settingState) + const isSD = get(isSDState) + return settings.runInpaintingManually || isSD + }, +}) diff --git a/lama_cleaner/app/src/styles/_Colors.scss b/lama_cleaner/app/src/styles/_Colors.scss index 0c2d493..ec138e7 100644 --- a/lama_cleaner/app/src/styles/_Colors.scss +++ b/lama_cleaner/app/src/styles/_Colors.scss @@ -6,6 +6,7 @@ --page-bg-light: rgb(255, 255, 255, 0.5); --page-text-color: #040404; --yellow-accent: #ffcc00; + --yellow-accent-light: #ffcc0055; --link-color: rgb(0, 0, 0); --border-color: rgb(100, 100, 120); --border-color-light: rgba(100, 100, 120, 0.5); @@ -57,4 +58,6 @@ --box-shadow: inset 0 0.5px rgba(255, 255, 255, 0.1), inset 0 1px 5px hsl(210 16.7% 97.6%), 0px 0px 0px 0.5px hsl(205 10.7% 78%), 0px 2px 1px -1px hsl(205 10.7% 78%), 0 1px hsl(205 10.7% 78%); + + --croper-bg: rgba(0, 0, 0, 0.5); } diff --git a/lama_cleaner/app/src/styles/_ColorsDark.scss b/lama_cleaner/app/src/styles/_ColorsDark.scss index 7bd9ecb..e5e4dab 100644 --- a/lama_cleaner/app/src/styles/_ColorsDark.scss +++ b/lama_cleaner/app/src/styles/_ColorsDark.scss @@ -6,6 +6,7 @@ --page-bg-light: #04040488; --page-text-color: #f9f9f9; --yellow-accent: #ffcc00; + --yellow-accent-light: #ffcc0055; --link-color: var(--yellow-accent); --border-color: rgb(100, 100, 120); --border-color-light: rgba(102, 102, 102); @@ -55,4 +56,6 @@ --box-shadow: inset 0 0.5px rgba(255, 255, 255, 0.1), inset 0 1px 5px hsl(195 7.1% 11%), 0px 0px 0px 0.5px hsl(207 5.6% 31.6%), 0px 2px 1px -1px hsl(207 5.6% 31.6%), 0 1px hsl(207 5.6% 31.6%); + + --croper-bg: rgba(0, 0, 0, 0.5); } diff --git a/lama_cleaner/app/src/styles/_index.scss b/lama_cleaner/app/src/styles/_index.scss index 65d0fbd..ae3f150 100644 --- a/lama_cleaner/app/src/styles/_index.scss +++ b/lama_cleaner/app/src/styles/_index.scss @@ -9,9 +9,12 @@ @use '../components/Editor/Editor'; @use '../components/LandingPage/LandingPage'; @use '../components/Header/Header'; +@use '../components/Header/PromptInput'; @use '../components/Header/ThemeChanger'; @use '../components/Shortcuts/Shortcuts'; @use '../components/Settings/Settings.scss'; +@use '../components/SidePanel/SidePanel.scss'; +@use '../components/Croper/Croper.scss'; // Shared @use '../components/FileSelect/FileSelect'; diff --git a/lama_cleaner/app/yarn.lock b/lama_cleaner/app/yarn.lock index a3e70f6..c1a266d 100644 --- a/lama_cleaner/app/yarn.lock +++ b/lama_cleaner/app/yarn.lock @@ -1241,6 +1241,26 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@floating-ui/core@^0.7.3": + version "0.7.3" + resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-0.7.3.tgz#d274116678ffae87f6b60e90f88cc4083eefab86" + integrity sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg== + +"@floating-ui/dom@^0.5.3": + version "0.5.4" + resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-0.5.4.tgz#4eae73f78bcd4bd553ae2ade30e6f1f9c73fe3f1" + integrity sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg== + dependencies: + "@floating-ui/core" "^0.7.3" + +"@floating-ui/react-dom@0.7.2": + version "0.7.2" + resolved "https://registry.npmmirror.com/@floating-ui/react-dom/-/react-dom-0.7.2.tgz#0bf4ceccb777a140fc535c87eb5d6241c8e89864" + integrity sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg== + dependencies: + "@floating-ui/dom" "^0.5.3" + use-isomorphic-layout-effect "^1.1.1" + "@gar/promisify@^1.0.1": version "1.1.2" resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz" @@ -1566,6 +1586,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/primitive@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/primitive/-/primitive-1.0.0.tgz#e1d8ef30b10ea10e69c76e896f608d9276352253" + integrity sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-arrow@0.1.4": version "0.1.4" resolved "https://registry.npmmirror.com/@radix-ui/react-arrow/-/react-arrow-0.1.4.tgz#a871448a418cd3507d83840fdd47558cb961672b" @@ -1574,6 +1601,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-primitive" "0.1.4" +"@radix-ui/react-arrow@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-arrow/-/react-arrow-1.0.0.tgz#c461f4c2cab3317e3d42a1ae62910a4cbb0192a1" + integrity sha512-1MUuv24HCdepi41+qfv125EwMuxgQ+U+h0A9K3BjCO/J8nVRREKHHpkD9clwfnjEDk9hgGzCnff4aUKCPiRepw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.0" + "@radix-ui/react-collection@0.1.5-rc.18": version "0.1.5-rc.18" resolved "https://registry.npmmirror.com/@radix-ui/react-collection/-/react-collection-0.1.5-rc.18.tgz#4dc03a8f464643748c0dad781b472f149d671d5c" @@ -1599,6 +1634,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-compose-refs@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz#37595b1f16ec7f228d698590e78eeed18ff218ae" + integrity sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-context@0.1.1": version "0.1.1" resolved "https://registry.npmmirror.com/@radix-ui/react-context/-/react-context-0.1.1.tgz#06996829ea124d9a1bc1dbe3e51f33588fab0875" @@ -1613,6 +1655,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-context@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-context/-/react-context-1.0.0.tgz#f38e30c5859a9fb5e9aa9a9da452ee3ed9e0aee0" + integrity sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-dialog@0.1.8-rc.25": version "0.1.8-rc.25" resolved "https://registry.npmmirror.com/@radix-ui/react-dialog/-/react-dialog-0.1.8-rc.25.tgz#dea6af32268b34070346ed5d6d609ff699a1de43" @@ -1667,6 +1716,18 @@ "@radix-ui/react-use-callback-ref" "0.1.1-rc.18" "@radix-ui/react-use-escape-keydown" "0.1.1-rc.18" +"@radix-ui/react-dismissable-layer@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.0.tgz#35b7826fa262fd84370faef310e627161dffa76b" + integrity sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-primitive" "1.0.0" + "@radix-ui/react-use-callback-ref" "1.0.0" + "@radix-ui/react-use-escape-keydown" "1.0.0" + "@radix-ui/react-focus-guards@0.1.1-rc.18": version "0.1.1-rc.18" resolved "https://registry.npmmirror.com/@radix-ui/react-focus-guards/-/react-focus-guards-0.1.1-rc.18.tgz#f0e2ebd3cbfd363a71682e3234b274ab7d7df4ce" @@ -1674,6 +1735,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-focus-guards@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz#339c1c69c41628c1a5e655f15f7020bf11aa01fa" + integrity sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-focus-scope@0.1.5-rc.18": version "0.1.5-rc.18" resolved "https://registry.npmmirror.com/@radix-ui/react-focus-scope/-/react-focus-scope-0.1.5-rc.18.tgz#e26a0317130687fd3668af8ec68e19e04dc7668f" @@ -1684,6 +1752,16 @@ "@radix-ui/react-primitive" "0.1.5-rc.18" "@radix-ui/react-use-callback-ref" "0.1.1-rc.18" +"@radix-ui/react-focus-scope@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.0.tgz#95a0c1188276dc8933b1eac5f1cdb6471e01ade5" + integrity sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-primitive" "1.0.0" + "@radix-ui/react-use-callback-ref" "1.0.0" + "@radix-ui/react-id@0.1.5": version "0.1.5" resolved "https://registry.npmmirror.com/@radix-ui/react-id/-/react-id-0.1.5.tgz#010d311bedd5a2884c1e9bb6aaaa4e6cc1d1d3b8" @@ -1700,6 +1778,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-layout-effect" "0.1.1-rc.18" +"@radix-ui/react-id@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-id/-/react-id-1.0.0.tgz#8d43224910741870a45a8c9d092f25887bb6d11e" + integrity sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.0" + "@radix-ui/react-label@0.1.5": version "0.1.5" resolved "https://registry.npmmirror.com/@radix-ui/react-label/-/react-label-0.1.5.tgz#12cd965bfc983e0148121d4c99fb8e27a917c45c" @@ -1722,6 +1808,28 @@ "@radix-ui/react-id" "0.1.6-rc.18" "@radix-ui/react-primitive" "0.1.5-rc.18" +"@radix-ui/react-popover@^1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-popover/-/react-popover-1.0.0.tgz#5ee72013089fdf9038417fc1eb98a749c17457fd" + integrity sha512-osxFFO0TiZ9ABpEOitZu0R1Fdd+tSpJgAqLZxRLLdZQ7ya0onSODcITp5hXDVuYQeVXH6pKEBGwXN6ZGjZ0a5g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-context" "1.0.0" + "@radix-ui/react-dismissable-layer" "1.0.0" + "@radix-ui/react-focus-guards" "1.0.0" + "@radix-ui/react-focus-scope" "1.0.0" + "@radix-ui/react-id" "1.0.0" + "@radix-ui/react-popper" "1.0.0" + "@radix-ui/react-portal" "1.0.0" + "@radix-ui/react-presence" "1.0.0" + "@radix-ui/react-primitive" "1.0.0" + "@radix-ui/react-slot" "1.0.0" + "@radix-ui/react-use-controllable-state" "1.0.0" + aria-hidden "^1.1.1" + react-remove-scroll "2.5.4" + "@radix-ui/react-popper@0.1.4": version "0.1.4" resolved "https://registry.npmmirror.com/@radix-ui/react-popper/-/react-popper-0.1.4.tgz#dfc055dcd7dfae6a2eff7a70d333141d15a5d029" @@ -1737,6 +1845,22 @@ "@radix-ui/react-use-size" "0.1.1" "@radix-ui/rect" "0.1.1" +"@radix-ui/react-popper@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-popper/-/react-popper-1.0.0.tgz#fb4f937864bf39c48f27f55beee61fa9f2bef93c" + integrity sha512-k2dDd+1Wl0XWAMs9ZvAxxYsB9sOsEhrFQV4CINd7IUZf0wfdye4OHen9siwxvZImbzhgVeKTJi68OQmPRvVdMg== + dependencies: + "@babel/runtime" "^7.13.10" + "@floating-ui/react-dom" "0.7.2" + "@radix-ui/react-arrow" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-context" "1.0.0" + "@radix-ui/react-primitive" "1.0.0" + "@radix-ui/react-use-layout-effect" "1.0.0" + "@radix-ui/react-use-rect" "1.0.0" + "@radix-ui/react-use-size" "1.0.0" + "@radix-ui/rect" "1.0.0" + "@radix-ui/react-portal@0.1.4": version "0.1.4" resolved "https://registry.npmmirror.com/@radix-ui/react-portal/-/react-portal-0.1.4.tgz#17bdce3d7f1a9a0b35cb5e935ab8bc562441a7d2" @@ -1755,6 +1879,14 @@ "@radix-ui/react-primitive" "0.1.5-rc.18" "@radix-ui/react-use-layout-effect" "0.1.1-rc.18" +"@radix-ui/react-portal@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-portal/-/react-portal-1.0.0.tgz#7220b66743394fabb50c55cb32381395cc4a276b" + integrity sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.0" + "@radix-ui/react-presence@0.1.2": version "0.1.2" resolved "https://registry.npmmirror.com/@radix-ui/react-presence/-/react-presence-0.1.2.tgz#9f11cce3df73cf65bc348e8b76d891f0d54c1fe3" @@ -1773,6 +1905,15 @@ "@radix-ui/react-compose-refs" "0.1.1-rc.18" "@radix-ui/react-use-layout-effect" "0.1.1-rc.18" +"@radix-ui/react-presence@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-presence/-/react-presence-1.0.0.tgz#814fe46df11f9a468808a6010e3f3ca7e0b2e84a" + integrity sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-use-layout-effect" "1.0.0" + "@radix-ui/react-primitive@0.1.4": version "0.1.4" resolved "https://registry.npmmirror.com/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz#6c233cf08b0cb87fecd107e9efecb3f21861edc1" @@ -1789,6 +1930,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-slot" "0.1.3-rc.18" +"@radix-ui/react-primitive@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-primitive/-/react-primitive-1.0.0.tgz#376cd72b0fcd5e0e04d252ed33eb1b1f025af2b0" + integrity sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-slot" "1.0.0" + "@radix-ui/react-select@0.1.2-rc.27": version "0.1.2-rc.27" resolved "https://registry.npmmirror.com/@radix-ui/react-select/-/react-select-0.1.2-rc.27.tgz#91948d482b3db8cf83172838dfae0f4bedec9566" @@ -1831,6 +1980,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-compose-refs" "0.1.1-rc.18" +"@radix-ui/react-slot@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-slot/-/react-slot-1.0.0.tgz#7fa805b99891dea1e862d8f8fbe07f4d6d0fd698" + integrity sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-switch@^0.1.5": version "0.1.5" resolved "https://registry.npmmirror.com/@radix-ui/react-switch/-/react-switch-0.1.5.tgz#071ffa19a17a47fdc5c5e6f371bd5901c9fef2f4" @@ -1915,6 +2072,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-callback-ref@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz#9e7b8b6b4946fe3cbe8f748c82a2cce54e7b6a90" + integrity sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-controllable-state@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz#4fced164acfc69a4e34fb9d193afdab973a55de1" @@ -1931,6 +2095,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref" "0.1.1-rc.18" +"@radix-ui/react-use-controllable-state@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz#a64deaafbbc52d5d407afaa22d493d687c538b7f" + integrity sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "1.0.0" + "@radix-ui/react-use-escape-keydown@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.0.tgz#dc80cb3753e9d1bd992adbad9a149fb6ea941874" @@ -1947,6 +2119,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/react-use-callback-ref" "0.1.1-rc.18" +"@radix-ui/react-use-escape-keydown@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.0.tgz#aef375db4736b9de38a5a679f6f49b45a060e5d1" + integrity sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "1.0.0" + "@radix-ui/react-use-layout-effect@0.1.0": version "0.1.0" resolved "https://registry.npmmirror.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz#ebf71bd6d2825de8f1fbb984abf2293823f0f223" @@ -1961,6 +2141,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-layout-effect@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz#2fc19e97223a81de64cd3ba1dc42ceffd82374dc" + integrity sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-previous@0.1.1": version "0.1.1" resolved "https://registry.npmmirror.com/@radix-ui/react-use-previous/-/react-use-previous-0.1.1.tgz#0226017f72267200f6e832a7103760e96a6db5d0" @@ -1983,6 +2170,14 @@ "@babel/runtime" "^7.13.10" "@radix-ui/rect" "0.1.1" +"@radix-ui/react-use-rect@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz#b040cc88a4906b78696cd3a32b075ed5b1423b3e" + integrity sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/rect" "1.0.0" + "@radix-ui/react-use-size@0.1.1": version "0.1.1" resolved "https://registry.npmmirror.com/@radix-ui/react-use-size/-/react-use-size-0.1.1.tgz#f6b75272a5d41c3089ca78c8a2e48e5f204ef90f" @@ -1990,6 +2185,14 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/react-use-size@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz#a0b455ac826749419f6354dc733e2ca465054771" + integrity sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.0" + "@radix-ui/react-visually-hidden@0.1.4": version "0.1.4" resolved "https://registry.npmmirror.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-0.1.4.tgz#6c75eae34fb5d084b503506fbfc05587ced05f03" @@ -2013,6 +2216,13 @@ dependencies: "@babel/runtime" "^7.13.10" +"@radix-ui/rect@1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@radix-ui/rect/-/rect-1.0.0.tgz#0dc8e6a829ea2828d53cbc94b81793ba6383bf3c" + integrity sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg== + dependencies: + "@babel/runtime" "^7.13.10" + "@rollup/plugin-node-resolve@^7.1.1": version "7.1.3" resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz" @@ -2055,6 +2265,11 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@socket.io/component-emitter@~3.1.0": + version "3.1.0" + resolved "https://registry.npmmirror.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" + integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== + "@surma/rollup-plugin-off-main-thread@^1.1.1": version "1.4.2" resolved "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz" @@ -4621,6 +4836,13 @@ debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.1.1" +debug@~4.3.1, debug@~4.3.2: + version "4.3.4" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" @@ -5004,6 +5226,22 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" +engine.io-client@~6.2.1: + version "6.2.2" + resolved "https://registry.npmmirror.com/engine.io-client/-/engine.io-client-6.2.2.tgz#c6c5243167f5943dcd9c4abee1bfc634aa2cbdd0" + integrity sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + engine.io-parser "~5.0.3" + ws "~8.2.3" + xmlhttprequest-ssl "~2.0.0" + +engine.io-parser@~5.0.3: + version "5.0.4" + resolved "https://registry.npmmirror.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" + integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== + enhanced-resolve@^4.3.0: version "4.5.0" resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" @@ -6215,6 +6453,11 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hotkeys-js@3.9.4: + version "3.9.4" + resolved "https://registry.npmmirror.com/hotkeys-js/-/hotkeys-js-3.9.4.tgz#ce1aa4c3a132b6a63a9dd5644fc92b8a9b9cbfb9" + integrity sha512-2zuLt85Ta+gIyvs4N88pCYskNrxf1TFv3LR9t5mdAZIX8BcgQQ48F2opUptvHa6m8zsy5v/a0i9mWzTrlNWU0Q== + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" @@ -7785,16 +8028,11 @@ lodash.uniq@^4.5.0: resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5, lodash@^4.7.0: +"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5, lodash@^4.7.0: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - loglevel@^1.6.8: version "1.7.1" resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" @@ -8095,6 +8333,11 @@ mississippi@^3.0.0: stream-each "^1.1.0" through2 "^2.0.0" +mitt@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/mitt/-/mitt-3.0.0.tgz#69ef9bd5c80ff6f57473e8d89326d01c414be0bd" + integrity sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ== + mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" @@ -9924,6 +10167,13 @@ react-error-overlay@^6.0.9: resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== +react-hotkeys-hook@^3.4.7: + version "3.4.7" + resolved "https://registry.npmmirror.com/react-hotkeys-hook/-/react-hotkeys-hook-3.4.7.tgz#e16a0a85f59feed9f48d12cfaf166d7df4c96b7a" + integrity sha512-+bbPmhPAl6ns9VkXkNNyxlmCAIyDAcWbB76O4I0ntr3uWCRuIQf/aRLartUahe9chVMPj+OEzzfk3CQSjclUEQ== + dependencies: + hotkeys-js "3.9.4" + react-is@^16.8.1: version "16.13.1" resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" @@ -9947,6 +10197,25 @@ react-remove-scroll-bar@^2.3.0: react-style-singleton "^2.2.0" tslib "^2.0.0" +react-remove-scroll-bar@^2.3.3: + version "2.3.3" + resolved "https://registry.npmmirror.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.3.tgz#e291f71b1bb30f5f67f023765b7435f4b2b2cd94" + integrity sha512-i9GMNWwpz8XpUpQ6QlevUtFjHGqnPG4Hxs+wlIJntu/xcsZVEpJcIV71K3ZkqNy2q3GfgvkD7y6t/Sv8ofYSbw== + dependencies: + react-style-singleton "^2.2.1" + tslib "^2.0.0" + +react-remove-scroll@2.5.4: + version "2.5.4" + resolved "https://registry.npmmirror.com/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz#afe6491acabde26f628f844b67647645488d2ea0" + integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA== + dependencies: + react-remove-scroll-bar "^2.3.3" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + react-remove-scroll@^2.4.0: version "2.5.1" resolved "https://registry.npmmirror.com/react-remove-scroll/-/react-remove-scroll-2.5.1.tgz#28c318c2e076040e5d6172bf28aab2916ad89b46" @@ -10033,6 +10302,15 @@ react-style-singleton@^2.2.0: invariant "^2.2.4" tslib "^2.0.0" +react-style-singleton@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" + react-universal-interface@^0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz" @@ -10845,6 +11123,24 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +socket.io-client@^4.5.2: + version "4.5.2" + resolved "https://registry.npmmirror.com/socket.io-client/-/socket.io-client-4.5.2.tgz#9481518c560388c980c88b01e3cf62f367f04c96" + integrity sha512-naqYfFu7CLDiQ1B7AlLhRXKX3gdeaIMfgigwavDzgJoIUYulc1qHH5+2XflTsXTPY7BlPH5rppJyUjhjrKQKLg== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.2" + engine.io-client "~6.2.1" + socket.io-parser "~4.2.0" + +socket.io-parser@~4.2.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" + integrity sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + sockjs-client@^1.5.0: version "1.5.2" resolved "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz" @@ -11855,6 +12151,11 @@ use-callback-ref@^1.3.0: dependencies: tslib "^2.0.0" +use-isomorphic-layout-effect@^1.1.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + use-sidecar@^1.1.2: version "1.1.2" resolved "https://registry.npmmirror.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" @@ -12410,6 +12711,11 @@ ws@^7.4.6: resolved "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz" integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== +ws@~8.2.3: + version "8.2.3" + resolved "https://registry.npmmirror.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" + integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" @@ -12420,6 +12726,11 @@ xmlchars@^2.2.0: resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xmlhttprequest-ssl@~2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" + integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== + xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" diff --git a/lama_cleaner/model/base.py b/lama_cleaner/model/base.py index 1cb8b57..80252f3 100644 --- a/lama_cleaner/model/base.py +++ b/lama_cleaner/model/base.py @@ -14,17 +14,17 @@ class InpaintModel: pad_mod = 8 pad_to_square = False - def __init__(self, device): + def __init__(self, device, **kwargs): """ Args: device: """ self.device = device - self.init_model(device) + self.init_model(device, **kwargs) @abc.abstractmethod - def init_model(self, device): + def init_model(self, device, **kwargs): ... @staticmethod @@ -36,15 +36,19 @@ class InpaintModel: def forward(self, image, mask, config: Config): """Input images and output images have same size images: [H, W, C] RGB - masks: [H, W] 255 为 masks 区域 + masks: [H, W, 1] 255 为 masks 区域 return: BGR IMAGE """ ... def _pad_forward(self, image, mask, config: Config): origin_height, origin_width = image.shape[:2] - pad_image = pad_img_to_modulo(image, mod=self.pad_mod, square=self.pad_to_square, min_size=self.min_size) - pad_mask = pad_img_to_modulo(mask, mod=self.pad_mod, square=self.pad_to_square, min_size=self.min_size) + pad_image = pad_img_to_modulo( + image, mod=self.pad_mod, square=self.pad_to_square, min_size=self.min_size + ) + pad_mask = pad_img_to_modulo( + mask, mod=self.pad_mod, square=self.pad_to_square, min_size=self.min_size + ) logger.info(f"final forward pad size: {pad_image.shape}") @@ -81,18 +85,30 @@ class InpaintModel: elif config.hd_strategy == HDStrategy.RESIZE: if max(image.shape) > config.hd_strategy_resize_limit: origin_size = image.shape[:2] - downsize_image = resize_max_size(image, size_limit=config.hd_strategy_resize_limit) - downsize_mask = resize_max_size(mask, size_limit=config.hd_strategy_resize_limit) + downsize_image = resize_max_size( + image, size_limit=config.hd_strategy_resize_limit + ) + downsize_mask = resize_max_size( + mask, size_limit=config.hd_strategy_resize_limit + ) - logger.info(f"Run resize strategy, origin size: {image.shape} forward size: {downsize_image.shape}") - inpaint_result = self._pad_forward(downsize_image, downsize_mask, config) + logger.info( + f"Run resize strategy, origin size: {image.shape} forward size: {downsize_image.shape}" + ) + inpaint_result = self._pad_forward( + downsize_image, downsize_mask, config + ) # only paste masked area result - inpaint_result = cv2.resize(inpaint_result, - (origin_size[1], origin_size[0]), - interpolation=cv2.INTER_CUBIC) + inpaint_result = cv2.resize( + inpaint_result, + (origin_size[1], origin_size[0]), + interpolation=cv2.INTER_CUBIC, + ) original_pixel_indices = mask < 127 - inpaint_result[original_pixel_indices] = image[:, :, ::-1][original_pixel_indices] + inpaint_result[original_pixel_indices] = image[:, :, ::-1][ + original_pixel_indices + ] if inpaint_result is None: inpaint_result = self._pad_forward(image, mask, config) @@ -133,11 +149,11 @@ class InpaintModel: if _l < 0: r += abs(_l) if _r > img_w: - l -= (_r - img_w) + l -= _r - img_w if _t < 0: b += abs(_t) if _b > img_h: - t -= (_b - img_h) + t -= _b - img_h l = max(l, 0) r = min(r, img_w) diff --git a/lama_cleaner/model/fcf.py b/lama_cleaner/model/fcf.py index b030e0d..9e9e8c0 100644 --- a/lama_cleaner/model/fcf.py +++ b/lama_cleaner/model/fcf.py @@ -1135,7 +1135,7 @@ class FcF(InpaintModel): pad_mod = 512 pad_to_square = True - def init_model(self, device): + def init_model(self, device, **kwargs): seed = 0 random.seed(seed) np.random.seed(seed) diff --git a/lama_cleaner/model/lama.py b/lama_cleaner/model/lama.py index eba3860..b414f1d 100644 --- a/lama_cleaner/model/lama.py +++ b/lama_cleaner/model/lama.py @@ -18,16 +18,7 @@ LAMA_MODEL_URL = os.environ.get( class LaMa(InpaintModel): pad_mod = 8 - def __init__(self, device): - """ - - Args: - device: - """ - super().__init__(device) - self.device = device - - def init_model(self, device): + def init_model(self, device, **kwargs): if os.environ.get("LAMA_MODEL"): model_path = os.environ.get("LAMA_MODEL") if not os.path.exists(model_path): diff --git a/lama_cleaner/model/ldm.py b/lama_cleaner/model/ldm.py index 5364cf2..a45a7e9 100644 --- a/lama_cleaner/model/ldm.py +++ b/lama_cleaner/model/ldm.py @@ -227,7 +227,7 @@ class LDM(InpaintModel): super().__init__(device) self.device = device - def init_model(self, device): + def init_model(self, device, **kwargs): self.diffusion_model = load_jit_model(LDM_DIFFUSION_MODEL_URL, device) self.cond_stage_model_decode = load_jit_model(LDM_DECODE_MODEL_URL, device) self.cond_stage_model_encode = load_jit_model(LDM_ENCODE_MODEL_URL, device) diff --git a/lama_cleaner/model/mat.py b/lama_cleaner/model/mat.py index dbd634f..67020bc 100644 --- a/lama_cleaner/model/mat.py +++ b/lama_cleaner/model/mat.py @@ -1405,7 +1405,7 @@ class MAT(InpaintModel): pad_mod = 512 pad_to_square = True - def init_model(self, device): + def init_model(self, device, **kwargs): seed = 240 # pick up a random number random.seed(seed) np.random.seed(seed) diff --git a/lama_cleaner/model/sd.py b/lama_cleaner/model/sd.py new file mode 100644 index 0000000..db418b4 --- /dev/null +++ b/lama_cleaner/model/sd.py @@ -0,0 +1,152 @@ +import random + +import PIL.Image +import cv2 +import numpy as np +import torch +from loguru import logger + +from lama_cleaner.helper import norm_img + +from lama_cleaner.model.base import InpaintModel +from lama_cleaner.schema import Config + + +# +# +# def preprocess_image(image): +# w, h = image.size +# w, h = map(lambda x: x - x % 32, (w, h)) # resize to integer multiple of 32 +# image = image.resize((w, h), resample=PIL.Image.LANCZOS) +# image = np.array(image).astype(np.float32) / 255.0 +# image = image[None].transpose(0, 3, 1, 2) +# image = torch.from_numpy(image) +# # [-1, 1] +# return 2.0 * image - 1.0 +# +# +# def preprocess_mask(mask): +# mask = mask.convert("L") +# w, h = mask.size +# w, h = map(lambda x: x - x % 32, (w, h)) # resize to integer multiple of 32 +# mask = mask.resize((w // 8, h // 8), resample=PIL.Image.NEAREST) +# mask = np.array(mask).astype(np.float32) / 255.0 +# mask = np.tile(mask, (4, 1, 1)) +# mask = mask[None].transpose(0, 1, 2, 3) # what does this step do? +# mask = 1 - mask # repaint white, keep black +# mask = torch.from_numpy(mask) +# return mask + + +class SD(InpaintModel): + pad_mod = 32 + min_size = 512 + + def init_model(self, device: torch.device, **kwargs): + # return + from .sd_pipeline import StableDiffusionInpaintPipeline + + self.model = StableDiffusionInpaintPipeline.from_pretrained( + self.model_id_or_path, + revision="fp16", + torch_dtype=torch.float16, + use_auth_token=kwargs["hf_access_token"], + ) + # https://huggingface.co/docs/diffusers/v0.3.0/en/api/pipelines/stable_diffusion#diffusers.StableDiffusionInpaintPipeline.enable_attention_slicing + self.model.enable_attention_slicing() + self.model = self.model.to(device) + self.callbacks = kwargs.pop("callbacks", None) + + @torch.cuda.amp.autocast() + def forward(self, image, mask, config: Config): + # return image + """Input image and output image have same size + image: [H, W, C] RGB + mask: [H, W, 1] 255 means area to repaint + return: BGR IMAGE + """ + + # image = norm_img(image) # [0, 1] + # image = image * 2 - 1 # [0, 1] -> [-1, 1] + + # resize to latent feature map size + # h, w = mask.shape[:2] + # mask = cv2.resize(mask, (h // 8, w // 8), interpolation=cv2.INTER_AREA) + # mask = norm_img(mask) + # + # image = torch.from_numpy(image).unsqueeze(0).to(self.device) + # mask = torch.from_numpy(mask).unsqueeze(0).to(self.device) + # import time + # time.sleep(2) + # return image + seed = config.sd_seed + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + torch.cuda.manual_seed_all(seed) + + output = self.model( + prompt=config.prompt, + init_image=PIL.Image.fromarray(image), + mask_image=PIL.Image.fromarray(mask[:, :, -1], mode="L"), + strength=config.sd_strength, + num_inference_steps=config.sd_steps, + guidance_scale=config.sd_guidance_scale, + output_type="np.array", + callbacks=self.callbacks, + ).images[0] + + output = (output * 255).round().astype("uint8") + output = cv2.cvtColor(output, cv2.COLOR_RGB2BGR) + return output + + @torch.no_grad() + def __call__(self, image, mask, config: Config): + """ + images: [H, W, C] RGB, not normalized + masks: [H, W] + return: BGR IMAGE + """ + img_h, img_w = image.shape[:2] + + # boxes = boxes_from_mask(mask) + if config.use_croper: + logger.info("use croper") + l, t, w, h = ( + config.croper_x, + config.croper_y, + config.croper_width, + config.croper_height, + ) + r = l + w + b = t + h + + l = max(l, 0) + r = min(r, img_w) + t = max(t, 0) + b = min(b, img_h) + + crop_img = image[t:b, l:r, :] + crop_mask = mask[t:b, l:r] + + crop_image = self._pad_forward(crop_img, crop_mask, config) + + inpaint_result = image[:, :, ::-1] + inpaint_result[t:b, l:r, :] = crop_image + else: + inpaint_result = self._pad_forward(image, mask, config) + + return inpaint_result + + @staticmethod + def is_downloaded() -> bool: + # model will be downloaded when app start, and can't switch in frontend settings + return True + + +class SD14(SD): + model_id_or_path = "CompVis/stable-diffusion-v1-4" + + +class SD15(SD): + model_id_or_path = "CompVis/stable-diffusion-v1-5" diff --git a/lama_cleaner/model/sd_pipeline.py b/lama_cleaner/model/sd_pipeline.py new file mode 100644 index 0000000..6616406 --- /dev/null +++ b/lama_cleaner/model/sd_pipeline.py @@ -0,0 +1,309 @@ +import inspect +from typing import List, Optional, Union, Callable + +import numpy as np +import torch + +import PIL +from diffusers import DiffusionPipeline, AutoencoderKL, UNet2DConditionModel, DDIMScheduler, PNDMScheduler +from diffusers.pipelines.stable_diffusion import StableDiffusionSafetyChecker, StableDiffusionPipelineOutput +from diffusers.utils import logging +from tqdm.auto import tqdm +from transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer + +logger = logging.get_logger(__name__) + + +def preprocess_image(image): + w, h = image.size + w, h = map(lambda x: x - x % 32, (w, h)) # resize to integer multiple of 32 + image = image.resize((w, h), resample=PIL.Image.LANCZOS) + image = np.array(image).astype(np.float32) / 255.0 + image = image[None].transpose(0, 3, 1, 2) + image = torch.from_numpy(image) + return 2.0 * image - 1.0 + + +def preprocess_mask(mask): + mask = mask.convert("L") + w, h = mask.size + w, h = map(lambda x: x - x % 32, (w, h)) # resize to integer multiple of 32 + mask = mask.resize((w // 8, h // 8), resample=PIL.Image.NEAREST) + mask = np.array(mask).astype(np.float32) / 255.0 + mask = np.tile(mask, (4, 1, 1)) + mask = mask[None].transpose(0, 1, 2, 3) # what does this step do? + mask = 1 - mask # repaint white, keep black + mask = torch.from_numpy(mask) + return mask + + +class StableDiffusionInpaintPipeline(DiffusionPipeline): + r""" + Pipeline for text-guided image inpainting using Stable Diffusion. *This is an experimental feature*. + + This model inherits from [`DiffusionPipeline`]. Check the superclass documentation for the generic methods the + library implements for all the pipelines (such as downloading or saving, running on a particular device, etc.) + + Args: + vae ([`AutoencoderKL`]): + Variational Auto-Encoder (VAE) Model to encode and decode images to and from latent representations. + text_encoder ([`CLIPTextModel`]): + Frozen text-encoder. Stable Diffusion uses the text portion of + [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), specifically + the [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) variant. + tokenizer (`CLIPTokenizer`): + Tokenizer of class + [CLIPTokenizer](https://huggingface.co/docs/transformers/v4.21.0/en/model_doc/clip#transformers.CLIPTokenizer). + unet ([`UNet2DConditionModel`]): Conditional U-Net architecture to denoise the encoded image latents. + scheduler ([`SchedulerMixin`]): + A scheduler to be used in combination with `unet` to denoise the encoded image latens. Can be one of + [`DDIMScheduler`], [`LMSDiscreteScheduler`], or [`PNDMScheduler`]. + safety_checker ([`StableDiffusionSafetyChecker`]): + Classification module that estimates whether generated images could be considered offsensive or harmful. + Please, refer to the [model card](https://huggingface.co/CompVis/stable-diffusion-v1-4) for details. + feature_extractor ([`CLIPFeatureExtractor`]): + Model that extracts features from generated images to be used as inputs for the `safety_checker`. + """ + + def __init__( + self, + vae: AutoencoderKL, + text_encoder: CLIPTextModel, + tokenizer: CLIPTokenizer, + unet: UNet2DConditionModel, + scheduler: Union[DDIMScheduler, PNDMScheduler], + safety_checker: StableDiffusionSafetyChecker, + feature_extractor: CLIPFeatureExtractor, + ): + super().__init__() + scheduler = scheduler.set_format("pt") + logger.info("`StableDiffusionInpaintPipeline` is experimental and will very likely change in the future.") + self.register_modules( + vae=vae, + text_encoder=text_encoder, + tokenizer=tokenizer, + unet=unet, + scheduler=scheduler, + safety_checker=safety_checker, + feature_extractor=feature_extractor, + ) + + def enable_attention_slicing(self, slice_size: Optional[Union[str, int]] = "auto"): + r""" + Enable sliced attention computation. + + When this option is enabled, the attention module will split the input tensor in slices, to compute attention + in several steps. This is useful to save some memory in exchange for a small speed decrease. + + Args: + slice_size (`str` or `int`, *optional*, defaults to `"auto"`): + When `"auto"`, halves the input to the attention heads, so attention will be computed in two steps. If + a number is provided, uses as many slices as `attention_head_dim // slice_size`. In this case, + `attention_head_dim` must be a multiple of `slice_size`. + """ + if slice_size == "auto": + # half the attention head size is usually a good trade-off between + # speed and memory + slice_size = self.unet.config.attention_head_dim // 2 + self.unet.set_attention_slice(slice_size) + + def disable_attention_slicing(self): + r""" + Disable sliced attention computation. If `enable_attention_slicing` was previously invoked, this method will go + back to computing attention in one step. + """ + # set slice_size = `None` to disable `set_attention_slice` + self.enable_attention_slice(None) + + @torch.no_grad() + def __call__( + self, + prompt: Union[str, List[str]], + init_image: Union[torch.FloatTensor, PIL.Image.Image], + mask_image: Union[torch.FloatTensor, PIL.Image.Image], + strength: float = 0.8, + num_inference_steps: Optional[int] = 50, + guidance_scale: Optional[float] = 7.5, + eta: Optional[float] = 0.0, + generator: Optional[torch.Generator] = None, + output_type: Optional[str] = "pil", + return_dict: bool = True, + callbacks: List[Callable[[int], None]] = None + ): + r""" + Function invoked when calling the pipeline for generation. + + Args: + prompt (`str` or `List[str]`): + The prompt or prompts to guide the image generation. + init_image (`torch.FloatTensor` or `PIL.Image.Image`): + `Image`, or tensor representing an image batch, that will be used as the starting point for the + process. This is the image whose masked region will be inpainted. + mask_image (`torch.FloatTensor` or `PIL.Image.Image`): + `Image`, or tensor representing an image batch, to mask `init_image`. White pixels in the mask will be + replaced by noise and therefore repainted, while black pixels will be preserved. The mask image will be + converted to a single channel (luminance) before use. + strength (`float`, *optional*, defaults to 0.8): + Conceptually, indicates how much to inpaint the masked area. Must be between 0 and 1. When `strength` + is 1, the denoising process will be run on the masked area for the full number of iterations specified + in `num_inference_steps`. `init_image` will be used as a reference for the masked area, adding more + noise to that region the larger the `strength`. If `strength` is 0, no inpainting will occur. + num_inference_steps (`int`, *optional*, defaults to 50): + The reference number of denoising steps. More denoising steps usually lead to a higher quality image at + the expense of slower inference. This parameter will be modulated by `strength`, as explained above. + guidance_scale (`float`, *optional*, defaults to 7.5): + Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598). + `guidance_scale` is defined as `w` of equation 2. of [Imagen + Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale > + 1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, + usually at the expense of lower image quality. + eta (`float`, *optional*, defaults to 0.0): + Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to + [`schedulers.DDIMScheduler`], will be ignored for others. + generator (`torch.Generator`, *optional*): + A [torch generator](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make generation + deterministic. + output_type (`str`, *optional*, defaults to `"pil"`): + The output format of the generate image. Choose between + [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` or `nd.array`. + return_dict (`bool`, *optional*, defaults to `True`): + Whether or not to return a [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] instead of a + plain tuple. + + Returns: + [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] or `tuple`: + [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] if `return_dict` is True, otherwise a `tuple. + When returning a tuple, the first element is a list with the generated images, and the second element is a + list of `bool`s denoting whether the corresponding generated image likely represents "not-safe-for-work" + (nsfw) content, according to the `safety_checker`. + """ + if isinstance(prompt, str): + batch_size = 1 + elif isinstance(prompt, list): + batch_size = len(prompt) + else: + raise ValueError(f"`prompt` has to be of type `str` or `list` but is {type(prompt)}") + + if strength < 0 or strength > 1: + raise ValueError(f"The value of strength should in [0.0, 1.0] but is {strength}") + + # set timesteps + accepts_offset = "offset" in set(inspect.signature(self.scheduler.set_timesteps).parameters.keys()) + extra_set_kwargs = {} + offset = 0 + if accepts_offset: + offset = 1 + extra_set_kwargs["offset"] = 1 + + self.scheduler.set_timesteps(num_inference_steps, **extra_set_kwargs) + + # preprocess image + init_image = preprocess_image(init_image).to(self.device) + + # encode the init image into latents and scale the latents + init_latent_dist = self.vae.encode(init_image.to(self.device)).latent_dist + init_latents = init_latent_dist.sample(generator=generator) + + init_latents = 0.18215 * init_latents + + # Expand init_latents for batch_size + init_latents = torch.cat([init_latents] * batch_size) + init_latents_orig = init_latents + + # preprocess mask + mask = preprocess_mask(mask_image).to(self.device) + mask = torch.cat([mask] * batch_size) + + # check sizes + if not mask.shape == init_latents.shape: + raise ValueError("The mask and init_image should be the same size!") + + # get the original timestep using init_timestep + init_timestep = int(num_inference_steps * strength) + offset + init_timestep = min(init_timestep, num_inference_steps) + timesteps = self.scheduler.timesteps[-init_timestep] + timesteps = torch.tensor([timesteps] * batch_size, dtype=torch.long, device=self.device) + + # add noise to latents using the timesteps + noise = torch.randn(init_latents.shape, generator=generator, device=self.device) + init_latents = self.scheduler.add_noise(init_latents, noise, timesteps) + + # get prompt text embeddings + text_input = self.tokenizer( + prompt, + padding="max_length", + max_length=self.tokenizer.model_max_length, + truncation=True, + return_tensors="pt", + ) + text_embeddings = self.text_encoder(text_input.input_ids.to(self.device))[0] + + # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2) + # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1` + # corresponds to doing no classifier free guidance. + do_classifier_free_guidance = guidance_scale > 1.0 + # get unconditional embeddings for classifier free guidance + if do_classifier_free_guidance: + max_length = text_input.input_ids.shape[-1] + uncond_input = self.tokenizer( + [""] * batch_size, padding="max_length", max_length=max_length, return_tensors="pt" + ) + uncond_embeddings = self.text_encoder(uncond_input.input_ids.to(self.device))[0] + + # For classifier free guidance, we need to do two forward passes. + # Here we concatenate the unconditional and text embeddings into a single batch + # to avoid doing two forward passes + text_embeddings = torch.cat([uncond_embeddings, text_embeddings]) + + # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature + # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers. + # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502 + # and should be between [0, 1] + accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys()) + extra_step_kwargs = {} + if accepts_eta: + extra_step_kwargs["eta"] = eta + + latents = init_latents + t_start = max(num_inference_steps - init_timestep + offset, 0) + for i, t in tqdm(enumerate(self.scheduler.timesteps[t_start:])): + # expand the latents if we are doing classifier free guidance + latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents + + # predict the noise residual + noise_pred = self.unet(latent_model_input, t, encoder_hidden_states=text_embeddings).sample + + # perform guidance + if do_classifier_free_guidance: + noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) + + # compute the previous noisy sample x_t -> x_t-1 + latents = self.scheduler.step(noise_pred, t, latents, **extra_step_kwargs).prev_sample + + # masking + init_latents_proper = self.scheduler.add_noise(init_latents_orig, noise, t) + latents = (init_latents_proper * mask) + (latents * (1 - mask)) + + if callbacks is not None: + for callback in callbacks: + callback(i) + + # scale and decode the image latents with vae + latents = 1 / 0.18215 * latents + image = self.vae.decode(latents).sample + + image = (image / 2 + 0.5).clamp(0, 1) + image = image.cpu().permute(0, 2, 3, 1).numpy() + + # run safety checker + safety_cheker_input = self.feature_extractor(self.numpy_to_pil(image), return_tensors="pt").to(self.device) + image, has_nsfw_concept = self.safety_checker(images=image, clip_input=safety_cheker_input.pixel_values) + + if output_type == "pil": + image = self.numpy_to_pil(image) + + if not return_dict: + return (image, has_nsfw_concept) + + return StableDiffusionPipelineOutput(images=image, nsfw_content_detected=has_nsfw_concept) diff --git a/lama_cleaner/model/zits.py b/lama_cleaner/model/zits.py index f3d3483..db59c63 100644 --- a/lama_cleaner/model/zits.py +++ b/lama_cleaner/model/zits.py @@ -216,7 +216,7 @@ class ZITS(InpaintModel): self.device = device self.sample_edge_line_iterations = 1 - def init_model(self, device): + def init_model(self, device, **kwargs): self.wireframe = load_jit_model(ZITS_WIRE_FRAME_MODEL_URL, device) self.edge_line = load_jit_model(ZITS_EDGE_LINE_MODEL_URL, device) self.structure_upsample = load_jit_model( diff --git a/lama_cleaner/model_manager.py b/lama_cleaner/model_manager.py index 01435f7..1419183 100644 --- a/lama_cleaner/model_manager.py +++ b/lama_cleaner/model_manager.py @@ -2,27 +2,23 @@ from lama_cleaner.model.fcf import FcF from lama_cleaner.model.lama import LaMa from lama_cleaner.model.ldm import LDM from lama_cleaner.model.mat import MAT +from lama_cleaner.model.sd import SD14 from lama_cleaner.model.zits import ZITS from lama_cleaner.schema import Config -models = { - 'lama': LaMa, - 'ldm': LDM, - 'zits': ZITS, - 'mat': MAT, - 'fcf': FcF -} +models = {"lama": LaMa, "ldm": LDM, "zits": ZITS, "mat": MAT, "fcf": FcF, "sd1.4": SD14} class ModelManager: - def __init__(self, name: str, device): + def __init__(self, name: str, device, **kwargs): self.name = name self.device = device - self.model = self.init_model(name, device) + self.kwargs = kwargs + self.model = self.init_model(name, device, **kwargs) - def init_model(self, name: str, device): + def init_model(self, name: str, device, **kwargs): if name in models: - model = models[name](device) + model = models[name](device, **kwargs) else: raise NotImplementedError(f"Not supported model: {name}") return model @@ -40,7 +36,7 @@ class ModelManager: if new_name == self.name: return try: - self.model = self.init_model(new_name, self.device) + self.model = self.init_model(new_name, self.device, **self.kwargs) self.name = new_name except NotImplementedError as e: raise e diff --git a/lama_cleaner/parse_args.py b/lama_cleaner/parse_args.py index 6481f82..3b0218d 100644 --- a/lama_cleaner/parse_args.py +++ b/lama_cleaner/parse_args.py @@ -7,7 +7,16 @@ def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("--host", default="127.0.0.1") parser.add_argument("--port", default=8080, type=int) - parser.add_argument("--model", default="lama", choices=["lama", "ldm", "zits", "mat", 'fcf']) + parser.add_argument( + "--model", + default="lama", + choices=["lama", "ldm", "zits", "mat", "fcf", "sd1.4"], + ) + parser.add_argument( + "--hf_access_token", + default="", + help="huggingface access token. Check how to get token from: https://huggingface.co/docs/hub/security-tokens", + ) parser.add_argument("--device", default="cuda", type=str, choices=["cuda", "cpu"]) parser.add_argument("--gui", action="store_true", help="Launch as desktop app") parser.add_argument( @@ -29,4 +38,10 @@ def parse_args(): if imghdr.what(args.input) is None: parser.error(f"invalid --input: {args.input} is not a valid image file") + if args.model.startswith("sd"): + if not args.hf_access_token.startswith("hf_"): + parser.error( + f"sd(stable-diffusion) model requires huggingface access token. Check how to get token from: https://huggingface.co/docs/hub/security-tokens" + ) + return args diff --git a/lama_cleaner/schema.py b/lama_cleaner/schema.py index dffd984..1f6e3ef 100644 --- a/lama_cleaner/schema.py +++ b/lama_cleaner/schema.py @@ -22,3 +22,19 @@ class Config(BaseModel): hd_strategy_crop_margin: int hd_strategy_crop_trigger_size: int hd_strategy_resize_limit: int + + prompt: str = '' + # 始终是在原图尺度上的值 + use_croper: bool = False + croper_x: int = None + croper_y: int = None + croper_height: int = None + croper_width: int = None + + # sd + sd_strength: float = 0.75 + sd_steps: int = 50 + sd_guidance_scale: float = 7.5 + sd_sampler: str = 'ddim' # ddim/pndm + # -1 mean random seed + sd_seed: int = 42 diff --git a/lama_cleaner/server.py b/lama_cleaner/server.py index 5b44592..0c7a404 100644 --- a/lama_cleaner/server.py +++ b/lama_cleaner/server.py @@ -4,6 +4,7 @@ import io import logging import multiprocessing import os +import random import time import imghdr from pathlib import Path @@ -41,7 +42,7 @@ from lama_cleaner.helper import ( NUM_THREADS = str(multiprocessing.cpu_count()) # fix libomp problem on windows https://github.com/Sanster/lama-cleaner/issues/56 -os.environ["KMP_DUPLICATE_LIB_OK"]="True" +os.environ["KMP_DUPLICATE_LIB_OK"] = "True" os.environ["OMP_NUM_THREADS"] = NUM_THREADS os.environ["OPENBLAS_NUM_THREADS"] = NUM_THREADS @@ -64,6 +65,10 @@ logging.getLogger("werkzeug").addFilter(NoFlaskwebgui()) app = Flask(__name__, static_folder=os.path.join(BUILD_DIR, "static")) app.config["JSON_AS_ASCII"] = False CORS(app, expose_headers=["Content-Disposition"]) +# MAX_BUFFER_SIZE = 50 * 1000 * 1000 # 50 MB +# async_mode 优先级: eventlet/gevent_uwsgi/gevent/threading +# only threading works on macOS +# socketio = SocketIO(app, max_http_buffer_size=MAX_BUFFER_SIZE, async_mode='threading') model: ModelManager = None device = None @@ -77,6 +82,11 @@ def get_image_ext(img_bytes): return w +def diffuser_callback(step: int): + pass + # socketio.emit('diffusion_step', {'diffusion_step': step}) + + @app.route("/inpaint", methods=["POST"]) def process(): input = request.files @@ -102,8 +112,24 @@ def process(): hd_strategy_crop_margin=form["hdStrategyCropMargin"], hd_strategy_crop_trigger_size=form["hdStrategyCropTrigerSize"], hd_strategy_resize_limit=form["hdStrategyResizeLimit"], + + prompt=form['prompt'], + use_croper=form['useCroper'], + croper_x=form['croperX'], + croper_y=form['croperY'], + croper_height=form['croperHeight'], + croper_width=form['croperWidth'], + + sd_strength=form["sdStrength"], + sd_steps=form["sdSteps"], + sd_guidance_scale=form["sdGuidanceScale"], + sd_sampler=form["sdSampler"], + sd_seed=form["sdSeed"], ) + if config.sd_seed == -1: + config.sd_seed = random.randint(1, 9999999) + logger.info(f"Origin image shape: {original_shape}") image = resize_max_size(image, size_limit=size_limit, interpolation=interpolation) logger.info(f"Resized image shape: {image.shape}") @@ -184,7 +210,8 @@ def main(args): device = torch.device(args.device) input_image_path = args.input - model = ModelManager(name=args.model, device=device) + model = ModelManager(name=args.model, device=device, hf_access_token=args.hf_access_token, + callbacks=[diffuser_callback]) if args.gui: app_width, app_height = args.gui_size @@ -195,4 +222,5 @@ def main(args): ) ui.run() else: + # TODO: socketio app.run(host=args.host, port=args.port, debug=args.debug) diff --git a/lama_cleaner/tests/overture-creations-5sI6fQgYIuo.png b/lama_cleaner/tests/overture-creations-5sI6fQgYIuo.png new file mode 100644 index 0000000000000000000000000000000000000000..e84dfc8554d344a69afb1fe8c7b8b2997d4e5e11 GIT binary patch literal 404753 zcmV)hK%>8jP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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%0A3h;01R##8W*(aadImO`5`d8A? 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

B+ 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�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

    4Wxs7e^YFdxVT5kJuAnH=od%3n^Gs5fst29S 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 -KV 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
    ?&ZaUQoc9**U- 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 KMNUMnLSTZGaAg(% literal 0 HcmV?d00001 diff --git a/lama_cleaner/tests/overture-creations-5sI6fQgYIuo_mask.png b/lama_cleaner/tests/overture-creations-5sI6fQgYIuo_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..7f3c753058c58ee3b96814722562b42af3588be2 GIT binary patch literal 12106 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 literal 0 HcmV?d00001 diff --git a/lama_cleaner/tests/test_model.py b/lama_cleaner/tests/test_model.py index 8ade0c2..0c292d1 100644 --- a/lama_cleaner/tests/test_model.py +++ b/lama_cleaner/tests/test_model.py @@ -1,3 +1,4 @@ +import os from pathlib import Path import cv2 @@ -11,10 +12,10 @@ current_dir = Path(__file__).parent.absolute().resolve() device = 'cuda' if torch.cuda.is_available() else 'cpu' -def get_data(fx=1, fy=1.0): - img = cv2.imread(str(current_dir / "image.png")) +def get_data(fx=1, fy=1.0, img_p=current_dir / "image.png", mask_p=current_dir / "mask.png"): + img = cv2.imread(str(img_p)) img = cv2.cvtColor(img, cv2.COLOR_BGRA2RGB) - mask = cv2.imread(str(current_dir / "mask.png"), cv2.IMREAD_GRAYSCALE) + mask = cv2.imread(str(mask_p), cv2.IMREAD_GRAYSCALE) if fx != 1: img = cv2.resize(img, None, fx=fx, fy=fy, interpolation=cv2.INTER_AREA) @@ -35,8 +36,8 @@ def get_config(strategy, **kwargs): return Config(**data) -def assert_equal(model, config, gt_name, fx=1, fy=1): - img, mask = get_data(fx=fx, fy=fy) +def assert_equal(model, config, gt_name, fx=1, fy=1, img_p=current_dir / "image.png", mask_p=current_dir / "mask.png"): + img, mask = get_data(fx=fx, fy=fy, img_p=img_p, mask_p=mask_p) res = model(img, mask, config) cv2.imwrite( str(current_dir / gt_name), @@ -153,3 +154,26 @@ def test_fcf(strategy): fx=3.8, fy=2 ) + +@pytest.mark.parametrize("strategy", [HDStrategy.ORIGINAL]) +def test_sd(strategy, capfd): + def callback(step: int): + print(f"sd_step_{step}") + + sd_steps = 2 + model = ModelManager(name="sd", device=device, hf_access_token=os.environ['HF_ACCESS_TOKEN'], callbacks=[callback]) + cfg = get_config(strategy, prompt='a cat sitting on a bench', sd_steps=sd_steps) + + assert_equal( + model, + cfg, + f"sd_{strategy.capitalize()}_result.png", + img_p=current_dir / "overture-creations-5sI6fQgYIuo.png", + mask_p=current_dir / "overture-creations-5sI6fQgYIuo_mask.png", + fx=0.5, + fy=0.5 + ) + + captured = capfd.readouterr() + for i in range(sd_steps): + assert f'sd_step_{i}' in captured.out diff --git a/requirements.txt b/requirements.txt index c635120..b029bb5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,5 @@ pytest yacs markupsafe==2.0.1 scikit-image==0.19.3 +diffusers==0.3.0 +transformers==4.20.0