建立人物去背 api

目標

  1. 去除人物背景
  2. 使用 Docker
  3. 使用 Flask 呼叫

開始

使用 raidavid/docker_detectron2 啟動在 3090 主機

docker run --gpus all -d \
-it \
-p 9991:5000 \
--name raibgremoveapi \
--restart=always \
raidavid/docker_detectron2:v9

關閉&刪除

docker stop raibgremoveapi && docker rm raibgremoveapi

進入 docker 中的 /app/detectron2_repo/

註解 顯示相關程式 進行測試

#app.py


# out_win = "output_style_full_screen"
# cv2.namedWindow(out_win, cv2.WINDOW_NORMAL)
# cv2.setWindowProperty(out_win, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
# cv2.imshow(out_win, tmp)
# key = cv2.waitKey(1)

執行

cd /app/detectron2_repo ; python3 demo/app.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --webcam --confidence-threshold 0.5 --opts MODEL.WEIGHTS models/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl 

打開瀏覽器,看到去背相關串流

http://192.168.50.100:9991/

上傳一張透明的 bg.png 並建立新的 flask api 頁面

cd demo && \
touch flaskapi.py

flaskapi.py

from flask import Response, Flask, render_template, request, make_response
import threading
import argparse
import cv2
import datetime
import time
import json
from PIL import Image
import numpy as np
from bgremove import Bgremove

app = Flask(__name__)

mBgremove = Bgremove()
mBgremove.loadModel()
bg = cv2.imread("bg.png")

@app.route("/setPhoto", methods=['POST'])
def setPhoto():
    global bg
    filestr = request.files['file'].read()
    npimg = np.fromstring(filestr, np.uint8)
    img = cv2.imdecode(npimg, cv2.IMREAD_COLOR)
    frame = img.astype("float32")
    showFrameTmp, b = mBgremove.run_persion(frame, bg.copy())
    if b == False:
        return "", 201
    (flag, encodedImage) = cv2.imencode(".jpg", showFrameTmp)
    image_data = bytearray(encodedImage)
    response = make_response(image_data)
    response.headers['Content-Type'] = 'image/png'
    return response

# check to see if this is the main thread of execution
if __name__ == '__main__':
    # start the flask app
    app.run(host="0.0.0.0", port=5000, debug=True,
            threaded=True, use_reloader=False)

# release the video stream pointer

cv2.destroyAllWindows()

執行

cd /app/detectron2_repo ; python demo/flaskapi.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --webcam --confidence-threshold 0.5 --opts MODEL.WEIGHTS models/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl 

製作成新的 docker image

docker commit f40c3df0852b raidavid/docker_detectron2:flaskapi && \
docker push raidavid/docker_detectron2:flaskapi

製作成 docker-compose.yml

cd /var/docker-www && \
mkdir bgremoveflaskapi && \
cd bgremoveflaskapi && \
sudo nano docker-compose.yml

docker-compose.yml

version: '3.7'

services:
  docker_detectron2flaskapi:
    image: raidavid/docker_detectron2:flaskapi
    ports:
      - "8000:5000"
    restart: always
    runtime: nvidia
    environment:
        - NVIDIA_VISIBLE_DEVICES=all
    deploy:
      resources:
        reservations:
          devices:
          - driver: nvidia
            count: 1
            capabilities: [gpu]
    command: "python demo/flaskapi.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --webcam --confidence-threshold 0.5 --opts MODEL.WEIGHTS models/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl"

networks:
    default:
      external:
        name: wp-proxy

直接執行成果

docker-compose up -d

測試

curl --location --request POST 'http://192.168.50.100:8000/setPhoto' \
--form 'file=@"/Users/davidyang/Downloads/0521_ofGT9t_ZA6NE5A.jpeg"'

