Skip to content

ZyphrZero/pyhivision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

PyHiVision

pyhivision

PyHiVision ่ฏไปถ็…งๅค„็† SDK

Python Version Version License Code style: Ruff

ๅฟซ้€Ÿๅผ€ๅง‹ โ€ข ้…็ฝฎ่ฏดๆ˜Ž โ€ข API ๆ–‡ๆกฃ โ€ข ่ดก็ŒฎๆŒ‡ๅ—


๐Ÿ“– ็ฎ€ไป‹

PyHiVision ๆ˜ฏไธ€ไธชไธ“ไธš็บง็š„่ฏไปถ็…งๅค„็† SDK๏ผŒ้›†ๆˆๅคš็งๅ…ˆ่ฟ›็š„ AI ๆจกๅž‹๏ผŒไธบ่ฏไปถ็…งๅˆถไฝœใ€ไบบๅƒๅค„็†ๅ’Œๆ‰น้‡็…ง็‰‡็ผ–่พ‘ๆไพ›ๅฎŒๆ•ด็š„่งฃๅ†ณๆ–นๆกˆใ€‚

โœจ ๆ ธๅฟƒ็‰นๆ€ง

  • ๐Ÿš€ ้ซ˜ๆ€ง่ƒฝๆžถๆž„ - ็ฎ€ๆด้ซ˜ๆ•ˆ็š„ๅŒๆญฅๅค„็†็ฎก็บฟ
  • ๐Ÿค– ๅคšๆจกๅž‹ๆ”ฏๆŒ - ModNetใ€BiRefNetใ€RMBGใ€MTCNNใ€RetinaFace
  • ๐ŸŽจ ๅฎŒๆ•ดๆต็จ‹ - ๆŠ ๅ›พ โ†’ ๆฃ€ๆต‹ โ†’ ็พŽ้ขœ โ†’ ่ฐƒๆ•ด โ†’ ่ƒŒๆ™ฏ
  • ๐Ÿ’พ ๆ™บ่ƒฝ็ฎก็† - LRU ็ผ“ๅญ˜๏ผŒ่‡ชๅŠจๅ†…ๅญ˜็ฎก็†
  • โšก GPU ๅŠ ้€Ÿ - CUDA ๅŠ ้€Ÿ๏ผŒ็บฟ็จ‹ๆฑ ไผ˜ๅŒ–
  • ๐Ÿ”ง ็ตๆดป้…็ฝฎ - ็Žฏๅขƒๅ˜้‡ใ€้…็ฝฎๆ–‡ไปถใ€ไปฃ็ ้…็ฝฎ
  • ๐Ÿ›ก๏ธ ็ฑปๅž‹ๅฎ‰ๅ…จ - ๅฎŒๆ•ด็ฑปๅž‹ๆณจ่งฃไธŽๆ•ฐๆฎ้ชŒ่ฏ

๐ŸŽฏ ้€‚็”จๅœบๆ™ฏ

  • ๐Ÿ“ธ ่ฏไปถ็…งๅœจ็บฟๅˆถไฝœๅนณๅฐ
  • ๐Ÿ–ผ๏ธ ๆ‰น้‡ไบบๅƒ็…ง็‰‡ๅค„็†็ณป็ปŸ
  • ๐Ÿ‘ค ไบบ่„ธ่ฏ†ๅˆซไธŽ็พŽ้ขœๅบ”็”จ
  • ๐Ÿค– ๅ›พๅƒ่‡ชๅŠจๅŒ–ๅค„็†ๆœๅŠก
  • ๐ŸŽจ AI ้ฉฑๅŠจ็š„ๅ›พๅƒ็ผ–่พ‘ๅทฅๅ…ท

๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

ๅฎ‰่ฃ…

# ๅŸบ็ก€ๅฎ‰่ฃ…
pip install pyhivision

