AI Trends 2024: Computer Vision with Naila Murray - #665

2 Jan 2024 · 52 min

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

The TWIML AI Podcast - Episode #665: AI Trends 2024: Computer Vision with Naila Murray

Podcast Overview Host: Sam Charrington Guest: Naila Murray, Director of AI Research at Meta Episode Theme: Insights into computer vision trends and developments for 2024.

Key Topics Discussed

  1. Background of the Guest
  2. Naila Murray: Experience in electrical engineering, computer vision research, and her role at Meta over the past three years.
  1. Major Trends in Computer Vision (2023)
  2. Interconnection with Language: A strong link between computer vision and language models (LLMs). This symbiosis has been crucial in advancing both fields.
  3. Controllable Generation: A growing emphasis on controlling the output of generative models (e.g., images and videos).
  4. Diffusion Models: Rise of diffusion models for high-quality, high-resolution image generation.
  5. ControlNet: A notable tool enabling more control over generation based on different prompts (text, images, or depth).
  6. Versatile Diffusion: Extending beyond text-to-image to multimodal applications.
  1. Emerging Applications and Tools
  2. Segment Anything: A Meta tool for zero-shot image segmentation using various prompts (text, clicks).
  3. DINOv2: A visual encoding model supporting tasks like object recognition and depth estimation with limited data.
  1. Key Concepts in Computer Vision

Controllable Generation

  • ControlNet: Modular approach to adapt diffusion models to specific prompt types without fine-tuning core models.
  • Visual Programming: Research exploring how LLMs can help program complex vision tasks (e.g., VisProg using GPT models for CV tasks).

3D Gaussian Splatting

  • Represents 3D scenes using Gaussian distributions, offering an efficient alternative to neural radiance fields (NERFs). This method facilitates novel view synthesis.

Vision + LLMs

  • Exploring the combination of visual and language models for enhanced performance in complex tasks.
  1. Predictions for 2024
  2. Video Generation: Expect significant advancements in realistic video generation, including synchronization with audio.
  3. Multimodal Models: A trend toward integrating different data types, including audio and visual data, to create cohesive outputs.
  4. Embodied Models: Development of models that can act in real-world scenarios, potentially leading to significant advancements in robotics.
  5. Reinforcement Learning: Increased focus on applying reinforcement learning from human feedback across varied tasks within computer vision.
  1. Research and Development Opportunities
  2. Memory and Creativity: Balancing knowledge retention and creative generation in models.
  3. Simulated Data: Utilizing simulated environments for data generation to augment training datasets effectively.

Conclusion Naila Murray wraps up by emphasizing the importance of an open research ecosystem in AI, encouraging collaboration and the continued expansion of knowledge and tools in the computer vision domain.

Call to Action Listeners are encouraged to visit the TWIML AI Podcast website for the complete show notes and further resources.

---

