મફત Chrome એક્સ્ટેંશન — ઉપકરણ પર કટઆઉટ

Web Worker ઇમેજ પ્રોસેસિંગના મૂળભૂત સિદ્ધાંતો

Web Worker બ્રાઉઝરને અલગ થ્રેડમાં ઇમેજ પ્રોસેસ કરવા દે છે જેથી UI અટકે નહીં. Easy Background Remover આવા લોકલ પ્રોસેસિંગનો ઉપયોગ કરે છે.

તમારે worker જાતે સેટ કરવાની જરૂર નથી.

મુખ્ય થ્રેડમાં યુઝર-ઈંટરફેસ જોબ છે

બ્રાઉઝર પેજ સામાન્ય રીતે મુખ્ય થ્રેડ પર JavaScript ચલાવે છે. તે થ્રેડ લેઆઉટ, પેઇન્ટિંગ અને ઇનપુટનું પણ સંકલન કરે છે. જો એક લાંબી ગણતરી તેના પર કબજો કરે છે, તો ક્લિક્સમાં વિલંબ થઈ શકે છે, એનિમેશન બંધ થઈ શકે છે, અને બ્રાઉઝર ચેતવણી આપી શકે છે કે પૃષ્ઠ પ્રતિભાવવિહીન છે.

અનુમાન પણ શરૂ થાય તે પહેલાં છબી સંપાદક પાસે પુષ્કળ મુખ્ય-થ્રેડ જવાબદારીઓ હોય છે:

સેગમેન્ટેશન મોડલના આંકડાકીય કાર્યને સમાન થ્રેડ પર મુકવાથી તે કાર્યો સીધી સ્પર્ધા કરશે. એક કાર્યકર સ્પષ્ટ સીમા બનાવે છે.

સંદેશ-આધારિત સીમા

સંપાદક અને કાર્યકર સામાન્ય ચલો શેર કરતા નથી. તેઓ સંદેશા મોકલીને વાતચીત કરે છે. એક સરળ પ્રવાહ આના જેવો દેખાય છે:

  1. સંપાદક કાર્યકર બનાવે છે અથવા પુનઃઉપયોગ કરે છે.
  2. તે કાર્યકરને અનુમાન રનટાઇમ અને મોડલ શરૂ કરવા માટે કહે છે.
  3. તે ઇમેજ ડેટા તૈયાર કરે છે અને અનુમાનની વિનંતી મોકલે છે.
  4. કાર્યકર ડેટાને મોડેલના અપેક્ષિત ઇનપુટમાં રૂપાંતરિત કરે છે.
  5. કાર્યકર મોડેલ ચલાવે છે અને માસ્ક મૂલ્યો ઉત્પન્ન કરે છે.
  6. તે માસ્ક અથવા પરિણામ ડેટા પાછા મોકલે છે.
  7. સંપાદક પૂર્વાવલોકનનું સંયોજન કરે છે અને શુદ્ધિકરણ અથવા નિકાસને સક્ષમ કરે છે.

સંદેશાઓમાં યોગ્ય વિનંતીના પ્રતિભાવ સાથે મેળ ખાતો પૂરતો સંદર્ભ હોવો જોઈએ. જો વપરાશકર્તા પાછલી નોકરી પૂરી થાય તે પહેલાં બીજી છબી પસંદ કરે તો આ બાબત મહત્ત્વપૂર્ણ છે. ઇન્ટરફેસે નવા સ્ત્રોત પર જૂના પરિણામ દર્શાવવાનું ટાળવું જોઈએ.

ઇમેજ ડેટાની કૉપિ અને ટ્રાન્સફર

નાનો ટેક્સ્ટ સંદેશ મોકલવો સસ્તો છે. જો બ્રાઉઝરને સમગ્ર બફરની નકલ કરવી હોય તો લાખો પિક્સેલ મૂલ્યો મોકલવા ખર્ચાળ બની શકે છે. વેબ API તેના બદલે ચોક્કસ બાઈનરી બફરની માલિકી ટ્રાન્સફર કરી શકે છે. ટ્રાન્સફર કરેલ બફર પ્રેષક બાજુ પર ઉપયોગ કરી શકાય તેવી ડુપ્લિકેટ જાળવી રાખ્યા વિના રીસીવર માટે ઉપલબ્ધ બને છે.

તે ઑપ્ટિમાઇઝેશન ડિઝાઇનની મર્યાદા સાથે આવે છે: ટ્રાન્સફર કર્યા પછી, મોકલનાર તે જ બફરનો ઉપયોગ કરવાનું ચાલુ રાખી શકતો નથી, તેમ છતાં તે હજી પણ ડેટાની માલિકી ધરાવે છે. સંપાદક એક અલગ પ્રદર્શન પ્રતિનિધિત્વ જાળવી શકે છે, સમર્પિત અનુમાન બફર બનાવી શકે છે અથવા પછીથી તેને જેની જરૂર છે તેનું પુનર્નિર્માણ કરી શકે છે.