# ๅผ€ๅ‘็Žฏๅขƒ๏ผˆๅŒ…ๅซๆต‹่ฏ•ๅ’Œไปฃ็ ๆฃ€ๆŸฅๅทฅๅ…ท๏ผ‰
pip install "pyhivision[dev]"

# GPU ๅŠ ้€Ÿ็‰ˆๆœฌ
pip install "pyhivision[gpu]"

ไธ‹่ฝฝๆจกๅž‹

ๆ–นๅผ 1๏ผšไฝฟ็”จ CLI ๅ‘ฝไปค๏ผˆๆŽจ่๏ผ‰

# ไธ‹่ฝฝๅธธ็”จๆจกๅž‹(ๆŽจ่)
pyhivision install

# ไธ‹่ฝฝๆŒ‡ๅฎšๆจกๅž‹
pyhivision install birefnet_lite
pyhivision install rmbg_1.4

# ไธ‹่ฝฝๆ‰€ๆœ‰ๆจกๅž‹
pyhivision install --all

# ๆŸฅ็œ‹ๅฏ็”จๆจกๅž‹
pyhivision list

# ๆŸฅ็œ‹ๆจกๅž‹็›ฎๅฝ•
pyhivision info

ๆ–นๅผ 2๏ผšๅœจไปฃ็ ไธญไธ‹่ฝฝ

from pyhivision import download_model

# ไธ‹่ฝฝๆŠ ๅ›พๆจกๅž‹
download_model("modnet_photographic", "matting")

# ไธ‹่ฝฝๆฃ€ๆต‹ๆจกๅž‹
download_model("retinaface", "detection")

ๆ–นๅผ 3๏ผšๅฏ็”จ่‡ชๅŠจไธ‹่ฝฝ๏ผˆๅผ€ๅ‘็Žฏๅขƒ๏ผ‰

settings = create_settings(auto_download_models=True)
sdk = IDPhotoSDK.create(settings=settings)
# ไฝฟ็”จๆจกๅž‹ๆ—ถ่‡ชๅŠจไธ‹่ฝฝ๏ผˆๅฆ‚ๆžœไธๅญ˜ๅœจ๏ผ‰

๐Ÿ’ก ๆ็คบ๏ผšๆจกๅž‹้ป˜่ฎคไธ‹่ฝฝๅˆฐ ~/.pyhivision/ ็›ฎๅฝ•๏ผˆWindows: C:\Users\<็”จๆˆทๅ>\.pyhivision\๏ผ‰

ๅŸบๆœฌไฝฟ็”จ

import cv2
from pyhivision import IDPhotoSDK, PhotoRequest, create_settings

def main():
    # ้…็ฝฎๆจกๅž‹่ทฏๅพ„
    settings = create_settings(
        matting_models_dir="~/.pyhivision/matting",
        detection_models_dir="~/.pyhivision/detection",  # MTCNN ไธ้œ€่ฆ
    )

    # ๅˆ›ๅปบ SDK ๅฎžไพ‹
    sdk = IDPhotoSDK.create(settings=settings)

    # ่ฏปๅ–ๅ›พๅƒ
    image = cv2.imread("input.jpg")

    # ๅˆ›ๅปบ่ฏทๆฑ‚
    request = PhotoRequest(
        image=image,
        size=(413, 295),  # ไธ€ๅฏธ็…งๅฐบๅฏธ
        background_color=(0, 0, 255),  # ่“่‰ฒ่ƒŒๆ™ฏ
        matting_model="modnet_photographic",
        detection_model="mtcnn"
    )

    # ๅค„็†ๅ›พๅƒ
    result = sdk.process_single(request)

    # ไฟๅญ˜็ป“ๆžœ
    cv2.imwrite("standard.jpg", result.standard)
    if result.hd is not None:
        cv2.imwrite("hd.jpg", result.hd)

    print(f"โœ… ๅค„็†ๅฎŒๆˆ")

if __name__ == "__main__":
    main()

โš™๏ธ ้…็ฝฎ่ฏดๆ˜Ž

