A Human-in-the-Loop workflow for creating HD images from text

Overview

DALL·E Flow: A Human-in-the-Loop workflow for creating HD images from text
A Human-in-the-Loop? workflow for creating HD images from text

Open in Google Colab Open in Google Colab

DALL·E Flow is an interactive workflow for generating high-definition images from text prompt. First, it leverages DALL·E-Mega to generate image candidates, and then calls CLIP-as-service to rank the candidates w.r.t. the prompt. The preferred candidate is fed to GLID-3 XL for diffusion, which often enriches the texture and background. Finally, the candidate is upscaled to 1024x1024 via SwinIR.

DALL·E Flow is built with Jina in a client-server architecture, which gives it high scalability, non-blocking streaming, and a modern Pythonic interface. Client can interact with the server via gRPC/Websocket/HTTP with TLS.

Why Human-in-the-Loop? Generative art is a creative process. While recent advances of DALL·E unleash people's creativity, having a single-prompt-single-output UX/UI locks the imagination to a single possibility, which is bad no matter how fine this single result is. DALL·E Flow is an alternative to the one-liner, by formalizing the generative art as an iterative procedure.

Gallery

Image filename is the corresponding text prompt.

A raccoon astronaut with the cosmos reflecting on the glass of his helmet dreaming of the stars, digital artoil painting of a hamster drinking tea outsideAn oil pastel painting of an annoyed cat in a spaceshipa rainy night with a superhero perched above a city, in the style of a comic bookA synthwave style sunset above the reflecting water of the sea, digital arta 3D render of a rainbow colored hot air balloon flying above a reflective lakea teddy bear on a skateboard in Times Square A stained glass window of toucans in outer spacea campfire in the woods at night with the milky-way galaxy in the skyThe Hanging Gardens of Babylon in the middle of a city, in the style of DalíAn oil painting of a family reunited inside of an airport, digital artan oil painting of a humanoid robot playing chess in the style of Matissegolden gucci airpods realistic photo

Client

Open in Google Colab

Using client is super easy. The following steps are best run in Jupyter notebook or Google Colab.

You will need to install DocArray and Jina first:

pip install "docarray[common]>=0.13.5" jina

We have provided a demo server for you to play:

⚠️ Due to the massive requests now, the server is super busy. You can deploy your own server by following the instruction here.

server_url = 'grpc://dalle-flow.jina.ai:51005'

Step 1: Generate via DALL·E Mega

Now let's define the prompt:

prompt = 'an oil painting of a humanoid robot playing chess in the style of Matisse'

Let's submit it to the server and visualize the results:

from docarray import Document

da = Document(text=prompt).post(server_url, parameters={'num_images': 16}).matches

da.plot_image_sprites(fig_size=(10,10), show_index=True)

Here we generate 16 candidates as defined in num_images, which takes about ~2 minutes. You can use a smaller value if it is too long for you. The results are sorted by CLIP-as-service, with index-0 as the best candidate judged by CLIP.

Step 2: Select and refinement via GLID3 XL

Of course, you may think differently. Notice the number in the top-left corner? Select the one you like the most and get a better view:

fav_id = 3
fav = da[fav_id]
fav.display()

Now let's submit the selected candidates to the server for diffusion.

diffused = fav.post(f'{server_url}/diffuse', parameters={'skip_rate': 0.5}).matches

diffused.plot_image_sprites(fig_size=(10,10), show_index=True)

This will give 36 images based on the given image. You may allow the model to improvise more by giving skip_rate a near-zero value, or a near-one value to force its closeness to the given image. The whole procedure takes about ~2 minutes.

Step 3: Select and upscale via SwanIR

Select the image you like the most, and give it a closer look:

dfav_id = 34
fav = diffused[dfav_id]
fav.display()

Finally, submit to the server for the last step: upscaling to 1024 x 1024px.

fav = fav.post(f'{server_url}/upscale')
fav.display()

That's it! It is the one. If not satisfied, please repeat the procedure.

Btw, DocArray is a powerful and easy-to-use data structure for unstructured data. It is super productive for data scientists who work in cross-/multi-modal domain. To learn more about DocArray, please check out the docs.

