From 8dc09e9c9b69aac4674ea55ef3c735e5279147c5 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 25 Jan 2023 11:02:48 -0500 Subject: [PATCH] fix image orientation and tune preprocessing --- cli/modules/preview-body.jpg | Bin 9297 -> 0 bytes cli/modules/preview-face.jpg | Bin 7968 -> 0 bytes cli/modules/preview.py | 30 ++++++++++----- cli/modules/preview1.jpg | Bin 0 -> 7293 bytes cli/modules/preview2.jpg | Bin 0 -> 8222 bytes cli/modules/preview3.jpg | Bin 0 -> 7793 bytes cli/modules/preview4.jpg | Bin 0 -> 9269 bytes cli/modules/process.py | 36 +++++++++--------- cli/train.py | 3 +- .../sd-extension-steps-animation | 2 +- extensions-builtin/sd-extension-system-info | 2 +- requirements.txt | 1 + 12 files changed, 45 insertions(+), 29 deletions(-) delete mode 100644 cli/modules/preview-body.jpg delete mode 100644 cli/modules/preview-face.jpg create mode 100644 cli/modules/preview1.jpg create mode 100644 cli/modules/preview2.jpg create mode 100644 cli/modules/preview3.jpg create mode 100644 cli/modules/preview4.jpg diff --git a/cli/modules/preview-body.jpg b/cli/modules/preview-body.jpg deleted file mode 100644 index 9f3ef70f621ae60b2253a6f4685a4fda327abbd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9297 zcmds52|Sc*+keK`lHCx>k}XS=K}y+;L4+}eP%?J1&Y&n-PQ_#&WIJf=TiK(1AxkD1 z!$G74P4cQ^&Hm14@f~ly$LVywzTfx!e$PGEy*&4Q|L^O%{?~QSa`*CcfYV6dP#*wM zpY5RS0I>W5aDp9kcL4ws6F?RK0A_$5BnU82B@p%10B!yv>w}~L@Jc%!wNnwGmH<2T zJwSZ{fF3^p0AR}JUtb4zZ>)m1GgeeZVJEQsl1|G|SJ&PQVXALv45Ka&0CYRG^>ko# zoB-hEjrB*sbwsTX+K4i>0gNlFP^WZo#Q18PnHkfj_xAC2rv3i$neJNICD0*Ho9mB# ze_CU4^!3M5M=elasFO3sk&0?3RrUOvg-<(I4e4G#TrBjJ7VI>*IUe-`&*>E2_9>&mK{2Cm*!4 zsKs#%*4YaqYUu6gL-J$#&Q!hGd? zL42*NZL1482KWbls)6W~0N~H+t8=9D1Au8R)o2!0+mxdKAd6~|9Eq!KQi=e;xdQ-h zr!PMRbOGrt!s5aL(&Agi<>jPz?sL-Kr>eRy#QKn-Q{1VPq?l8YxU8z-2U$hErMSqZ zX#X=CSok*a3kXU|ZIhOfRaV)hx_ghB zt{zMuZeVC+fwV+fQ4h<}$=Su#&D{fo4G0W6c0Bm(FXzr*2#>(U;}a5-E+wa=60&o0 z^YRM{iz+Iss%x&*)?L5sO?~9kO28V`UQ{IgHK0YxyH9hlT zc8-P%M8)~}`6@0hDlR&DdN4f`4Ht+mi28!L=oz*uGIDF1GdcM2h(S*?Lv-RUm*3kU zu7r5ci}r74;ge8)A^AHE+6uDu0Xy?u$i4tu#nlV2fTKj*mFSS>Zmx7E`1NKtMCg#nw?Rc_hEk_-l4#Uoi7OM0&g$SyFayB=$WJa1x;&<`56?=*3~6m- zyIENyu50-4&nf${iJPt8x3#Pv&`Rx#>w#v`5034NL{4%-lFYI*aZn6>LNSpxR}O zNJNq(tzSC_iU-ogSeQ#74_^Xa8kytgeuXWibXn$od8Zd);2FbYq8xnAYt2LtlYLbLU#sE_v>T~&gkS% zn^k%Wgd+R3&)OSnw-Iq&dj)Q_kS#cWrt?reSI{Oft852ewXcos&B3ZvWB2ZnxGorL zq=2c8oDwWe_C3C1Sfs1cqah!I`cHUgro$?q?mPPqYhSv-Zgbf+i_$7K@j!~Y38ur& zL}OpiM#nr4a!Bl;zM+f6xT#cpN$mfHP$gB9{IpNvZ24d??))jWDrYQvzO24>$t^yV zoP^$x6@3WG#JYWNY88TiRXLVkI#%b2{p_1hXBxTNnRF97$MhW{8Y){n4LKq7r(k$mfka) z$`jaY+lElgtjy{hkdCs9d>KUF-L8qMqiR?ULba0E&sN(BznfRMRkk;lWig_1Y?RUk zoHveUE7!%2wqB>8JG>m1*j{%=yJNPFSMv3eY?JCe8w1rDu(%=|ua?uWKbio6&Kt8T6{F|@{(*#6Bj`QvnbGOar-hFj>-|LD{$l!*_au}uH2?87E(eA z!*+b;{L6snf?Q~RN=%}_@9v!WP^CQ!=iCrCgyOcCH89t^6;JX?Zauf|jf1wt>h73p z>bykPiW6kBO3#Ag?W3Y;in?`PG-n!^>V&!#*ob;UnXg)H^##Vhp~;g{7)TmK0>)c|R~3?k^GBh>Z-~vgl#c^yF^`&6cjqFQmZvEn&I#H!il- z#A^)tO%+`%m$w^s_tc^PCt!g+VHb~b$c(%OQ)GwILoIU*`*x_L|Jp;)BO@dKHXdpq z_g~r}H4Xzu4u-1u*v4?fMaOoAv5*uf5#kCsg3b>n^bPVI#M&s$n|CdvWK;*XE>WcL zfx5Q8GVsP_{Sb=>!L4FW#(7ijE(1o@z8PLOBNm6mQUlQ*uXn&aT-MOt->!O4;ugl6 zDRiAgg&nfZN}WrN2b(7qq_4pYwLhh(yrvelVn z-BNT*_@QWCeZwq4!hy`TD&5SKPzz+0q3^g}NYs6TK|$r= z{~49n2K6t1KX>F8X*}9=Zz$a6YU#CR?%;S2Lba6fA;DKzFR-vx;vC8={TYnx^K`eS zQK4LfQZAu#`zL>4U38J3zTAlPdD7YZYT`(|<~te4%hCGI$A>RnZt!rCTsP(a$;Hni zaeu8jIh_UQBZ-ZV&SYG{e6VbK0vF7pWU(~gNR@OTe@Up2!@KCxs&h3y(G z(A*v-JvUQ~8_`QK!d2|QZrCsvaz@h#cduqZC#<(Y=BP>?$^4+;`tO~fn9|GvJ#|QG z%)z72K$J68(e(yxgaUj{S=!^OsE9#Uk%E$c37)K|l6b!mQ|c;7uB~)gRmW=;=7r)O z2>XVn1&?Rfge9X7)H{xsij9TGLn%cPKY)j*O1+i`AGU{6?kFzEc7fOWp+nIc^ zG%X=x=mx^UP1&rSLV}07hyqKDi)>DvQ9O0ou#ZUtB;eRg58qfM$7Hdp;jm51?IQPv zo`_O*G>+W*V-Bpp9q*Om^G>mt&wZ$;{?6#x*)BwoON5*0ryZ~+X|tM$W6e|By7J_> z^)$l=mms9twDLId6bV=F5`XvV!ekolf-pt`cVeDyo6IGJy;{_`FpGTT(1;1ewf=>G z$?h?Uo_1L3$sZBlG`@(LLlrx!)}d$&1lEP)oqKfKe-nv9UcxL3kIqM z%ZY2P1Wj>qh#8aY+wvY$O9|w);u`8q?WN{;Q9|g*I9pUY2jx<;~pL_y5B?muW z9MiT8bfU0M4cV%J9uXSn8U!Io$X7Z0s|3%;SfY5MkqkENg3qBdks_^KE334xtfHX| zH7HOkr#q#FT?SBflaS{-6|GZ0rJo?;z?NskrQZw2HlM7I8mV8ZF6t)6wHtqqGwa_2 z=rc=y*`Ws|{sgIU1k6&H|7hs&!w{aTB^4+P_A4)MiUVyhgFI>nw6$#HLV#@md*p>| zRzde}6T2bz$GJkWQx<1!Qle-o1ZPog=blFXYzG#Twmn#}WT?)s`_^hCT*nU4Z{drQ zO!Fe-jsW~p@|`h`VNZimy=zJ<1hX*}8S*Z6+RUcZEu!`6Brnt%CP+p(ubdC-uM4#j zVPl0Vww8G3i|nI19Y&)jJ^YZwkLLYN!&rAmR;;!VTsZ;MssGX-u~8rBRF|@cw#tlL z;Kid{BKmH9^0zHZg(8Yv+tF#_&Zid_2Q%M#z;gRNIKoeBb1%|)J2La7 zWD!X;T1C5EUruU_$X)i?4%fvBtm>{ynoRR&=SZGRszD=NzS`xocXnTd47Uv6`66aS^KTJ*EYN>RoOnkJe-+|GlbM zT~+`4otaA_i8h@tCgg)ox4LScv$NN6ijA2C6e3rJ8EN^)Ht5 z!X0onP2?4QIE^zq9Orl+*%ex?(M{q!?rlm+x2*4v43td9lhad;eiWI1Qa&3|I1JiX zZ%Py~&2_Ohoes%Chgv*1DeH7SA*H?jVA6^nFmpMfhbHD!iKwaCCF>!f=nflLoP?$x zcywHNzHXuDkV1b}&7=2^gB(eDw$YNkvPS>?jMnsWB|sA$s5dux0JDiRdE2qJ_ZjL9 zZg0&No2hxV^PODxO_*IJuxzQfd0}H$CyLd!hj=|ReYZO<>DE+QAf#IH1S)#JR^7B?8`@VRk-;M|@^eUEm(f#AW*y@wRXq#yu;y9(kV;yP z$x#1sr-cgEP!;Y&`!A|W7f4HIF<#$(mi_X1%-I9q_s4c=fwZRprrV_idI3=aE#fQQGX!J2sE2a)y~ zcih9DU3}GY52P0uLC5arZo0+qQa~ZSt8r^X?mPL%wB)-3D(LW%y=;sAn11_*PIYf% z_?FO|@*-Rv)J2{5@_$B^H5>fS>S2=0_?2nlc-Bz$q7o*ahnUEnOW0Ie>VW&4I(*-y z8zgW>#$~q|)C4_p={9CoF|)sLa2Yt(DcyHTtomQ~>S|q=gmLOcw`@?N(s}`X zckr7|vvi!fG~`oi)o#UCGVsjfu~BPnsxmU+JI~DOPFizi-025gr>9gbY?)fZr~5nz zSBz7lU~XDJtDIW?}SWPz4NZ&0~W#iNfk{Z z0jCR9bYQy{LVvM*JpIm29N^ih&lya1O`C8xcZL~<7-UydJ5Ga zx^$O=bon}-SQj_Xx4RTkp%fC^ZVcDWy*&?^vMWWkizv2a{37^xKjJ0P=v$Ocmr>;B gu#Ft1=6%Hv4KHRX7&ETf=~l|ThQj}>3SRE{H=(@bbpQYW diff --git a/cli/modules/preview-face.jpg b/cli/modules/preview-face.jpg deleted file mode 100644 index bf1246e0a8e243c5dfd70c0cfb64a96f63596930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7968 zcmeHMc|4Ts9)HJRkZg?_r7RjHcCvHo zh$4*T*pt&9lO;lFQ|69y&pqefb35mg%)R%Y`^@M0z0bVw^FHtU{Vm_;_dXA6g!Kdv zF*U*(0U!_vIL!V5tfzn*=A@Sg0GOKtiU0uc0ou10aKuB(bZ<9d4W#B4G2sK?d zw62zxZm5F`){PRLk)9MDADdInypvNrS{57M&gvYUU1YIXnaynRk;VMXdcQIVNJ&LS zS5x-{8hzq@L43jcRTowhAj-$Zes?fP4B!$4fki>A7C?&q<~(ejtf=MJ0^$O5^YB9W z_yyLnJJg5(Tp%!*iyO?t!_Cd^9mc*6aEtPY$sp0Z8?0R+vLvYbIm$IYxIsm;IIeF_ zPJJ!L@b(Ulgd=Y59!EXByaUNW zCxTC&3i&P~GAjB)Ol)#WYFhfG%Nf+%y!?W~A{xE8vZ}hKwywV6hue2rTJN^CcQE<~ z28V|4jocr7`t14GIP=BCo<#U-@X6vaRnEMjq@Mn@4)_mOO%a^i<=wF4Ozhj z;tFP0uqZc=43bw2Z4GfHZID$z#|Jf_T&rm2hil;G#EAiY0vqK}Pq)vnK>G#R*8w~K zO~`%&_B*aoKoAUK8xJfB>;+nL!vzq)|Hc1x@E3k?_0h1;cT3fBM|o}tsB(+f2~orj zGg^Pjd1CuoW}yno6~g6HB(filfLj&Oz-6kWg{)Tcd^7aW)N{L!0@`;{UnKWDL#IWy zeN}=$WkHA;~Un>)4OFcV|I2W*)87pgWE)z_(65Fx?3c6{g4!^L6& zL=M;gL@1gNPmPJ*Rlge!D|QIaNe&g5I97`5-EgIUTiLR>Dh83Jf}(`K+p!GnE%P4K zRxgdPv$ZM)ta}9rhF=asPy*DC(G}|$BDTk7f-7M-13LD@>BO)-8|>*1W7}UG9hjAN z>B=}{r(GVKt+7d=e^mLV1bO)tX&E(e0Po=oZGl>W zFu;FJ=p#lQ#YNmN&l3pB(p6odr*jK#tXHD$s_pO**)PcgL>DzRkA_kmzTRj8_S9p+ z666nZi!Z%rP^03MPV9!3aXDP6&gO|(mD~pNN>x(tJ8{$f3t8RHHwMOQKQw+i`)F%p z4Yp7TI#DS7pCY?tnB0}OEd@ynIegOx^}kgya3pBjZTkq+Qy{YJpA6+6lJT$Gi9CYd=&J&gnkZ*VV?j;Ojd) z%99Y1STr~|q*Z@=)y@qrgM!jR3tp%@h3naTQo>VH47?=s6mW)Id{gVmTItA#>)Xat zB-NH{y!Y2<&6w#5A6LNg^1Yh2#fn1#>wP>N6rNt`1}9#-N!_q%T0~`D?{AR2@t2jj?NLE^19gORBh!}z8Y3BZe;%45~1wGbg{Wz(0_Jtd@O zDfb2*m6OKr3K4|GQanc-Q^~|JSUh)m2Fj0 z(Z+Mk6pNomh!2o$lT?NiRV5C^A&dR)ZlD;tp{{eqV^N~rjq*@@XKs5W%-y6}+!Vh( zFOBZ!s%9~t{Zv=VnjnJVh#Gm{UeYla#p#i$8INoV{BGK@y`BoSP31ge z@_JPGZAPj|tIrwJO6rjO*Ay|fj_Sr5HqK4Mud97~_N-ttTr)Py1i@rQp;FSmt-M#H zF1f?>Odft1inNM_lEGY+e#{sLf`TAteB%$JbPP-PY~N~psKBf==}pky8M{`B9MKwY zvbM)NNC9wwWq&TFWuP#xB*$HvK7m0S(m0;x@HWW65_7~9s>aYVTMeip8q~D9 z#^-~J`9%LbSW{Vi6bE!G#-H7>P!-WbnzrtR7#B4z!IC5eNi$ZHejEGccBCus`-l%9 zq}T53!&$A(PyT(<>d=1*+X0ufncpW_A_N^M1P)B)&v2ikjenM0Sx(c_$Z&`*DsD)Y?6 zw7b;lXwkcOtG%}2SIspnp$?7h9trkXb9b7h{g5cVYWI~$d#IxSjh_m`CL?dQ%f z;G>3(59W~UY8<;r9}FQOSa)2g6j9|dZ(AhsbE)2EbrsF;k-B@iRa@ZOo}kpGXHALZ_mfg zd|7}L@@(VYE4$?HD{AF|4Z-x>3eDf~a-apyyaoF)GwajfrCak$T1(6tCy5{15uD7U z!Sr)==q(|%y#?ysb&j{sj)syCL9HOj05fNXCGN$C0r$fLIzo{#Wt0>N z&W+DD;c+jq<5lafT2UNF-Fxe@h5VD6_0z;$OyjgBAaL27>zs07>Bdw;FZj`{!(rxD z!-eBATN{sjR?ICwkdcD%+{a`F2Iqr(@Ggalt$L)@DAmv|!4)eWE|9H?K4K44HNqEgQLN zEqN4ir7h4l*NlSmB6tyubt`Do2H(y&e;wZq1)bvuRV{@Vs5E{Y-;{zTspv=vZDxE! zQ?l?gsWLZD>^HiPwR4wr-6`R@MEz>eCHf&#RY9u;I}0HlYPW}SYfQ%u`5M!^zR6e; zs-za{5`9fm9Qp5a8At8B`J?hDUC8J0<(kan3g^ie&+^lg>jx?Z`jsG7i~zoN&5WGt z)h`+(HjCVlRE(zrjNzhjX-HAm-R*bbh3a*cMXjS4{c(Axn~}6OZ})~1m`~={$$p0yq?uej*v=AgoWDq z`=j%R?k1K~ENrE$sqMXluUzI7y)3)YFWha=K6`#rYbh#1KJcAJO;7b?=9vr(cX1m#q|*Z1VUTNbTt!43bj&q}YvmDPJBC6pX80(p^eDGxK5FqoLejnGz_ClgY*x zH#_JuQP{_B-VQAGCSGFQu{SNz!m8UWdu;Ob%(ZtT9P494X4 zs&&q5CT1>?h)zR&1X?qV)3C_hq=}Q7HFjMcOs~K6DWJk$xK!r2z8cNm z-C%LBrktGgtnT>xb!QXo)x|SXaAw@svrHn-RJRzfM$3Of75~IZ@1G^xTlK9qO(#ycD?Y9s$g9=qc(j~P&L4|rbS;^yV*Ouxpx(^-1Qc{6rHS4V^p|fR zL@Wnw$8v(q;Rx3#Aj!~dAGEN4CVxyJo&{8T&*)S*!YU^gzDMr4RqDg0NBZ)OTO%HEhB{SJA>8WEcoI;zh02^#|w1@Sy3kpAX8!74C_?}smb-GXxuciKZ zbeCgC=qRe z5D}}!kRTy|h7ti=TM$sZDj-+|wcGq$U%zK&1yv%#Q@BO~t z``$Npe(VZh$e{Vr01yO$Xy^ls^#gI#3_&~q1O@^`0049W1ZV*up(_w73&0t_UDH53 z0Dt;B40`ASKsE3lRDz%~endlM{69~>SH%dD)0~o*r_FS8at6lw03QJVffdfm9FMcc zksR>OUUA-DbLV=k50CPTE6Cg-`7ASEB&{20kyiFri}KsYPWBEz92*`j1Bxc zHZuMa(1Aqqa`Q^}_D&yB~PQ+fEj^sBXF!0_z)U760*s-S)Lsr z430qRpmg=n)1U?#LjVTC;V=Xoi9{fv)*GPb0Ky1qZ0+K$^L}s)$|eQlnpLn@7q>{= zjAeD+v7Hl}nyrU6F*P%{u(O|qClJYQ?sMmTr7foWG1wuT(6I2OTwdJr_!WGC zaCO?6^tBluulsakPVT17d7{E1aj|53$&ON4nOsr6uR>W_`(>TxV0}a5p(8D=ZAXu_ zA3xD`w!7!t_vbJ4_Fuhr{l>tLH*fuP_ul;n4<9`q`T3V|Tp)z=`SBlMui-L+aKR7= zI07|}3xutO3fu^Rw06-k_6|nHq`YtAnx%_bRIpdwtcRP!x`T~P?L?c{lKbuMjzfEj zOgmuNlS1|zuot*`f$4A%nmo7>un=gIWuo!G|Es^)1_~)c(FWK#=>v9N*7GaC;#uO$ zV$hOdEd)dgXAMAI;&Nb!GJU)a1_-7g|GJ9R0b>{Yr%4g2;D{eJrZ8l_M$oo$h;dCF zNXi@Hp47!OZsN`3j)qF}Sp(C|RS84fY#0BMbUf+6gK9(BwrI6)gaPB*Eb6h?&+Dy< z*TS~sh-eqraW0~rOyLcqvQ-yj)RuI(v5GjiUN>%I!`EM2Ml32C(va&M3g_(S-AjX6>B{cF7%#Z0c=y;<7S#| zDGIgTI6UyVNs{bV=#>DpDu7{vZ>!8sV{}FIETvL(H15%po(&xq z&}ODQ3>aSnvi{gT7mg{Snq=41oM_;IDg#qvV#8@t>S7{! zd}++v@V;geYo>s2v@Cper~$c+XTSavVQ0oYLU~}mX}+?WF!XC>je|MIQH>?H`uJ1y zCiw2xx_W-=PXWx`Vs&fzu=U}GIPEq~%0zjdEC9WOhNPY_7NMs=^FaX~tjQE@a7|os z#y}HMoQe+!buRx*pbGOlSMAEhGuNFp6u+Gt&qw@6xZxekDT?8~zjpIS>?QV5_RfJyC zBrR^IN%j>4Y6ktb&M@4K|5V{aFz%!un0hI4_-+T5yrm$})xyPzty3L&4C2z#?Mv3Q zunkYV!y0W;ObY}e>y{O}$sQ;Z1*TU&B+b`Bdh@w>{L9*`g&nkL0aiXC}{>4z9%em7D{4=7t5u#BcJ@{Az#8=T|{5kWBhK>6KI=McNPy1x*XY) z5Z{a`wQ%PpisJMOn4R=eahD_G9SHg+1I(DkSn9#da~3m;`37@*wBH1 zc%`*_SVPfAm4)8~a`JHV`Q_G=_J!wt6wW^EZ*X~UmMWox)t83dNian*JXwzT2`|tu zGyhdLK?8C7L~%cg__-^h7IJfMHL84T)v}U}Qy_e{oBNf@$2mY^gcZ`Y;||fB-eHNi zB>JQAW|Q`@*Y^b|1&nynO5gS79btjv$%ch)?re!_=C&!BWYp}-nAyP;3&}2|-QFu9 zwFUA$=^Gc4yuGQ&*M~9b-O46~epePI`H+QwO|H`TRQ>4DO`}Jvvc&JYB0rsQ{2&$J z_gabje7Y1{EtFk_xHfP8hN)9i*teJDtM7IA?Mcrd_mwrPe7|)0=I-7@r7~LQ6m8&4 zh9XLHO?taaW*nG{U3PgH(uXR0GOt{9odvCG6OB^e>;!PTWTN>Guu^Mr@(Cu5+f3j>Li0bDrko1hCtf?3MM?0Ok^fkE!}4@u zHqlJpu87UUOQn-{JP+nf`3itNZSznTXT^5d#=OMrfn}PYkLOy{ zda;RawD^K;36^ROoVbR0-}S9DKYQh9Oa z<=g;~B55u|A`0jp4A^>)fK7QY?m^nUmcR!+(A&bA_QfVI_A0?L29oQ#>}n66+Tj+p zGvzcV&$zH;%JlHREDZ1aShIt-)q(0HdrAe#fRQVrRo)}0f9);Ik!5FVrTAu7*m0wE z#;nHeK)30JpE?~C4ia)p2z_eg_Rae8ieBIcDT5RX_g%^)6hp!yUmLAk{8)%K(Q>;A z+K$%kf6TW%@s*|EF|V3yw_`=M!x}f=t&`V`i3N1vP1hsx`T&i+PEO?=V#1mxtiE^) zV*xkvE?upy9-|7VF#M(2I^_+KBDufwbu*!)e^pN$_NJC>)RwisZzst_GhJ8Vf#4!h z{Ys=m7O5(Vc-tj9lG%*m!*6(Gr9 zkPf2WL-)t(w}#r zJ+?_T6CfsYGN(TcxQ=M$Aup^(3lOFAv7%avf$+<7yV`iJ5i5nA{ASrz^(MPUOJsr< z@ThVCoA18JGxQ6|Whj4V&Pf^CP|+abcv7g&Gxv#c8o*VOY5dzc!TurDAyDiyjd$aC zy_x2rCKpSA>>9;>jYC!dVZJJm1a)pcI$D5Yw35YD7T^4+5AP zPHt5O)+s}=%6tj}HjpA%O{wzjgtORK(f(uuVPmtbpXV}kSmi4vuSOsB>>Uj)^VMGv z6W*GT>JTMGX`tL@E-$86v-|wI;8PA}*NwQw+);Kz_!*T!GSvmEyq&`b#dW~5^DTh{ zEUR=k0?`3}fK<`U+WdLyWuAW%o~5@r#hkB@v~<Ag=u%;puDVAfTnwF~W}lFF8mw(K5rQS literal 0 HcmV?d00001 diff --git a/cli/modules/preview2.jpg b/cli/modules/preview2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..adcdd348791914794b3f47db3fe624bc7a527394 GIT binary patch literal 8222 zcmd5=30PA}wyta}0TeJn1Y{9ml0Y=FvXiHx6=>t!;NMsb4bFF^9V zbyIS?OpctA`(-i{QUYo-Dr>)PQidzY%))xjb4MMZwai$9zu&H^mvGCE4Ot7NV{m0)lL5+x_Epomt28Z@c`I1GV+BM~SR5(%~53cUwNHI%x6 znSEujy zadmU|pwa>Y*FuXG6-|#>7aPY&PT7>2mcDt*_8r-*oZLJ%r>MAuySKEACny(IR913UEO_m@AVH1{{8;YgQp|UM#r9yzxd^) zOfMLu=WpqQdZ|Hr!I4M=QeLJP44wu(2sI?iz)Viv!CyXNW( zo?s)H612ur%RZy0GSwzEo1J1=|B+^I6r0hj8z>`Skns>|;IH7KAOnp9pPg0kk+R=K zV6;kJnxXBv-CohtUXctiez5;1nWsGpNAU(=!CGS7xGveG;DUcBcQ{n_Y|Tnq)4YqQ zV?QxE(Sp6CU%Vvr;gC{HvOJ#i{F{_I3QW+~k~|VxG8}5|Sl4}k)a3I`_2SyVcwdKr zt0s%A?CPccq&~k{3f{_XslLLw<{pvcZq1ciYykReMaOm8oc& zk{F>ox;vs(znp32`JTpwtAK>yUnTy*SK4Tnl$a8ITdZ-GG^{e{? zHd+OD1|CTE83-%C)K-E^{ZOY|46?0n{DTtZ(!0*Y`L9VdjU0&^|3d~XZv<;kCSf|_ zZ`8Q4t_~H1lwLAElqvp_K;WCOZHwDH-6BLPq8QT?(}HG&7z+v`K7dSc8xOr~zDvMR z|MlfQ?zPV5C0OUY548KQnF3K*-(C!>j^CJpTIVw0ZOkfbD`#OTQZF`(?RCn2$gTce z8^C%a`8@BP6J6*_Uef$#ZVHJme(juP1C?dUXZJ@uxYjOj zTxafKIp~Pbr4xbCo8NyeYD|r|3eU|#wD7oBpApF>zZd3|)1A;omRF8ChT4r{%YVR! znMS(DxH4`=Q+-RrDiNXe!=b*3RgG&Rn58I%;SgyzqK!I;&EImy=-_Bo(ovVH_|(PK zxkr3sFAv)*PjQKN-TLzx%G>>E6f5%pxE6Z+_^krmiAQ7|RBgC+Qh9~vo<|h+PpfNb zIIN8x-k%7D*IIZyN;P!DGQ6%UDQ4h=Btd5Or){NzQ(2j*CPsfvYpOKCREUvDgmJl& zn?dJzH;*uG@Kl?t%|mQQNQ{oFtGt7aJaDi-$(>OZ4qU$Cu%Ng3NY}*-6;Jxo;4IZz z>O7QtAo^_%FvA9BC80b;4TP&Zo8l^+Tvro@8OPFe6>FU__bdMdWKptzXuqJxc(B&m ze*|w$aoKe;f)L#oZ|zs?=l3}{mMX}=-FDsM9dshBx)S0E%Sau>=7?Hnhj4C&`kU=L zHy|VbgL$*?cvz#dil=ikn|CWoa4bQbClUsIjslb47MP3Ah}3qcml_`mKO$FWu4Nt< zn#IV|p3{g$gl7=D4hPXXJug=$2;*Ex;yWaQk_KCDR?hP8BPA-dv4zLoSZpa#(KOFD ztLi_6E_!P7qp7+W`=QiyH5BaMEno2 zf{*F2<8Fq=9+D-PCO3%aMIlsarsj>jEXKtLn`*sS`6uUx2%O)Bo)3}M+16YYN*r@kC5dNc#AT>G`*fmaE+prC9 zY1ukT(O{HfIti9|%{zXm(BsX# z+Rc9n5#}b88`6h_&jK9|MsLQn8eXoZ8-BHgviz3FbQ4B-R_F?(y2UWZ(WhQ#Rx>2~ z@QyDy#fp^ckUO`P)D@5BvVs;@4DN~zvcZ>AfVueemeY}It_%z1tkra9KY6)B< zA7k{h-|1-lS`lCAx%=hnM|;`a7Pr%m467P_WB{sayf^gD%nocPUZmkVC+~3TD6hE-Zc+d)&W6F@~uQwuTut8gc4m(s$ zT2Z`PYB#kiWK@*y~c&y|-njrA-n5mVM+ zizyswL={X%{wpq&{m?gMrWa0WM){o9GlPx@f5Tib`ZOnak1@ShT+p+BwYeb+Q>xv0 zsUM3ir;}qOv5jODL^g6N@I&^C(yHp#jIHb_x2Efg50Myo>YNN6Tg#)r_StK3J-3r+E6oz)PJoGqS&sR}e+7Cs!v(*XWoh>9h1C7RM`rE7Z z>KKR~??cB4oy?bo68*0-2kTT_$)wp1_tAD5oD9?M@3aKDec8tH4hT9y$+d;e+UeCe z>G3Z8lr}@-FIh8_D46L@y2-2z0UL7L z;%8|6ob$3y_3HJ`?VX}R$;jOUpjG<6@gd7w2%Zr;uqxcV`;*kfPzMbv(tEXzYpO{ zexNLA%&H~gp|b;#GeU?r8lrT$wfSdP49kFc=A89OqW0sNaKhJ6yb@lHy|6k?x=i;_ zR%k#gtuvkjd3vDQjw=1;c8zR7p#vGXT10pUo+?6_Q2tcQ(S*j4M6DOAUbCnKu^6j>u}mT)r{rNuo9*q3`ez}V9QU3}8#v5>tHnM+#rKk_}t^tGT^ z9sW3>C}8nUEitr%y#Bx%%!;)A)*nx~NusDP`!|^{c<@Ys( zEA8#B6r6rl$#b??me$*${p-EJKXdl@Sh$;9_<{A~LnLeBUIqM^q&or|a0*6$Vq zg$>#K9Gz-BARxyW-40zOXl^R^+I5_`BuDZwM669+L-jfJip4W1W&Zli)8^+oHDt=4 zb|XtP0>O=XR>Z2?m{LjO{9X)soT21&U--cT`z~qWKZoHK%R}p2(|g}t+caCF$CttBRk6u?os$Jju(tX=6wa&_d()WPk-xu{J Gy8Z0LN+h`&xR^vX1;+TS^VQ}7l1$@z#8xe7#jqb#4YS-03eY73;+PyfCdBwz`+~@d=^41{>=MA&;V@w zJrpdQ3xFvw1ALZ)kNR2zKI(7Ae0Pq3Ov*y^$F-O~2*U2qPl3rFW4B(7y-+s- zal~T1@Lrn;giS9bS&|oj`xF0MrNqGlGnr2EGPI4hQE%JuPo82o$CP z*VNM1(bWShC=CH91O|g@z~FEV4Y2lhupH1Zg3q*?OVBi?Ftn^UAY4;I6|$Nh$&89#$6|B7 zPujR?^Omj2X*<(1cJ0pO=H}%W@C)}B2}Fm)lCts&sjRw2p{%VtR^QOva{A2KbFFRd z-95d17k|0buNu5@b7=V1?K^kxJ$d@u$g}68FMj_+Z5ITzbK-h!*n4&vfp$SPG+-K9 zYP%rN&ENww(tumd)tpJ7XfZYzTf3%eBNp>Yt4`_IxKSUQtWE6FMcU#9?VhMj8@KG! z4BPQpmi=kiq+KdN9|i%P2QvZ|0cS)hx@h2&5+oNu3!%9w$SLmvT9r_vaziNcLBQbJ zBL*D1!rADC*;yx0y)n+7lq969>~igyZIpy6YC*oV%*p``VSoH)38CuFG(KrupE~}@ zdY~l%Qy7iV7yRIZ^+rBeb7e2)nT$d7iLzaRuv!|B=S9UdKXy>;Vq8YWK^VEsX0)Ok z`wy?Z(xMR5C7(cv+gRstKeeDlzFppM1VEW0QIH`-z;5cYsp|i&cM39eiuw@z$!n6j zmm~YTYSxd!u_rH^=qpG>>mB26J^xKwT;T~HZrqZcroSWv3eQyrns-bqnVyU}j|qJcs2 zQyfXLW=WN}homgFT>Fk=c#cc?hQyNJ&IT*j)oLU-NR1=sl<}eElAzOs0N)R=MOUxS zsZjBm7<=b4`rF;nwdg=i9P$RHFLy*5E8cUo*@VMrl44F}QT!N0*d%LA<_xpCFTmLk zT4ofit0+&5WrPuqj>s*JRqM!>@w4bjX$CaE_P6*2GEQexG0tR@pPd66pQK4h$7s6F zXgUzHdIlU@NFa9*?_mP}x@qf@D1(KBg0euD_*DkftIj%=OI!~iPEP_4t0t{?VevjF z{}#yJsSGwgiDi#uZc-%H8?|XEm*4G$u80y{F|kYkC}&!&K^rPkZl$IrNfw}u@{&F9 zYo9vp;N;mInp1LLDQh+V6Ux)JXoSoQ8qX{FmBEF|4ahJSQ+RYH9zUM>3uv)|3dHYh>VxQ=+2Za@vhqLLHKdMM_GAwPG!3$e` znCTGFamr-*J<|DL9(GSm$E}0R6I?T!;6=v+ z()7q7_t0ihuHKnd7S82$azFc?yYyI|RsWP7o-xJgkvaPe2?#^J(u#uOy%&Hh-YQ2>+YL5E)Sjs z*;CT0`t2a}^>^e}5QsoX?aPt-1U>?ko?l%?9Nm{gL+|?Vv_)Kuew8*a?qE7CSOnwrgwYrJ2>eO-gSu`Hh1Sj~3o7yE?~!YE|^@ zXts@d3RG{VAY?g8u*<;Pg6zLjwxJW+i=#&i0`s_%_4W~Y-bL}liTTT}9T#VG2Bz+k z)O&Ec%&T=BQoa-bK*4SImJVOI=mdJ-BV98KWaKcS_Fz(QtRhszn{YBA@e+N@f%6uUj;#__JxT)UFF zxy@<;qcu;D(s?Ps$Uf@+Q;uGFN1r(Go9g?^s}L@}Id=m*X-EXwMU(;?Wt$DMj0%6) zitFfU14U)F$&$>8rJxp&&Llek3*OTvFA-$uUIkfGl6jYMsm>Z)%<;W@CRS*0!w(J> z>qEKX-Laho)gvvVvR2%$+bEH$()?`a-c4#egD!UWNiXY6$S86;cVf}pvhZ1rbgP0p zWtJb%+PJSLRr#kKul%)4pDYC%4|scX0fx(0g%n~Th1%|0yJyp65vRjzelQ|?4}?%7ml7QXI&npvdzAMV_6C zk-fTcxe{dgLc)ETUqwQ54q3CYc!-81wMtov^Bm$`a)^Qqiw=`4sHYp*8*~rKw)GD6 zl?A#{;eiVgKkx%n4?tFI0;lJX^*-i zeXrDAM)0pCfZ<_*CU1!;X(t|j^D(%wbG_}699dE&H-e1|^EWYW;uK~&0Xg0$TuYM+ z^j7Cdh*7;XSKeU{#J2&t?Vt#gJ}ktjj|>blbjkxYD9L zhphcCzh>}(y=WNnsn^`f&AcJw;3BL!;)u)Hid4lECqC1OP$-x7vN;7C zN;t-?kIJIeQi&A|U8Rc`t$>0429e?Ft5OEvTLUpK%PDraaz2+B#8Yp>!Wj1hG)Z&6 zN}q=hSES9yW3#P?4{xId?F<)*73m@#fs_L(6zY?+J+w!5ZPs$@P>f&VSpjGFhYSkx z+85qoz0)Vf-`f;>dmspM#&O22%bR^>$IS9;X>_LihN=nIPl&N?CCw7mJN1|@;OLfu z>NHUIAtxj>hTPPz*r$szi(mW`{d^f6cND`rF-LLuT;iZ*Fte~^V|lx&eZzhr#+ltQ zDx=s{dmQ|pw((t2Ho0S(PWOTYG}$q@gu2PF(^=p3prI?~HgY_H4Qsdcu)u#8eN;zH T-vR4Khw#@0pE1BiWBvaHq8f;J literal 0 HcmV?d00001 diff --git a/cli/modules/preview4.jpg b/cli/modules/preview4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..140dc9aaa1ca705d46180416217aa3b54ecd95e6 GIT binary patch literal 9269 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 literal 0 HcmV?d00001 diff --git a/cli/modules/process.py b/cli/modules/process.py index cdfd6c58d..1d9ffa2f4 100755 --- a/cli/modules/process.py +++ b/cli/modules/process.py @@ -43,9 +43,9 @@ params = Map({ 'square_images': True, # should output images be squared 'blur_samplesize': 60, # sample size to use for blur detection 'face_score': 0.7, # min face detection score - 'face_pad': 0.05, # pad face image percentage + 'face_pad': 0.07, # pad face image percentage 'face_model': 1, # which face model to use 0/close-up 1/standard - 'face_blur_score': 1.2, # max score for face blur detection + 'face_blur_score': 1.4, # max score for face blur detection 'body_score': 0.9, # min body detection score 'body_visibility': 0.5, # min visibility score for each detected body part 'body_parts': 15, # min number of detected body parts with sufficient visibility @@ -117,7 +117,7 @@ def extract_face(img): return None, False box = results.detections[0].location_data.relative_bounding_box if box.xmin < 0 or box.ymin < 0 or (box.width - box.xmin) > 1 or (box.height - box.ymin) > 1: - log.warning({ 'extract face': 'out of frame' }) + log.info({ 'extract face': 'out of frame' }) return None, False x = (box.xmin - params.face_pad / 2) * resized.width y = (box.ymin - params.face_pad / 2)* resized.height @@ -130,7 +130,7 @@ def extract_face(img): square = [max(square[0], 0), max(square[1], 0), min(square[2], img.width), min(square[3], img.height)] cropped = img.crop(tuple(square)) if cropped.size[0] < params.target_size and cropped.size[1] < params.target_size: - log.warning({ 'extract face': 'low resolution', 'size': [cropped.size[0], cropped.size[1]] }) + log.info({ 'extract face': 'low resolution', 'size': [cropped.size[0], cropped.size[1]] }) return None, True cropped.thumbnail((params.target_size, params.target_size), Image.HAMMING) @@ -144,14 +144,14 @@ def extract_face(img): blur = detect_blur(squared) if blur > params.face_blur_score: - log.warning({ 'extract face': 'blur check fail', 'blur': blur }) + log.info({ 'extract face': 'blur check fail', 'blur': blur }) return None, True else: - log.info({ 'extract face blur': blur }) + log.debug({ 'extract face blur': blur }) similarity = detect_simmilar(squared) if similarity > params.similarity_score: - log.warning({ 'extract face': 'similarity check fail', 'score': similarity }) + log.info({ 'extract face': 'similarity check fail', 'score': round(similarity, 2) }) return None, True return squared, True @@ -172,7 +172,7 @@ def extract_body(img): x = [resized.width * (i.x - params.body_pad / 2) for i in results.pose_landmarks.landmark if i.visibility > params.body_visibility] y = [resized.height * (i.y - params.body_pad / 2) for i in results.pose_landmarks.landmark if i.visibility > params.body_visibility] if len(x) < params.body_parts: - log.warning({ 'extract body': 'insufficient body parts', 'detected': len(x) }) + log.info({ 'extract body': 'insufficient body parts', 'detected': len(x) }) return None, True w = max(x) - min(x) + resized.width * params.body_pad h = max(y) - min(y) + resized.height * params.body_pad @@ -183,7 +183,7 @@ def extract_body(img): square = [max(square[0], 0), max(square[1], 0), min(square[2], img.width), min(square[3], img.height)] cropped = img.crop(tuple(square)) if cropped.size[0] < params.target_size and cropped.size[1] < params.target_size: - log.warning({ 'extract body': 'low resolution', 'size': [cropped.size[0], cropped.size[1]] }) + log.info({ 'extract body': 'low resolution', 'size': [cropped.size[0], cropped.size[1]] }) return None, True cropped.thumbnail((params.target_size, params.target_size), Image.HAMMING) @@ -197,14 +197,14 @@ def extract_body(img): blur = detect_blur(squared) if blur > params.body_blur_score: - log.warning({ 'extract body': 'blur check fail', 'blur': blur }) + log.info({ 'extract body': 'blur check fail', 'blur': blur }) return None, True else: - log.info({ 'extract body blur': blur }) + log.debug({ 'extract body blur': blur }) similarity = detect_simmilar(squared) if similarity > params.similarity_score: - log.warning({ 'extract body': 'similarity check fail', 'score': similarity }) + log.info({ 'extract body': 'similarity check fail', 'score': similarity }) return None, True return squared, True @@ -252,17 +252,19 @@ def process_file(f: str, dst: str = None): log.error({ 'image': f, 'error': err }) return + image = ImageOps.exif_transpose(image) # rotate image according to EXIF orientation + if image.width < 512 or image.height < 512: - log.warning({ 'skip low resolution': [image.width, image.height], 'file': f }) + log.info({ 'skip low resolution': [image.width, image.height], 'file': f }) return - log.info({ 'resolution': [image.width, image.height], 'mp': round((image.width * image.height) / 1024 / 1024, 1) }) + log.debug({ 'resolution': [image.width, image.height], 'mp': round((image.width * image.height) / 1024 / 1024, 1) }) face, ok = extract_face(image) if face is not None: fn = save(face, f, 'face') log.info({ 'extract face': fn }) else: - log.warning({ 'no face': f }) + log.debug({ 'no face': f }) if not ok: return @@ -272,7 +274,7 @@ def process_file(f: str, dst: str = None): fn = save(body, f, 'body') log.info({ 'extract body': fn }) else: - log.warning({ 'no body': f }) + log.debug({ 'no body': f }) def process_images(src: str, dst: str, args = None): @@ -285,7 +287,7 @@ def process_images(src: str, dst: str, args = None): log.error({ 'process': 'not a folder', 'src': src }) else: if os.path.isdir(dst) and params.clear_dst: - log.warning({ 'clear dst': dst }) + log.info({ 'clear dst': dst }) i = [os.path.join(dst, f) for f in os.listdir(dst) if os.path.isfile(os.path.join(dst, f)) and filetype.is_image(os.path.join(dst, f))] for f in i: os.remove(f) diff --git a/cli/train.py b/cli/train.py index ce2659f13..f2fb2fb96 100755 --- a/cli/train.py +++ b/cli/train.py @@ -78,7 +78,8 @@ async def preprocess_cleanup(params): for f in Path(params.dst).glob('*.txt'): f.unlink() try: - Path(params.dst).rmdir() + if os.path.isdir(params.dst): + Path(params.dst).rmdir() except Exception as err: log.warning({ 'preprocess cleanup': params.dst, 'error': err }) diff --git a/extensions-builtin/sd-extension-steps-animation b/extensions-builtin/sd-extension-steps-animation index b0079fe64..12f3efd13 160000 --- a/extensions-builtin/sd-extension-steps-animation +++ b/extensions-builtin/sd-extension-steps-animation @@ -1 +1 @@ -Subproject commit b0079fe64398d3ac96866f145df68bd7f164b14c +Subproject commit 12f3efd13b25790bbf9dc8dfdb3c276e7e7902d1 diff --git a/extensions-builtin/sd-extension-system-info b/extensions-builtin/sd-extension-system-info index 0220134e5..63f6fe7cc 160000 --- a/extensions-builtin/sd-extension-system-info +++ b/extensions-builtin/sd-extension-system-info @@ -1 +1 @@ -Subproject commit 0220134e57aaf1facceaaf0fa01afe19c92bf1b6 +Subproject commit 63f6fe7cc8eb5586e822ebaddda85b6c03876127 diff --git a/requirements.txt b/requirements.txt index 5ce01c4b6..b555a5634 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ accelerate basicsr clean-fid einops +fastapi filetype font-roboto fonts