[HN Gopher] Launch HN: Rubbrband (YC W23) - Deformity detection ...
       ___________________________________________________________________
        
       Launch HN: Rubbrband (YC W23) - Deformity detection for AI-
       generated images
        
       Hey HN! We're Jeremy, Abhi and Darren from Rubbrband
       (https://www.rubbrband.com/). Rubbrband is software that evaluates
       the quality of images generated by Stable Diffusion (or Midjourney,
       DALL-e, etc...).  We actually stumbled into this idea while working
       on solving a different problem. While helping a few companies use
       Stable Diffusion in production, we found that these companies
       needed to use QA analysts to manually evaluate their images to make
       sure they were high quality once in prod. This process often took
       days just to go through thousands of images, so companies that have
       a text-to-image product with PMF couldn't guarantee that their
       images were of high quality.  From our initial set of customers, we
       found that evaluating the quality of their outputs at scale was an
       even larger problem than just using the model itself. So we pivoted
       our company into working on solving this problem using our skills
       from CV research. All three of us did computer vision research at
       UC Berkeley, and Abhi worked with John Canny, who invented many CV
       techniques like the Canny Edge Detector.  We built a product that
       automates this process using computer vision. We've trained in-
       house several computer vision models that grade images based on
       different criteria.  These include: - Detecting human deformities,
       such as a person with 7 fingers on a hand (image generation models
       generate deformed hands over 80% of the time when generating a
       photo of a person! This includes the state of the art: Midjourney,
       SDXL, Runway, etc...); - A score that rates how well the image
       aligns with the prompt(we do this using our own finetuned Visual
       Question Answer model); - A composition score (how well composed
       the image is according to photography "rules")  Using Rubbrband is
       pretty simple. You can send an image to us to process via our API
       or our web app, and you'll get scores for each of those criteria
       back on your dashboard in less than 10 seconds. Here is a quick
       Loom demo:
       https://www.loom.com/share/961830347b3643dcbb92dfe80f8ca1f0?....
       You can filter your images based on certain criteria from the
       dashboard. For instance, if you want to see all images with
       deformed eyes, you can click the "deformed eyes" filter at the top
       of the screen to see all of those images.  We store images
       generated by your image generation model. We're like a logging tool
       for images, with evaluations on top. We currently charge $0.01 per
       image, with your first 1000 images free.  We're super excited to
       launch this to Hacker News. We'd love to hear what you think.
       Thanks in advance!
        
       Author : jrmylee
       Score  : 70 points
       Date   : 2023-08-10 14:35 UTC (8 hours ago)
        
       | bboylen wrote:
       | This seems pretty useful for companies generating images at
       | scale. Are you at all worried that generative models will get so
       | good that you don't need to check for deformities?
        
         | jrmylee wrote:
         | It's something we think about for sure
         | 
         | We think that image-gen models are lagging behind LLMs by about
         | a year, so the problems that these models will have should look
         | quite different in the future.
         | 
         | It'll require us to be adaptable and also to take chances on
         | solving problems that aren't huge issues just yet, but are
         | likely to be once models improve.
        
         | zirgs wrote:
         | Is there any model that doesn't output deformed hands?
        
           | Utkarsh_Mood wrote:
           | iirc midjourney has figured it out although its closed source
           | if you were wondering.
        
         | brucethemoose2 wrote:
         | I can't see this ever happening. Every new genAI model and
         | finetune I've seen brings fun new classes of distortion.
        
           | zirgs wrote:
           | We'll probably need higher resolution models. SD 1.5 is
           | 512x512 and it usually outputs deformed faces in full body
           | shots simply because its resolution is too small. SD XL is
           | 1024x1024 and that no longer happens there.
           | 
           | We'll see how outputs from 2048 and 4096 models are going to
           | look like. But those models will need lots of VRAM.
        
       | michaelmior wrote:
       | Maybe it's just me, but with the aspect ratios in the first three
       | images being clearly off, the website immediately feels broken.
        
         | jrmylee wrote:
         | Thanks will fix this
        
       | atentaten wrote:
       | I have an app that needs to generate hundreds and eventually
       | thousands of images. What tools can I use to generate these
       | images at scale. After I figure that out, then I will be looking
       | at Rubbrband for quality control.
        
         | jrmylee wrote:
         | There's a few companies that provide APIs for image-gen.
         | Personally I've been using the Kandinsky model off Replicate.
         | It's really high quality, I'd recommend it:
         | https://replicate.com/ai-forever/kandinsky-2.2
        
           | sakopov wrote:
           | Wow, that page generates some striking images. Thanks for
           | sharing the link!
        
       | keiferski wrote:
       | Cool idea. I do think that filtering large batches AI-generated
       | data is potentially a huge market, especially if you get it to
       | filter for certain characteristics. I.e., remove images that are
       | a specific color or contain certain background elements.
       | 
       | I use Midjourney quite a bit and I end up using the creation
       | process itself as an ongoing filtering process, but on a per
       | image basis. It would be a lot more efficient to generate 1,000
       | images at once, filter out the images that are deformed/not
       | fitting the requirements, _then_ see what you 've got to work
       | with.
        
         | abhinavgopal wrote:
         | Thanks! We're interested in this use case too, it seems that a
         | lot of people find random seeds to be quite powerful in the
         | diversity of images produced. We built this so that you can
         | upload the images from those seeds and then quickly figure out
         | which of those are not deformed.
        
       | version_five wrote:
       | Fundamentally it sounds like you built an ML model(s) and are
       | trying to monetize it behind an API. How does that work medium-
       | term? Are you expecting there won't be open source alternatives,
       | is your value in hosting the model (and if so will you open
       | source yours) or is there another angle. I've built ML models and
       | looked into how to monetize them, and overall it seems like a
       | tough play without the model being part of some bigger thing that
       | has more of a moat. What are your thoughts?
        
         | jrmylee wrote:
         | Yeah it's a great q
         | 
         | The way we think about it is that we're building a product for
         | organizations in scaling mode, and they have deep needs on the
         | product-side. Flexibility on filtering, different client-
         | libraries, a clean observability interface, etc...
         | 
         | It's possible that we open-source parts of our models, but
         | fundamentally we think we can capture value by building a great
         | all-around web product, and not just a set of eval models.
        
       | alecbell wrote:
       | This is a brilliant idea. Whenever I look at an image these days
       | that has the "texture" of a generated image, I immediately start
       | looking at certain features such as "more than 5 fingers" to
       | determine whether it's real or not. If you could immediately
       | detect those features and block the generated image from making
       | it to production, that'd be a huge value gain.
        
       | ssijak wrote:
       | For anything that is not Midjourney you can just flag as deformed
       | :) Jokes aside, Midjourney is far far ahead of all the others in
       | what it can generate.
        
         | andybak wrote:
         | SDXL feels pretty close now. Have you spent much time with it?
        
           | ssijak wrote:
           | yes, it's much better than the previous version but still not
           | close to midjourney. there is that threshold in image
           | generation via these models where until you cross it every
           | picture feels off in some way and obviously ai generated.
           | with midjourney I am continuously amazed at what I get out of
           | it. then if you want high res pictures pass them through
           | Gigapixel and voila.
        
         | zirgs wrote:
         | Midjourney still straight up ignores prompts. From my
         | experiments it seems that SD XL follows my promts much better.
        
           | darren_hsu wrote:
           | We're building prompt alignment models too so you can
           | objectively see how well SDXL follows your prompt :)
        
             | dragonwriter wrote:
             | Are you building prompt alignment model alignment models so
             | I can objectively see how well what your prompt alignment
             | model is judging SDXL's interpretation of my prompt against
             | aligns with my prompt?
             | 
             |  _Quis custodiet ipsos custodes?_
        
               | darren_hsu wrote:
               | Its how your prompt aligns with the SDXL image output,
               | not how your prompt aligns with SDXL's interpretation of
               | your prompt
        
               | dragonwriter wrote:
               | Isn't it actually how the SDXL image output (that is,
               | SDXL's interpretation of my prompt) aligns with _your
               | model's_ intepretation of my prompt?
        
       | Animats wrote:
       | Coming soon from YC: SpelCheck.
        
       | ssijak wrote:
       | Bug report: clicking "pricing" while on the pricing page leads to
       | blank page
        
         | ssijak wrote:
         | Clicking on "get started for free" in the blue pricing box
         | while on pricing page opens blank page in the new window
        
           | abhinavgopal wrote:
           | Thanks, fixed both!
        
       | brucethemoose2 wrote:
       | Amazing! There are boatloads of imagegen businesses that should
       | pay you for this.
       | 
       | And this is quite a rabbit hole. There are an infinite class of
       | distortions to detect, from "fused limbs" (which I get quite
       | frequently) to cfg "burn" (which I see in some of those example
       | images) to bad cropping and such.
       | 
       | I can see y'all expanding to generative video once that takes
       | off. I can only imagine the kinds of artifacts that will show
       | up... real video is already a problem!
        
         | abhinavgopal wrote:
         | Thank you! Definitely a lot of problems to tackle for us. We
         | are interested in possibly eventually expanding to generative
         | video, and it'll give us a new world of problems to look at in
         | that space too.
        
       | bjourne wrote:
       | Isn't this product kind of impossible? Like a compression program
       | that compresses compressed files? If you have an algorithm for
       | determining whether a generated image is good or bad couldn't the
       | same logic be incorporated into the network so that it doesn't
       | generate bad images?
        
         | __loam wrote:
         | That's essentially how using a GAN works.
         | 
         | E: or how it's supposed to work.
        
         | darren_hsu wrote:
         | We're optimistic about using our own algorithms and models to
         | evaluate another model. In theoretical computer science, it is
         | easier to verify a correct solution than to generate a correct
         | solution (P vs NP problem).
        
           | lancesells wrote:
           | Do you, or will you, use human labor in any instance on
           | evaluating images?
        
             | darren_hsu wrote:
             | We currently don't since its not scalable
        
         | joefourier wrote:
         | Not impossible at all - classifier networks are much, much
         | easier to train than generative networks. However you can't
         | directly integrate the logic into the generator, you'd have to
         | train the generator against the discriminator network. This is
         | essentially the principle of a GAN and although many tricks
         | have been developed in recent years, they tend to be finicky
         | and difficult to train.
         | 
         | Diffusion models like SD are trained with a very simple loss
         | function instead, which is just the L2 loss of an iterative
         | denoising process. This tends to result in stabler training
         | than using GANs. However, you could fine tune SD with
         | reinforcement learning using the deformity detector as the
         | reward, but it's not a panacea as it could lead to overfitting
         | and performance degradation.
        
       | toddmorey wrote:
       | Question: what's a use case for generating so many images in a
       | batch at scale?
        
         | abhinavgopal wrote:
         | Stock photos, e-commerce, gaming, marketing all generate images
         | at a very high scale
        
       | VincentEvans wrote:
       | What happens if you run it against pictures of regular people? :)
       | Damn these beauty standards!
       | 
       | I kid, I kid.
        
         | neovialogistics wrote:
         | Posting communities will inevitably try to find false
         | positives, and it'll be fun to see if there are any.
         | 
         | I'm wondering about real photos that have deliberately been
         | shot to screw with normative standards of photo composition,
         | like Weston's headshot of Igor Stravinsky. Another genre of
         | photo that may be flagged are sci-fi and/or fantasy film set
         | candid shots, such as photos featuring an actor (or actors)
         | partially out of costume.
         | 
         | Come to think of it, various photography hall of fame galleries
         | could be great testing suites.
        
           | abhinavgopal wrote:
           | Interesting convo, for now we haven't focused heavily on
           | photos that are not AI-generated, because there are cases of
           | intentional style changes (that are not _true_ deformities or
           | photo quality errors). I can definitely seeing some of the
           | photos you 've mentioned here being a bit confusing.
        
       | abatilo wrote:
       | A meta question for y'all if you're willing to share. I've seen
       | y'all launch what I think is now 5 different ideas under the same
       | name? I want to say that I remember a platform for musicians, and
       | a platform to automatically convert a codebase into hostable
       | inference servers, among a few other things.
       | 
       | Asking for myself as someone who has a hard time sticking to one
       | idea to explore: are the pivots coming from finding it in hard to
       | land customers? Is it hard to stay motivated with a single
       | product? The pivots look pretty drastic as an external observer
       | but maybe they've all been very organic from the inside.
        
         | jrmylee wrote:
         | actually very cool to me that you remember these pivots. From
         | the inside these pivots were about solving problems we faced
         | with our previous idea.
         | 
         | We mainly pivoted either because we discovered the market
         | wasn't great, or we didn't have founder-market fit with the
         | idea. There's a gut feeling aspect that plays in there as well,
         | but it's mostly been analytical approach.
        
           | abatilo wrote:
           | Thank you for answering. Best of luck with this idea!
        
             | jrmylee wrote:
             | thanks, good luck with your startup as well!
        
       | schopra909 wrote:
       | This is really cool! As a next step, it would be even more useful
       | if you could auto-inpaint on regions of the detected issues
       | (e.g., malformed hands). That way you could maintain the subject
       | / most of the image -- if you like everything but the deformed
       | features. That way you tackle both the QA analyst problem and the
       | "engineer" problem of trying to path the model for the end
       | user/customer.
        
         | darren_hsu wrote:
         | That's great feedback! We're working on this so stay tuned for
         | updates ;)
        
       | thatcherthorn wrote:
       | This is a perfect problem if you're able to tackle it. I'm super
       | curious on the approach.
       | 
       | YOLO style object detection on a manually created dataset would
       | be my first pass at this problem.
        
         | dragonwriter wrote:
         | Its part of the process used in some existing SD workflows in
         | popular open-source consumer tooling use to detect and
         | automatically correct deformities, so I'd agree its a useful
         | approach, but I'd also be skeptical of someone using it as the
         | core of a startup they are launching that is selling only the
         | first half of that.
        
           | gsharma wrote:
           | https://github.com/Bing-su/adetailer works very well on faces
           | and hands.
           | 
           | This is a good solution for all the use cases I've dealt
           | with.
           | 
           | Are there widespread use cases where, knowing a deformity
           | exists is required than just fixing the deformities?
        
       | Fission wrote:
       | The male astronaut with coffee [1] (that I believe you're using
       | as a "verified" example) has an extra finger on his right hand
       | 
       | [1]
       | https://www.rubbrband.com/static/media/astronaut_with_coffee...
        
         | toddmorey wrote:
         | And his cup backwards
        
           | jumpkick wrote:
           | Look more closely: the cup has two handles.
        
             | jrmylee wrote:
             | haha I thought this was a funny example to use. On second
             | thought we'll replace it with something better!
        
               | wentin wrote:
               | why is showing your algorithm doesn't work funny?
        
               | MarcoZavala wrote:
               | [dead]
        
       | Alanhlwang wrote:
       | This is awesome, the ability to assess image composition
       | according to photography 'rules' especially is super intriguing.
       | Could you provide some examples of the specific rules your
       | algorithm considers and how they contribute to the overall image
       | quality evaluation? Do you guys see this feature being able to
       | replace studio photographers?
        
         | darren_hsu wrote:
         | Our algorithm evaluates image composition by taking into
         | account several well-known photography rules, such as the rule
         | of thirds and symmetry. We don't see this feature replacing
         | studio photographers since it's designed to enhance the
         | photography process and aid in composition analysis (basically
         | helping them make the most informed creative decision).
        
       | sriyam wrote:
       | Super cool and will def be needed by companies if they want to
       | use gen-ai images at scale and use in production.
        
       | orliesaurus wrote:
       | There are so many possible imperfections, where do you stop?
        
         | jrmylee wrote:
         | The short answer to this is to build evaluators for
         | imperfections that our customers see as most pressing.
         | 
         | We have to balance that with our view of what we think will
         | still be a problem in the future, as image generation models
         | get better.
         | 
         | Eventually we want to build a vision model that's great at
         | fine-grained details of images, while will take some time.
        
       | illegalmemory wrote:
       | I tried it out, the first result itself was wrong. I am sort of a
       | potential customer for a product I am working on. The feature
       | detection and scene description even was off.
       | https://app.rubbrband.com/image/f2e1h.png
        
         | darren_hsu wrote:
         | Hey! Feel free to shoot us an email at contact@rubbrband.com.
         | Happy to set the record straight
        
           | MarcoZavala wrote:
           | [dead]
        
       ___________________________________________________________________
       (page generated 2023-08-10 23:01 UTC)