Server

You can host your own server by following the instruction below.

Hardware requirements

It is highly recommended to run DALL·E Flow on a GPU machine. In fact, one GPU is probably not enough. DALL·E Mega needs one with 22GB memory. SwinIR and GLID-3 also need one; as they can be spawned on-demandly in seconds, they can share one GPU.

It requires at least 40GB free space on the hard drive, mostly for downloading pretrained models.

CPU-only environment is not tested and likely won't work. Google Colab is likely throwing OOM hence also won't work.

Install

Clone repos

mkdir dalle && cd dalle
git clone https://github.com/jina-ai/dalle-flow.git
git clone https://github.com/JingyunLiang/SwinIR.git
git clone https://github.com/CompVis/latent-diffusion.git
git clone https://github.com/Jack000/glid-3-xl.git

You should have the following folder structure:

dalle/
 |
 |-- dalle-flow/
 |-- SwinIR/
 |-- glid-3-xl/
 |-- latent-diffusion/

Install auxiliary repos

cd latent-diffusion && pip install -e . && cd -
cd glid-3-xl && pip install -e . && cd -

There are couple models we need to download first for GLID-3-XL:

wget https://dall-3.com/models/glid-3-xl/bert.pt
wget https://dall-3.com/models/glid-3-xl/kl-f8.pt
wget https://dall-3.com/models/glid-3-xl/finetune.pt

Install flow

cd dalle-flow
pip install -r requirements.txt

Start the server

Now you are under dalle-flow/, run the following command:

jina flow --uses flow.yml

You should see this screen immediately:

On the first start it will take ~8 minutes for downloading the DALL·E mega model and other necessary models. The proceeding runs should only take ~1 minute to reach the success message.

When everything is ready, you will see:

Congrats! Now you should be able to run the client.

You can modify and extend the server flow as you like, e.g. changing the model, adding persistence, or even auto-posting to Instagram/OpenSea. With Jina and DocArray, you can easily make DALL·E Flow cloud-native and ready for production.

Support

Join Us

DALL·E Flow is backed by Jina AI and licensed under Apache-2.0. We are actively hiring AI engineers, solution engineers to build the next neural search ecosystem in open-source.

