rembg மற்றும் U²-Net மூலம் பின்புலத்தை நீக்குதல்: ஒரு முழுமையான, நடைமுறை வழிகாட்டி

rembg மற்றும் U²-Net மூலம் பின்புலத்தை நீக்குதல்: ஒரு முழுமையான, நடைமுறை வழிகாட்டி

U²-Net சேலியண்ட்-ஆப்ஜெக்ட் மாடல் ஒரு வரியில் பின்புலத்தை நீக்குவதை எவ்வாறு செயல்படுத்துகிறது — உண்மையான, இயக்கக்கூடிய குறியீட்டுடன்.

ஒரு படத்திலிருந்து பின்புலத்தை நீக்குவது என்பது முன்பு ஒரு எடிட்டரைத் திறந்து, பொருளைச் சுற்றி வரைந்து, விளிம்புகளைக் கைகளால் சுத்தம் செய்வதைக் குறிக்கும். ஆகஸ்ட் 7, 2026 நிலவரப்படி, நீங்கள் இதை ஒரு வரி குறியீட்டில் செய்யலாம் — ஆஃப்லைனில், இலவசமாக — என்று அழைக்கப்படும் ஒரு ஓப்பன்-சோர்ஸ் கருவிக்கு நன்றி rembg மற்றும் அது இயங்கும் டீப்-லேர்னிங் மாடல், U²-Net. இவை ஒவ்வொன்றும் என்ன, அவை எவ்வாறு ஒன்றாகச் செயல்படுகின்றன என்பதை இந்த வழிகாட்டி விளக்குகிறது, மேலும் நீங்கள் இன்று இயக்கக்கூடிய காப்பி-பேஸ்ட் எடுத்துக்காட்டுகளையும் வழங்குகிறது.

இப்போது ஏன்? பின்புலத்தை நீக்குவது அமைதியாக எல்லா இடங்களிலும் உள்ளது: வெள்ளை நிறத்தில் உள்ள இ-காமர்ஸ் தயாரிப்பு படங்கள், ப்ரொஃபைல் அவதாரங்கள், சிறுபடங்கள் (thumbnails), ஸ்டிக்கர் பேக்குகள், அடையாள புகைப்படங்கள் (ID photos), பிற மாடல்களுக்கான டேட்டாசெட் தயாரிப்பு மற்றும் ஆப் ஐகான்கள். கிளவுட் APIகள் ஒவ்வொரு படத்திற்கும் கட்டணம் வசூலிக்கின்றன மற்றும் உங்கள் படங்களை மூன்றாம் தரப்பினருக்கு அனுப்புகின்றன. rembg அதே வேலையை லோக்கலில் செய்கிறது, இது மலிவானது, தனிப்பட்ட பாதுகாப்பானது (private) மற்றும் ஸ்கிரிப்ட் செய்யக்கூடியது.

பிரச்சனை: பொருளை (subject) பின்புலத்திலிருந்து பிரிப்பது

இந்த பணிக்கான தொழில்நுட்ப பெயர் சேலியண்ட் ஆப்ஜெக்ட் டிடெக்ஷன் (salient object detection) (SOD): ஒரு படத்தில் பார்வைக்கு மிகவும் முக்கியமாகத் தோன்றும் பொருளை உருவாக்கும் பிக்சல்களைக் கண்டறிவது. அந்த பிக்சல் வாரியான "இதுதான் பொருளா?" என்ற வரைபடம் உங்களுக்குக் கிடைத்தவுடன், பின்புலத்தை நீக்குவது என்பது மற்ற அனைத்தையும் ட்ரான்ஸ்பரண்டாக மாற்றுவதுதான். எனவே கடினமான பகுதி அழிப்பது அல்ல — இது முடி, ரோமம் மற்றும் கண்ணாடி போன்ற தந்திரமான விளிம்புகளைச் சுற்றி துல்லியமான மாஸ்க்கை உருவாக்குவதாகும்.

U²-Net என்றால் என்ன?