દરેક અમલીકરણ બરાબર એ જ જગ્યાએ ટ્રાન્સફરનો ઉપયોગ કરતું નથી. સામાન્ય પાઠ એ છે કે થ્રેડ અલગ કરવાથી ડેટાની હિલચાલ અદૃશ્ય થઈ જતી નથી. છબીના પરિમાણો, બફર કદ અને રૂપાંતરણોની સંખ્યા હજુ પણ વિલંબ અને મેમરીને અસર કરે છે.

Easy Background Remover કાર્યકરમાં શું મૂકે છે

Easy Background Remover ઓન-ડિવાઈસ સેગ્મેન્ટેશન માટે બ્રાઉઝર અનુમાન રનટાઇમ સાથે વેબ વર્કરનો ઉપયોગ કરે છે. ભારે સ્વચાલિત પૃષ્ઠભૂમિ દૂર કરવું પગલું માસ્ક બનાવે છે. સંપાદક પછી સંયુક્ત પરિણામ દર્શાવે છે અને CPU-કેનવાસ બ્રશ શુદ્ધિકરણને સમર્થન આપે છે.

આ અલગતા નિષ્ફળતાને વધુ ઉપયોગી સીમા આપે છે. જો કાર્યકર અનુમાન દરમિયાન પ્રારંભ કરી શકતો નથી અથવા ક્રેશ થઈ શકતો નથી, તો ઈન્ટરફેસ એકમાત્ર સિગ્નલ તરીકે કાયમી રૂપે સ્થિર ટેબ પર આધાર રાખવાને બદલે કાર્યકર-સંબંધિત ભૂલની જાણ કરી શકે છે.

તે સ્થાનિક-પ્રક્રિયાના દાવાને પણ સમજી શકાય તેવું રાખે છે. એક્સ્ટેંશન પૃષ્ઠથી તેના પોતાના કાર્યકરને પિક્સેલ્સ મોકલવું એ બ્રાઉઝર પર્યાવરણમાં સંચાર છે, રિમોટ પૃષ્ઠભૂમિ દૂર કરવું API પર અપલોડ નથી. પ્રથમ સત્ર અલગથી ફરીથી વાપરી શકાય તેવી મોડેલ એસેટ ડાઉનલોડ કરી શકે છે; જુઓ શા માટે પ્રથમ રન એક મોડેલ ડાઉનલોડ કરે છે.

એક કાર્યકર ગણતરી ત્વરિત કરતો નથી

કામદારો પ્રતિભાવમાં સુધારો કરે છે, કાચા ઉપકરણની ક્ષમતાને બદલે. બ્રાઉઝર જે પ્રદાન કરી શકે છે તેના આધારે મોડેલ હજુ પણ CPU, GPU અથવા અન્ય રનટાઇમ સંસાધનોનો ઉપયોગ કરે છે. મોટા ઇનપુટમાં હજુ પણ વધુ સમય લાગી શકે છે અને નાની કરતાં વધુ મેમરીની જરૂર પડે છે.

કેટલીક મર્યાદાઓ બાકી છે:

પાંચ ઈમેજો માટે પાંચ અનુમાન કામદારોને શરૂ કરવું આપમેળે પાંચ ગણું ઝડપી નથી. કામદારો સમાન મશીન શેર કરે છે. સમાંતર નોકરીઓ મેમરી બેન્ડવિડ્થ અને એક્ઝેક્યુશન સંસાધનો માટે સ્પર્ધા કરી શકે છે, જ્યારે દરેક મોડેલ ઉદાહરણ તેની પોતાની મેમરી ખર્ચ લઈ શકે છે.

પ્રોગ્રેસ રિપોર્ટિંગ સહકારી છે

કાર્યકર સ્ટેટસ મેસેજ મોકલી શકે છે, પરંતુ તે આપમેળે જાણતો નથી કે પ્રગતિની ટકાવારી કેટલી સચોટ લાગશે. મોડલ ડાઉનલોડ, રનટાઇમ આરંભ, ઇનપુટ તૈયારી, અનુમાન, માસ્ક રૂપાંતર અને પૂર્વાવલોકન રેન્ડરીંગ એ અલગ-અલગ સમય સાથે અલગ-અલગ તબક્કાઓ છે.

કેટલાક તબક્કામાં માપી શકાય તેવી બાઈટ ગણતરીઓ હોય છે. સિંગલ મોડલ એક્ઝેક્યુશન ફક્ત “પ્રારંભ કરેલ” અને “સમાપ્ત” ને જ પ્રગટ કરી શકે છે. સરળ ટકાવારી કે જે એકસરખી રીતે આગળ વધે છે તે ચોક્કસ માપને બદલે કોસ્મેટિક હોઈ શકે છે.