ไปฃ็ ้…็ฝฎ๏ผˆๆŽจ่๏ผ‰

from pyhivision import create_settings

# ๅŸบ็ก€้…็ฝฎ
settings = create_settings(
    # ๆจกๅž‹่ทฏๅพ„๏ผˆๅฟ…้œ€๏ผ‰
    matting_models_dir="~/.pyhivision/matting",      # ๆŠ ๅ›พๆจกๅž‹็›ฎๅฝ•
    detection_models_dir="~/.pyhivision/detection",  # ๆฃ€ๆต‹ๆจกๅž‹็›ฎๅฝ•๏ผˆMTCNN ้™คๅค–๏ผ‰

    # ๆ€ง่ƒฝ้…็ฝฎ
    enable_gpu=False,          # ๆ˜ฏๅฆๅฏ็”จ GPU
    num_threads=4,             # ONNX Runtime ็บฟ็จ‹ๆ•ฐ
    model_cache_size=3,        # ๆจกๅž‹็ผ“ๅญ˜ๆ•ฐ้‡

    # ๆ—ฅๅฟ—้…็ฝฎ
    log_level="INFO",          # ๆ—ฅๅฟ—็บงๅˆซ
)

็Žฏๅขƒๅ˜้‡้…็ฝฎ

# ๆจกๅž‹่ทฏๅพ„๏ผˆๅฟ…้œ€๏ผ‰
export HIVISION_MATTING_MODELS_DIR=~/.pyhivision/matting
export HIVISION_DETECTION_MODELS_DIR=~/.pyhivision/detection

# ๆ€ง่ƒฝ้…็ฝฎ
export HIVISION_ENABLE_GPU=true
export HIVISION_NUM_THREADS=8

# ๆ—ฅๅฟ—้…็ฝฎ
export HIVISION_LOG_LEVEL=DEBUG

้…็ฝฎไผ˜ๅ…ˆ็บง

  1. ไปฃ็ ไธญ็›ดๆŽฅไผ ๅ‚๏ผšcreate_settings(enable_gpu=True)
  2. ็Žฏๅขƒๅ˜้‡๏ผšHIVISION_ENABLE_GPU=true
  3. .env ๆ–‡ไปถ๏ผšHIVISION_ENABLE_GPU=true
  4. ้ป˜่ฎคๅ€ผ

ไธป่ฆ้…็ฝฎ้กน

้…็ฝฎ้กน ็ฑปๅž‹ ้ป˜่ฎคๅ€ผ ่ฏดๆ˜Ž
matting_models_dir Path/str/None None ๆŠ ๅ›พๆจกๅž‹็›ฎๅฝ•๏ผˆ้ป˜่ฎค๏ผš~/.pyhivision/matting๏ผ‰
detection_models_dir Path/str/None None ๆฃ€ๆต‹ๆจกๅž‹็›ฎๅฝ•๏ผˆ้ป˜่ฎค๏ผš~/.pyhivision/detection๏ผ‰
auto_download_models bool False ๆ˜ฏๅฆ่‡ชๅŠจไธ‹่ฝฝ็ผบๅคฑ็š„ๆจกๅž‹
download_all_models bool False ๆ˜ฏๅฆๅœจๅˆๅง‹ๅŒ–ๆ—ถไธ‹่ฝฝๆ‰€ๆœ‰ๆจกๅž‹
enable_gpu bool False ๆ˜ฏๅฆๅฏ็”จ GPU ๅŠ ้€Ÿ
num_threads int 4 ONNX Runtime ็บฟ็จ‹ๆ•ฐ
model_cache_size int 3 ๆจกๅž‹็ผ“ๅญ˜ๆ•ฐ้‡ไธŠ้™
max_image_size int 2000 ๅ›พๅƒๆœ€ๅคง่พน้•ฟ
log_level str "INFO" ๆ—ฅๅฟ—็บงๅˆซ