U²-Net ("யு-ஸ்கொயர்டு நெட்" என்று உச்சரிக்கப்படுகிறது) என்பது 2020 இல் சேலியண்ட் ஆப்ஜெக்ட் டிடெக்ஷனுக்காக வெளியிடப்பட்ட ஒரு ஆழ்ந்த நரம்பியல் வலையமைப்பு (deep neural network) ஆகும். இதன் முக்கிய யோசனை பின்னப்பட்ட, இரண்டு-நிலை U-வடிவமைப்பு (nested, two-level U-structure). ஒரு கிளாசிக் U-Net இல் அம்சங்களைக் கற்கும் அதே வேளையில் படத்தை சுருக்கும் ஒரு என்கோடர் மற்றும் அதை மீண்டும் முழு-ரெசல்யூஷன் மாஸ்க்காக விரிவாக்கும் ஒரு டிகோடர் உள்ளது. U²-Net ஒரு சிறிய U-வடிவ பிளாக்கை வைக்கிறது — இது என்று அழைக்கப்படுகிறது ReSidual U-block (RSU) — ஒரு பெரிய U-வடிவ நெட்வொர்க்கின் ஒவ்வொரு கட்டத்தின் உள்ளேயும். அந்த "U-க்குள் ஒரு U" சாத்தியமற்ற அளவு பெரியதாக மாறாமல் நுண்ணிய விவரங்களையும் பெரிய அளவிலான பின்னணியையும் படம்பிடிக்க அனுமதிக்கிறது.

வெளியீடு ஒரு வண்ணப் படம் அல்ல. இது ஒரு கிரேஸ்கேல் சேலியன்சி மேப் (saliency map): ஒவ்வொரு பிக்சலும் 0 (பின்புலம்) முதல் 1 (பொருள்) வரையிலான மதிப்பைப் பெறுகிறது. rembg அந்த மேப்பை எடுத்து, அதைப் பயன்படுத்துகிறது ஆல்ஃபா சேனல் (alpha channel), மேலும் உங்களுக்கு ஒரு ட்ரான்ஸ்பரண்ட் PNG-ஐ வழங்குகிறது.

இரண்டு அளவுகள் பரவலாக விநியோகிக்கப்படுகின்றன:

  • u2net — முழு மாடல், சுமார் 176 MB, சிறந்த பொது துல்லியம்.
  • u2netp — ஒரு லைட்வெயிட் பதிப்பு, 5 MB-க்கும் குறைவானது, மிகவும் வேகமானது மற்றும் சிறியது, சற்று துல்லியம் குறைவானது.

rembg என்றால் என்ன?

rembg என்பது U²-Net — மற்றும் பல புதிய மாடல்களை — மிக எளிமையான இடைமுகத்தின் மூலம் வழங்கும் ஒரு ஓப்பன்-சோர்ஸ் (MIT-உரிமம் பெற்ற) Python கருவி மற்றும் லைப்ரரி ஆகும். இது மாடல்களை இதன் மூலம் இயக்குகிறது ONNX Runtime, எனவே இது சாதாரண CPU-விலும் விருப்பப்பட்டால் GPU-விலும் வேலை செய்கிறது. முதல் பயன்பாட்டில் இது மாடல் எடைகளை (weights) ஒருமுறை பதிவிறக்கம் செய்து இதில் தேக்ககப்படுத்துகிறது (caches) ~/.u2net/, அதன் பிறகு முழுமையாக ஆஃப்லைனில் இயங்குகிறது.

இதைப் பயன்படுத்த உங்களுக்கு மூன்று வழிகள் உள்ளன: ஒரு கமாண்ட்-லைன் கருவி, ஒரு Python ஃபங்ஷன் மற்றும் ஒரு சிறிய HTTP சர்வர்.

படி 1: நிறுவுதல்

# Library + command-line interface
pip install "rembg[cli]"

# Optional: GPU acceleration (needs a CUDA-capable setup)
pip install "rembg[gpu]"

நீங்கள் எந்தவொரு கமாண்டையும் முதன்முறையாக இயக்கும்போது, rembg மாடலை இதில் பெற்றுக்கொள்கிறது ~/.u2net/ (ஒரு முறை மட்டும், டிஃபால்ட் மாடலுக்கு ~176 MB). அதன் பிறகு இது ஆஃப்லைனில் இருக்கும்.