在〈“建立人物去背 api”〉中有 1 則留言

  1. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали сервисный центр xiaomi в москве, можете посмотреть на сайте: сервисный центр xiaomi в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  2. Профессиональный сервисный центр по ремонту сетевых хранилищ в Москве.
    Мы предлагаем: профессиональный ремонт сетевых хранилищ
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  3. Профессиональный сервисный центр по ремонту компьютеров и ноутбуков в Москве.
    Мы предлагаем: ремонт ноутбуков apple в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  4. Профессиональный сервисный центр по ремонту фототехники в Москве.
    Мы предлагаем: вызвать мастера по ремонту фотовспышек
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
    Подробнее на сайте сервисного центра remont-vspyshek-realm.ru

  5. Профессиональный сервисный центр по ремонту игровых консолей Sony Playstation, Xbox, PSP Vita с выездом на дом по Москве.
    Мы предлагаем: цены на ремонт игровых консолей
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  6. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем: ремонт бытовой техники в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  7. Профессиональный сервисный центр по ремонту фото техники от зеркальных до цифровых фотоаппаратов.
    Мы предлагаем: ремонт шторки затвора фотоаппарата
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  8. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем: ремонт крупногабаритной техники в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  9. Профессиональный сервисный центр по ремонту варочных панелей и индукционных плит.
    Мы предлагаем: сервисный центр варочных панелей
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  10. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем:сервисные центры по ремонту техники в екб
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  11. Right here iis tthe right blog forr anyone whoo wishrs tto
    find out about this topic. Youu know a whole loot its almost touggh to rgue with you (not tthat I actuallly will need to…HaHa).
    You ddefinitely puut a fresh spin onn a toic that has
    beeen discussdd foor a lonjg time. Wonderful stuff, juszt great!

  12. Профессиональный сервисный центр по ремонту радиоуправляемых устройства – квадрокоптеры, дроны, беспилостники в том числе Apple iPad.
    Мы предлагаем: сервис квадрокоптеров
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  13. Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем:сервисные центры в санкт петербурге
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  14. Профессиональный сервисный центр по ремонту ноутбуков и компьютеров.дронов.
    Мы предлагаем:срочный ремонт ноутбуков в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  15. Профессиональный сервисный центр по ремонту сотовых телефонов, смартфонов и мобильных устройств.
    Мы предлагаем: ремонт телефонов поблизости
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  16. Профессиональный сервисный центр по ремонту сотовых телефонов, смартфонов и мобильных устройств.
    Мы предлагаем: ближайший ремонт смартфонов
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  17. Профессиональный сервисный центр по ремонту сотовых телефонов, смартфонов и мобильных устройств.
    Мы предлагаем: ремонт сотовых
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  18. Очистка воды имеет важное значение в поддержании оптимальной работы технологического оборудования – https://vodoclean.ru/cirkuljacionnyj-nasos-aquario-prime-a1-258-180.html. Технология предполагает обработку и регулирование воды для устранения вредных веществ, таких как солевые компоненты, органические вещества и микробы. Это обязательно для предотвращения окисления, накипи и иных проблем, которые могут уменьшить производительность оборудования и сократить его срок службы. Применение качественной водоподготовки помогает не только обеспечить надёжность и срок службы оборудования, но и сократить издержки на обслуживание и починку.

    Современные системы водоподготовки содержат различные виды технологических шагов и оборудования. Среди них особо выделяются фильтрационные установки, нужные для удаления крупных элементов, системы ультрафильтрации, которые эффективно устраняют солевые соединения, и ультрафиолетовые системы, обеззараживающие воду. Также не последнюю роль играют реагенты, применяемые для корректировки pH и защиты от коррозии. Применение автоматизированных систем существенно улучшает результативность и точность процесса подготовки воды, что имеет большое значение в масштабах промышленного производства.

    Современная водоподготовка положительно влияет на окружающую среду, уменьшая выбросы токсичных веществ в экосистему. Использование современных технологий и оборудования снижает потребление воды и её загрязнение, что соотносится с нормами устойчивого развития. Промышленные предприятия, занимающиеся водоподготовкой, не только улучшают эффективность, но и демонстрируют заботу к экосистеме. В результате, грамотная организация водоподготовки служит конкурентным преимуществом и вкладом в будущее, как для предприятий, так и для всего общества.

  19. Welcome to our website, your top source for all the latest reports and coverage on the broadcasting landscape in the United Kingdom. Whether you’re keen in telecasts, radio, publishing, or online content, we deliver extensive coverage that keeps you aware about the key trends and trends. From just-in news stories to in-depth analyses, our team of veteran journalists and industry professionals work diligently to bring you the most reliable and latest details – https://ukeventnews.uk/now-that-s-what-i-call-music-volume-ii-uk-edition/
    In addition to news, we deliver informative features and opinion articles that delve into the details of the broadcasting industry. Our stories cover a wide range of topics, including regulatory alterations, media control, and the impact of new innovations. We also showcase the accomplishments and difficulties faced by media professionals, presenting a platform for voices from all over the industry to be recognized and respected.
    Stay linked with the pulse of the UK media scene through our regularly updated content. Whether you’re a media professional, a student, or simply a media enthusiast, our platform is designed to serve to your needs and requirements. Participate in our growing community of readers and guarantee you’re always in the know about the dynamic and constantly changing world of media in the United Kingdom.

  20. Hey, I think your blog might be having browser compatibility issues. When I look at your blog site in Opera, it looks fine but when opening in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads up! Other then that, superb blog!

  21. Thanx for the effort, keep up the good work Great work, I am going to start a small Blog Engine course work using your site I hope you enjoy blogging with the popular BlogEngine.net.Thethoughts you express are really awesome. Hope you will right some more posts.

  22. Can I simply say what a relief to search out someone who really knows what theyre speaking about on the internet. You definitely know the right way to convey a difficulty to mild and make it important. Extra individuals need to learn this and perceive this facet of the story. I cant consider youre not more well-liked because you definitely have the gift.

  23. certainly like your web site however you need to test the spelling on quite a few of your posts. Several of them are rife with spelling problems and I to find it very bothersome to tell the reality on the other hand I will certainly come again again.

  24. Hmm it looks like your site ate my first comment (it was super long) so I guess I’ll just sum it up what I submitted and say, I’m thoroughly enjoying your blog. I too am an aspiring blog writer but I’m still new to everything. Do you have any tips and hints for inexperienced blog writers? I’d really appreciate it.

  25. Hi there! I just wanted to ask if you ever have any trouble with hackers? My last blog (wordpress) was hacked and I ended up losing months of hard work due to no back up. Do you have any solutions to prevent hackers?

  26. You really make it appear really easy with your presentation but I find this topic to be actually one thing which I think I would by no means understand. It seems too complicated and very broad for me. I am taking a look forward to your subsequent put up, I will attempt to get the dangle of it!

  27. The next time I read a blog, I hope that it doesnt disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought youd have something interesting to say. All I hear is a bunch of whining about something that you could fix if you werent too busy looking for attention.

  28. ラブドール 足の写真をオンラインで販売するための初心者向けマニュアルRealDollについて考える必要がある重要なことセックスドールを洗う方法は?ヒントをいくつか教えてください!このガイドに従って、最高のダッチワイフ胴体を入手してください