๐Ÿ’ก ๆ็คบ๏ผšๆœช้…็ฝฎๆจกๅž‹็›ฎๅฝ•ๆ—ถ๏ผŒSDK ไผšไฝฟ็”จ้ป˜่ฎค็›ฎๅฝ• ~/.pyhivision/


๐Ÿ—๏ธ ๆžถๆž„ๆฆ‚่งˆ

ๆ ธๅฟƒๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     ็”จๆˆทๅฑ‚ (User Layer)                      โ”‚
โ”‚         IDPhotoSDK.process() / PhotoPipeline                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
                         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ๆ ธๅฟƒ็ฎก็บฟ (Core Pipeline)                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚ 1. ๆŠ ๅ›พ (Matting) โ†’ ModNet/BiRefNet/RMBG          โ”‚   โ”‚
โ”‚  โ”‚ 2. ๆฃ€ๆต‹ (Detection) โ†’ MTCNN/RetinaFace            โ”‚   โ”‚
โ”‚  โ”‚ 3. ็พŽ้ขœ (Beauty) โ†’ ไบฎๅบฆ/ๅฏนๆฏ”ๅบฆ/็ฃจ็šฎ/็พŽ็™ฝ           โ”‚   โ”‚
โ”‚  โ”‚ 4. ่ฐƒๆ•ด (Adjustment) โ†’ ่ฃๅ‰ช/็ผฉๆ”พ/ๅธƒๅฑ€              โ”‚   โ”‚
โ”‚  โ”‚ 5. ่ƒŒๆ™ฏ (Background) โ†’ ็บฏ่‰ฒ/ๆจกๆฟ                   โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                         โ”‚
                         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                 ๅบ•ๅฑ‚ๆœๅŠก (Infrastructure)                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                        โ”‚
โ”‚  โ”‚ ModelManager โ”‚  โ”‚ ResultCache  โ”‚                        โ”‚
โ”‚  โ”‚ (ๆจกๅž‹็ฎก็†)    โ”‚  โ”‚ (็ป“ๆžœ็ผ“ๅญ˜)    โ”‚                        โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆจกๅ—็ป“ๆž„

pyhivision/
โ”œโ”€โ”€ config/          # ้…็ฝฎ็ฎก็†๏ผˆPydantic Settings๏ผ‰
โ”œโ”€โ”€ core/            # ๆ ธๅฟƒๆต็จ‹็ผ–ๆŽ’๏ผˆPipelineใ€ModelManager๏ผ‰
โ”œโ”€โ”€ models/          # AI ๆจกๅž‹ๅฐ่ฃ…๏ผˆDetectionใ€Matting๏ผ‰
โ”œโ”€โ”€ processors/      # ๅ›พๅƒๅค„็†ๅ™จ๏ผˆๆŠ ๅ›พใ€ๆฃ€ๆต‹ใ€็พŽ้ขœใ€ๅธƒๅฑ€๏ผ‰
โ”œโ”€โ”€ schemas/         # ๆ•ฐๆฎๆจกๅž‹๏ผˆRequestใ€Responseใ€Validation๏ผ‰
โ”œโ”€โ”€ utils/           # ๅทฅๅ…ทๅ‡ฝๆ•ฐ๏ผˆLoggerใ€Imageใ€Compression๏ผ‰
โ”œโ”€โ”€ exceptions/      # ๅผ‚ๅธธๅฎšไน‰๏ผˆ่‡ชๅฎšไน‰้”™่ฏฏ็ฑปๅž‹๏ผ‰
โ””โ”€โ”€ assets/          # ่ต„ๆบๆ–‡ไปถ๏ผˆLUTใ€ๅญ—ไฝ“ใ€ๆจกๆฟ๏ผ‰

๐Ÿ› ๏ธ ๅผ€ๅ‘ๆŒ‡ๅ—

ๅผ€ๅ‘็Žฏๅขƒๆญๅปบ