ઉપયોગી પ્રગતિ UI જ્યારે શક્ય હોય ત્યારે તબક્કાને નામ આપે છે: મોડેલ તૈયાર કરવું, છબીની પ્રક્રિયા કરવી અથવા પરિણામ બનાવવું. તે કોઈ સમજૂતી વિના સ્પિનરને છોડવાને બદલે નિષ્ફળતા અને રદ કરવાનું પણ સંભાળે છે.

રદ કરવું એ સ્પિનરને છુપાવવા કરતાં વધુ છે

જો વપરાશકર્તા કોઈ છબી બંધ કરે છે અથવા ફરીથી પ્રારંભ કરે છે, તો ઇન્ટરફેસ જૂની વિનંતીના અંતિમ પ્રતિસાદને અવગણી શકે છે. અંતર્ગત ગણતરીને તાત્કાલિક બંધ કરવા માટે રનટાઈમમાંથી વધારાના સમર્થનની જરૂર પડી શકે છે અથવા કાર્યકરને સમાપ્ત કરવા અને ફરીથી બનાવવાની જરૂર પડી શકે છે.

કાર્યકરને સમાપ્ત કરવું નિર્ણાયક છે, પરંતુ તે તેની પ્રારંભિક સ્થિતિને છોડી દે છે. આગલી નોકરી માટે મોડલને ફરીથી લોડ અને પ્રારંભ કરવાની જરૂર પડી શકે છે. ટૂંકા ઓપરેશન માટે, પરિણામ વાસીને ચિહ્નિત કરવું બધું જ તોડી નાખવા કરતાં સસ્તું હોઈ શકે છે.

યોગ્ય પસંદગી મેમરી પ્રેશર, ઓપરેશનની અવધિ અને રનટાઇમ ક્ષમતાઓ પર આધારિત છે. વપરાશકર્તાના દ્રષ્ટિકોણથી, મહત્વપૂર્ણ નિયમ એ છે કે વાસી કાર્ય વર્તમાન સંપાદન પર ફરીથી લખવું જોઈએ નહીં.

ભૂલોને પણ સીમા ઓળંગવી પડે છે

કાર્યકરની અંદરનો અપવાદ સામાન્ય મુખ્ય-થ્રેડ અપવાદ બની શકતો નથી. કાર્યકર્તાએ ઉપયોગી ભૂલોની જાણ કરવી જોઈએ, અને સંપાદકે કાર્યકર-સ્તરની નિષ્ફળતાઓ માટે સાંભળવું જોઈએ.

સારી ભૂલ હેન્ડલિંગ ઓછામાં ઓછા અલગ પાડે છે:

આ સામાન્ય “કંઈક ખોટું થયું” કરતાં વધુ કાર્યક્ષમ છે, ખાસ કરીને જ્યારે પ્રથમ-રન સેટઅપ અને સામાન્ય ઇમેજ પ્રોસેસિંગમાં વિવિધ ઉપાયો હોય.

વર્કર આઉટપુટ હજુ પણ માત્ર પ્રથમ માસ્ક છે

થ્રેડ આર્કિટેક્ચર પોતે જ અસ્પષ્ટ ધારને સુધારતું નથી. કાર્યકર તકનીકી રીતે માન્ય માસ્ક પરત કરી શકે છે જે હજી પણ રૂંવાટી, પારદર્શક સામગ્રી, સાંકડી પટ્ટાઓ અથવા ઇચ્છિત પડછાયો ચૂકી જાય છે. તે વિભાજન અને ઉદ્દેશ્ય પ્રશ્નો છે.

અનુમાન પછી સંપાદકનું કાર્ય ફરી શરૂ થાય છે: કાર્યકારી સંકલન સિસ્ટમમાં માસ્કને સ્કેલ કરો, પૂર્વાવલોકનને સંયોજિત કરો, વપરાશકર્તાને તેને શુદ્ધ કરવા દો અને વર્તમાન સ્થિતિને એક્સપોર્ટ કરો. માસ્ક રિઝોલ્યુશન વિ પૂર્વાવલોકન કદ સમજાવે છે કે તે કોઓર્ડિનેટ સિસ્ટમ્સ શા માટે મૂંઝવણમાં ન હોવી જોઈએ.

એક સંક્ષિપ્ત માનસિક મોડેલ

સંદેશ વિન્ડોની પાછળના સ્થાનિક નિષ્ણાત તરીકે કાર્યકરને વિચારો:

પિક્સેલના મૉડલના દૃશ્ય માટે, What an-device cutout model sees સાથે ચાલુ રાખો. એન્ડ-ટુ-એન્ડ પ્રાયોગિક વિહંગાવલોકન માટે, જુઓ સ્થાનિક પૃષ્ઠભૂમિ દૂર કેવી રીતે કાર્ય કરે છે.

વધુ જાણો

રસપ્રદ