For further details and insights from this episode, visit [TWIML AI Podcast](https://twimlai.com/go/665).

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:09All right, everyone. Welcome to our AI Trends 2024 series. Each year we invite friends of the show to join us to recap key developments of the prior year and anticipate future future future.

0:30computer vision. Naila and I last spoke in 2018, wow, I can't believe it's been so long, on the show where she discussed her work on visual attention. Of course, before we get going, be sure to hit that subscribe button wherever you're listening to today's show. Naila, welcome back to the Twimble AI podcast. Thank you, Sam. Happy to be here again. Five years. Yeah, it's been a while. It has been a while, a whole pandemic. And a lot has happened. A lot has happened in AI since we last talked. It's been crazy. I think in the interest of time, I'll maybe give you 30 seconds to share a little bit about your background, but I want to jump into this agenda that you've put together to walk us through the year in computer vision.

1:13Sure. So super quickly about me. So I studied electrical engineering and during my time studying electrical engineering, I got a bit involved in computer vision, got really excited about it when I was doing research my senior year, and so decided to do a PhD. So I did a PhD in Barcelona. And then I spent right after that, I did a postdoc, and then I continued working as a research scientist in a computer lab in Spain, in Grenoble. And then from there, I moved to Meta, where I've been for the past three years, supporting researchers working in computer vision, but other domains as well. And yeah, happy to support them as a director of research based in London as well.

1:50Awesome. You know, when I look through the review that you put together, the thing that jumped out at me most immediately was really how much of my year has been spent following LLMs and all of the tremendous work and innovation that's been happening there and kind of the follow-on, the knock-on effects of the ChatGPT launch a year ago. So you collected several papers that, you know, I was like, oh, that happened. That's really cool. And some even early in the year. So I'm really excited to jump in. But before we do, I'd love to have you like share just kind of high level impressions of 2023 from a computer vision perspective.

2:33When you think about the year, like what jumps out to you as most capturing the year? So I guess the first thing for me is that there is a lot of connection with language, right? Right. So computer vision has been in a kind of symbiotic relationship with language research for many, many decades. Right. So if you think back to sort of earlier revolutions in computer vision, when we think about, for example, local features or features, very often they would kind of be represented with what we would call bags of visual words. Right. Like borrowing from the NLP and language domain, which was thinking of bags of words.

3:05Right. And so there's been a long history of kind of like advances in both kind of flowing back and forth. And I think it's the same thing right now. So I think as we go through the conversation, you will see that there'll be so many intersections between vision and language. And then using language models as basically a lots of like zero shot predictive models, basically, for all kinds of basic vision tasks and then going beyond more basic vision tasks into things that are much more complex as well. So you will see that language continues to be quite salient here, too. That really jumped out at me looking at the visual programming work that you referenced.

3:39Really, really cool stuff that I'm looking forward to talking about. But that's not the first category that you identify. The first category that you identified is controllable generation. What's that all about? Right. So I think a lot of folks have probably seen this, right? So we've had, of course, like a language revolution, but we've definitely had an image generation movement as well, right? So we've had the early days of really cool things happening with GANs. And then more recently, we've seen like an explosion in diffusion models, like latent diffusion models and how that has accelerated really efficient, high quality, high resolution image generation, and even seeing really cool things happening with video generation and 3D asset generation as well.

4:17And so a big part of usability for these models is actually controlling them, right? Because sort of like the typical generative models we would have would just take this sort of random latent variable and you get an image, right? But you're just sampling and you can't necessarily control what you see. But of course, what we would love to be able to do is to control it, right? To be able to give it, for example, a prompt, which is what we're used to now with things like stable diffusion and say, you know, just generate me a text, like an image just like that's descriptive of this text or that reflects this text.

4:44And so there's continuing to be just so much energy and research interest around this. Questions about how can we control it more efficiently? How can we have more diverse prompts? So we can think of prompts typically as text, but you can think of visual prompts, right? And that gets you into spaces of, as opposed to generating an image, how can I generate a variation of a given image? So you can do things like that. You can think of, rather than an image prompt or a text prompt, what about depth-based prompts? So I would like to have an image that corresponds to this specific depth information or some sort of segmentation mask that you can put in as well.

5:19That's also something that's very interesting. That's really interesting, the segmentation-based ones, because very often you want a specific composition of your image. So you can say something like, I would like someone walking through a field, but there are many different ways to compose that scene. And you might want to specifically control that as well. So I think that's been really interesting to see. There's been works like ControlNet, for example, which I think took the internet by storm. If you remember seeing some of these images popping up on Twitter with some of these images with these sort of spiral kind of watermarking almost, right?

5:48Like these spiral elements, that's sort of like prompts that allow that to happen, right? And that way you're sort of controlling with specific basic designs and embedding that into an image as well. So we've seen a lot of works in that space. So there's been ControlNet, for example. There's been an interesting work called Versatile Diffusion as well, which is also in this vein. What I think was cool about Versatile Diffusion is that it took a page out of the book of Clip embedding. So these are, if you folks remember Clip, that's used, for example, famously with Dali. And it's used all across Vision right now.

6:20It's really a building block of a lot of research. this model from OpenAI. And what the CLIP model did is it learned this, what you might call like a visual language model. So basically it learned to embed and align embeddings of visual content and embeddings of textual content. And when you do that, you find out that you start to have this kind of semantic space that you can kind of throw other modalities into, right? So for example, there was this interesting work that was trying to decode recordings taking from the brain. For example, I think it might've been an MEG or maybe fMRI. And what you can do is you can say, if I have a brain signal of somebody who was observing some visual content or audio content, and I take that brain recording, like maybe a stream of MEG, and then I embed that into the same embedding as a clip embedding, then it actually embeds into the same semantic space.

7:08And then from there, you can actually start to decode. Wait, what? It happened. This is being done. It's very cool. And so what you can do is you can - That's nuts. It's crazy. So for example, somebody's looking at an image. Is it a supervised type of? It's supervised in the sense that you have pairs of brain recordings and the visual stimuli or the audio stimuli that the person was watching at the moment that this recording was happening. So you have a match between what is being visually shown and how the brain is sort of responding to it. And then you can use that to sort of like align these two things.

7:43But the interesting thing is that you can use this text embedding or you can use these image embeddings to kind of align your brain signal to that as well. So for example, if you know that you have this visual content, you can use a visual embedding to embed that in a space. Then you can take your brain recordings, embed it in the same space. And then from there, you can start to do things like decode as well. When you have like new, if you have like a new brain recording, you don't know what it is, you can decode it because now you have this common space. What was this paper, this work called with the brain scans?

8:12So there was one, I don't know if this one was audio or video, but it's called Dual Guided Brain Diffusion Models. as the name implies. So yeah, I encourage you to check it out. It is with respect to visual stimuli as well and with fMRI. So I encourage you to read that. It's quite cool. One thing that has been amazing about 2023 is how often I am saying to myself, it is amazing that this actually works. Yeah, it really is. And I think like if you dig into some of the other works, it's really amazing how much information is embedded in large language models and how much A lot of that can be just surfaced through things like in-context learning.

8:50So in-context learning, it's crazy how that can be used for very complex tasks using, you know, sort of zero-shot or few-shot examples. So we started down the path of versatile diffusion, and I'm not sure if we finished that up or got distracted by the brainwave example. Yeah, but I think there are some other interesting trends in controllable diffusion as well. So I think the next obvious thing, right? and I think I'll talk about this a bit in thoughts about 2024, is going even further in video. So we've seen a lot of interesting generative approaches for video as well. I think we're going to continue to see that.

9:26I think we've seen some interesting progress this year. So for example, there was this work called Pix to Video by Ceylon et al. And in this work, they were doing sort of text guided editing, which makes a ton of sense, right? So let's imagine you have a video, how can you change specific elements with text? And this was interesting because this, for example, does use in-consex learning, right? So it's totally training free, which is, I'm very excited about this approach, like just not having to do lots of training. How can you reuse like implicit knowledge? And so, yeah, I think I expect to see like a fair bit more about this.

9:57There was also this other approach called Zest Guide. This is by Cuaron et al. This is kind of very much focused on what I was describing before, which is that how can you really control the composition of a generative model? And so this This was a very interesting kind of training-free approach where they devised a method basically to get a model to kind of zero-shot predict the segmentation from just in the process of diffusion and then use that to ensure that the segmentation that they're getting in terms of what's being generated, does it match what you want? Does it match the actual segmentation prompt?

10:34And then you can sort of iterate such that you get something that matches the segmentation prompt. And when you're happy with that, you can kind of continue the diffusion process and actually generate a model, generate like an image that actually conforms to what you want. And all of that, you know, training free. So I think I expect to see like a lot more of that, too. Are most of these methods kind of inserting themselves into that diffusion loop, doing something in iteration and then kind of continuing to do it? So most of the models insert like control in general across many, many layers of the model.

11:07So the average diffusion model is like a unit. You can think of it as like an encoding block. Then you have this latent representation and you have a decoding block. And so usually like the kind of control signal is embedded throughout that whole process as well. And so very often you see different approaches. So some folks might focus very much on getting the right encoding. Then embedding, once you have the control, once you have that latent embedding, you sort of like insert some control and then you decode. once you have like, what's the representation of the prompt, for example, and then what's the representation of the image I have currently sampled.

11:41And then now I'm going to try to guide the generation of that. So there are lots of different approaches and that's where a lot of the research is in. How can you do this more efficiently? How you can do it in just a few kind of like decoding steps or denoising steps as opposed to using very many. So this is where a lot of the research game is. And you mentioned ControlNet and some of the images that we saw, but didn't dig into their approach, kind of what characterized their approach that was taken with that paper? So for example, ControlNet, what's interesting about that one is that it's very much focused on reusability, reusing as much as you can as sort of like a base generative model.

12:16So I think this approach was based on stable diffusion and it took the approach of saying, very often when you want to adapt a diffusion model to a specific type of prompt, be it a text prompt or let's say a segmentation prompt, you sort of need to create a fine-tuned version specifically for that type of prompt modality. And what ControlNet tries to do is to say, let's not fine-tune the core model. Let's make these sorts of modular additions to that model and kind of scaffold on top of it different modules, I guess you could say, or different learnable parameters for a given new prompt modality you'd like to do.

12:52So what you can do is kind of like switch them in and out and say, okay, let's imagine I have these many modalities I want to be able to prompt from. I'm going to kind of scaffold all these different additions and you can kind of like switch them in and out as you change the modality you want. So that is quite cool in that sense. Versatile Diffusion took an approach of having a very sort of multimodal approach. So they have, in this work, the researchers are very interested in not having just text to image generation, so text prompt in, generate like images out, but being sort of multimodal, both in terms of inputs and in terms of outputs.

13:27So what if we sort of have images in and images out? What does that do? What if we have images in and text out? And so really going into this sort of like multimodal approach as well, which allows for different kinds of applications. So as I was mentioning previously, not just having generative models, but also having sort of like variations on a theme, for example. So if I put in an image, how can I modify it in a specific way? Awesome. A lot of interesting work in this controllable generation category and stuff that we've seen very quickly work its way into products and demos that make it very accessible.

13:59Yeah, very much so. I think computer vision definitely has a spirit of open source and open science. And so very often folks are not just going to release a paper, right? They release code and it's very easy to kind of plug and play. And what's really cool is that there's so many developers right now that take that and make it faster, make it more efficient, make it run on mobile, throw a wrapper around it, and then it's become something very accessible to almost anybody. Yeah. So I alluded to our next category earlier, visual programming. These papers are pretty incredible in terms of the approaches that they take.

14:32Tell us a little bit about this category and some of the papers that you identified. Yeah, I thought this was very interesting too. So there was a lot of interesting approaches right now, or sort of like research in the area of how can we use very capable language models? So very often people are using ChatGPT or GPT-4. How can we use these models as reasoning agents? How can we use them for planning? And we've seen that, for example, with this very cool work from NVIDIA called Voyager, which is, as far as I remember, I think it had a somewhat, given that it was focused on Minecraft, right? So the visual world there is not as complex as the real world, but it had a lot of elements of this too.

15:12What I liked about some recent work is it kind of took this idea as well and really applied it to tackling very complex vision problems. And so, for example, there was this work called VisProg, and this once again took this in-context learning approach. I think both of the examples I mentioned are going to be in-context learning, meaning they just take a pre-trained model and all of the kind of learning and programming happens in terms of prompts, sequences of prompts, for example. And so for VisProg, What this work did was think of having the input to the approach is a series of CV computer vision modules.

15:46So let's imagine you have things like a module where you can access maybe with something kind of like an API. So, for example, I want to access a retrieval model. I want to access an image generation model. I want to access an image recognition model, for example. You assume you have these kinds of off-the-shelf modules and then using GPT or using a language model, I think in this case, they use GPT-3, you're able to sort of have a prompt, right? And this prompt can solve all kinds of complex tasks, right? It can be something like, here's an input image, please change it so that you input like the lead character from my favorite TV show or something like that.

16:22And you insert TV show X. That's going to involve a very complex process, right? So the model is going to have to figure out this TV show X, what is the list of characters in it? What's like a very favorite character? What does that person look like? Copy that image from somewhere, retrieve the image of that person, paste it in in a realistic way. That is a very complex vision task, but it is a vision task. And this is what I mean about the fact that now we can tackle really complex tasks using language models as sort of these reasoning tools. And so what this was able to do is to basically chain the sequence of computer vision modules to solve the task.

16:54And so the way it learned to do that is by in-context learning. So I think in this case, you're required to generate some examples, basically. This is like a few-shot scenario where you say, okay, here are three examples of using these tools to solve these specific tasks. And so you kind of prompt it with these examples as a few-shot case. And then like in your fourth example, like you actually ask the, you sort of prompt input for the model. Here's the task I'd like you to perform. And now that it's seen some examples of how to use these tools and can generate something plausible itself, using a combination of examples and all the implicit knowledge that the model already has.

17:30Did Visprog paper differentiate from the VyperGPT paper? They're relatively similar. I mean, the spirit of it, I think in spirit, they're quite similar. I think there are a few differences. So for example, I think VyperGPT, they leaned a bit more into thinking of this as a code generation problem. So for example, I think this work, VyperGPT used specifically GPT codecs. So it's like a code optimized version of GPT. And I believe they also restrained the output to be actual executable code as well, as in like executable in a Python interpreter as well. So I thought it was very interesting because it raises the question of to what extent is coding also giving you a lot of reasoning capabilities as well?

18:12So this is a hypothesis that has been kind of bandied about a lot, I think, in the language domain, the extent to which pre-training on code gives you like enhanced reasoning capabilities as opposed to pre-training on mostly text. And I think in this approach, they really kind of leaned into that intuition and said, if we're trying to reason in terms of how to combine API calls, if we're trying to reason about that using a code optimized model, maybe it's going to actually be better at that. So I think that was sort of interesting. So on the other hand, my impression was that ViperGPT was very focused on VQA, so visual question answering, whereas I do think that Visprog maybe was a bit broader in terms of the applications.

18:47This is my impression. I could be wrong. I'd have to go back and check, but I'm pretty sure that VipoGPT was a bit more focused on VQA. The examples that they presented did focus on VQA. And it struck me as being very much inspired by the way that ChatGPT uses Code Interpreter to solve reasoning problems that go deeper than kind of superficial language. They had an example that I thought was super interesting. It was a picture of two cars. The question was, what would the owner of the car on the left say to the owner of the car on the right? And one was a Ferrari and the other was a Porsche or something.

19:27And so it was interesting because it produced the code. You saw the code that was generated to segment the image, identify car on left, identify car on right. Then you see it invoking the language model. What's the brand of that car? Who's the creator of that car? The same thing for the other car. And then finally, what would Esno Ferrari say to the other Porsche owner? Yeah, it's very similar. I think another element that comes into play here is this notion of sort of chain of thought reasoning, which is somewhat similar to what you're describing, I would say. Right. And I think it's also very valuable.

20:06I don't know the extent to which it was very, very present in these works, but I do expect it to, if not be already present, be even more so. Because I do think that that iterative approach to solving problems is kind of like an obvious thing to help improve. Awesome. The next category you identified is 3D Gaussian splatting. What's Gaussian splatting in 2D? So Gaussian splatting. So I'm not by no means a graphics person, right? The kind of intersection between vision and graphics has always been like pretty large. But basically, so my understanding of splatting is that it's, I think it's as the name implies, it's kind of like you kind of like paste onto like a specific point, rather than represent the world, for example, as 2D points or 3D points, let's give some volume to that.

20:53So like in 2D, that could be like a circle or an ellipse. And then in 3D, it'd be like an ellipsoid, I guess. And so the idea is basically, it's kind of, it reminds me of a Gaussian mixture model. So very often Gaussian mixture models are just like friends of machine learning for what goes way back, also for representing visual content. And the way I think about this is that is thinking of a 3D scene as sort of, you have a 3D kind of extent, right? And you can kind of place 3D Gaussians in there. So you can think of it as like an ellipsoid. It's not quite a Gaussian. I mean, it doesn't have infinite extent, but let's imagine it's kind of like an ellipsoid.

21:26And how can you reconstruct your 3D scene, reconstruct the volume in there, or at least I should say the occupied volume, right? Because you can have empty space. But how do you fill the occupied volume in that space with Gaussians of different sizes? So you can think of like a spherical ellipsoid, or you can think of a very elongated one. And so this is a model where it basically creates this point cloud of a 3D scene. And then in every point, basically, it puts in a Gaussian. And then it can kind of take out points as needed to kind of fill in the volume. But it's very interesting to think that by doing sort of like just adding Gaussians, but with specific extents, specific locations, specific opacities, you can actually recreate a full 3D scene with an exquisite level of detail.

22:07And that's what this work was able to do. And it's quite interesting because there's been a lot of, in the past few years, there's been this exploration of what we call NERF models. So these like neural radiance field models. And this is an interesting alternative to that in the sense that it's sparser than that approach. And so that makes it a bit more efficient or maybe a lot more efficient actually. And it's also a very intuitive way to represent scenes and to be able to do what we call novel view synthesis, right? So now that you have this reputation of the whole 3D scene, you can kind of orient the scene the way you want and create a new visual of the scene from a different perspective, which is what NERFs are great at.

22:40So I thought this was very, very cool. I think the community is quite excited by it. It's a very sort of intuitive, efficient, practical way to represent scenes and then derive novel views of that. So then I expect we'll be hearing a lot about this. I think NERFs we covered in our trends last year and the prior year I heard little about it, but then almost immediately thereafter, I was seeing NERFs everywhere. Really got popular this past year. Yeah. And I think you're going to see that zero to one as well for Gaussian Splatting. And And the name is, no, the name is a bit funny, but it's a very cool approach.

23:15And I expect it to also extend to video as well, right? So there's already been some work outs, I think, from the same authors, Kerbal et al. I think it's from a similar set of authors that also did an extension to video, which is also, I think, very interesting. And I expect to see a lot more of that, too. What was interesting about this approach for video is that because you have this set of, you can think of them as particles, as elements that create your scene, it allows for a very intuitive way of going from a scene to a series of scenes. So like a video, basically, because you can tell yourself the elements in the scene are more or less not going to change.

Read the full transcript

23:50Of course, you can think at the boundaries, things might come in and out. If you have dynamic elements, they might come in and out. But generally, if you have a scene, you're going to have a lot of the same elements. And then the process of creating a video out of it is a process of sort of tracking the individual elements. And so that gives you like a very interesting way to go from a static scene to like a dynamic scene or to go from one frame to a sequence of frames as well. Is the approach used primarily for generation or is it primarily for analysis? When I think about the description of kind of superimposing Gaussians in a space, the most obvious thing for me is like representing the structure of the space as opposed to kind of a rich visual generating a new image or a video or something like that.

24:33But it sounds like you're saying that it can be used for the latter. It can be used for that. And it's astonishing. So the interesting thing is that in the original paper, I believe they used in general anywhere from 1 million Gaussians to 5 million Gaussians. So the combination of the Gaussians with the kind of alpha matting on top of the Gaussians allows you to have a really exquisitely detailed image. You know, you generate these reconstructions that if you think of what image reconstruction looked like 10 years ago versus this, it's indistinguishable for me anyway, from someone having taken a picture of it with an ice camera.

25:07Is the effect ultimately, it's kind of a lower dimensionality representation of this very intricate thing. And so it allows us to, it's kind of an efficiency play in a sense. I would say, I think that's one of the main advantages of it, because you can kind of think of it as saying like you're representing a 3D scene with indeed like one to five million Gaussians with some kind of weighting and a bit of information, metadata associated with each Gaussians. You can see I have these millions of Gaussians, each of them I have associated like an opacity, an extent, a location, that sort of thing. If you compare that with a typical Nrf, which is like a neural network, right?

25:42So it has many millions of parameters, it's generally more efficient. And so that's like what I find most exciting, although I'm sure there are other advantages as well. Awesome. I'll be on the lookout for that. Maybe that's why I saw NERFs everywhere, but I think not. I think it was totally organic. Yeah. Search for Splat Tank, your 3D Gaussian Splat Tank. You'll find a, I think it'll be unavoidable anyway next year. You won't have to look for it. Awesome. So the next category you identified is called Vision plus LLMs, but we've already been talking quite a bit about Vision plus LLMs. What exactly are you trying to get out here?

26:16Yeah, so it's true. I was actually thinking about this and I was sort of like, well, that's kind of the whole game right now. So what does it mean to separate it? One thing I thought was interesting is, I think I was thinking of this in terms of maybe going towards multimodal. So kind of going a bit beyond what we call language, large language models and saying there's sort of just large multimodal models where you're thinking of vision and language almost as first citizens to a large extent. So there are some works that are very interested in, as opposed to kind of like tacking a visual encoder onto a language model, mixing tokens from the get go.

26:48So you're sort of like interspersing language tokens with visual tokens, for example. So I think that's something that I expect to see some more of, at least as exploration, because I think there's this fundamental question of what's the way to go for multimodality? Should we think of multimodality as a combination of separate submodules that are trained relatively separately? And then you sort of like combine them kind of in what you might call late fusion or postdoc versus what if we try to make everything into some, like tokenize everything basically. So you take audio, you take video, you take text and you create tokens out of everything.

27:20And then you sort of input them into a model in a kind of agnostic way. So I think that's going to be continuing to be interesting going forward. I also thought there was this interesting work this year. Do you have any bets placed on one or the other of those approaches? I think there's two ways it can go. And I don't have a good intuition on which one. So I think that there's a hypothesis that you sort of just need more tokens. And if the tokens are kind of multimodal tokens that's to some extent irrelevant. You just sort of need more data to be able to scale up more powerful models. And so let's say, for example, that we want to get a lot more tokens to train models and to scale them beyond to larger and larger sizes.

27:57Maybe we should be going multimodal to get that extra information. So that's one approach. I think another approach is that these modularity sort of allows you to be more fine-tuned and more fine-grained about the kind of capabilities you want to embed as well. And I think that's also very compelling. So I think it's a bit early to bet. I'm not going to bet at each one right now. Let's let a million flowers bloom and we'll see where they go. So the specific papers that you identified here, visual instruction tuning and visual chat GPT, talk about those. Sure. Yeah. So visual instruction tuning, what I thought was interesting about this is that it really takes this analogy of training language models and it takes it to kind of like its full extent.

28:37And by that, I mean that a key part of getting language models, really unlocking the potential of language models is being able to fine tune them to follow instructions. Right. So to take them beyond sort of like simple auto completion to having them respond in ways that we find we as humans find useful using instruction fine tuning. So either supervised fine tuning or reinforcement learning from human feedback. And so this work took the similar approach, but for visual instructions, right? So it took this approach of collecting the type of instruction tuning data that you would typically do for language, but doing it for vision instead.

29:14So having these very sort of complex prompts, for example, and then actually not only doing these input prompts, but also having conversational data. So this work took the approach of collecting this type of data and then fine tuning a visual language model on top of that and showing that after that process, it gave, you know, like dramatically better performance on these tasks. Interesting. Some of the tasks on the vision side are kind of inherently more easily evaluated on the language side. There's like, it's right or it's wrong. It used to be. It used to be. But now when we're talking about generation, it becomes very subjective and other tasks.

29:52We're in the same mode now as language. I used to feel like kind of sorry for folks working in language because I thought it's so hard to evaluate. It's so hard to evaluate. you don't have any reasonable ground truth. You have to have these strange blur scores. But now we're exactly in that world. Because I think now that the vision community is trying to tackle those really tough problems, we're also the same space now where it's very hard to evaluate things. And you need to resort, like resort, I should say, but you need to really have human evaluations very often to get any sense of if you're making progress.

30:20And so I expect actually that in the same way that for language community, folks are focusing a lot more on automatic evaluation. So using very powerful language models we evaluate correctness as opposed to having humans in the loop because it's very expensive. I suspect we're going to get there as well for language, for vision, I should say. Interesting. So visual chat GPT, is that what we're used to, just putting pictures, images in chat GPT and asking it to do things with those images? Or are you referring to something else here? To be honest, this is actually very similar to the visual programming works that we discussed earlier.

30:53Okay. In the sense that it once again takes a set of models that are tailor-made for specific visual tasks, right? So things like segmentation or object detection or image retrieval or things like that. It once again, uses sort of like in-context learning to be able to solve specific prompts or specific problems that you're being asked. So, you know, there's this interplay between visual programming and sort of like vision and language models, because very often you're sort of using these language models for the programming itself. So I think you can kind of put them in both in sort of the same bucket.

31:23It's interesting because this one, it also reminds me of some interesting work in the purely LLM space, in the purely NLP space around tool usage. So for example, there was this work called Toolformer earlier this year that made a big splash in terms of using different varieties of tools to solve tasks. This is, and I think to some extent, the Vizproc work, the Vipo GPT work are all in this vein of saying, how can we have these elements and then combine them in ways to solve like unique and like zero shot tasks. Awesome. Very cool stuff. So we covered kind of our top four categories that you found most interesting from a research perspective.

32:00I want to switch gears here to tools or open source projects that you came across that made an impression with you. The first one you have is segment anything. What's that one? Right. So full disclosure, this is also from Meta, but it really is like seminal. It's made like a big splash in the community. So this is a work that went full on in providing a tool and building a tool that allows us to do, as the name implies, to segment anything. It takes a page to some extent out of what you might consider the LLM space in the sense that it's focused on using different types of prompts. But these prompts are not necessarily text.

32:35They can be text, but they could be things like text. They can be things like clicks and they can be bounding boxes. And so it's a tool and it's a research work at the same time, but it's also like it's been open source commercially. And so it's been crazy amount of adoption it's had, right? Because it worked really, really well. But basically, it's a tool at the end that allows you to have this interface where you put in, for example, an image or a video, you can click on it and immediately segment it. And for example, this is being used in a lot of different applications, basically, to do things like removing backgrounds from images very quickly, and not just very quickly, but very precisely as well.

33:10So I think that's very cool. And I think it's going to continue to see a lot of adoption. And it's really changed the way that people think about doing segmentation research, because it's sort of, you can think of it as almost like a foundation model for segmentation. And so you can do a lot of like more complex segmentation problems on top of that. And so segmentation is a very fundamental problem for vision. And so that is going to, you know, that's going to continue to make waves, I think. And was the tool a implementation of new research or meaning is there some kind of fundamental new research and new models that drove the tool or is it just the implementation and the experience that is what's made the splash?

33:48Yeah, very much the former. So there was a research paper that went out of it. I think it won Best Honorable Mention, I believe. I think it was CVPR, it might have been ICCV. So yeah, so there's very cool research around there as well, is how do you actually get the prompts to work correctly? And then how do you actually use these different prompts, basically, in this model? And when you mention prompts, is it a vision language model that's made it work? I imagine there is a vision language model in there. So I know that textual prompts are indeed possible. I think the types of prompts that are used are relatively simple.

34:23So it's not going to be like a very long paragraph or something like that. But you can use text to sort of like pinpoint what you'd like to get segmented as. You can think of it as an open vocabulary segmenter in the sense that you can use specific language that maybe might not have seen before and then be able to kind of segment that object as well. And so was the language element of that the kind of the core innovation from a research perspective? or is there a more fundamental segmentation innovation that's enabled segment to anything? So I believe it's more the interplay between how do you prompt this effectively?

35:00And then also how do you create this data flywheel of continuous improvement in terms of the model? Because what this work did was they took a sort of semi-automatic approach. So basically they had this flywheel of how can we have good enough initial segmentations and use that and then correct that with time. And so, for example, you would start off with a model, a segmentation model that gave you some sort of initial segmentation. You could correct that and then use that correction to improve the model. And then you kind of go iteratively. So there was a lot of work to do in order to use that approach to scale up to a really large, I think it was in order of billions of annotations in a very efficient way.

35:37The next project that you had noted here is ControlNet, which we spent some time talking about. This is another example. Some of these can go in different places, right? So this was fundamental research, but also when you put the two together, so when you have a tool that's well done, you have code that's well executed and released, then what starts off as a research paper can very much become a fundamental tool that people take and run with it. And so I've seen that. You've seen this used for lots of enthusiasts, developers, et cetera. And so I think it's been a fun tool to see people play around with this year.

36:10What's Dinov2? So Dinov2, also from Meta. also fundamental research as well, but also being released with a commercial license. And this one is a visual encoding. So this is a work where the authors have developed and trained, you can think of it as a visual backbone that's been trained with self-supervised learning with the goal of being sort of universally applicable. And by that, I mean, you could take this model and then you can sort of use it as is off the shelf and add on maybe like a module to it that can be applied for or your specific end task. And the goal is to have it be usable for all sorts of sort of like exotic applications where you don't have access to a lot of data and you can't just train, you know, take millions of examples and train a very good model.

36:52What are some examples of the kinds of tasks that it's trying to enable? So it can enable your standard things like object recognition, but also segmentation, object detection, depth estimation. And very interestingly, these are all problems in and of themselves, but they have sub problems, right? Because it's one thing to say, I want to do object recognition on a natural scene where you have cars and you have houses and it's sort of like, these are very common things to see in the world. But let's imagine you have an application that's less common. Let's imagine you want to segment, for example, an ultrasound image where there's just not a lot of public data, for example, or it's hard to get that type of date.

37:29So there's this interesting example from the paper where the authors apply a depth estimation model on a painting, right? And so you don't have ground truth depth for paintings because paintings aren't the real world, right? But you can actually put in a painting of like, for example, an indoor scene and get a depth estimate that seems realistic, right? If that had been a real theme. So this kind of like, let's say adaptation to different subdomains within a specific problem, I thought was very interesting as well. And so this has also been released and it's also seen a lot of adoption as well across the community.

38:01That sounds huge. Would you say that one of the kind of top line things that's happening in Computer vision this year is kind of getting closer to a universal model. Are you overselling that or am I overbuying that? When I think about computer vision historically and compare it to LLMs where we've got this one kind of Swiss Army knife model now, computer vision historically has seemed to be more individual task-specific models in terms of state -of-the-art. But now you're talking about a model that sounds like it has very broad applicability across tasks. Am I mischaracterizing the state of computer vision?

38:41So I would say that we actually have a pretty long history. Like if you look for universal model for vision, you will see examples from like probably 15 years ago, at least, because it's also very interesting. So I would describe many backbones you've heard about, like ResNet, for example, as a foundation model in the sense that people have just built so much on top of it. I see this as a kind of new paradigm that has been ongoing for at least two years, right? where we're taking a self-supervised learning approach, which I think is newer, and then using those as foundation models. Because there was this question for a long time of our supervised models, do we need supervision to be able to train these foundation models?

39:17And I think we can kind of convincingly say that no, we don't, right? Supervised, self-supervised models are state of the arts. And so I think there is interesting work to do to kind of continue to see how much you can scale with that. So can you go to even bigger universal visual embedding models as well? Awesome. Let's maybe switch gears and talk a little bit about kind of what you see coming up for 2024 and beyond. What do you think are the most exciting opportunities in computer vision, you know, in the upcoming years? Maybe in the interest of time, I'll stick to like two. So one thing I think is very interesting is, and I think this is also something I always have in my head when I'm thinking of language modeling, is the balance between memorization and creativity or sort of like knowledge ingestion and knowledge retrieval, I guess you could say, versus creativity.

40:06Because I think there's a fundamental tension between at the same time expecting language models to implicitly encode like a lot of world knowledge, like even like just straight up facts, right? Like who's the president of the United States right now or something like that. It's hard to at the same time expect that kind of factual accuracy and at the same time expect creativity and hallucination. And I think there's an interesting problem there. So I think both for language, but then also for vision, I find it a very interesting research problem to think about how can we control those two things and what is that going to take?

40:37And not only that, but we have these facts that are embedded. How can we adapt that? How can we remove memories? How can we insert them? What are techniques to do that? Should we be focusing only on external memories? So things like vector databases, do we have ways to kind of control that more implicitly? I think that's like an interesting area for research. And it's going to be important, I would say, for all foundation models, be they visual models or language models or multimodal models. Give us an example of how some research that might explore that domain. So there's maybe two avenues. There's a lot of work around, like, for example, retrieval augmented generation.

41:15So the way this looks like for vision is something like, generate for me a picture of the cast of Seinfeld on the moon or something like that. And so you need to retrieve some knowledge, right? So in some sense, you need to have a memory that you're being able to access. So the question is, what sort of memory should this be? How should this be encoded? You can think of it being encoded or like modeled externally as basically like a database of pictures of cast members of movies, for example, or TV shows. And then you can sort of access that and say, I want to retrieve this. And then you retrieve the visual content you need.

41:48And then you proceed to kind of like generate using that knowledge. Or you can expect that it's somewhere in your visual model. It's just somewhere in the weights, right, that it's being encoded. For example, you would have to hope that in all of the images that the model has seen previously, there are enough images of, you know, casts of Seinfeld that it can sort of retrieve that, assuming it has a good alignment between vision and language, right? So that's one way to do it. You have the external one, you have the implicit one. And let's imagine you have the implicit one. I think there's a key question around how can you modify this memory?

42:19And there's been a lot of interesting work. I'm not sure in vision, to be honest, but there's been a lot of interesting work in the NLP domain into really looking into mechanistic interpretations and mechanistic analyses of, for example, memory modules. That involves things like actually doing analysis on the specific activations of the weights in a language model to be able to figure out when the model, for example, is generating the specific token that corresponds to an entity, what was the activation pattern, like which neurons were involved in sort of like putting high probability on this specific token.

42:52It's a kind of emerging field, but I think it's a very interesting field to start to have, really think of these models as glass boxes that you can really look at them and analyze them and have this sense of, you know, what are specific weights doing and specific activations and connections doing. Awesome. What was the next opportunity? So yeah, another one I was thinking of is using simulated data as opposed to relying on, I guess you could say sort of real data. In the case of vision, I guess that would be images, videos, sticking with cameras. How can we go towards actually simulation in some sense?

43:27So there's been a lot of interest ever since we've had GAN starting to do reasonable things. We've had interest in saying, oh, can we use these simulated images to actually augment our data, for example. And there's been a lot of questions about to what extent is that really expanding your data, right? Because you can tell yourself if you've learned a distribution over data, if you generate new samples from that distribution, are you really generating anything new, right? Because you already have the information kind of implicit in the model. But I still think there's interesting work to do as we start to have different approaches to generating content.

44:00So for example, things like Gaussian splatting to represent scenes, right? Because, you know, Gaussian splatting or neural radiance fields, they take like a sparse set of images and then they use it to generate this scene. And then from this new scene, you can sample new views, right? So is there a way that we can use these new views to generate new data that we can then use, if they're diverse enough, that we can then use to augment the amount of data we have kind of artificially? So I think there's a lot of interesting questions there to do about how can we take the different approaches to dramatically expand the amount of data we have for training?

44:30This in recent years, this has become really popular in domains like automated driving to augment the visual data that autonomous vehicles are trained on. It sounds like you're suggesting a broadening of this kind of approach and applying it to lots of different tasks. I do. Yeah, especially because I think the quality is increasing. So there's always been this concern with simulation data that it's not realistic enough. Like it's not diverse. It's not bringing in a lot of diversity. And it's also just the kind of stem to real transfer problem is too big a gap to cross. But I think we're getting to the point where we're starting to have like fewer issues there.

45:08And in terms of autonomous driving, like there's a lot of interesting work recently that's come out also and sort of using indeed, like using different types of generative models to start to come to the point where you can simulate actually using generative models as well for autonomous driving. So there's this startup based in London called Wave that released some notes about their attempts to use generative models to do sort of course and analyses or what-if scenarios, which is very, very, it's really the holy grail for autonomous driving, right? You want to be able to kind of understand how is my car going to perform in this scenario, I absolutely do not want to happen in the real world.

45:43But I need to know how it performs in that scenario too. So now let's kind of shine up the crystal ball and peer in, in terms of your predictions for the field for 2024, you know, what do you see happening? I think we touched on it a little bit. It's kind of hard to talk about 2023 without talking about 2024. So we've focused a lot uncontrollable images mostly, right, for 2023. I think we're definitely going to continue to go towards video. So streams of images and really tackle the problem of modeling motion, right? Because one of the key things of going from images to video is how do you actually have, especially when you have dynamic elements, like people moving or things like that, how do you realistically generate streams of images?

46:28I think also I expect us to include audio in that. So I think it's going to be natural to want to have like a quote unquote video with audio that's synchronized and realistic at the same time. So I would expect to see more work happening there. And we've already seen some really interesting things coming out of places like runway with text to video that have been really interesting. And I'm already hearing people predicting the demise of Hollywood and I wouldn't bet on that folks get excited. I wouldn't quite bet on that, but I would expect to see pretty compelling shorts and pretty compelling approaches.

47:04I think it may not look like a Hollywood video, but it doesn't mean it wouldn't be compelling in its own right, the kind of things that you can come up with here. But I think what's going to be very interesting is really going into that multi-modality. So video plus audio, generating realistic audio, which is in itself an extremely complex problem, not just in terms of speech, but in terms of sound effects, for example, and combining that in a realistic way. So I expect to see all of that come together. I think there's a lot of data here that can be used, maybe not by many people, but if you think about where can folks get millions of videos of realistic audio and video synchronized happening, I definitely think there is space for that.

47:41I expect to see a lot more work here. Another place where I expect to see more work is in embodied models as well. The models that are really taking an egocentric point of view on this. And I think there's just so many places where that's just going to be a very exciting space. So for example, I mean, I work in meta. We are very interested in AR glasses, right? And putting intelligence sort of like close to us so we can interact with. And so I just think there are lots of compelling applications for that and I expect to see that continue. So there's been a lot of recent research in the space of taking robots, giving them a language model and the ability to be prompted with language, right?

48:18Using sort of speech to text models and having them interact with the environment, right? So having them that could be placed on a robot, and then you can interact with the robot by sort of saying, pick me up the can by the table. And then so the model has to be able to understand the text, make sense of the environment, navigate to the object, then grasp it, and then ideally navigate back to you and give it to you, for example. That starts to become much more than vision. That's much more than vision. But vision is a big part of that, right? because we're starting to go into these multimodal models that are taking vision and language, maybe audio eventually directly as a modality in being able to perceive the environment, being able to navigate within the environment, and then of course, act in the environment, which is a bit of a different problem.

49:00But I expect to see a lot more work here as well. And are you predicting more work or are you predicting milestone achievements? You rattled off in a scenario, half a dozen individual tasks that researchers have been working on for decades. right? Do you think it all comes together this year? Yeah, good question. I'm not a betting person, so I'm not sure I would bet money on it. I think there is a lot of scope for that. I think a lot of pieces have come together very quickly, very recently. And so I think it's a real possibility. And then maybe lastly, like the last one I was going to mention is kind of all things reinforcement learning from different kinds of feedback.

49:40I think I've mentioned a few cases of that already. And I expect to see that find more and more applications of folks thinking, how can we thinking of machine learning as in more and more of a kind of alignment problem where you're taking these RLHF approaches or these RLAIF approaches and then applying them to different places. So there's been, you know, a recent work this year that did this for different types of visual tasks. And I expect that. I think that has a lot of promise too. Awesome. Wow. This has been an exciting year for computer vision. It is. What's fun is that so many elements, like the advancements in language, the advancements in robotics, the advancements in different places can kind of come together.

50:20And I think we start to see this flywheel of rapid progress in one area leading to progress in the other. And then, you know, I think I can see this snowballing a little bit. So yeah, I'm excited for 2024. Any parting thoughts as we wrap up? My parting thought is I am very happy that we continue to have a very vibrant research ecosystem. I think I'm looking forward to folks continuing to kind of contribute to open science, because I think that's the way that we all make progress really quickly. Awesome. Well, Naila, thanks so much again for all of the work you put into pulling this together for us and for walking us through your take on 2023 and beyond in computer vision.

50:59It was a pleasure. Thanks so much, Sam. I love the conversation. Thank you. All right, everyone, that's our show for today. To learn more about today's guest or the topics mentioned in this interview, visit twimla.ai.com. Of course, if you like what you hear on the podcast, please subscribe, rate, and review the show on your favorite podcatcher. Thanks so much for listening and catch you next time.

51:30Thank you.

From the publisher

Today we kick off our AI Trends 2024 series with a conversation with Naila Murray, director of AI research at Meta. In our conversation with Naila, we dig into the latest trends and developments in the realm of computer vision. We explore advancements in the areas of controllable generation, visual programming, 3D Gaussian splatting, and multimodal models, specifically vision plus LLMs. We discuss tools and open source projects, including Segment Anything–a tool for versatile zero-shot image segmentation using simple text prompts clicks, and bounding boxes; ControlNet–which adds conditional control to stable diffusion models; and DINOv2–a visual encoding model enabling object recognition, segmentation, and depth estimation, even in data-scarce scenarios. Finally, Naila shares her view on the most exciting opportunities in the field, as well as her predictions for upcoming years.

The complete show notes for this episode can be found at twimlai.com/go/665.

More from The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

All 156 episodes
AI Trends 2024: Computer Vision with Naila Murray - #665The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) · 52 min
Listen in VO