படி 2: ஒரு பின்புலத்தை நீக்குதல்

கமாண்ட் லைன் என்பது இதை முயற்சி செய்வதற்கான வேகமான வழியாகும்:

# 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

Python 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

நீங்கள் raw பைட்ஸ்களை விரும்பினால் (ஒரு வெப் ஹேண்ட்லர் அல்லது பைப்லைனுக்காக):

from rembg import remove

with open("photo.jpg", "rb") as src, open("photo-nobg.png", "wb") as dst:
    dst.write(remove(src.read()))

படி 3: மேலும் செல்வோம் — மாடல்கள், சுத்தமான விளிம்புகள் மற்றும் புதிய பின்புலங்கள்

சரியான மாடலைத் தேர்ந்தெடுக்கவும்

rembg பல மாடல்களை ஆதரிக்கிறது; நீங்கள் ஒன்றைத் தேர்ந்தெடுக்கலாம் -m CLI-இல் அல்லது ஒரு session Python-இல். வெவ்வேறு மாடல்கள் வெவ்வேறு பொருள்களுக்குப் பொருந்துகின்றன:

மாடல் இதற்குச் சிறந்தது குறிப்புகள்
u2net பொதுவான பயன்பாடு (டிஃபால்ட்) சமநிலையான துல்லியம், ~176 MB
u2netp வேகம் / குறைந்த மெமரி மிகச்சிறியது (<5 MB), சற்று துல்லியம் குறைவு
u2net_human_seg நபர்கள் / போர்ட்ரெய்ட்ஸ் (portraits) மனித உருவங்களுக்காக டியூன் செய்யப்பட்டது
isnet-general-use துல்லியமான பொதுவான மாஸ்க்குகள் பொதுவாக u2net-ஐ விட சுத்தமானது
silueta u2net துல்லியம், சிறிய அளவு ~43 MB மாற்று (drop-in)
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"))

alpha matting மூலம் நுண்ணிய விளிம்புகளைச் சுத்தம் செய்தல்

முடி மற்றும் மென்மையான விளிம்புகளில்தான் ஒரு சாதாரண மாஸ்க் கத்தரிக்கோலால் வெட்டப்பட்டது போல் இருக்கும். 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 என்பது பொதுவாக முதல் படியாகும். பொருளை ஒரு சாலிட் வண்ணத்தில் வைக்க (எடுத்துக்காட்டாக, வெள்ளை நிற இ-காமர்ஸ் பின்புலம்), அதை காம்போசிட் (composite) செய்யவும்:

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")

வண்ணத்தை மாற்றவும் அல்லது வேறு ஒரு புகைப்படத்தைப் பின்புலமாகப் பயன்படுத்தவும், மேலும் உங்களிடம் ஒரு சில வரிகளில் ஒரு முழுமையான காம்போசிட்டிங் பைப்லைன் உள்ளது.

ஒரு உண்மையான எடுத்துக்காட்டு: ஒரு ட்ரான்ஸ்பரண்ட் ப்ரொஃபைல் பேட்ஜ்

இதோ ஒரு முழுமையான (end-to-end) காட்சி. நீங்கள் ஒரு போர்ட்ரெய்ட்டை வட்டமான, ட்ரான்ஸ்பரண்ட் "பேட்ஜ்" ஆக மாற்ற விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம் — நபர் வெட்டப்பட்டு, ஒரு வட்டத்திற்குள் வடிவமைக்கப்பட்டு, மற்ற அனைத்தும் ஊடுருவிப் பார்க்கும்படி இருக்கும், எனவே அது மிதக்கும் ஸ்டிக்கர் போலத் தோன்றும்.

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-இன் சில வரிகள் ஃப்ரேமிங்கைச் செய்கின்றன.

