From e846425c0f4556589cc2eb875d6b019d812eb210 Mon Sep 17 00:00:00 2001 From: tre3x Date: Mon, 29 Aug 2022 11:54:10 +0530 Subject: [PATCH 1/6] Only CLI stuff --- cutdetectorui.py | 196 ----------------------------------------------- img/index.jpg | Bin 7539 -> 0 bytes 2 files changed, 196 deletions(-) delete mode 100644 cutdetectorui.py delete mode 100644 img/index.jpg diff --git a/cutdetectorui.py b/cutdetectorui.py deleted file mode 100644 index bd3254e..0000000 --- a/cutdetectorui.py +++ /dev/null @@ -1,196 +0,0 @@ -import os, sys -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from functools import partial -from main import run_tool - - -os.environ.pop("QT_QPA_PLATFORM_PLUGIN_PATH") - -class MainWindow(QWidget): - def __init__(self): - super().__init__() - self.setWindowTitle('NPN Tape Analyzer') - self.setGeometry(100, 100, 600, 550) - self.datadict = {'filmpath':"", 'modelpath':"", 'outputformat':2, 'cinemetrics-server-upload':False, - "submitter-name":"", "movie-title":"", "movie-year":"", "submitter-email":""} - self.initUI() - - def initUI(self): - self.lbl = QLabel('Cut Detector Tool', self) - self.lbl.setGeometry(20, 10, 231, 31) - self.lbl.setFont(QFont("MS Shell Dlg 2", 16, QFont.Bold)) - - self.lbl2 = QLabel('Film Path :',self) - self.lbl2.setGeometry(20, 60, 100, 20) - self.lbl2.setFont(QFont("MS Shell Dlg 2", 9, QFont.Bold)) - - self.filmpath = QLineEdit(self) - self.filmpath.setGeometry(130, 60, 400, 20) - self.filmpath.setText(self.datadict['filmpath']) - self.filmpath.setStyleSheet("color: rgb(128, 128, 128);") - self.filmpath.setReadOnly(True) - - self.filmpathbtn = QPushButton('', self) - self.filmpathbtn.clicked.connect(partial(self.getfilepath, self.filmpath)) - self.filmpathbtn.setIcon(QIcon('img/index.jpg')) - self.filmpathbtn.setIconSize(QSize(24,24)) - self.filmpathbtn.setGeometry(550, 60, 24, 20) - - self.lbl3 = QLabel('Model Path :',self) - self.lbl3.setGeometry(20, 140, 100, 20) - self.lbl3.setFont(QFont("MS Shell Dlg 2", 9, QFont.Bold)) - - self.modelpath = QLineEdit(self) - self.modelpath.setGeometry(130, 140, 400, 20) - self.modelpath.setText(self.datadict["modelpath"]) - self.modelpath.setStyleSheet("color: rgb(128, 128, 128);") - self.modelpath.setReadOnly(True) - - self.modelpathbtn = QPushButton('', self) - self.modelpathbtn.clicked.connect(partial(self.getfolderpath, self.modelpath)) - self.modelpathbtn.setIcon(QIcon('img/index.jpg')) - self.modelpathbtn.setIconSize(QSize(24,24)) - self.modelpathbtn.setGeometry(550, 140, 24, 20) - - self.lbl4 = QLabel('Output Format :',self) - self.lbl4.setGeometry(20, 220, 100, 20) - self.lbl4.setFont(QFont("MS Shell Dlg 2", 9, QFont.Bold)) - - self.cinemetricscombobox = QComboBox(self) - self.cinemetricscombobox.addItems(['CUTS : CSV file containing frame index of cuts', 'SHOTS: CSV file containing timestamps of shots', - 'MEPFORMAT: JSON format containing timestamps of shots in Media Ecology Project annotation format', - 'CINEMETRICS: CNS formatted file which is supported for uploading to cinemetrics']) - self.cinemetricscombobox.setCurrentIndex(self.datadict["outputformat"]) - self.cinemetricscombobox.setGeometry(130, 220, 450, 20) - - self.cinemetricscombobox.currentTextChanged.connect(self.upload_cinemetrics) - - self.submit_btn = QPushButton('SUBMIT', self) - self.submit_btn.setGeometry(210, 460, 220, 40) - self.submit_btn.setFont(QFont("Arial", 10, QFont.Bold)) - self.submit_btn.clicked.connect(self.submit) - - def upload_cinemetrics(self): - self.lbl5 = QLabel('Do you Want to submit the result to Cinemetrics Server?',self) - self.lbl5.setGeometry(20, 300, 350, 20) - self.lbl5.setFont(QFont("MS Shell Dlg 2", 8, QFont.Bold)) - - self.cinemetrics_upload_combobox = QComboBox(self) - self.cinemetrics_upload_combobox.addItems(['No', 'Yes']) - self.cinemetrics_upload_combobox.setCurrentIndex(self.datadict["cinemetrics-server-upload"]) - self.cinemetrics_upload_combobox.setGeometry(380, 300, 100, 20) - if self.cinemetricscombobox.currentIndex() == 3: - self.lbl5.show() - self.cinemetrics_upload_combobox.show() - self.cinemetrics_upload_combobox.currentTextChanged.connect(self.upload_cinemetrics_info) - - def upload_cinemetrics_info(self): - self.lbl6 = QLabel('Sumitter Name : ',self) - self.lbl6.setGeometry(20, 330, 100, 20) - self.lbl6.setFont(QFont("MS Shell Dlg 2", 8, QFont.Bold)) - - self.submittername = QLineEdit(self) - self.submittername.setGeometry(140, 330, 300, 20) - self.submittername.setStyleSheet("color: rgb(128, 128, 128);") - self.submittername.setText(self.datadict['submitter-name']) - - self.lbl7 = QLabel('Movie Title : ',self) - self.lbl7.setGeometry(20, 360, 100, 20) - self.lbl7.setFont(QFont("MS Shell Dlg 2", 8, QFont.Bold)) - - self.movietitle = QLineEdit(self) - self.movietitle.setGeometry(140, 360, 300, 20) - self.movietitle.setStyleSheet("color: rgb(128, 128, 128);") - self.movietitle.setText(self.datadict['movie-title']) - - self.lbl8 = QLabel('Movie Year : ',self) - self.lbl8.setGeometry(20, 390, 100, 20) - self.lbl8.setFont(QFont("MS Shell Dlg 2", 8, QFont.Bold)) - - self.movieyear = QLineEdit(self) - self.movieyear.setGeometry(140, 390, 300, 20) - self.movieyear.setStyleSheet("color: rgb(128, 128, 128);") - self.movieyear.setText(self.datadict['movie-year']) - - self.lbl9 = QLabel('Submitter Email : ',self) - self.lbl9.setGeometry(20, 420, 100, 20) - self.lbl9.setFont(QFont("MS Shell Dlg 2", 8, QFont.Bold)) - - self.submitteremail = QLineEdit(self) - self.submitteremail.setGeometry(140, 420, 300, 20) - self.submitteremail.setStyleSheet("color: rgb(128, 128, 128);") - self.submitteremail.setText(self.datadict['submitter-email']) - - if self.cinemetrics_upload_combobox.currentIndex() == 1: - self.lbl6.show() - self.lbl7.show() - self.lbl8.show() - self.lbl9.show() - self.submittername.show() - self.movietitle.show() - self.movieyear.show() - self.submitteremail.show() - - def getfilepath(self, field): - options = QFileDialog.Options() - options |= QFileDialog.DontUseNativeDialog - filename, _ = QFileDialog.getOpenFileName(self,"Select media file","","",options=options) - if filename: - field.setText(filename) - - def getfolderpath(self, field): - options = QFileDialog.Options() - options |= QFileDialog.DontUseNativeDialog - foldername = QFileDialog.getExistingDirectory(self,"Select model-folder") - if foldername: - field.setText(foldername) - - def submit(self): - here = os.path.dirname(os.path.abspath(__file__)) - DEFAULT_CONFIG_PATH = os.path.join(here, "configs", "vgg16.json") - self.datadict['filmpath'] = self.filmpath.text() - self.datadict['modelpath'] = self.modelpath.text() - if self.cinemetricscombobox.currentIndex()==0: - self.datadict['outputformat'] = 'csv' - elif self.cinemetricscombobox.currentIndex()==1: - self.datadict['outputformat'] = 'shots' - elif self.cinemetricscombobox.currentIndex()==2: - self.datadict['outputformat'] = 'mepformat' - elif self.cinemetricscombobox.currentIndex()==3: - self.datadict['outputformat'] = 'cinemetrics' - if self.cinemetrics_upload_combobox.currentIndex()==1: - self.datadict['cinemetrics-server-upload'] = True - self.datadict['submitter-name'] = self.submittername.text() - self.datadict['movie-title'] = self.movietitle.text() - self.datadict['movie-year'] = self.movieyear.text() - self.datadict['submitter-email'] = self.submitteremail.text() - print(self.datadict) - run_tool(self.datadict['filmpath'], self.datadict['modelpath'], self.datadict['outputformat'], '', DEFAULT_CONFIG_PATH, self.datadict['cinemetrics-server-upload'], - self.datadict['submitter-name'], self.datadict['movie-title'], self.datadict['movie-year'], self.datadict['submitter-email']) - - def closeEvent(self, event): - reply = QMessageBox.question( - self, "Message", - "You are exiting the application. Are you sure you want to quit?", - QMessageBox.Close | QMessageBox.Cancel, - QMessageBox.Close) - - if reply == QMessageBox.Close: - event.accept() - else: - event.ignore() - - -if __name__ == '__main__': - app = QApplication(sys.argv) - mainwindow = MainWindow() - mainwindow.show() - sys.exit(app.exec_()) - -''' -1. Add default output directory, and default config file to the UI -2. Add respective changes to API -3. Add processing and final result UI -''' \ No newline at end of file diff --git a/img/index.jpg b/img/index.jpg deleted file mode 100644 index 5461e46fb157d3a8be1616e71c8240c189033f43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7539 zcmb7pXH*ki*Y+ep2%(2w4JGv6LFtG|=%Ixo9fSxX;H`+1NbexMDFK2~B~(Q~=^aEs zR1gG|D2P%7y#c{DKF|BD_5S_NoF6l1X6>{0T4!JT+SmMf`)3tk!uam%$*ZU-ffyMXArJ@~bt(yR2`c@6k3YQtI~3>!G0}iT0Wdp=h8^^05D)|a zFqr1AtN(9+zyLiB1WHFseQV4HfWWjgbPyT{4LuDV^%D@79iS0WriB~QafsS@Lg+*8 zR`jVD-QyI)dNr?w=In~A##Z*f+B3EdH{UiZJWkW;W2y4HHR-?Z=-tCGw>SgdpbP^Lwhwy`{;5cRv7RIl@?0jE_2+XX@ zW`&O$0Gq`**1|R#b8C?VbMePK5hl=yA=*9X3_wCWXT4HTN>$gX!f1b{clq~9^e)^P zrQna4TKB6rk)1MRzo1#azX|x(0K=*>O4YcA{@g|RsshvymLG}+ga9x%p zUYElh=>g*?dH7Qv=BF;5cj;wYNOG>ct%Q`QGe#bXOIF^ zjY{cE`~f)c^kjXn4E)`yjJGTHtHhlh8rLTlR`==Bx^#)P;#~O+2GB;#sY@y^Q|Gtz zSo&%1?=EL8;$rQTTIa1M$=0V~<{}^G@|XSQMSd{|tNPxN8Zn&!lJuH0FpBlMwDcNY z=Q|hupL1c(=*C_CrL8GP9Vwky1q2=fJjnz1eB|V%^;dD@(f8)f0D7KNG1^HTiE1oG zL>B$bA)8b#W(=~rdFMHomZ^?|r(sY2MV30liaoS2L_X+V2Wh=JrRa8wYnRq7A2pl<2W`PN9V}7Gr+Cp$PCTwBRaK*RE8I(sh zX6!fP3r5AdIrk7B$T$(XJtkcpRFEDJ2{Lh``Y@#{qGy#|ikefO;h}vjAEiRkM9)z4 zEbk<&`hl#%(H+z4`y6ov4_$XLi<^0jn&w-y;Yec~Ge@`OyQXvJLnJld%{(+R?tZ1^iIks+mw z&@PsyIuqA*@9Re#z&H*;a2-xrytYp+QmOSnIjT&6T94)^@Td?SR>8O10-`?MO0KTO znRE6Rqi;->GPDo&D{1|@Aq40$Q6Gr@_gT8hQyE5FZy6$7|vQ6 zc&onciZETJ5x(EqP`;}6cG@AcFs#eA%>jMlC-tvo39yeTx@5E+J>qelz!2`k<*w7~ z{5wo~bl?Bi;Ny!4e*k|L-`<-i0cbG=1+P+chVt*QSnu0!qxSMStN6qxO5yY~80_n7Ho122=c@)L(GKh`#R>0dYq9g!hL%x#Ec8;0j6OkV ztrT>rjF&?Kj`ZRl59S%Ss9sPH+1DFcXLmq{w1?b9>BvJi#TJH!#2#Gd-M%(5#5U|a zaHXKG((A^}%7k}DuY(;s<%ZMx#^bnHNM)P zEKz~I5n4B~SECGBBYtwUOO32O$-~TymE7I0eN4A6^KsJOTmNd8s-i%GYd%?@vt8Y~ zdAGj5!IW53aYv-XFL3hK3OFx;4;L@QQJjZ!C8hUuYLJEGm5~>RZX16FRQFWFjYK^F zRq26Px#21Ln}^Yl4hisCtm~33t7__Nf4(2se#Gk5F0;I$NCuOLAr)Vbj5+-pD}(hM zHopN5L}LF#Zb!x*VW_F|ipa+=D}R7JpcQWCYG-P`R_YL}W!>G@&HQ2VG-?$L$GXm# z25sFwYff)cm*?0%^$d+?SR4nW+ik^%a6WLR?=VWKx$j z(i9MctmRVmd+18sXnAV#0x;&7&lRFs5+c@W3EGVy9%B2gkWxPAGhb-cNo8-aMp=7+ zyln9SAIF(*+y*FSyBns|;=8sHsWJ;^seWvQb$vh@&Y(sZa5j}_DU3}nO{Q0d)aLsN z7iU4gaB-^V`_eNJy!nqhK zn#(P-@jY*@LXY<1Rz<;^3kO+Ap4)kzN-g9s!Cgk!kM@`Gd)U;hvZ&d*)l+j?OqktK z5yacp(26(LN`|FmfCQl>oRMKv{KL!Xii%Tuj*Wj7b6S>pAH!?cl| ze}Hg+ z6u)QRzEW)2MKkrfG}XZ$gR&LKA&8df6_Z`MECA+wb+Rl}Huc^puAp!MvZL;{3!>sMIk70r+Ck!nI^P3; zPxcl;W!ieUq@N1w+_AO~I_8d#`&QKX=LvIN%VqipWd;xm>dn~}Yn$WgK!yI*LAm#6 zhO>Ya$v;4H8e@++yTkZkbDc^1Z3!=i1Bk5KM~Oc`P)XL1h)H<0|4#|1qZZ3DYSdA4cL;VM$TBh?`jMn99N$sEoB!kl@b|vJMY7k+| z1QAPFEDA_cs*Yzmdg>Gp8MAdH6Qmq$hN5Vt4Uxm``-u}J&lV;2p5C@Df?)gag1K=M zd)5I95c6(lX6;SdvQz#UuoosRbwBmxi+}*F3p!bY#qT1))eZL!4UR9CmdYz!+q3(% zmkKuJcc?FFKQc40`U6}c(cEHG`>rf~WUCB2^I<=`EAS#1%hMWS;VI#Hj2x-S(0tmh z>hZZD@uily@NIbRXZw2sSHg2m8jI7gSwnKf@P>F+djs3k3CoFgj-zS|;k)jenRlfW z&Vpy9gg@o$we|WwfkVZ|Zt%^H#Mx4I)Foc9>xUOoc!pLhK(El2SO4V@+*_dxoaoKi4OUmL z>+PvM#52UzP7R$Y^PKZMG5q;nu(N46n_Z3dB&9NiW)EV0MkS~>J`X&b z*C0ksT)c!3P^^HO>E!Rep*OV{+N^Rg$>uyEg2?!aXcpRKd!F9GYazLyKy1KrEdl#31-uBdey zpbPUy9k5|i%$H5(U1^7pR ztd=p3%QSxgtXH(hFATH$p3+P*qkHob&o+(^j{1lZia1@L_WifnhIJG=fBxHIrxGgr zquM6n-Vt(7_V)(6kH|{X>u+BLKdv}@;N6Z$uPSlv$d{EjdRsOQxT~ai*Gzz({^B5r zXq8>$&BLJ2gw?Ztn57XA?4>WKFDMLb+r;&b<&ahH7GIloXf1Y=v$T07s#|IHHG-KR zsP?^>N&dRl(ab$%8l8>2S~^CBJ_yDruE=8T=IqLh-}zTd)jc8u8ksA>0B3gg`Y!uW zlM3*Fdgw=xwz2W{j~czJT#|mO zxXF9py>tOI8_QStBw8x;f++!fb1QPMG2WBJ6I# zLzW%+%Zp-^>e6Yjyms9MM70M*ldZD_d%SIKM{OHTq(d!lP)zRAyPzPQ2&JB|K=prFwRS@|D`uFQ)@ z--OtaUS75;&N*#zbVxLURBcZyWXSGvtLm*-3T)WZ`Um0Uo!1ZG9Dj@!XK)dVXJ-EL zPPnQPeTep(MDe-LdFZ-(Q{u~do@q~=mS1d(H&$xqjG7`vVn-``TO>3qAM2#T{7fbN z1Jey@F67Ut*a>mKb?jxWDBPigmr#N418ZmJbj;@`3!>qrLcCkhPgkcQv+r6${Fh(m zrKG%)0a?rokPg|nqQ`fN>7KtyvbF~NatzTrWod{HW^S-cn-FE^J>VD`_PETaMY|X;OekVb<6HR-asTCiUu|IwYE|qM za-dvs^HC3zo4kZ;$H0UphCx;==b`nJ-T1@sw?AV-S8IZs6FSWb2LF}DJlY@rMLy4P zw>P^pv~_aUXQ0?4!+4jpun7h?ZtLH)y;7^%?1?2=$FrG?RpnlW{vIab?1w%k_DeWp zQvxv7*}TlBxxsry8?*|MuXzwshyNB-emm>eIq$Rm4vQ2uA;nkXd`OOixwXhKog5Fnc2dpL zL`J}OVHgsa*ZG;_#$kl}$}WgOS|L!u^UY8Y;>wh%C;i&inFB%E8s#1Cn(*OLOt`kH z!z;~l*&8t^a5Wu-hma}ol|#aLMRMd-_s$=H4TP3akY_Gay&CM#w?Dh58KZg_j05uW z3N_M8*BGdUfFtD1EKo~rY1wMDYdjD<^-moA13K0YsEIZ04D}(hQ7Gc|A?{SHBD!TR z3lU)sXm4*iZ+R1yQM~Fww|LXk*OOjOrq_CGoGpxu2F1|=H%_ZWQTW!wZonCAoR(&U zpj0%q(Si?ee)SJ1So;yY2*^A6m%0weEj{?=>+Kd9Ta1gdw~Y<>-5V+MyZ<;YWkl^9OELez;!jNbJarb${?+!Fme1x_HXS~?g}Hh(a8zT)EC zCwuP9`FFD+@X5}WSIUwbSR=xgws2*$Yf$EAr8x!%Vf?3a{mtE%2%(%8&`JV+G*8ZJ zgomW(mH$p%K3BOvQg^=@@mqC+^UEBYYk0R!(b<=use%*Bmi#_09G}S9tYx?H-#_BP zAAB5tjO$mf>d^2lnse4Q@g!jq?v}*H}ojmU} zEvCs`U!&Pm@F8D#XL5Y0OR=-e;i5Dy#i<{SVdErLgG_2KDLA$^6WZ>GEvEc!mnQfu z9wG{{JT*~htS^>Jr?|A2OI&WtTKKmTI^aV63OdZ_N zUmZ{@IFS0Pe){W)?@zvy+D9j9ubHR^&f+Eqy&2sN@BO==nJ*~ou)}y+g~jtAcHg%T zYdzlKS;bJJP<)492N~qgQ1d*S%E&~JU9XRODkz(Ub3X};ZrJ{rK2W*K$zZ{h%i-x7 zRIy&);V;AG)`)#Ba24XoY#Lp7kdXg4Sn_n0Pa4J&%vjdt|Lq&xyGQ7m%dF6V|2N7m z2+hEv$op%U-=*jBv!w-@YUv0;ub1}mB@u~`77Khfs&D%DB*AOxrH`iAFAl;VQ}9RvHQ-J7Zrxmno{ z)UsZnxUg{jZXvAVq~pfpo@K?L=aVm*Upl_Ga0F@OwcC!tG-tSVYKFd8x(W1rc$^`4 zvXbPjH>4SZ)PMKz0h_$M-$VC=@d&NiiW#(_g+;=8#!hf^C1zTarM$DKsT;*v&>q>> zkZ`WDwuZg^m(`M0+XS!l*6rE3-m2TlR+k-0SSs7Sy!waN*gElr$|3>I7`r&H+>n!A z`=05aZmjkIqOA?FjjeZ?{+NyO;250TbE~vS{bE_~dKc0Q$RnMyE zy`ray(|qku+Q8J7+v2}1Hx}!<2>ZA3QMW<&e4BCK>(dt$Fp}EIulgt)yRSe^@r#fj z8`mDp&|zRqii}TnMOu6t*Q2UP;A)=&4W&7VbE>giEF-nwE;Jtc3izh?O?lc;!3?S@ z6CNcpL+pFEDw++1gfPfadOQ$p#$Ep;mbxd+0_G0b{_Hg%N%O80xv4=k$1QV)ol2A& z&~b_bVd0}KP>+|h%HvEshLgQ~0WhxPey(g6Lj%NAZOFCkO>2+s-$d{XToAT7OZ!|B zLT;HgtUr{P`GMDpTm(6UzEa~KhzAQM!$)aS%kIWoD;#c)5k;xs>p08rF|qsp{eWB| zLRnYD*JdT|F&W})6j$C5Dc}xL9{GEYL&2d!*aCm}!+#lm%XqNL2#Ka|Prtw4vR9mJJzk{{S?`CEBb84w8&b64 zYcoRR?St-XLb!igq64m8kt!0(pZBLKHlMp8iX1J?O@(srFyn3T&_*?+WQiSb+;8y! zA=Q?S_|APB9p~6=GH2YRu(uIotQvxQb;Kff0oY33rOLJPiJd%ISl2e1!zL zD3ZX9zQ}|s34@pQ`eh70AeX~)w(a=!AZv;k`UnJ%LsyFjakJ7n8SW12YsBbhjmI?T`RxOj;IH#N+x`FAqIu*w*eX zD|anAjLQ65_k-A~2aEn*bd(Av{l(`07zeQ3ZJL{mUE)vo5}{L+pDF3lRX=u+U~TDdQ#@;IP@79bwXyCsI3TKg>Uu8GGb&$1CeZponZ7y1XywTB zS`B^Pp$2H Date: Tue, 30 Aug 2022 10:24:03 +0530 Subject: [PATCH 2/6] Updated docs --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c9dac4b..680873d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,8 @@ You need Python 3.x and Conda package manager to run this tool ### Installation For installing this tool with pretrained model, follow the steps below : 1. Clone this repository `git clone https://github.com/tre3x/FilmEditDetection.git` -2. Install the neccessary dependencies by executing `conda env create -f environment.yml` +2. Switch to `cutdetector-CLI` branch `git checkout cutdetector-cli` +3. Install the neccessary dependencies by executing `conda env create -f environment.yml` ### Dataset Description Two datasets were used in training the validation/softcut-detection module. From 3e9e876e02eadaf8aa8991708588a26378d1d10b Mon Sep 17 00:00:00 2001 From: tre3x Date: Tue, 30 Aug 2022 10:27:37 +0530 Subject: [PATCH 3/6] Updated docs --- README.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/README.md b/README.md index 680873d..5c279be 100644 --- a/README.md +++ b/README.md @@ -96,12 +96,3 @@ singularity run -B -B filmedit.img --vidpath ` denotes the absolute input video path - `` denotes the absolute path to trained model. If empty, the tool will tun on pre trained model. - -## Future Work -- Additional features can be added to the tool which provides helpful insights into the film metrics. -- There are few cases in which the tool fails to classify cuts, like in case of Jump cuts. In the future some other variant of the model -can be used to classify the cuts which the current model fails to classify. -- Some films have low contrast with high noise, in which it becomes difficult to classify cuts. Some preprocessing on training data to acheive the same -and let the model learn those features. -- The command line interface can currently handle one output operation at a time. It can be modified - to allow the user to generate outputs of multiple format at a time. From 126415efe3fe0c14c6420e0f6c7e20e1800fa756 Mon Sep 17 00:00:00 2001 From: tre3x Date: Fri, 9 Sep 2022 10:54:27 +0530 Subject: [PATCH 4/6] Updated README --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 5c279be..6d1c9ab 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,6 @@ module load singularity/3.7.1 ``` 6. Run the image ```bash -singularity run -B -B filmedit.img --vidpath --modpath +singularity run FilmEditDetection.img --vidpath ``` - `` denotes the absolute input video path -- `` denotes the absolute path to trained model. If empty, the tool will tun on pre trained model. From d8f5845b416894fdf0763f84f9190ab759ed6013 Mon Sep 17 00:00:00 2001 From: tre3x Date: Tue, 27 Sep 2022 14:05:14 +0530 Subject: [PATCH 5/6] Minor Fix --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index 71e0504..016a44c 100644 --- a/main.py +++ b/main.py @@ -14,7 +14,7 @@ def run_tool(vidpath, modpath, operation, outdir, config, cinemetrics_submit, yn if outdir=='': outdir = os.path.join(here, "csv_shots") run(conf).run(vidpath, modpath, outdir, iscsvtime=True) - if operation=='mepformat': + if operation=='mepjson': if outdir=='': outdir = os.path.join(here, "json_mep") run(conf).run(vidpath, modpath, outdir, ismepjson=True) From 854449ca40809f6ff86598d8c6a8dc080b76084f Mon Sep 17 00:00:00 2001 From: Shreyan Ganguly <52214843+tre3x@users.noreply.github.com> Date: Wed, 28 Sep 2022 08:33:31 +0530 Subject: [PATCH 6/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d1c9ab..dea289f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This is a CLI tool to detect cuts in films, especially old films with noisy and broken frames. This tool basically takes an input video and stores cuts in various formats - frame index of cuts alongwith type of cut in CSV format, timestamp in seconds of start and end shots in the film, MEP json format containing shots timestamps, and a format which is supported by cinemetrics for further analysis. This tool was produced for Google Summer Code 2021 with RedHenLabs and Media Ecology Project. -Detailed working of this tool is included in the [final submission blog](https://gsocblog-tre3x.netlify.app/final-project.html). +Detailed working of this tool is included in the [final submission blog](https://tre3x.github.io/final). ## Getting Started