在电商场景下需要对主商品进行审核、替换商品图背景等场景需求。就需要对商家提供的商品图进行抠图、替换背景等操作。
当然有不少的第三方工具可供运营和产品使用,但都至少需要这样几个步骤,上传图片、选择抠图区域或边缘、等待抠图生成、下载抠图结果。
且先不管商品图片涉及泄漏的问题,单是抠图效果如何也不是很好保证的。比如有这样一个商品图,我们希望抠出手机这个主商品,去掉背景色和背景物。

期望得到的理想效果是这样:[这也是通过我们算法抠图后得到的一个效果图]

比如这个抠图软件remove.bg,它抠完后的效果是这样的。基本不能准确识别出商品,而且毛边也比较严重。需要人工再点恢复来修正它。这样一张图片的抠图成本不降反增了。

我们做这样一个项目的初衷就是为了给运营和产品同学降本提效的,所以,对算法抠图后的效果评价比较严格,不仅仅是识别商品的准确率、还要求抠图后的毛边、分辨率等不能太差。即要求商品识别率、抠图准确率高到90%,运营人工抽检和返工率不超过10%。这样才能大幅提高运营的人工效果,降低抠图的人工成本,真正达到降本增效的目的。
这个项目里主要用的就是 GroundDINO + SAM: segment Anything
https://github.com/IDEA-Research/Grounded-Segment-Anything
https://github.com/facebookresearch/segment-anything
实现步骤:
加载包和基本方法
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2023/10/27 11:17 上午
# @Author: gao
# @Project : image_tagging
# @File: demo_sam
"""
抠图, 从EXCEL中获取商品URL和存放路径
"""
import pandas as pd
import numpy as np
import random
import os
import sys
import torch
from modelscope.utils.constant import Tasks
from modelscope.pipelines import pipeline
from modelscope.preprocessors.image import load_image
sys.path.append('/root/git/Grounded-Segment-Anything')
import argparse
import copy
import torch
# print(torch.__version__)
import urllib.request
from IPython.display import display
from PIL import Image, ImageDraw, ImageFont
from torchvision.ops import box_convert
# Grounding DINO
import GroundingDINO.groundingdino.datasets.transforms as T
from GroundingDINO.groundingdino.models import build_model
from GroundingDINO.groundingdino.util import box_ops
from GroundingDINO.groundingdino.util.slconfig import SLConfig
from GroundingDINO.groundingdino.util.utils import


4736

被折叠的 条评论
为什么被折叠?