# ๅ…‹้š†ไป“ๅบ“
git clone https://github.com/ZyphrZero/pyhivision.git
cd pyhivision

# ๅˆ›ๅปบ่™šๆ‹Ÿ็Žฏๅขƒ
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# ๆˆ–
.venv\Scripts\activate  # Windows

# ๅฎ‰่ฃ…ๅผ€ๅ‘ไพ่ต–
pip install -e ".[dev]"

ไปฃ็ ่ง„่Œƒ

  • ๆ ผๅผๅŒ–ๅทฅๅ…ท: Ruff๏ผˆๆ›ฟไปฃ Black + isort๏ผ‰
  • ่กŒ้•ฟๅบฆ: 100 ๅญ—็ฌฆ
  • Python ็‰ˆๆœฌ: 3.11-3.12
  • ็ฑปๅž‹ๆณจ่งฃ: ๅฟ…้กปไฝฟ็”จๅฎŒๆ•ด็š„็ฑปๅž‹ๆ็คบ
# ไปฃ็ ๆ ผๅผๆฃ€ๆŸฅ
ruff check .

# ่‡ชๅŠจไฟฎๅค
ruff check --fix .

ๆต‹่ฏ•

# ่ฟ่กŒๆ‰€ๆœ‰ๆต‹่ฏ•
pytest tests/ -v

# ่ฟ่กŒ่ฆ†็›–็އๆต‹่ฏ•
pytest tests/ --cov=pyhivision --cov-report=html

# ่ฟ่กŒ็‰นๅฎšๆต‹่ฏ•
pytest tests/test_pipeline.py -v

็ผ–็ ่ง„่Œƒ

  • ็ฑปๅ: PascalCase๏ผˆๅฆ‚ ModelManager๏ผ‰
  • ๅ‡ฝๆ•ฐ/ๅ˜้‡: snake_case๏ผˆๅฆ‚ load_model, face_info๏ผ‰
  • ๅธธ้‡: UPPER_SNAKE_CASE๏ผˆๅฆ‚ CUBE64_SIZE๏ผ‰
  • ็งๆœ‰ๆ–นๆณ•: ๅ‰็ผ€ _๏ผˆๅฆ‚ _create_session๏ผ‰
  • ้”™่ฏฏๅค„็†: ไฝฟ็”จ่‡ชๅฎšไน‰ๅผ‚ๅธธ็ฑป๏ผˆ็ปงๆ‰ฟ่‡ช HivisionError๏ผ‰

๐Ÿ“š API ๆ–‡ๆกฃ

ๆ ธๅฟƒ็ฑป

IDPhotoSDK

ไธป่ฆ็š„ SDK ๆŽฅๅฃ๏ผŒๆไพ›่ฏไปถ็…งๅค„็†ๅŠŸ่ƒฝใ€‚

sdk = IDPhotoSDK.create(settings=settings)
result = sdk.process_single(request)

PhotoRequest

็…ง็‰‡ๅค„็†่ฏทๆฑ‚ๅฏน่ฑกใ€‚

request = PhotoRequest(
    image=image,                          # np.ndarray
    size=(413, 295),                      # ่พ“ๅ‡บๅฐบๅฏธ
    background_color=(0, 0, 255),         # ่ƒŒๆ™ฏ่‰ฒ๏ผˆ้ป˜่ฎค RGB ๆ ผๅผ๏ผŒๅฏๅกซๅ†™ๅๅ…ญ่ฟ›ๅˆถๆ ผๅผ๏ผ‰
    matting_model="modnet_photographic",  # ๆŠ ๅ›พๆจกๅž‹
    detection_model="mtcnn",              # ๆฃ€ๆต‹ๆจกๅž‹
    beauty_params=BeautyParams(           # ็พŽ้ขœๅ‚ๆ•ฐ๏ผˆๅฏ้€‰๏ผ‰
        brightness=10,
        contrast=5
    )
)

