Commit Graph

276 Commits (5efb3d8efb25c5d00a1a75db0d25d42fe64304fa)

Author SHA1 Message Date
hithereai 78ed48f9dc semantics 2023-05-21 22:33:33 +03:00
hithereai 9bf3f3d677 remove seed_enable_extras - unused 2023-05-21 17:51:36 +03:00
hithereai 1b9301d82f p 2023-05-21 17:20:47 +03:00
kabachuha 47f7140c4d Revert "add license notices"
This reverts commit 37504733b4.
2023-05-20 11:46:21 +03:00
kabachuha 4b07029029 Revert "change contact notices the discord server"
This reverts commit dc0031e1ac.
2023-05-20 11:46:16 +03:00
kabachuha dc0031e1ac change contact notices the discord server 2023-05-20 01:26:40 +03:00
kabachuha 37504733b4 add license notices 2023-05-20 01:21:16 +03:00
hithereai 504f38a831 פ 2023-05-19 23:53:19 +03:00
hithereai a7beb20909 clean 2023-05-19 00:19:31 +03:00
hithereai ee2bb0c7f2 Update render.py 2023-05-18 13:54:00 +03:00
hithereai b0b3f52a55 Update render.py 2023-05-17 15:12:29 +03:00
hithereai ee024d4bfe Update render.py 2023-05-17 15:12:11 +03:00
hithereai f783821d8a C1 2023-05-17 14:39:16 +03:00
hithereai 9912465870 Merge remote-tracking branch 'upstream/automatic1111-webui' into pr/709 2023-05-15 16:36:07 +03:00
kabachuha dac0121fc9 add switch to deprecated grayish colormatch 2023-05-15 01:23:39 +03:00
kabachuha b280841d1e fix frames grayness 2023-05-15 00:50:04 +03:00
hithereai e2ca6c067a Merge remote-tracking branch 'upstream/automatic1111-webui' into pr/709 2023-05-12 19:12:40 +03:00
reallybigname 1856db88b2
Makes optical flow cadence work with hybrid motion (#708)
* Revert "Merge pull request #422 from hithereai/sampler_sch_fixes"

This reverts commit 09c99d10ed, reversing
changes made to 97ab68b13b.

* more vertically compact ui

* Revert "more vertically compact ui"

This reverts commit 0826d76e2d.

* Makes optical flow cadence work with hybrid motion

this one simple change of moving the routine allows for optical flow cadence to play nicely with hybrid motion during cadence

---------

Co-authored-by: hithereai <121192995+hithereai@users.noreply.github.com>
2023-05-12 19:11:26 +03:00
rewbs 5955abb18d Better output formatting (including error cases). Include whether current frame is a cadence frame or not in the subtitles. 2023-05-12 16:35:40 +10:00
rewbs ab05c05850 Allow prompts as subtitles. Optionally embed subtitles into mp4. Fix subtitles with Parseq: use getattr() instead of __dict__ to ensure fallback to non-Parseq controlled params works correctly. 2023-05-12 11:45:33 +10:00
reallybigname f39acbf486 fixed frames for 0-based counting in inputframes
also removed the stupid switching behavior for max frames when using a mask??? wtf
2023-05-08 13:41:13 -07:00
hithereai ea2d899851 fix 2023-05-08 22:27:43 +03:00
hithereai c360360b51 add ancestral_eta_scheduling
todo: auto-show/hide in ui
2023-05-08 03:28:20 +03:00
hithereai 6095dd757c replace ddim_eta with ddim_eta_schedule
turns out ddim_eta is a global general setting param now, not passed directly as a p.ddim_eta any more. So i made it a schedule.

Todo: only show in ui if ddim is selected.
2023-05-08 02:57:45 +03:00
kabachuha b5055fe7d0 fix frame_idx not being passed into prepare_prompt
Pointed out in https://github.com/deforum-art/sd-webui-deforum/pull/610

Co-Authored-By: ali42 <7451075+ali42@users.noreply.github.com>
2023-05-06 15:34:30 +03:00
reallybigname 03f54a3768 FIXED optical flow cadence
Properly normalized the optical flow field before warping and after warping based on width and height.  Now, because the range of the values are between -1 and 1 (usually much smaller), the flow doesn't get corrupted by the grid_sample for 3D or the warpPerspective for 2D anymore. So, I was able to remove all workarounds and just fix the abs to rel and rel to abs functions.
2023-05-04 12:37:34 -07:00
hithereai 0348eb683c some cleanups 2023-05-02 11:45:52 +03:00
hithereai cbdfa5dc3c Depth Revise Part 1 2023-05-02 04:51:25 +03:00
hithereai dde01b3915 remove commented unused imports from render.py 2023-04-30 21:24:49 +03:00
reallybigname eec4c7a348 quick fix for progress bar during cadence
makes progress advance smoothly during cadence rather than skipping ahead suddenly after cadence completes

left line commented for state.current_image, since I'm not sure what that variable actually does. It doesn't update the preview when I try it, even when turning up the speed of preview updates in auto1111.  But, if we decide to make a preview mechanism or need that state var for cadence, it can just be uncommented.  It matches the format of the one in the main non-cadence loop.
2023-04-29 23:31:19 -07:00
reallybigname 352a8fdb07 Consistency flow masks & fixed Frames to Video
added consistency flow masks
- there is now an option to use flow consistency masks and an attached option for consistency mask blur, defaulted to 2.
- if you save extra frames, it also save consistency masks now
- you can see the effect on the flow in the flow outputs as well
- it doesn't work as great with cadence because you see afterimages, but if you up the blur it can be a little better.

fixed Frames to Video
- made the ffmpeg routine that Frames to Video uses able to take image files other than png.  If png, it includes the -vcodec png as normal. But, if anything else it includes vcodec libx264, which works for jpgs. (jpgs don't work if using vcodec png, so I made it switchable). I haven't tested it with other filetypes, but I bet it works with others too. The png vcodec was specific to png.
- also added two more lines of instruction for how to use the file string.

- I also changed a few ransac functions for future use. They work as normal, but now have a switching behavior if passed depth. But, I'm not passing depth to them for now.
- a few minor code var name edits in hybrid video to align code better (mostly changed matrices to M, as is often convention

- commented a bunch of unused imports in render.py
  - I'll leave it up to someone else to delete them after it's verified that everything works fine with them commented.  I searched and didn't find them in that file. VSCode showed them as gray automatically, but I also verified.
2023-04-29 22:37:49 -07:00
reallybigname 2826e6d476 removed extra generation after generation for Image and Video Input
It wasn't working anyway, so I removed that mechanism and restored it to the previous behavior of just color matching after generation when using Image of Video Input.

Also cleaned up some code and added console reporting about Redo cycles.
2023-04-24 13:37:10 -07:00
reallybigname 5f3c4ac82e consolidated prompt code
saw an easy area where I could get some prompt code out of render_animation and into prompt.py
2023-04-24 11:57:40 -07:00
reallybigname 96e374844e Updates to Hybrid Video & More + Temporary Removal of RAFT
Discovered that RAFT wasn't actually working due to an issue with the function that got the flows.  There was a missing "elif".  So, the RAFT flow would get calculated and stored in the variable 'r', but then 'r' would always be overwritten by the default Farneback at the end.  We were fooling ourselves into thinking that was RAFT, when in actuality the RAFT flow is invalid and causes an error if actually used.
  - Changed function call for flow methods so that this can never happen. Now, each case returns directly.
  - Added to deprecation utils for now. We can remove the RAFT to Farneback conversion when we get RAFT working

Realignment of the way I handled frame indexes in motion routines to align everything more clearly

Major improvement to motion using prev_img during cadence!
  - added a prev_img during cadence so that there is a prev_img to refer to for the flow

Fixed color matching issue with first frame on Image and Video Init modes
  - first frame color match can't be done beforehand, so it's done afterwards. But, that normally makes for a very bad first frame. So, I added a redo for it to clean up the color matched image on first frame.

Major improvement to RANSAC
  - switched to use SIFT for feature matching instead of Lucas-Kanade
  - changed all border_mode to REFLECT_101, which matched how optical flow handled it, removed all the excess silly border_mode translations. This works much better.
2023-04-22 06:22:15 -07:00
hithereai 18c5c5aab7 set raft quality default to 50 instead of 12, fix optical flow cadence always being Farnback 2023-04-21 22:32:27 +03:00
hithereai 41b9e5220c fix 3d depth glitches 2023-04-20 16:28:52 +03:00
hithereai 2d66ccbb85 Update render.py 2023-04-18 12:05:22 +03:00
hithereai 7a1bec43a5 activate raft on redo_generation 2023-04-18 12:04:38 +03:00
hithereai 599fef64f5 fix raft error 2023-04-18 11:39:23 +03:00
rewbs 20c4fac824 Parseq: when delegating seed control to Deforum, prevent "AttributeError: 'DeformAnimKeys' object has no attribute 'subseed_series'" 2023-04-18 14:18:24 +10:00
hithereai 13b6acbdaf Add RAFT Optical Flow 2023-04-17 21:57:01 +03:00
reallybigname 65f9c3bf19 Made Optical flow cadence work in 2D mode
I figured out a hack to make optical flow cadence work in 2D.  To do optical flow cadence, I have to warp the flow field.  But, the 2D animation warping function, usually used on images, would mess with the values of the flow (as if they were colors).  So, I scaled them down by 1000 going in and scale them back up doing out, and it eliminates the effect it had which would make the image wobble around.

The same scaling actually messes with 3D optical flow cadence, so I leave that working at the normal scale factor.

I also made one modification to 3D optical flow cadence where it temporarily changes the sampling mehod (used by 3d warping function) to 'nearest' just for the flow warping, then restores it to it's previous value. This should help to minimize any pixel effects from warping.
2023-04-15 17:12:41 -07:00
hithereai 5c544f952a fix depth errors 2023-04-14 12:06:11 +03:00
hithereai 740f248ce6 initialize ZoeDepth with img size instead of fixes 384*512 2023-04-13 01:42:22 +03:00
hithereai ab6805a555 add debug_mode IF to print 2023-04-11 22:39:07 +03:00
hithereai 381008e133 clean 2023-04-11 22:36:24 +03:00
hithereai b987feb5d3 Introducing Zoe(Depth) 2023-04-11 22:31:19 +03:00
hithereai 3cfa2c0744 add .srt subtitles generation info support 2023-04-11 00:42:39 +03:00
reallybigname b665c36b36 Made overlay_mask work
Overlay mask working properly with static mask or video mask.
- made new masks.py file that we can use to consolidate other mask functions from main render code
- Overlay mask NOW WORKS WITH CADENCE.  I made the function switchable between PIL rgb and np bgr and inject the function during cadence and for normal saves
- I didn't use old code. I just made this work myself.

Fixed one-off issue with hybrid video where the first frame was duplicated. (it became obvious when doing overlay video masking)

re-commented a few lines, removed some whitespace
2023-04-09 03:49:38 -07:00
reallybigname 1e6eb6201b Removed extra color match code for resume
This was an afterthought, and after further testing, I don't think it's working quite right. I'm not sure why, but removing for now. Will re-examine later.

I accidentally had color matching against video on instead of LAB at first when I was testing, so I didn't see it.  Maybe I just need to convert to BGR?

Anyway, this restores the previous behavior of color matching, where if it resumes, it just matches against the prev_img.
2023-04-07 22:00:20 -07:00