முழுவதுமாக இது எவ்வாறு செயல்படுகிறது

  1. rembg உங்கள் படத்தின் அளவை மாற்றி, அதை ONNX Runtime மூலம் U²-Net மாடலுக்கு வழங்குகிறது.
  2. U²-Net ஒரு சேலியன்சி மேப்பை (saliency map) வெளியிடுகிறது — எந்தெந்த பிக்சல்கள் பொருள் (subject) என்ற ஒரு கிரேஸ்கேல் கணிப்பு.
  3. rembg அந்த வரைபடத்தை மீண்டும் அசல் பரிமாணங்களுக்கு அளவீடு செய்து, அதை ஆல்ஃபா சேனலாகப் பயன்படுத்துகிறது.
  4. விருப்பப்பட்டால், alpha matting பொருள் மற்றும் பின்புலத்திற்கு இடையேயான எல்லையைச் செம்மைப்படுத்துகிறது.
  5. பின்புலம் இல்லாத ஒரு RGBA படத்தைப் பெறுவீர்கள்.

செயல்திறன் மற்றும் நடைமுறைக் குறிப்புகள்

  • CPU போதுமானது அவ்வப்போதைய பயன்பாட்டிற்கு; அளவு மற்றும் மாடலைப் பொறுத்து ஒவ்வொரு படத்திற்கும் சுமார் ஒரு விநாடி அல்லது சில நொடிகளை எதிர்பார்க்கலாம். நிறுவவும் rembg[gpu] மற்றும் பேட்ச்களுக்கு ஒரு CUDA அமைப்பைப் பயன்படுத்தவும்.
  • ஒரு session-ஐ மீண்டும் பயன்படுத்தவும் (new_session(...)) பல படங்கள் முழுவதும் — இதை உருவாக்குவது மெதுவான பகுதியாகும், எனவே இதை ஒருமுறை செய்யவும்.
  • பெரிய உள்ளீடுகளை (inputs) சிறியதாக்கவும் செயல்படுத்துவதற்கு முன்பு, உங்களுக்கு வெப்-அளவிலான முடிவு மட்டுமே தேவைப்பட்டால்; இது வேகமானது மற்றும் மாஸ்க் பொதுவாக அதே அளவிற்கே சிறப்பாக இருக்கும்.
  • Cache இதில் இருக்கும் ~/.u2net/ — மாடல்களை உங்கள் Docker இமேஜில் முன்கூட்டியே பதிவிறக்கம் செய்து கொள்ளுங்கள், இதனால் ப்ரொடக்‌ஷன் ரன்டைமில் எப்போதுமே பதிவிறக்கம் செய்யாது.
  • வெளியீடு PNG ஆக (அல்லது WebP) இருக்க வேண்டும் ட்ரான்ஸ்பரண்டாக வைத்திருக்க; JPG ட்ரான்ஸ்பரண்ட் பகுதியை கருப்பு நிறத்தால் நிரப்பும்.

2026-இல் இது ஏன் முக்கியமானது

U²-Net போன்ற லோக்கல், ஓப்பன்-சோர்ஸ் மாடல்கள் ஒரு காலத்தில் டிசைனர் அல்லது கட்டண API தேவைப்பட்ட ஒரு பணியை, ஸ்கிரிப்ட் செய்யக்கூடிய, தனிப்பட்ட (private), கட்டணமில்லாத ஒரு படியாக மாற்றியுள்ளன. இது பேட்ச் பைப்லைன்களை (ஒரே இரவில் ஆயிரக்கணக்கான தயாரிப்பு படங்கள்), உங்கள் புகைப்படங்களை ஒருபோதும் பதிவேற்றாத ஆன்-டிவைஸ் ஆப்ஸ்கள் மற்றும் அவதாரங்கள் மற்றும் ஸ்டிக்கர்கள் போன்ற ஆக்கபூர்வமான ஆட்டோமேஷனைத் திறக்கிறது. இந்தத் திறனுக்கு rembg ஒரு நட்பு ரீதியான நுழைவாயிலாகும்.

முடிவுரை