PhotoResult

็…ง็‰‡ๅค„็†็ป“ๆžœๅฏน่ฑกใ€‚

result.standard         # ๆ ‡ๅ‡†็…ง็‰‡๏ผˆnp.ndarray๏ผ‰
result.hd              # ้ซ˜ๆธ…็…ง็‰‡๏ผˆๅฏ้€‰๏ผ‰
result.face_info       # ไบบ่„ธไฟกๆฏ

ๆ”ฏๆŒ็š„ๆจกๅž‹

๐ŸŽจ ๆŠ ๅ›พๆจกๅž‹ๅฏนๆฏ”

ๆจกๅž‹ๅ็งฐ ๆ–‡ไปถๅคงๅฐ ๆŽจ็†้€Ÿๅบฆ ็ฒพๅบฆ ็‰น็‚น
modnet_photographic 24.7 MB โšกโšกโšกโšก โญโญโญ ้€š็”จๆ‘„ๅฝฑๆŠ ๅ›พ๏ผŒMODNetๅฎ˜ๆ–นๆƒ้‡๏ผˆๆŽจ่๏ผ‰
hivision_modnet 24.7 MB โšกโšกโšกโšก โญโญโญ ๅฏน็บฏ่‰ฒๆขๅบ•้€‚้…ๆ€งๆ›ดๅฅฝ็š„ๆŠ ๅ›พๆจกๅž‹
birefnet_lite 214 MB โšกโšก โญโญโญโญโญ BiRefNet ่ฝป้‡็‰ˆ๏ผŒ้ซ˜็ฒพๅบฆๆŠ ๅ›พ
rmbg_1.4 168 MB โšกโšกโšก โญโญโญโญ RMBG 1.4 ็‰ˆๆœฌ๏ผŒ้€š็”จ่ƒŒๆ™ฏ็งป้™ค
rmbg_2.0 223 MB โšกโšก โญโญโญโญโญ RMBG 2.0 ้‡ๅŒ–็‰ˆ๏ผŒ่ดจ้‡้ซ˜ๆŽจ็†้€Ÿๅบฆๆ…ข

๐Ÿ‘ค ไบบ่„ธๆฃ€ๆต‹ๆจกๅž‹ๅฏนๆฏ”

ๆจกๅž‹ๅ็งฐ ๆ–‡ไปถๅคงๅฐ ๆŽจ็†้€Ÿๅบฆ ็ฒพๅบฆ ็‰น็‚น
mtcnn โญ ๅ†…็ฝฎ โšกโšกโšกโšก โญโญโญโญ ๅคšไปปๅŠก็บง่”็ฝ‘็ปœ๏ผŒๅ†…็ฝฎๆƒ้‡๏ผˆๆŽจ่๏ผ‰
retinaface 104 MB โšกโšกโšก โญโญโญโญโญ RetinaFace ResNet50๏ผŒ้ซ˜็ฒพๅบฆๆฃ€ๆต‹

๐Ÿ“Š ๆจกๅž‹้€‰ๆ‹ฉๅปบ่ฎฎ

๐Ÿš€ ้€Ÿๅบฆไผ˜ๅ…ˆ โš–๏ธ ๅนณ่กก้€‰ๆ‹ฉ๏ผˆๆŽจ่๏ผ‰ ๐ŸŽฏ ็ฒพๅบฆไผ˜ๅ…ˆ
ๆŠ ๅ›พ๏ผšhivision_modnet ๆŠ ๅ›พ๏ผšrmbg_1.4 ๆŠ ๅ›พ๏ผšbirefnet_lite / rmbg_2.0
ๆฃ€ๆต‹๏ผšmtcnn ๆฃ€ๆต‹๏ผšmtcnn ๆฃ€ๆต‹๏ผšretinaface
ๅœบๆ™ฏ๏ผšๅฎžๆ—ถๅค„็†ใ€ๆ‰น้‡ไปปๅŠก ๅœบๆ™ฏ๏ผš่ฏไปถ็…งๅˆถไฝœใ€้€š็”จๅœบๆ™ฏ ๅœบๆ™ฏ๏ผš้ซ˜่ดจ้‡่พ“ๅ‡บใ€ๅคๆ‚่ƒŒๆ™ฏ