Comments
  • Add Stable Diffusion text to image workflow

    Add Stable Diffusion text to image workflow

    This pull requests adds support for Stable Diffusion. Please note that you will need access to a checkpoint for anything to work, in your dalle/stable-diffusion/models/ldm/stable-diffusion-v1/ folder as model.ckpt. Although this model does not currently automatically download, it will upon release of the stable diffusion checkpoints to the general public.

    Closes #83 .

    If I have time before release I will add more features, like diffusion (image to image), inpainting, and others.

    opened by AmericanPresidentJimmyCarter 29
  • TypeError: 'NoneType' object is not subscriptable

    TypeError: 'NoneType' object is not subscriptable

    When running natively or using Docker container I receive the error as per traceback:

    /dalle/glid-3-xl/dalle_flow_glid3/sample.py:19 in do_run                                                                                               
           │                                                                                                                                                        
           │    16 │   text_blank = blank_bert_embedding.repeat(runtime_args.batch_size, 1, 1)                                                                      
           │    17 │                                                                                                                                                
           │    18 │   # clip context                                                                                                                               
           │ ❱  19 │   text_emb_clip = np.repeat(text_emb_clip[np.newaxis, :], runtime_args.batch_size,                                                            
           │       axis=0)
    

    text_emb_clip is not being populated, been trying to run pdb's in the native version but that seems to create a lot of issues on it's own.

    It runs fine when glid-3 is disabled, but it then loses some of the power of the flow and mainly just results in me running stable diffusion.

    This is running in WSL2 so possibly that may be creating issues, though it isn't clear to me at the moment how.

    Will continue trying to debug, but thought it might be useful to know, especially in the case of docker failing.

    opened by RHODOK 18
  • Failed to run my own server

    Failed to run my own server

    Hi, i'm trying to run my own server following the steps in the repo but I've the following error:

    jinaerror

    I'm on AWS Sagemaker console.. I tried with a ml.g4dn.16xlarge to avoid having resource issues as I thought it was related to that.

    Can you help me to solve this issue?

    opened by MattiaRigi97 17
  • Calling Upscale from Colab is throwing an error

    Calling Upscale from Colab is throwing an error

    I tried upscaling my images but they always stay at 250x250 and not at 1024x1024. Server side error:

    ERROR  upscaler/rep-0@42                                 
           FileNotFoundError('`../SwinIR/results/swinir_real_sr…                    
           is not a URL or a valid local path')  
    
        FileNotFoundError:                                                       
           `../SwinIR/results/swinir_real_sr_x4_large/ac3266c0f…                    
           is not a URL or a valid local path   
    
    opened by spuliz 16
  • Docker error

    Docker error

    I have this problem running docker with command: docker run -p 51005:51005 -v $HOME/.cache:/root/.cache --gpus all jinaai/dalle-flow on aws g5.xlarge with Deep Learning AMI (Amazon Linux 2) Version 61.2

    I have done lot of experiment fixing many small problems but now I'm not able to figure out how to go forward. In any case thanks a lot for this wonderful project

    SERVER: Done. 0:0:0 device count: 1 DEBUG dalle/rep-0@12 start listening on 0.0.0.0:60127 [05/23/22 08:25:29] DEBUG dalle/rep-0@ 1 ready and listening [05/23/22 08:25:29]

    ╭───── 🎉 Flow is ready to serve! ──────╮ │ 🔗 Protocol GRPC │ │ 🏠 Local 0.0.0.0:51005 │ │ 🔒 Private 172.17.0.2:51005 │ │ 🌍 Public 54.161.222.71:51005 │ ╰───────────────────────────────────────╯

    DEBUG gateway/rep-0@18 GRPC call failed with code [05/23/22 08:26:08] StatusCode.UNAVAILABLE, retry attempt 1/3. Trying
    next replica, if available.
    DEBUG gateway/rep-0@18 GRPC call failed with code
    StatusCode.UNAVAILABLE, retry attempt 1/3. Trying
    next replica, if available.
    DEBUG gateway/rep-0@18 GRPC call failed with code
    StatusCode.UNAVAILABLE, retry attempt 2/3. Trying
    next replica, if available.
    DEBUG dalle/rep-0@12 recv DataRequest at / with id: [05/23/22 08:26:08] 3dfaebf6ef3e49a3977dd7dfe9eb6b27
    DEBUG gateway/rep-0@18 GRPC call failed with code
    StatusCode.UNAVAILABLE, retry attempt 2/3. Trying
    next replica, if available.
    DEBUG gateway/rep-0@18 GRPC call failed, retries exhausted
    DEBUG gateway/rep-0@18 GRPC call failed, retries exhausted
    ERROR gateway/rep-0@18 Error while getting responses from [05/23/22 08:26:08] deployments: failed to connect to all addresses
    |Gateway: Communication error with deployment at
    address(es) 0.0.0.0:50029. Head or worker(s) may be
    down.

    CLIENT ERROR GRPCClient@6813 gRPC error: StatusCode.UNAVAILABLE failed to connect to all addresses |Gateway: [05/23/2022 08:26:08 AM] Communication error with deployment at address(es) 0.0.0.0:50029. Head or worker(s) may be down.
    The ongoing request is terminated as the server is not available or closed already.

    opened by giux78 14
  • Local Server Error --

    Local Server Error -- "RuntimeFailToStart"

    I'm trying to run a local server in an anaconda environment; I've tried rebuilding the environment and even installed all dependencies manually, but I still get the same error. Running Mint/Ubuntu 20.04 with an RTX 3090 (needed to update PyTorch for the 3090, this initially threw and error as well)

    The first error in seems to be "can not import module from home/user/ml/dalle/dalle-flow/executors/dalle/dm_helper.py"

    DEBUG store/rep-0@17770 ready and listening [05/15/22 14:01:07] ⠙ Waiting dalle diffusion rerank upscaler store gateway ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0/6 0:00:00DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses (raised from /home/leary/anaconda3/envs/dalle/lib/python3.8/site-packages/flatbuffers/compat.py:19) ⠹ Waiting dalle diffusion store ━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━ 3/6 0:00:00CRITI… dalle/rep-0@17773 can not load the executor from executors/dalle/config.yml [05/15/22 14:01:07] ⠴ Waiting dalle diffusion ━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━ 4/6 0:00:00ERROR dalle/rep-0@17773 ImportError('can not import module from [05/15/22 14:01:07] /home/leary/ml/dalle/dalle-flow/executors/dalle/dm_helper.py') during <class
    'jina.serve.runtimes.worker.WorkerRuntime'> initialization
    add "--quiet-error" to suppress the exception details

    and the second error appears to be " AttributeError: module 'jaxlib.pocketfft' has no attribute 'pocketfft' "

    which throws an additional " ImportError: can not import module from
    /home/user/ml/dalle/dalle-flow/executors/dalle/dm_helper.py "

    opened by 6630507 11
  • Weighted subprompts, 25% SD performance boost, less VRAM usage, and more

    Weighted subprompts, 25% SD performance boost, less VRAM usage, and more

    • Add positively or negatively weighted subprompts (Closes #103). You can test these for example with "tabby cat: 0.75, tiger: 0.25".
    • Uses a new stable-diffusion repo with much better memory management and performance updates (Closes #110)
    • The latent representation and conditioned embeddings are now stored, along with the parameters for the API call (Closes #104)
    • Adds the ability to use the SD concepts library by simply supplying the name of the concept in brackets (Closes #111). You can test this with a prompt like "".

    Weighted prompts/subprompts and SD concepts are only available in the main stable branch. No plans currently to support them in stablelite, which is considered a barebones implementation.

    opened by AmericanPresidentJimmyCarter 10
  • Cannot connect to dalle when run in docker

    Cannot connect to dalle when run in docker

    Hello, thanks for sharing this wonderful project.

    I had a problem there, I tried to run it in docker and access it locally. The docker build and run process is smooth, but when I started the client and tried to access it locally, this error occurs: ConnectionError: failed to connect to all addresses |Gateway: Communication error with deployment at address 0.0.0.0:49336. Head or worker may be down. I checked the port and see it should be the port of dalle as: gateway/rep-0@60 adding connection for deployment dalle/heads/0 to grpc://0.0.0.0:49336

    Any idea on how I could fix this? Thank you so much.

    opened by AstrocyteTaki 10
  • Failed to connect to all addresses

    Failed to connect to all addresses

    Hi, I got the server running and tried it out. After executing the client:

    doc = Document(text=prompt).post(server_url, parameters={'num_images': 8})
    da = doc.matches
    

    The server doesn't respond to the notebook and prints the following error:

    DEBUG  diffusion/rep-0@24 recv DataRequest at / with id:     [08/11/22 06:41:47]
           4856d9e7b3334adf9aec568629267f62                                         
    DEBUG  dalle/rep-0@23 recv DataRequest at / with id:         [08/11/22 06:41:47]
           4856d9e7b3334adf9aec568629267f62                                         
    INFO   diffusion/rep-0@24 diffusion  ...                     [08/11/22 06:41:47]
    INFO   dalle/rep-0@23 dalle 8 ...                            [08/11/22 06:41:47]
    DEBUG  diffusion/rep-0@24 connected to demo-cas.jina.ai:2096 [08/11/22 06:41:47]
    ERROR  diffusion/rep-0@24 gRPC error: StatusCode.UNAVAILABLE [08/11/22 06:42:27]
           failed to connect to all addresses                                       
           The ongoing request is terminated as the server is                       
           not available or closed already.                                         
    ERROR  diffusion/rep-0@24 ConnectionError('failed to connect [08/11/22 06:42:27]
           to all addresses')                                                       
            add "--quiet-error" to suppress the exception                           
           details
    

    Any idea what I can do?

    EDIT: I am running the latest docker image on OpenShift.

    opened by knorr3 9
  • "Diffusion" executer not starting

    Hello, I am trying to run the dalle-flow server container on OpenShift with an Nvidia A40 GPU. After waiting 10 minutes for dalle and diffusion, the diffusion executer terminates with a timeout. I have tried the latest container image and also tried installing the latest version manually inside the container image. Another problem is that there is not a single error or debug message coming from the diffusion executer.

    Does anyone have the same problem, or any idea how I can debug this? Thank you very much.

    opened by knorr3 7
  • OperationalError: database is locked in MyStore executor

    OperationalError: database is locked in MyStore executor

    I'm getting this error when launching the server both in Docker or natively.

    the dalle-flow.db gets created with 777 but then this database is locked error occurs and no tables are ever initialised, the file remains empty.

    I made no changes to the executor or the yml file and DocumentArray initialisation seems correct...

    from jina import Executor, requests, DocumentArray
    from jina.logging.predefined import default_logger
    
    
    class MyStore(Executor):
    
        def __init__(self, store_path: str, **kwargs):
            super().__init__(**kwargs)
            self.storage = DocumentArray(storage='sqlite', config={'connection': store_path, 'table_name': f'dallemega'})
    
    
    opened by mistamun 7
  • Error: : 'clip_encoder'"">

    Error: "Unexpected : 'clip_encoder'"

    Is this still actively maintained? Currently getting this error when submitting ...

    Exception in thread Thread-19:
    Traceback (most recent call last):
      File "/usr/local/lib/python3.7/dist-packages/jina/clients/base/grpc.py", line 129, in _get_results
        timeout=kwargs.get('timeout', None),
      File "/usr/local/lib/python3.7/dist-packages/grpc/aio/_call.py", line 326, in _fetch_stream_responses
        await self._raise_for_status()
      File "/usr/local/lib/python3.7/dist-packages/grpc/aio/_call.py", line 237, in _raise_for_status
        self._cython_call.status())
    grpc.aio._call.AioRpcError: <AioRpcError of RPC that terminated with:
    	status = StatusCode.UNKNOWN
    	details = "Unexpected <class 'KeyError'>: 'clip_encoder'"
    	debug_error_string = "{"created":"@1669193768.070137746","description":"Error received from peer ipv4:3.221.225.207:443","file":"src/core/lib/surface/call.cc","file_line":966,"grpc_message":"Unexpected <class 'KeyError'>: 'clip_encoder'","grpc_status":2}"
    
    opened by fbauer-kunbus 15
  • jina does not pass the right GPU in to clipseg

    jina does not pass the right GPU in to clipseg

    Describe the bug

    Does not work:

    - name: clipseg
      env:
        CUDA_VISIBLE_DEVICES: "GPU-87ddc7ee-c3eb-1181-1857-368f4c2bb8be"
        XLA_PYTHON_CLIENT_ALLOCATOR: platform
      replicas: 1
      timeout_ready: -1
      uses: executors/clipseg/config.yml
    

    Works:

    - name: clipseg
      env:
        CUDA_VISIBLE_DEVICES: "6"
        XLA_PYTHON_CLIENT_ALLOCATOR: platform
      replicas: 1
      timeout_ready: -1
      uses: executors/clipseg/config.yml
    

    Describe how you solve it

    I use the numeric GPU ID (sad)


    Environment

    - jina 3.8.3
    - docarray 0.16.2
    - jcloud 0.0.35
    - jina-hubble-sdk 0.18.0
    - jina-proto 0.1.13
    - protobuf 3.20.1
    - proto-backend cpp
    - grpcio 1.47.0
    - pyyaml 6.0
    - python 3.8.10
    - platform Linux
    - platform-release 5.15.0-52-generic
    - platform-version jina-ai/jina#58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022
    - architecture x86_64
    - processor x86_64
    - uid 2485377892357
    - session-id fcbedcc8-5d43-11ed-9251-0242ac110005
    - uptime 2022-11-05T19:56:49.977485
    - ci-vendor (unset)
    * JINA_DEFAULT_HOST (unset)
    * JINA_DEFAULT_TIMEOUT_CTRL (unset)
    * JINA_DEPLOYMENT_NAME (unset)
    * JINA_DISABLE_UVLOOP (unset)
    * JINA_EARLY_STOP (unset)
    * JINA_FULL_CLI (unset)
    * JINA_GATEWAY_IMAGE (unset)
    * JINA_GRPC_RECV_BYTES (unset)
    * JINA_GRPC_SEND_BYTES (unset)
    * JINA_HUB_NO_IMAGE_REBUILD (unset)
    * JINA_LOG_CONFIG (unset)
    * JINA_LOG_LEVEL (unset)
    * JINA_LOG_NO_COLOR (unset)
    * JINA_MP_START_METHOD (unset)
    * JINA_OPTOUT_TELEMETRY (unset)
    * JINA_RANDOM_PORT_MAX (unset)
    * JINA_RANDOM_PORT_MIN (unset)
    

    Screenshots

    N/A

    opened by mchaker 21
  • Restore partial Windows compatibility by not importing jax unless it's actually needed

    Restore partial Windows compatibility by not importing jax unless it's actually needed

    Was using dalle-flow for months with AmericanPresidentJimmyCarter's Discord bot when a few weeks back it broke after a git pull. I shelved looking at why until now.

    dalle-flow checks if flax is available, and if it is, will try to import jax. The problem is it then fails with jaxlib required. jaxlib is not available for Windows.

    The solution: pip uninstall jax pip uninstall flax

    And boom now stable-diffusion is working with dalle-flow again. Not sure which executor actually needs jax/flax, but please add a more sane check to not import jax unless it's actually needed. --enable-stable-diffusion does not need either flax or jax

    opened by bdonnell 0
  • Report: Jina dalle-flow Server run successfully on native Windows

    Report: Jina dalle-flow Server run successfully on native Windows

    Require cloudflared for windows, but works just fine, be sure to run under http2 mode Example cmd file:

    start /B "" python3 -m jina flow --uses D:\work\dalle\dalle-flow\flow.yml
    
    del /f D:\work\dalle-flow_cloudflared.log
    start /B "" D:\work\cloudflared-windows-amd64.exe tunnel --protocol http2 --url http://localhost:51005 > D:\work\dalle-flow_cloudflared.log 2>&1
    

    image

    Example Powershell script to get cloudflared ip from dalle-flow_clouflared.log

    $var = Select-String -Pattern ".trycloudflare.com " -SimpleMatch D:\work\dalle-flow_cloudflared.log
    $new_array = $var -split "\s+"
    $new_array[3]
    
    opened by brokeDude2901 0
  • Error running dalle-flow docker container on GPU VM in Azure

    Error running dalle-flow docker container on GPU VM in Azure

    $ docker run -p 51005:51005 -it -v $HOME/.cache:/home/dalle/.cache --gpus all jinaai/dalle-flow docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: nvml error: driver not loaded: unknown. ERRO[0000] error waiting for container: context canceled

    Any ideas?

    opened by justin-romano 2
Owner
Jina AI
A Neural Search Company. We help businesses and developers to build neural search-powered applications in minutes.
Jina AI
An image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testingAn image base contains 490 images for learning (400 cars and 90 boats), and another 21 images for testing

SVM Données Une base d’images contient 490 images pour l’apprentissage (400 voitures et 90 bateaux), et encore 21 images pour fait des tests. Prétrait

Achraf Rahouti 3 Nov 30, 2021
A list of papers about point cloud based place recognition, also known as loop closure detection in SLAM (processing)

A list of papers about point cloud based place recognition, also known as loop closure detection in SLAM (processing)

Xin Kong 17 May 16, 2021
FluxTraining.jl gives you an endlessly extensible training loop for deep learning

A flexible neural net training library inspired by fast.ai

null 86 Dec 31, 2022
FLVIS: Feedback Loop Based Visual Initial SLAM

FLVIS Feedback Loop Based Visual Inertial SLAM 1-Video EuRoC DataSet MH_05 Handheld Test in Lab FlVIS on UAV Platform 2-Relevent Publication: Under Re

UAV Lab - HKPolyU 182 Dec 4, 2022
Codebase for the Summary Loop paper at ACL2020

Summary Loop This repository contains the code for ACL2020 paper: The Summary Loop: Learning to Write Abstractive Summaries Without Examples. Training

Canny Lab @ The University of California, Berkeley 44 Nov 4, 2022
Code for paper ECCV 2020 paper: Who Left the Dogs Out? 3D Animal Reconstruction with Expectation Maximization in the Loop.

Who Left the Dogs Out? Evaluation and demo code for our ECCV 2020 paper: Who Left the Dogs Out? 3D Animal Reconstruction with Expectation Maximization

Benjamin Biggs 29 Dec 28, 2022
AirLoop: Lifelong Loop Closure Detection

AirLoop This repo contains the source code for paper: Dasong Gao, Chen Wang, Sebastian Scherer. "AirLoop: Lifelong Loop Closure Detection." arXiv prep

Chen Wang 53 Jan 3, 2023
Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities

ORB-SLAM2 Authors: Raul Mur-Artal, Juan D. Tardos, J. M. M. Montiel and Dorian Galvez-Lopez (DBoW2) 13 Jan 2017: OpenCV 3 and Eigen 3.3 are now suppor

Raul Mur-Artal 7.8k Dec 30, 2022
Minimalistic PyTorch training loop

Backbone for PyTorch training loop Will try to keep it minimalistic. pip install back from back import Bone Features Progress bar Checkpoints saving/l

Kashin 4 Jan 16, 2020
PyTorch implementation of the method described in the paper VoiceLoop: Voice Fitting and Synthesis via a Phonological Loop.

VoiceLoop PyTorch implementation of the method described in the paper VoiceLoop: Voice Fitting and Synthesis via a Phonological Loop. VoiceLoop is a n

Meta Archive 873 Dec 15, 2022
duralava is a neural network which can simulate a lava lamp in an infinite loop.

duralava duralava is a neural network which can simulate a lava lamp in an infinite loop. Example This is not a real lava lamp but a "fake" one genera

Maximilian Bachl 87 Dec 20, 2022
[CVPR2021] UAV-Human: A Large Benchmark for Human Behavior Understanding with Unmanned Aerial Vehicles

UAV-Human Official repository for CVPR2021: UAV-Human: A Large Benchmark for Human Behavior Understanding with Unmanned Aerial Vehicle Paper arXiv Res

null 129 Jan 4, 2023
Human POSEitioning System (HPS): 3D Human Pose Estimation and Self-localization in Large Scenes from Body-Mounted Sensors, CVPR 2021

Human POSEitioning System (HPS): 3D Human Pose Estimation and Self-localization in Large Scenes from Body-Mounted Sensors Human POSEitioning System (H

Aymen Mir 66 Dec 21, 2022
Human Action Controller - A human action controller running on different platforms.

Human Action Controller (HAC) Goal A human action controller running on different platforms. Fun Easy-to-use Accurate Anywhere Fun Examples Mouse Cont

null 27 Jul 20, 2022
Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Ibai Gorordo 99 Dec 31, 2022
StyleGAN-Human: A Data-Centric Odyssey of Human Generation

StyleGAN-Human: A Data-Centric Odyssey of Human Generation Abstract: Unconditional human image generation is an important task in vision and graphics,

stylegan-human 762 Jan 8, 2023
Honours project, on creating a depth estimation map from two stereo images of featureless regions

image-processing This module generates depth maps for shape-blocked-out images Install If working with anaconda, then from the root directory: conda e

null 2 Oct 17, 2022
Unified Interface for Constructing and Managing Workflows on different workflow engines, such as Argo Workflows, Tekton Pipelines, and Apache Airflow.

Couler What is Couler? Couler aims to provide a unified interface for constructing and managing workflows on different workflow engines, such as Argo

Couler Project 781 Jan 3, 2023
Teaching end to end workflow of deep learning

Deep-Education This repository is now available for public use for teaching end to end workflow of deep learning. This implies that learners/researche

Data Lab at College of William and Mary 2 Sep 26, 2022