rembg ஒரு வரியில் ப்ரொடக்‌ஷன்-தரம் வாய்ந்த பின்புல நீக்கத்தை வழங்குகிறது, மேலும் U²-Net என்பது அடியில் உண்மையான வேலையைச் செய்யும் சேலியண்ட்-ஆப்ஜெக்ட் மாடல் ஆகும். டிஃபால்ட்டுடன் தொடங்கவும் u2net, இதற்கு மாறவும் u2net_human_seg நபர்களுக்காக, விளிம்புகள் முக்கியமாக இருக்கும்போது alpha matting-ஐப் பயன்படுத்தவும், மேலும் ஒரு கட்-அவுட்டை விட அதிகம் தேவைப்படும்போது ஒரு புதிய பின்புலத்தில் காம்போசிட் செய்யவும்.

நன்மைகள்

  • பின்புலத்தை நீக்க ஒரு வரி; இலவசம் மற்றும் ஓப்பன் சோர்ஸ் (MIT).
  • ஆஃப்லைனிலும் லோக்கலிலும் இயங்குகிறது — தனிப்பட்ட பாதுகாப்பானது மற்றும் மலிவானது, ஒவ்வொரு படத்திற்கும் API கட்டணம் இல்லை.
  • வெவ்வேறு பொருள்களுக்குப் பல மாடல்கள், மேலும் நுண்ணிய விளிம்புகளுக்கு alpha matting.
  • CLI, Python லைப்ரரி அல்லது HTTP சர்வருக்குச் செயல்படும்; CPU அல்லது GPU.

தீமைகள்

  • முதல் முறை இயக்கும்போது ஒரு பெரிய மாடலைப் பதிவிறக்கும் (டிஃபால்ட்டிற்கு ~176 MB).
  • மிகப் பெரிய படங்கள் அல்லது பெரிய பேட்ச்களின் CPU ப்ராசஸிங் மெதுவாக இருக்கலாம்.
  • மிக நுண்ணிய விவரங்களுக்கு (பறக்கும் முடி, ட்ரான்ஸ்பரண்ட் கண்ணாடி) இன்னமும் alpha matting அல்லது BiRefNet போன்ற கனமான மாடல் தேவை.
  • ஒரே ஒரு தெளிவான பொருள் இல்லாத குழப்பமான காட்சிகளில் துல்லியம் குறைகிறது.

எச்சரிக்கை

இந்த கட்டுரை கல்வி நோக்கங்களுக்காக மட்டுமே. எடுத்துக்காட்டு கோப்பு பெயர்கள் மற்றும் பாதைகளை உங்களுடையதாக மாற்றவும், அவற்றை நம்புவதற்கு முன் தற்போதைய rembg ஆவணங்களுக்கு எதிராக மாடல் பெயர்களைச் சரிபார்க்கவும், மேலும் நீங்கள் செயலாக்கும் எந்தப் படங்களின் பதிப்புரிமை மற்றும் தனியுரிமையை மதிக்கவும். மாடலின் செயல்பாடு மற்றும் பேக்கேஜ் விருப்பங்கள் பதிப்புகளுக்கிடையே மாறலாம்.

அடிக்கடி கேட்கப்படும் கேள்விகள்

  • rembg என்றால் என்ன? — டீப்-லேர்னிங் மாடல்களைப் பயன்படுத்தி (முக்கியமாக U²-Net) படத்தின் பின்புலங்களை நீக்கும் ஒரு ஓப்பன்-சோர்ஸ் Python கருவி மற்றும் லைப்ரரி.
  • rembg டிஃபால்ட்டாக எந்த மாடலைப் பயன்படுத்துகிறது?u2net, முழுமையான U²-Net சேலியண்ட்-ஆப்ஜெக்ட்-டிடெக்ஷன் மாடல்.
  • U²-Net என்றால் என்ன? — பின்னப்பட்ட இரண்டு-நிலை U-வடிவமைப்பைக் கொண்ட ஒரு 2020 நியூரல் நெட்வொர்க், இது எந்த பிக்சல்கள் மிக முக்கியமான பொருளுக்குச் சொந்தமானவை என்பதைக் கணித்து, சேலியன்சி மாஸ்க்காக வெளியிடுகிறது.
  • 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

Free field guide

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.