๐Ÿ’ก ๆ็คบ๏ผš

  • RMBG 2.0 ้‡ๅŒ–ๆจกๅž‹้œ€่ฆ็ฆ็”จ ONNX Runtime ๅ›พไผ˜ๅŒ–๏ผŒSDK ๅทฒ่‡ชๅŠจๅค„็†
  • MTCNN ไฝฟ็”จๅ†…็ฝฎๆƒ้‡๏ผŒๆ— ้œ€้ขๅค–ไธ‹่ฝฝๆจกๅž‹ๆ–‡ไปถ
  • ้ฆ–ๆฌกไฝฟ็”จๆจกๅž‹ๆ—ถไผš่‡ชๅŠจๅŠ ่ฝฝๅˆฐๅ†…ๅญ˜๏ผŒๅŽ็ปญไฝฟ็”จไผšไปŽ็ผ“ๅญ˜่ฏปๅ–

๐Ÿค ่ดก็ŒฎๆŒ‡ๅ—

ๆฌข่ฟŽ่ดก็Œฎไปฃ็ ใ€ๆŠฅๅ‘Š Bug ๆˆ–ๆๅ‡บๆ–ฐๅŠŸ่ƒฝๅปบ่ฎฎ๏ผ

  1. Fork ๆœฌไป“ๅบ“
  2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ (git checkout -b feature/AmazingFeature)
  3. ๆไบคๆ›ดๆ”น (git commit -m 'Add some AmazingFeature')
  4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (git push origin feature/AmazingFeature)
  5. ๅผ€ๅฏ Pull Request

่ดก็Œฎ่ฆๆฑ‚

  • ้ตๅพช้กน็›ฎ็š„็ผ–็ ่ง„่Œƒ๏ผˆRuff๏ผ‰
  • ๆทปๅŠ ๅฟ…่ฆ็š„ๅ•ๅ…ƒๆต‹่ฏ•
  • ๆ›ดๆ–ฐ็›ธๅ…ณๆ–‡ๆกฃ
  • ็กฎไฟๆ‰€ๆœ‰ๆต‹่ฏ•้€š่ฟ‡

๐Ÿ™ ่‡ด่ฐข

  • HiVision ่ฏไปถ็…ง้กน็›ฎ - HiVision ่ฏไปถ็…ง้กน็›ฎ
  • ModNet - ้ซ˜ๆ€ง่ƒฝไบบๅƒๆŠ ๅ›พๆจกๅž‹
  • BiRefNet - ้ซ˜็ฒพๅบฆ่ƒŒๆ™ฏ็งป้™คๆจกๅž‹
  • MTCNN - ๅคšไปปๅŠก็บง่”ๅท็งฏ็ฅž็ป็ฝ‘็ปœไบบ่„ธๆฃ€ๆต‹
  • RetinaFace - ๅ…ˆ่ฟ›็š„ไบบ่„ธๆฃ€ๆต‹ๆจกๅž‹

๐Ÿ“ง ่”็ณปๆ–นๅผ

  • ไฝœ่€…: FastParse Team
  • ้—ฎ้ข˜ๅ้ฆˆ: GitHub Issues

็”จ โค๏ธ ๆž„ๅปบ | Made with Love

โญ ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนไฝ ๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ๆˆ‘ไปฌไธ€ไธช Star๏ผ


๐Ÿ“„ ่ฎธๅฏ่ฏ

ๆœฌ้กน็›ฎ้‡‡็”จ Apache License 2.0 ๅผ€ๆบๅ่ฎฎใ€‚

About

PyHiVision ID Photo Processing SDK

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages