🎧 Listen to this article: हिंदी · English · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
ଏକ ଛବିରୁ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ହଟାଇବାର ଅର୍ଥ ପୂର୍ବରୁ ଥିଲା ଏକ ଏଡିଟର୍ ଖୋଲିବା, ବିଷୟ ଚାରିପାଖରେ ଟ୍ରେସ୍ କରିବା, ଏବଂ ହାତରେ ଧାରଗୁଡ଼ିକୁ ସଫା କରିବା। ଅଗଷ୍ଟ ୭, ୨୦୨୬ ସୁଦ୍ଧା, ଆପଣ ଏହାକୁ କୋଡ୍ ର ଗୋଟିଏ ଧାଡ଼ିରେ କରିପାରିବେ — ଅଫଲାଇନ୍, ମାଗଣାରେ — ଏକ ଓପନ୍-ସୋର୍ସ ଉପକରଣକୁ ଧନ୍ୟବାଦ ଯାହାର ନାମ ହେଉଛି rembg ଏବଂ ଏହା ଯେଉଁ ଡିପ୍-ଲର୍ଣ୍ଣିଂ ମଡେଲ୍ ଉପରେ ଚାଲିଥାଏ, U²-Net. ଏହି ଗାଇଡ୍ ବର୍ଣ୍ଣନା କରେ ଯେ ପ୍ରତ୍ୟେକଟି କ'ଣ, ସେମାନେ କିପରି ଏକାଠି ଫିଟ୍ ହୁଅନ୍ତି, ଏବଂ ଆପଣଙ୍କୁ କପି-ପେଷ୍ଟ ଉଦାହରଣ ଦିଏ ଯାହା ଆପଣ ଆଜି ରନ୍ କରିପାରିବେ।
ବର୍ତ୍ତମାନ କାହିଁକି? ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ଅପସାରଣ ଚୁପଚାପ୍ ସବୁଠାରେ ଅଛି: ଧଳା ରଙ୍ଗରେ ଇ-କମର୍ସ ପ୍ରଡକ୍ଟ ସଟ୍, ପ୍ରୋଫାଇଲ୍ ଅବତାର, ଥମ୍ବନେଲ୍, ଷ୍ଟିକର୍ ପ୍ୟାକ୍, ଆଇଡି ଫଟୋ, ଅନ୍ୟ ମଡେଲ୍ ଗୁଡ଼ିକ ପାଇଁ ଡାଟାସେଟ୍ ପ୍ରସ୍ତୁତି, ଏବଂ ଆପ୍ ଆଇକନ୍। କ୍ଲାଉଡ୍ API ଗୁଡ଼ିକ ପ୍ରତି ଛବି ପାଇଁ ଚାର୍ଜ କରନ୍ତି ଏବଂ ଆପଣଙ୍କ ଚିତ୍ରଗୁଡ଼ିକୁ ଏକ ତୃତୀୟ ପକ୍ଷକୁ ପଠାନ୍ତି। rembg ସମାନ କାମ ଲୋକାଲି କରେ, ଯାହା ଶସ୍ତା, ବ୍ୟକ୍ତିଗତ ଏବଂ ସ୍କ୍ରିପ୍ଟେବଲ୍ ଅଟେ।
ସମସ୍ୟା: ବ୍ୟାକଗ୍ରାଉଣ୍ଡରୁ ବିଷୟକୁ ଅଲଗା କରିବା
ଏହି କାର୍ଯ୍ୟର ବୈଷୟିକ ନାମ ହେଉଛି salient object detection (SOD): ଏକ ଛବିରେ ସବୁଠାରୁ ଅଧିକ ଦୃଶ୍ୟମାନ ବସ୍ତୁ ତିଆରି କରୁଥିବା ପିକ୍ସେଲଗୁଡ଼ିକୁ ଖୋଜିବା। ଥରେ ଆପଣଙ୍କ ପାଖରେ ସେହି ପ୍ରତି-ପିକ୍ସେଲ୍ "ଏହା କି ବିଷୟ?" ମ୍ୟାପ୍ ଥିଲେ, ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ଅପସାରଣ କେବଳ ଅନ୍ୟ ସମସ୍ତ ଜିନିଷକୁ ସ୍ୱଚ୍ଛ କରିବା ଅଟେ। ତେଣୁ କଷ୍ଟକର ଅଂଶ ଲିଭାଇବା ନୁହେଁ — ଏହା ଏକ ସଠିକ୍ ମାସ୍କ ପ୍ରସ୍ତୁତ କରିବା, ବିଶେଷକରି କେଶ, ପଶମ, ଏବଂ କାଚ ଭଳି କଷ୍ଟକର ଧାର ଚାରିପାଖରେ।
U²-Net କ'ଣ?
U²-Net (ଉଚ୍ଚାରଣ କରାଯାଏ "ୟୁ-ସ୍କୋୟାର୍ଡ୍ ନେଟ୍") ହେଉଛି ସେଲିଏଣ୍ଟ ଅବଜେକ୍ଟ ଡିଟେକ୍ସନ୍ ପାଇଁ ୨୦୨୦ ରେ ପ୍ରକାଶିତ ଏକ ଡିପ୍ ନ୍ୟୁରାଲ୍ ନେଟୱର୍କ। ଏହାର ମୂଳ ଧାରଣା ହେଉଛି ଏକ nested, two-level U-structure. ଏକ କ୍ଲାସିକ୍ U-Net ରେ ଏକ ଏନକୋଡର୍ ଥାଏ ଯାହା ବୈଶିଷ୍ଟ୍ୟ ଶିଖିବା ସମୟରେ ଛବିକୁ ଛୋଟ କରେ, ଏବଂ ଏକ ଡିକୋଡର୍ ଯାହା ଏହାକୁ ପୁନର୍ବାର ଏକ ଫୁଲ୍-ରିଜୋଲ୍ୟୁସନ୍ ମାସ୍କକୁ ବିସ୍ତାର କରେ। U²-Net ଏକ ଛୋଟ U-ଆକୃତିର ବ୍ଲକ୍ ରଖେ — ଯାହାକୁ ଏକ କୁହାଯାଏ ReSidual U-block (RSU) — ଏକ ବଡ଼ U-ଆକୃତିର ନେଟୱର୍କର ପ୍ରତ୍ୟେକ ଷ୍ଟେଜ୍ ଭିତରେ। ସେହି "U ଭିତରେ ଏକ U" ଏହାକୁ ଅସମ୍ଭବ ଭାବରେ ଭାରୀ ନହୋଇ ଉଭୟ ସୂକ୍ଷ୍ମ ବିବରଣୀ ଏବଂ ବୃହତ-ସ୍ତରୀୟ ପ୍ରସଙ୍ଗକୁ କ୍ୟାପଚର୍ କରିବାକୁ ଅନୁମତି ଦିଏ।
ଆଉଟପୁଟ୍ ଏକ ରଙ୍ଗୀନ ଛବି ନୁହେଁ। ଏହା ଏକ ଗ୍ରେସ୍କେଲ୍ saliency map: ପ୍ରତ୍ୟେକ ପିକ୍ସେଲ୍ ୦ (ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍) ରୁ ୧ (ବିଷୟ) ପର୍ଯ୍ୟନ୍ତ ଏକ ମୂଲ୍ୟ ପାଏ। rembg ସେହି ମ୍ୟାପ୍ କୁ ନିଏ, ଏହାକୁ ବ୍ୟବହାର କରେ alpha channelଭାବରେ, ଏବଂ ଆପଣଙ୍କୁ ଏକ ସ୍ୱଚ୍ଛ PNG ଦିଏ।
ଦୁଇଟି ଆକାର ବହୁଳ ଭାବରେ ଉପଲବ୍ଧ:
- u2net — ସମ୍ପୂର୍ଣ୍ଣ ମଡେଲ୍, ପ୍ରାୟ ୧୭୬ MB, ସର୍ବୋତ୍ତମ ସାଧାରଣ ସଠିକତା।
- u2netp — ଏକ ହାଲୁକା ସଂସ୍କରଣ, ୫ MB ରୁ କମ୍, ଅଧିକ ଦ୍ରୁତ ଏବଂ ଛୋଟ, ସାମାନ୍ୟ କମ୍ ସଠିକ୍।
rembg କ'ଣ?
rembg ହେଉଛି ଏକ ଓପନ୍-ସୋର୍ସ (MIT-ଲାଇସେନ୍ସପ୍ରାପ୍ତ) ପାଇଥନ୍ ଟୁଲ୍ ଏବଂ ଲାଇବ୍ରେରୀ ଯାହା U²-Net — ଏବଂ ଅନେକ ନୂତନ ମଡେଲ୍ — କୁ ଏକ ଅତ୍ୟନ୍ତ ସରଳ ଇଣ୍ଟରଫେସ୍ ପଛରେ ରାପ୍ କରେ। ଏହା ମଡେଲଗୁଡ଼ିକୁ ମାଧ୍ୟମରେ ଚଲାଏ ONNX Runtime, ତେଣୁ ଏହା ସାଧାରଣ CPU ଏବଂ ଇଚ୍ଛାଧୀନ ଭାବରେ GPU ରେ କାମ କରେ। ପ୍ରଥମ ବ୍ୟବହାରରେ ଏହା ମଡେଲ୍ ୱେଟ୍ ଗୁଡ଼ିକୁ ଥରେ ଡାଉନଲୋଡ୍ କରେ ଏବଂ ସେଗୁଡ଼ିକୁ କ୍ୟାଚ୍ କରେ ~/.u2net/, ତାପରେ ସମ୍ପୂର୍ଣ୍ଣ ଅଫଲାଇନ୍ ରେ ଚାଲେ।
ଆପଣ ଏହାକୁ ବ୍ୟବହାର କରିବାର ତିନୋଟି ଉପାୟ ପାଆନ୍ତି: ଏକ କମାଣ୍ଡ-ଲାଇନ୍ ଟୁଲ୍, ଏକ ପାଇଥନ୍ ଫଙ୍କସନ୍, ଏବଂ ଏକ ଛୋଟ HTTP ସର୍ଭର।
ପଦକ୍ଷେପ ୧: ଇନଷ୍ଟଲ୍ କରନ୍ତୁ
# Library + command-line interface
pip install "rembg[cli]"
# Optional: GPU acceleration (needs a CUDA-capable setup)
pip install "rembg[gpu]"
ଆପଣ ପ୍ରଥମ ଥର କୌଣସି କମାଣ୍ଡ୍ ରନ୍ କରିବା ବେଳେ, rembg ମଡେଲ୍ କୁ ଫେଚ୍ କରେ ~/.u2net/ (ଥରକିଆ, ଡିଫଲ୍ଟ ମଡେଲ୍ ପାଇଁ ~୧୭୬ MB)। ତାହା ପରେ ଏହା ଅଫଲାଇନ୍ ଅଟେ।
ପଦକ୍ଷେପ ୨: ଏକ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ହଟାନ୍ତୁ
କମାଣ୍ଡ୍ ଲାଇନ୍ ହେଉଛି ଏହାକୁ ଚେଷ୍ଟା କରିବାର ସବୁଠାରୁ ଦ୍ରୁତ ଉପାୟ:
# One image: input can be JPG/PNG/WebP, output should be PNG (needs transparency)
rembg i photo.jpg photo-nobg.png
# A whole folder at once
rembg p ./input-images ./output-images
# Run it as a local HTTP service (great for apps)
rembg s
# then POST an image to http://localhost:7000/api/remove
ପାଇଥନ୍ API ମଧ୍ୟ ସେତିକି ଛୋଟ ଅଟେ। ଏକ PIL ଛବି ସହିତ କାମ କରିବା ହେଉଛି ସବୁଠାରୁ ପରିଷ୍କାର ଉପାୟ:
from rembg import remove
from PIL import Image
with Image.open("photo.jpg") as img:
result = remove(img) # returns an RGBA image with the background cut out
result.save("photo-nobg.png") # PNG preserves transparency
ଯଦି ଆପଣ ର' ବାଇଟ୍ସ ପସନ୍ଦ କରନ୍ତି (ଏକ ୱେବ୍ ହ୍ୟାଣ୍ଡଲର୍ କିମ୍ବା ଏକ ପାଇପଲାଇନ୍ ପାଇଁ):
from rembg import remove
with open("photo.jpg", "rb") as src, open("photo-nobg.png", "wb") as dst:
dst.write(remove(src.read()))
ପଦକ୍ଷେପ ୩: ଆଗକୁ ବଢନ୍ତୁ — ମଡେଲ୍ ଗୁଡ଼ିକ, ସଫା ଧାର, ଏବଂ ନୂତନ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍
ସଠିକ୍ ମଡେଲ୍ ବାଛନ୍ତୁ
rembg ଅନେକ ମଡେଲ୍ କୁ ସମର୍ଥନ କରେ; ଆପଣ ସହିତ ଗୋଟିଏ ବାଛନ୍ତି -m CLI ରେ କିମ୍ବା ଏକ session ପାଇଥନ୍ ରେ। ବିଭିନ୍ନ ମଡେଲ୍ ବିଭିନ୍ନ ବିଷୟ ପାଇଁ ଉପଯୁକ୍ତ ଅଟେ:
| ମଡେଲ୍ | ସର୍ବୋତ୍ତମ | ଟିପ୍ପଣୀ |
|---|---|---|
u2net |
ସାଧାରଣ ଉଦ୍ଦେଶ୍ୟ (ଡିଫଲ୍ଟ) | ସନ୍ତୁଳିତ ସଠିକତା, ~୧୭୬ MB |
u2netp |
ସ୍ପିଡ୍ / କମ୍ ମେମୋରୀ | ଛୋଟ (<୫ MB), ସାମାନ୍ୟ ଅଧିକ ରଫ୍ |
u2net_human_seg |
ଲୋକ / ପୋଟ୍ରେଟ୍ | ମାନବ ଆକୃତି ପାଇଁ ଟ୍ୟୁନ୍ କରାଯାଇଛି |
isnet-general-use |
ଅଧିକ ତୀକ୍ଷ୍ଣ ସାଧାରଣ ମାସ୍କ | ପ୍ରାୟତଃ u2net ଠାରୁ ପରିଷ୍କାର |
silueta |
u2net ସଠିକତା, ଛୋଟ ଆକାର | ~୪୩ MB ଡ୍ରପ୍-ଇନ୍ |
birefnet-general |
ସର୍ବୋଚ୍ଚ ଗୁଣବତ୍ତା ଧାର | ବଡ଼ ଏବଂ ଧୀର, କେଶ ଉପରେ ଚମତ୍କାର |
# CLI: use the human-segmentation model
rembg i -m u2net_human_seg portrait.jpg portrait-nobg.png
# Python: reuse one session across many images (much faster in a batch)
from rembg import remove, new_session
from PIL import Image
session = new_session("isnet-general-use")
for name in ("a.jpg", "b.jpg", "c.jpg"):
with Image.open(name) as img:
remove(img, session=session).save(name.replace(".jpg", "-nobg.png"))
ଆଲଫା ମ୍ୟାଟିଂ ସହିତ ସୂକ୍ଷ୍ମ ଧାରଗୁଡ଼ିକୁ ସଫା କରନ୍ତୁ
କେଶ ଏବଂ ନରମ ଧାରଗୁଡ଼ିକରେ ଏକ ର' ମାସ୍କ କଇଞ୍ଚିରେ କଟାଯାଇଥିବା ପରି ଦେଖାଯାଏ। rembg ରେ ଇନ୍-ବିଲ୍ଟ ଅଛି alpha matting ସେହି ଟ୍ରାଞ୍ଜିସନଗୁଡ଼ିକୁ ନରମ ଏବଂ ବିଶୋଧନ କରିବା ପାଇଁ:
from rembg import remove
from PIL import Image
with Image.open("hair.jpg") as img:
result = remove(
img,
alpha_matting=True,
alpha_matting_foreground_threshold=240,
alpha_matting_background_threshold=10,
alpha_matting_erode_size=10,
)
result.save("hair-nobg.png")
ଏହା ଧୀର ଅଟେ, କିନ୍ତୁ ପୋଟ୍ରେଟ୍ ଏବଂ ପଶମଯୁକ୍ତ ପ୍ରାଣୀମାନଙ୍କ ଉପରେ ପାର୍ଥକ୍ୟ ନାଟକୀୟ ଅଟେ।
ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ କୁ ହଟାଇବା ପରିବର୍ତ୍ତେ ବଦଳାନ୍ତୁ
ଏକ ସ୍ୱଚ୍ଛ PNG ପ୍ରାୟତଃ ପଦକ୍ଷେପ ଏକ ଅଟେ। ବିଷୟକୁ ଏକ କଠିନ ରଙ୍ଗ ଉପରେ ରଖିବାକୁ (ଉଦାହରଣ ସ୍ୱରୂପ, ଏକ ଧଳା ଇ-କମର୍ସ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍), ଏହାକୁ କମ୍ପୋଜିଟ୍ କରନ୍ତୁ:
from rembg import remove
from PIL import Image
foreground = remove(Image.open("product.jpg")) # RGBA subject
background = Image.new("RGBA", foreground.size, (255, 255, 255, 255))
Image.alpha_composite(background, foreground).convert("RGB").save("product-white.jpg")
ରଙ୍ଗ ବଦଳାନ୍ତୁ, କିମ୍ବା ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ଭାବରେ ଅନ୍ୟ ଏକ ଫଟୋ ବ୍ୟବହାର କରନ୍ତୁ, ଏବଂ ଆପଣଙ୍କ ପାଖରେ କିଛି ଧାଡ଼ିରେ ଏକ ସମ୍ପୂର୍ଣ୍ଣ କମ୍ପୋଜିଟିଂ ପାଇପଲାଇନ୍ ଅଛି।
ଏକ ପ୍ରକୃତ ଉଦାହରଣ: ଏକ ସ୍ୱଚ୍ଛ ପ୍ରୋଫାଇଲ୍ ବ୍ୟାଜ୍
ଏଠାରେ ଏକ ଏଣ୍ଡ-ଟୁ-ଏଣ୍ଡ୍ ସିନାରିଓ ଅଛି। ଧରିନିଅନ୍ତୁ ଆପଣ ଏକ ପୋଟ୍ରେଟ୍ କୁ ଏକ ଗୋଲାକାର, ସ୍ୱଚ୍ଛ "ବ୍ୟାଜ୍" ରେ ପରିଣତ କରିବାକୁ ଚାହୁଁଛନ୍ତି — ବ୍ୟକ୍ତିଜଣକ କଟା ହୋଇଛି, ଏକ ବୃତ୍ତରେ ଫ୍ରେମ୍ ହୋଇଛି, ଅନ୍ୟ ସବୁକିଛି ସ୍ୱଚ୍ଛ, ଯାହାଦ୍ୱାରା ଏହା ଏକ ଭାସମାନ ଷ୍ଟିକର୍ ପରି ଦେଖାଯାଏ।
from rembg import remove, new_session
from PIL import Image, ImageDraw
# 1. Cut out the person with the human model + alpha matting for clean hair edges
session = new_session("u2net_human_seg")
with Image.open("me.jpg") as img:
cut = remove(img, session=session, alpha_matting=True).convert("RGBA")
# 2. Center-crop to a square
side = min(cut.size)
left, top = (cut.width - side) // 2, (cut.height - side) // 2
square = cut.crop((left, top, left + side, top + side))
# 3. Apply a circular mask so only a disc remains
mask = Image.new("L", square.size, 0)
ImageDraw.Draw(mask).ellipse((0, 0, side, side), fill=255)
square.putalpha(mask)
square.save("badge.png") # transparent circular badge, ready to use
ଫଟୋ-ଆଧାରିତ ଆପ୍ ଆଇକନ୍ ଏବଂ ପ୍ରୋଫାଇଲ୍ ବ୍ୟାଜ୍ ପଛରେ ତାହା ହିଁ ସଠିକ୍ ପ୍ୟାଟର୍ଣ୍ଣ ଅଟେ: rembg ଭାରୀ କାମ କରେ (ବ୍ୟକ୍ତିକୁ ଖୋଜିବା), ଏବଂ PIL ର କିଛି ଧାଡ଼ି ଫ୍ରେମିଂ କରେ।
ଏହା କିପରି କାମ କରେ, ଏଣ୍ଡ୍ ଟୁ ଏଣ୍ଡ୍
- rembg ଆପଣଙ୍କ ଛବିକୁ ରିସାଇଜ୍ କରେ ଏବଂ ଏହାକୁ ONNX Runtime ମାଧ୍ୟମରେ U²-Net ମଡେଲ୍ କୁ ଫିଡ୍ କରେ।
- U²-Net ଏକ ସେଲିଏନ୍ସି ମ୍ୟାପ୍ ଆଉଟପୁଟ୍ କରେ — ଏକ ଗ୍ରେସ୍କେଲ୍ ଅନୁମାନ ଯେ କେଉଁ ପିକ୍ସେଲ୍ ଗୁଡ଼ିକ ବିଷୟ ଅଟେ।
- rembg ସେହି ମ୍ୟାପ୍ କୁ ମୂଳ ଦିଗକୁ ରିସାଇଜ୍ କରେ ଏବଂ ଏହାକୁ ଆଲଫା ଚ୍ୟାନେଲ୍ ଭାବରେ ବ୍ୟବହାର କରେ।
- ଇଚ୍ଛାଧୀନ ଭାବରେ, ଆଲଫା ମ୍ୟାଟିଂ ବିଷୟ ଏବଂ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ମଧ୍ୟରେ ଥିବା ସୀମାକୁ ବିଶୋଧନ କରେ।
- ଆପଣ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ନଥିବା ଏକ RGBA ଛବି ପାଆନ୍ତି।
ପ୍ରଦର୍ଶନ ଏବଂ ବ୍ୟବହାରିକ ଟିପ୍ସ
- CPU ଠିକ୍ ଅଛି ବେଳେବେଳେ ବ୍ୟବହାର ପାଇଁ; ଆକାର ଏବଂ ମଡେଲ୍ ଉପରେ ନିର୍ଭର କରି ପ୍ରତି ଛବି ପାଇଁ ପ୍ରାୟ ଏକ ସେକେଣ୍ଡ କିମ୍ବା କିଛି ସେକେଣ୍ଡ ଆଶା କରନ୍ତୁ। ଇନଷ୍ଟଲ୍ କରନ୍ତୁ
rembg[gpu]ଏବଂ ବ୍ୟାଚ୍ ଗୁଡ଼ିକ ପାଇଁ ଏକ CUDA ସେଟଅପ୍ ବ୍ୟବହାର କରନ୍ତୁ। - ଏକ ସେସନ୍ ର ପୁନଃବ୍ୟବହାର କରନ୍ତୁ (
new_session(...)) ଅନେକ ଛବି ମଧ୍ୟରେ — ଏହାକୁ ତିଆରି କରିବା ହେଉଛି ଧୀର ଅଂଶ, ତେଣୁ ଏହାକୁ ଥରେ କରନ୍ତୁ। - ବିରାଟ ଇନପୁଟ୍ ଗୁଡ଼ିକୁ ଡାଉନସ୍କେଲ୍ କରନ୍ତୁ ପ୍ରୋସେସିଂ ପୂର୍ବରୁ ଯଦି ଆପଣଙ୍କୁ କେବଳ ଏକ ୱେବ୍-ଆକାରର ଫଳାଫଳ ଆବଶ୍ୟକ; ଏହା ଦ୍ରୁତ ଅଟେ ଏବଂ ମାସ୍କ ସାଧାରଣତଃ ସମାନ ଭାବରେ ଭଲ ହୋଇଥାଏ।
- କ୍ୟାଚ୍ ରହେ
~/.u2net/— ଆପଣଙ୍କ ଡକର୍ ଇମେଜ୍ ରେ ମଡେଲ୍ ଗୁଡ଼ିକୁ ପ୍ରି-ଡାଉନଲୋଡ୍ କରନ୍ତୁ ଯାହାଦ୍ୱାରା ଉତ୍ପାଦନ କେବେ ବି ରନଟାଇମ୍ ରେ ଫେଚ୍ କରେ ନାହିଁ। - ଆଉଟପୁଟ୍ ନିଶ୍ଚିତ ଭାବରେ PNG (କିମ୍ବା WebP) ହେବା ଉଚିତ୍ ସ୍ୱଚ୍ଛତା ବଜାୟ ରଖିବା ପାଇଁ; JPG ସ୍ୱଚ୍ଛ ଅଞ୍ଚଳକୁ କଳା ରଙ୍ଗରେ ପୂରଣ କରିବ।
୨୦୨୬ ରେ ଏହା କାହିଁକି ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ
U²-Net ଭଳି ସ୍ଥାନୀୟ, ଓପନ୍-ସୋର୍ସ ମଡେଲଗୁଡ଼ିକ ଏକ କାର୍ଯ୍ୟକୁ ଯାହା ପାଇଁ ଥରେ ଏକ ଡିଜାଇନର୍ କିମ୍ବା ଏକ ପେଡ୍ API ଆବଶ୍ୟକ ହେଉଥିଲା, ତାହାକୁ ଏକ ସ୍କ୍ରିପ୍ଟେବଲ୍, ବ୍ୟକ୍ତିଗତ, ଶୂନ୍ୟ-ମୂଲ୍ୟ ପଦକ୍ଷେପରେ ପରିଣତ କରିଛି। ତାହା ବ୍ୟାଚ୍ ପାଇପଲାଇନ୍ (ରାତାରାତି ହଜାର ହଜାର ପ୍ରଡକ୍ଟ ଛବି), ଅନ୍-ଡିଭାଇସ୍ ଆପ୍ ଯାହା କେବେ ବି ଆପଣଙ୍କ ଫଟୋ ଅପଲୋଡ୍ କରେ ନାହିଁ, ଏବଂ ଅବତାର ଏବଂ ଷ୍ଟିକର୍ ଭଳି ସୃଜନଶୀଳ ଅଟୋମେସନ୍ କୁ ଅନଲକ୍ କରେ। rembg ହେଉଛି ସେହି ସାମର୍ଥ୍ୟ ପାଇଁ ଏକ ବନ୍ଧୁତ୍ୱପୂର୍ଣ୍ଣ ସାମ୍ନା କବାଟ।
ଉପସଂହାର
rembg ଆପଣଙ୍କୁ ଗୋଟିଏ ଧାଡ଼ିରେ ପ୍ରଡକ୍ସନ୍-ଗ୍ରେଡ୍ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ଅପସାରଣ ପ୍ରଦାନ କରେ, ଏବଂ U²-Net ହେଉଛି ସେଲିଏଣ୍ଟ-ଅବଜେକ୍ଟ ମଡେଲ୍ ଯାହା ତଳେ ପ୍ରକୃତ କାମ କରୁଛି। ଡିଫଲ୍ଟ ସହିତ ଆରମ୍ଭ କରନ୍ତୁ u2net, ସୁଇଚ୍ କରନ୍ତୁ u2net_human_seg ଲୋକଙ୍କ ପାଇଁ, ଯେତେବେଳେ ଧାରଗୁଡ଼ିକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ହୁଏ ସେତେବେଳେ ଆଲଫା ମ୍ୟାଟିଂ ପାଇଁ ଚେଷ୍ଟା କରନ୍ତୁ, ଏବଂ ଯେତେବେଳେ ଆପଣଙ୍କୁ ଏକ କଟ୍-ଆଉଟ୍ ଠାରୁ ଅଧିକ ଆବଶ୍ୟକ ହୁଏ ସେତେବେଳେ ଏକ ନୂତନ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ଉପରେ କମ୍ପୋଜିଟ୍ କରନ୍ତୁ।
ଗୁଣ
- ଏକ ବ୍ୟାକଗ୍ରାଉଣ୍ଡ୍ ହଟାଇବା ପାଇଁ ଗୋଟିଏ ଧାଡ଼ି; ମାଗଣା ଏବଂ ଓପନ୍ ସୋର୍ସ (MIT)।
- ଅଫଲାଇନ୍ ଏବଂ ଲୋକାଲି ଚାଲେ — ବ୍ୟକ୍ତିଗତ ଏବଂ ଶସ୍ତା, କୌଣସି ପ୍ରତି-ଛବି API ଫିସ୍ ନାହିଁ।
- ବିଭିନ୍ନ ବିଷୟ ପାଇଁ ଏକାଧିକ ମଡେଲ୍, ଏବଂ ସୂକ୍ଷ୍ମ ଧାରଗୁଡ଼ିକ ପାଇଁ ଆଲଫା ମ୍ୟାଟିଂ।
- ଏକ CLI, ଏକ ପାଇଥନ୍ ଲାଇବ୍ରେରୀ, କିମ୍ବା ଏକ HTTP ସର୍ଭର ଭାବରେ କାମ କରେ; CPU କିମ୍ବା GPU।
ଦୋଷ
- ପ୍ରଥମ ରନ୍ ଏକ ବଡ଼ ମଡେଲ୍ ଡାଉନଲୋଡ୍ କରେ (ଡିଫଲ୍ଟ ପାଇଁ ~୧୭୬ MB)।
- ଅତ୍ୟନ୍ତ ବଡ଼ ଛବି କିମ୍ବା ବଡ଼ ବ୍ୟାଚ୍ ଗୁଡ଼ିକର CPU ପ୍ରୋସେସିଂ ଧୀର ହୋଇପାରେ।
- ଅତି ସୂକ୍ଷ୍ମ ବିବରଣୀ (ଉଡୁଥିବା କେଶ, ସ୍ୱଚ୍ଛ କାଚ) ପାଇଁ ଏବେ ବି ଆଲଫା ମ୍ୟାଟିଂ କିମ୍ବା BiRefNet ଭଳି ଏକ ଭାରୀ ମଡେଲ୍ ଆବଶ୍ୟକ।
- କୌଣସି ଗୋଟିଏ ସ୍ପଷ୍ଟ ବିଷୟ ନଥିବା ଅବ୍ୟବସ୍ଥିତ ଦୃଶ୍ୟଗୁଡ଼ିକରେ ସଠିକତା ହ୍ରାସ ପାଏ।
ସତର୍କତା
ଏହି ଲେଖାଟି ଶିକ୍ଷାଗତ ଉଦ୍ଦେଶ୍ୟ ପାଇଁ ଅଟେ। ଉଦାହରଣ ଫାଇଲ୍ ନାମ ଏବଂ ପଥଗୁଡ଼ିକୁ ନିଜର ସହିତ ବଦଳାନ୍ତୁ, ସେଗୁଡ଼ିକ ଉପରେ ନିର୍ଭର କରିବା ପୂର୍ବରୁ ବର୍ତ୍ତମାନର rembg ଡକ୍ୟୁମେଣ୍ଟେସନ୍ ବିପକ୍ଷରେ ମଡେଲ୍ ନାମଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ, ଏବଂ ଆପଣ ପ୍ରୋସେସ୍ କରୁଥିବା କୌଣସି ଛବିର କପିରାଇଟ୍ ଏବଂ ଗୋପନୀୟତାକୁ ସମ୍ମାନ ଦିଅନ୍ତୁ। ମଡେଲ୍ ଆଚରଣ ଏବଂ ପ୍ୟାକେଜ୍ ବିକଳ୍ପଗୁଡ଼ିକ ସଂସ୍କରଣ ମଧ୍ୟରେ ପରିବର୍ତ୍ତନ ହୋଇପାରେ।
ବାରମ୍ବାର ପଚରାଯାଉଥିବା ପ୍ରଶ୍ନ
- rembg କ'ଣ? — ଏକ ଓପନ୍-ସୋର୍ସ ପାଇଥନ୍ ଟୁଲ୍ ଏବଂ ଲାଇବ୍ରେରୀ ଯାହା ଡିପ୍-ଲର୍ଣ୍ଣିଂ ମଡେଲଗୁଡ଼ିକ, ମୁଖ୍ୟତଃ U²-Net ବ୍ୟବହାର କରି ଛବି ବ୍ୟାକଗ୍ରାଉଣ୍ଡଗୁଡ଼ିକୁ ହଟାଇଦିଏ।
- rembg ଡିଫଲ୍ଟ ଭାବରେ କେଉଁ ମଡେଲ୍ ବ୍ୟବହାର କରେ? —
u2net, ସମ୍ପୂର୍ଣ୍ଣ U²-Net ସେଲିଏଣ୍ଟ-ଅବଜେକ୍ଟ-ଡିଟେକ୍ସନ୍ ମଡେଲ୍। - U²-Net କ'ଣ? — ଏକ ନେଷ୍ଟେଡ୍ ଟୁ-ଲେଭେଲ୍ U-ଷ୍ଟ୍ରକଚର୍ ସହିତ ଏକ ୨୦୨୦ ନ୍ୟୁରାଲ୍ ନେଟୱର୍କ ଯାହା ପୂର୍ବାନୁମାନ କରେ ଯେ କେଉଁ ପିକ୍ସେଲ୍ ଗୁଡ଼ିକ ସବୁଠାରୁ ପ୍ରମୁଖ ବସ୍ତୁର ଅଟେ, ଏକ ସେଲିଏନ୍ସି ମାସ୍କ ଭାବରେ ଆଉଟପୁଟ୍ ହୁଏ।
- rembg ମାଗଣା ଏବଂ ଓପନ୍ ସୋର୍ସ କି? — ହଁ, ଏହା MIT-ଲାଇସେନ୍ସପ୍ରାପ୍ତ ଏବଂ ବ୍ୟବହାର କରିବାକୁ ମାଗଣା ଅଟେ।
- ମୋତେ ଏକ GPU ଆବଶ୍ୟକ କି? — ନା। ଏହା ONNX Runtime ମାଧ୍ୟମରେ CPU ରେ ଚାଲେ; ଏକ GPU କେବଳ ବଡ଼ ବ୍ୟାଚ୍ ଗୁଡ଼ିକୁ ଦ୍ରୁତ କରେ।
- କେଶ ଚାରିପାଖରେ ମୁଁ କିପରି ସଫା ଧାର ପାଇବି? — ସକ୍ଷମ କରନ୍ତୁ
alpha_matting=True, କିମ୍ବା ଏକ ଉଚ୍ଚ-ଗୁଣବତ୍ତା ମଡେଲ୍ ବ୍ୟବହାର କରନ୍ତୁ ଯେପରିକିisnet-general-useକିମ୍ବାbirefnet-general. - ଲୋକଙ୍କ ପାଇଁ କେଉଁ ମଡେଲ୍ ସର୍ବୋତ୍ତମ? —
u2net_human_seg, ଯାହା ମାନବ ଆକୃତିଗୁଡ଼ିକ ପାଇଁ ଟ୍ୟୁନ୍ କରାଯାଇଛି। - ମଡେଲ୍ ଗୁଡ଼ିକ କେଉଁଠାରେ ଷ୍ଟୋର୍ ହୋଇଛି? — ରେ
~/.u2net/, ପ୍ରଥମ ବ୍ୟବହାରରେ ଥରେ ଡାଉନଲୋଡ୍ ହୁଏ ଏବଂ ତାପରେ ଅଫଲାଇନ୍ ରେ ବ୍ୟବହୃତ ହୁଏ।
ଟ୍ୟାଗ୍ ଗୁଡ଼ିକ
#python #machine-learning #image-processing #rembg #u2net #computer-vision #deep-learning #background-removal #onnx #open-source
Linux Server Hardening Checklist
30 practical steps to take a fresh Linux box from default to defensible. Enter your email — you'll get the PDF instantly, plus new posts on Linux, security & AI.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.