1 00:00:00,185 --> 00:00:01,785 So with that, good afternoon. 2 00:00:02,025 --> 00:00:03,945 It is my pleasure to introduce Dr. 3 00:00:03,945 --> 00:00:08,745 Vijay Kalivarapu, a Senior Artificial Intelligence Engineer at Pella Corporation. 4 00:00:08,745 --> 00:00:09,105 Dr. 5 00:00:09,105 --> 00:00:16,905 Kalivarapu holds a PhD in Mechanical Engineering with a co-major in Human Computer Interaction from Iowa State University. 6 00:00:16,985 --> 00:00:17,945 So big fan. 7 00:00:18,585 --> 00:00:25,785 He brings deep expertise in applying computer vision, machine learning, and 3D visualization to real-world manufacturing challenges. 8 00:00:26,065 --> 00:00:37,625 His work focuses on vision-based quality assessment, attribute detection, and precision measurement in production environments, where he has led multiple initiatives delivering scalable solutions with measurable business impact. 9 00:00:37,865 --> 00:00:50,985 In today's session, we will share practical insights from deploying vision AI in manufacturing, highlighting how these technologies improve quality assurance and measurement accuracy, as well as where they face limitations in real-world sessions. 10 00:00:50,985 --> 00:00:53,425 So please join me in welcoming Dr. 11 00:00:53,425 --> 00:00:54,345 Vijay Kalivarappu. 12 00:01:01,785 --> 00:01:09,225 So I kept wondering if I got the entire text of my presentation to Jake and have him read through a piece of paper. 13 00:01:11,065 --> 00:01:11,345 All right. 14 00:01:11,625 --> 00:01:12,505 Good afternoon, everybody. 15 00:01:12,505 --> 00:01:14,425 Welcome to my session. 16 00:01:14,785 --> 00:01:16,345 And thank you, Jake, for the introduction. 17 00:01:18,265 --> 00:01:26,185 So I'll go a little bit about our vision AI efforts in attribute detection and measurements. 18 00:01:26,705 --> 00:01:28,585 None of the work we did is 19 00:01:29,865 --> 00:01:44,585 groundbreaking cold fusion, but the effects of implementing them has been really good, and we are in a direction to implement more of those technologies in our company. 20 00:01:45,705 --> 00:01:47,065 Just a very quick overview. 21 00:01:48,905 --> 00:01:54,105 I've been with Iowa State for long enough to love experiments. 22 00:01:54,825 --> 00:01:58,425 I've been in the industry just enough to learn that 23 00:01:58,905 --> 00:02:01,705 I cannot take as much time as I want for experiments. 24 00:02:05,065 --> 00:02:12,025 So I do have background in 3D visualization, VR, AR simulations. 25 00:02:12,425 --> 00:02:14,665 I also teach design optimization at Iowa State. 26 00:02:14,665 --> 00:02:15,945 So it's a part-time gig. 27 00:02:16,905 --> 00:02:18,265 I have it at Iowa State. 28 00:02:19,065 --> 00:02:24,905 I am really excited to see that my semester is going to end in 10 days. 29 00:02:25,465 --> 00:02:25,705 So 30 00:02:26,225 --> 00:02:29,065 any faculty among you, would know the votes. 31 00:02:30,185 --> 00:02:32,505 So it's a little overview of my talk. 32 00:02:32,505 --> 00:02:38,425 I'm going to talk about who we are, what we do, and some of the general challenges we face at Pella Corporation. 33 00:02:38,745 --> 00:02:40,105 And I will go into the case studies. 34 00:02:40,105 --> 00:02:46,265 I'm going to talk about two of them, window attribute detection and screen door size violation. 35 00:02:46,265 --> 00:02:48,025 Well, not violation, validation. 36 00:02:48,505 --> 00:02:51,585 So a couple of things I will talk about each of those use cases. 37 00:02:51,585 --> 00:02:52,345 What is the objective? 38 00:02:52,385 --> 00:02:54,985 What is the existing or traditional practice 39 00:02:57,865 --> 00:03:04,425 With those two case studies, I will talk about how we implemented the Vision AI tech and then some of the challenges and outcomes. 40 00:03:04,985 --> 00:03:09,145 So first of all, Pella is a family-owned corporation company. 41 00:03:09,705 --> 00:03:12,105 Last year, we celebrated our 100th year. 42 00:03:13,545 --> 00:03:20,825 And one of the big push last year was to use modern tech to improve our manufacturing processes. 43 00:03:20,825 --> 00:03:22,505 And a big part of it is Vision AI. 44 00:03:22,985 --> 00:03:24,545 We have 11,000 45 00:03:25,145 --> 00:03:28,025 team members from across the country working for Pella. 46 00:03:28,225 --> 00:03:33,225 And then under the Pella umbrella, we have five different companies, and Pella is a flagship brand. 47 00:03:34,105 --> 00:03:38,385 So just a quick overview of where we are within the US. 48 00:03:38,385 --> 00:03:44,585 So Iowa has one, two, three, 4, 4 locations. 49 00:03:44,985 --> 00:03:53,385 All of them are wood plants, but then across the country we have plants that do aluminum, vinyl, and fiberglass as well. 50 00:03:54,825 --> 00:04:01,545 And most of the products that we make are designed for residential homes and commercial applications. 51 00:04:02,825 --> 00:04:07,065 So I want to talk a little bit about the general challenges. 52 00:04:08,185 --> 00:04:22,065 As opposed to a typical manufacturing company, like say an automotive company, ours is unique in that every part that comes to a station, workstation, is different. 53 00:04:23,385 --> 00:04:25,785 because our units are custom built. 54 00:04:26,185 --> 00:04:31,145 So that by itself produces various challenges. 55 00:04:31,785 --> 00:04:36,465 The second one is in wood plants, we also have other things to deal with. 56 00:04:36,905 --> 00:04:38,185 Wood defects, right? 57 00:04:38,745 --> 00:04:41,305 Cracks, knots, or pitch pockets. 58 00:04:41,545 --> 00:04:47,505 So those are not homogeneous and they don't appear at the same place in a lumber 59 00:04:48,025 --> 00:04:50,825 piece that goes through our factory floor. 60 00:04:51,225 --> 00:04:54,105 So how do we identify these defects? 61 00:04:54,465 --> 00:04:58,025 And can we use Vision AI to identify these defects? 62 00:04:58,505 --> 00:05:09,785 Some of the other issues, I mentioned this in the talk, well, in our discussion earlier in the main room. 63 00:05:10,265 --> 00:05:11,625 So how do we 64 00:05:13,225 --> 00:05:17,305 make the users of this tech trust in AI. 65 00:05:18,105 --> 00:05:19,705 It's not very easy. 66 00:05:20,105 --> 00:05:22,185 It's a generally an uphill task. 67 00:05:22,505 --> 00:05:29,305 So we as technology developers, we develop this tech. 68 00:05:29,625 --> 00:05:37,145 But if it fails at some point, then the end users are immediately going to throw it away, throw the towel. 69 00:05:37,385 --> 00:05:38,185 I'm not going to use that. 70 00:05:38,585 --> 00:05:41,385 So it's a big task. 71 00:05:42,025 --> 00:05:51,065 for us to develop this tech and also make sure the end users are okay with using the tech. 72 00:05:51,785 --> 00:05:56,905 The other things, vision AI opportunities, where do we use vision AI? 73 00:05:56,905 --> 00:06:02,185 This right from picking the material that builds a window frame. 74 00:06:02,665 --> 00:06:06,945 all the way down to whether the product is installed correctly or not. 75 00:06:07,305 --> 00:06:13,065 So each of these places have a spot for Vision AI being implemented. 76 00:06:13,465 --> 00:06:16,345 So I'm going to talk about two of those case studies. 77 00:06:16,665 --> 00:06:18,265 The first one is attribute detection. 78 00:06:19,305 --> 00:06:22,505 The objective, I just put it here, to the window units. 79 00:06:22,505 --> 00:06:26,585 I'm going to talk about window units, but it applies to doors as well. 80 00:06:28,825 --> 00:06:29,225 So 81 00:06:29,785 --> 00:06:37,065 Do the window units that went through the production, does it have all the attributes on it that are defined in the spec? 82 00:06:37,545 --> 00:06:40,585 So that's the general objective. 83 00:06:41,065 --> 00:06:46,345 But to get there, what is the traditional or existing process? 84 00:06:46,665 --> 00:06:48,585 It is basically checked manually. 85 00:06:51,145 --> 00:06:57,465 So people that work from station to station, they have to identify if there are any issues, if there are any missing parts. 86 00:06:58,905 --> 00:06:59,265 And 87 00:06:59,825 --> 00:07:05,625 and before sending it to the next station, they would have to make sure that everything is in there. 88 00:07:05,705 --> 00:07:06,745 But it is error prone. 89 00:07:07,225 --> 00:07:11,385 So can we use Vision AI to ease their burden? 90 00:07:11,865 --> 00:07:15,705 So in order to do that, we designed it as a two-step process. 91 00:07:16,025 --> 00:07:18,505 The first one is an image quality check. 92 00:07:18,825 --> 00:07:24,105 So we use cameras to capture images of various stations. 93 00:07:24,745 --> 00:07:29,145 And we want to make sure that the images we capture are good enough 94 00:07:29,625 --> 00:07:34,585 to determine whether all the parts that are supposed to be on the window unit are there or not. 95 00:07:35,225 --> 00:07:38,905 So image quality check followed by attribute check. 96 00:07:39,225 --> 00:07:50,825 So if you look at this picture, right, we want to filter out those images that don't have attributes that we prefer. 97 00:07:51,065 --> 00:07:52,905 So the first one, unit out of view. 98 00:07:53,625 --> 00:07:57,145 We want to have a window unit in there when an image is captured. 99 00:07:57,625 --> 00:08:11,305 So the way we have it is at a station, an operator, when he thinks that the product is ready to move to the next station, he clicks a button for the camera to capture an image. 100 00:08:11,545 --> 00:08:14,425 But sometimes he captures an image without anything in there. 101 00:08:14,545 --> 00:08:15,305 And that is an issue. 102 00:08:15,705 --> 00:08:17,545 And we would have to filter those out. 103 00:08:18,465 --> 00:08:28,905 And the second one, tilt table up, so that the table where they perform their work, it will be tilted up so that the heavy window unit can be transferred over from one station to another. 104 00:08:29,305 --> 00:08:37,785 But if we have the tilt table up, we don't see all the attributes in the window unit, so we'd have to somehow let the user know that, hey, you need to take a picture again. 105 00:08:38,465 --> 00:08:41,225 The third one, material obstruction, right? 106 00:08:41,225 --> 00:08:46,425 If there's a pair of gloves or any tools on a window unit that is obscuring 107 00:08:47,465 --> 00:08:50,985 some of the attributes that we want to identify in a window unit. 108 00:08:51,305 --> 00:08:55,625 So these are all under simple classification models. 109 00:08:55,705 --> 00:09:00,345 We can say there is a pair of gloves, there are tools, or there's a tilt table up. 110 00:09:00,745 --> 00:09:03,945 But it becomes complicated really quick. 111 00:09:04,745 --> 00:09:05,545 Take a look at this one. 112 00:09:06,585 --> 00:09:10,505 The left-hand side image, we have a cardboard person and tools. 113 00:09:11,305 --> 00:09:14,545 All three of those are obscuring the window unit. 114 00:09:15,945 --> 00:09:18,425 for an image to be captured properly. 115 00:09:19,225 --> 00:09:31,465 Now, the issue is if those 3 obstruction, pieces of obstruction, are not on a window unit, it is okay. 116 00:09:32,185 --> 00:09:36,345 But because it is obscuring the window unit, that would cause an issue. 117 00:09:36,585 --> 00:09:39,225 So classification models will not work for us anymore. 118 00:09:39,545 --> 00:09:41,145 So we ended up with using 119 00:09:41,945 --> 00:09:42,745 object detection. 120 00:09:42,985 --> 00:09:53,305 So that we can have our own logic to say if a window unit is fully exposed, it doesn't matter where the other things are. 121 00:09:53,545 --> 00:10:02,825 So that helped out with filtering out items that can go to the next step, which is our attribution detection. 122 00:10:05,225 --> 00:10:08,105 So assuming that we got a good image, 123 00:10:08,665 --> 00:10:14,025 We run it through segmentation models to identify different aspects of a window unit. 124 00:10:16,345 --> 00:10:25,225 We position our cameras in such a way that we get a good vantage point of a window. 125 00:10:25,225 --> 00:10:32,265 So it's not exactly top-down because we want some attributes detected around the edges of a window unit. 126 00:10:32,665 --> 00:10:36,345 So with that, we train some models. 127 00:10:37,465 --> 00:10:59,705 identify different aspects of different attributes within the model, and then check them against the spec of the window unit to tell there are parts missing in the window unit, or if there is an issue with the operator himself, if he did not, if he has incorrect attributes installed on the window unit. 128 00:10:59,705 --> 00:11:04,105 So those are the kind of things that we were able to implement using Vision AI. 129 00:11:04,185 --> 00:11:06,265 And this has worked out really well. 130 00:11:08,105 --> 00:11:15,705 With the models that we developed, we got to about 90 to 95% consistency, but we are shooting for more. 131 00:11:17,065 --> 00:11:20,185 And the other thing is we want these to be done at near real time. 132 00:11:20,585 --> 00:11:36,905 Because once the window unit is ready to go to the next station, there's not as much time, because the operator will not wait for 30 seconds before the inference is done and say we are missing a part or something. 133 00:11:37,385 --> 00:11:43,225 So we started using GPU-based inferences, and it worked out really well. 134 00:11:43,385 --> 00:11:52,265 So far, we have implemented them in Pella and one or two other facilities across Iowa, but we're trying to roll it out across the entire country as well. 135 00:11:53,625 --> 00:11:58,585 And the last thing is train the usage to shop floor and quality techs. 136 00:11:59,385 --> 00:12:01,785 So every once in a while, 137 00:12:02,665 --> 00:12:04,185 there are changes to our process. 138 00:12:04,345 --> 00:12:14,985 Like if we make the Pella logo sticker slightly different, that means that we are introducing error into inferencing our model, right? 139 00:12:15,145 --> 00:12:25,625 Or if we change the way a hardware pack is installed on the window unit, if that changes, it is going to add another line of error. 140 00:12:25,865 --> 00:12:27,945 So over time, there is a model drift. 141 00:12:28,185 --> 00:12:46,105 So what we do is we not only develop this tech, but we also write documentation procedures to teach quality techs to train models every couple months and then reintroduce those models back into our total workflow. 142 00:12:46,585 --> 00:12:48,665 So far, it has been working really well. 143 00:12:49,625 --> 00:12:52,905 We are implementing it on a larger scale now. 144 00:12:53,665 --> 00:13:00,185 So I'm going to switch over to the next case study, screen door size validation. 145 00:13:01,465 --> 00:13:14,505 The objective, it's not so much whether a screen door has been assembled right or not, but it's more of whether they are putting the right product into the right box. 146 00:13:16,345 --> 00:13:21,385 Because we've seen a lot of times when a screen door that is supposed to be 53 inches, 147 00:13:22,745 --> 00:13:25,945 But by the time it goes into the box, it is 64. 148 00:13:27,065 --> 00:13:35,545 So there are issues, manual issues, or human errors before screen doors are packed into a shipping box. 149 00:13:36,025 --> 00:13:47,545 So the question was, can we do a last check to tell, to give a rough dimensions, or to get rough dimensions of a screen door that is being put into a box? 150 00:13:48,265 --> 00:13:52,345 So we applied Vision AI, and it's a three-step process this time. 151 00:13:52,505 --> 00:13:54,425 The first one is an image quality check. 152 00:13:55,465 --> 00:13:59,385 So we filter out people that appear in the image. 153 00:13:59,705 --> 00:14:03,625 The next one is to overcome camera lens distortions. 154 00:14:03,985 --> 00:14:04,745 What does this mean? 155 00:14:06,905 --> 00:14:16,425 So typically, every camera that we use, the lenses that come with them, they have certain optical defects. 156 00:14:17,385 --> 00:14:23,945 and it cannot be avoided, but we can use certain pieces of information to correct it. 157 00:14:24,425 --> 00:14:35,785 So the three main ones that these cameras come with are barrel distortion, where images sort of appear rounded, or sometimes they have thin cushion effect. 158 00:14:36,265 --> 00:14:38,105 So if you take a picture of... 159 00:14:39,265 --> 00:14:49,545 of, say, a pillar from a distance using your phone, you would probably realize that there is some curviness to the pictures you've taken. 160 00:14:49,545 --> 00:14:51,305 And that's because of the lens distortion. 161 00:14:51,865 --> 00:14:55,625 So we have to overcome this distortion in order to do any kind of measurements. 162 00:14:57,225 --> 00:15:03,225 And then apply computer vision methods to tell what is the length of a certain part. 163 00:15:03,705 --> 00:15:06,905 So overall, we filter out 164 00:15:07,705 --> 00:15:09,065 people using object detection. 165 00:15:10,425 --> 00:15:15,785 And this is, say, an input image or an image capture from a camera. 166 00:15:16,265 --> 00:15:18,425 So we do calibration process. 167 00:15:19,785 --> 00:15:23,065 The cameras that we use, they are pretty dumb cameras. 168 00:15:23,145 --> 00:15:28,185 They just take pictures, they stream images or videos, but they don't do anything else. 169 00:15:28,665 --> 00:15:35,545 And it also gives us more opportunity to take control because we can program it in a way that we wish. 170 00:15:36,185 --> 00:15:47,505 So, what we do is we calibrate the cameras so that we know the focal length in X direction, Y direction, what is the optical center of those lenses, and what are... 171 00:15:47,585 --> 00:15:49,065 the distortion parameters. 172 00:15:49,065 --> 00:15:58,025 So these are very standard computer vision methods of approaches to calibrate a camera. 173 00:15:58,345 --> 00:16:03,105 So once we calibrate the camera, we can do something called as undistortion. 174 00:16:03,465 --> 00:16:14,185 Now we can see that the image, the edges of the table are straightened out, which means that I have something to work with, right? 175 00:16:14,185 --> 00:16:15,665 So I can do some measurements. 176 00:16:16,105 --> 00:16:28,825 But in addition to undistortion, I can also do perspective correction where I change the, transform the image so that I get an output image, something very similar to this. 177 00:16:29,465 --> 00:16:39,305 Meaning that I can transform the image as if the camera is facing top down on the window unit itself. 178 00:16:39,785 --> 00:16:45,225 And because we know the dimensions of the tilt table, I can use that to map 179 00:16:46,145 --> 00:16:48,585 on to what the size of a screen door is. 180 00:16:49,145 --> 00:16:56,345 So using that, we were able to get to about a tolerance of less than 1/4 of an inch. 181 00:16:56,665 --> 00:17:04,265 So within 1/4 of an inch, we were able to identify the dimensions of a screen door, and it has helped us tremendously. 182 00:17:05,065 --> 00:17:07,945 So 2 cases talked about. 183 00:17:10,385 --> 00:17:12,425 Vision AI is not, 184 00:17:14,825 --> 00:17:17,585 It's not something that is really hard to implement. 185 00:17:17,785 --> 00:17:34,865 You just have to put those pieces together, see what works with building a machine learning model, and use that information to perform computer vision operations and make the tech help us. 186 00:17:34,865 --> 00:17:41,305 So that's where we are at, and we've been working with various other initiatives as well. 187 00:17:42,025 --> 00:17:42,665 That brings us 188 00:17:43,465 --> 00:17:44,905 to the end of my talk. 189 00:17:45,425 --> 00:17:47,465 If you have any questions, I'll be glad to answer. 190 00:17:51,345 --> 00:17:52,505 I have a question. 191 00:17:52,505 --> 00:17:53,065 Real quick. 192 00:17:53,785 --> 00:17:55,465 Thanks for sharing your case studies. 193 00:17:55,945 --> 00:18:01,225 Can you give us some insight into how long this took to maybe pull together? 194 00:18:01,225 --> 00:18:03,185 Did you do it internal with your team? 195 00:18:03,185 --> 00:18:04,265 What's your team size? 196 00:18:04,265 --> 00:18:05,465 Did you have outside help? 197 00:18:05,465 --> 00:18:09,705 Can you give a little insight just in case any of us want to do something like this? 198 00:18:10,505 --> 00:18:13,225 I will try to give as much info as I can. 199 00:18:13,225 --> 00:18:16,505 Chris, please correct me if I did anything wrong. 200 00:18:17,945 --> 00:18:21,545 So the Vision AI team is small. 201 00:18:21,945 --> 00:18:25,625 We have four to five people on our team. 202 00:18:26,825 --> 00:18:31,545 But we use an external tool to label our images and build models. 203 00:18:34,345 --> 00:18:38,105 The biggest challenge with, not challenges, the biggest time taker is 204 00:18:39,225 --> 00:18:40,665 is labeling these images. 205 00:18:41,305 --> 00:18:48,265 So we first have to identify what are the classes that we want to figure out in an image. 206 00:18:48,585 --> 00:18:54,985 So on a screen door, what I wanted to know is within the image, where is the screen door? 207 00:18:56,025 --> 00:19:00,905 So we have a collection of different screen doors with different colors, different sizes. 208 00:19:02,345 --> 00:19:07,225 So just like how a kid learns how to differentiate between an apple and an orange. 209 00:19:07,465 --> 00:19:22,585 He sees apples and oranges in different environments so that even at the end, if I take an apple, put it in the corner of a room, and ask him to tell what it is, to be able to tell that it is an apple and not an orange. 210 00:19:22,825 --> 00:19:28,185 So basically train the model with a whole bunch of images of a screen door. 211 00:19:28,345 --> 00:19:30,345 Same thing with our other attributes as well. 212 00:19:30,665 --> 00:19:32,585 So we train the model, 213 00:19:34,665 --> 00:19:42,745 Depending on whether we want to use it for image quality, that means object detection or attribute detection. 214 00:19:43,305 --> 00:19:53,225 So if it is object detection, just to tell me where roughly a tilt table is, a rectangle would be enough. 215 00:19:54,025 --> 00:19:57,465 But if I wanted a specific attribute of a specific size, 216 00:19:58,265 --> 00:20:00,345 then we would do a polygonal labeling. 217 00:20:00,585 --> 00:20:08,265 So that means we can have a customized polygon that represents a specific item. 218 00:20:08,825 --> 00:20:13,705 So these are the ones that take the longest. 219 00:20:14,505 --> 00:20:22,345 But once the model is built, we can run a quick script that takes in an image, spits out 220 00:20:23,905 --> 00:20:28,425 and tells us what attributes are identified or detected within that image. 221 00:20:28,985 --> 00:20:31,505 So is this like a few-month project, a few weeks? 222 00:20:32,225 --> 00:20:35,105 Or what's your time table to have this finished product? 223 00:20:35,465 --> 00:20:49,705 So if we have the images labeled correctly, the model training time itself takes anywhere from a couple of hours to a couple of days. 224 00:20:51,225 --> 00:20:54,505 But in order to get there, are a lot of learnings, though. 225 00:20:54,945 --> 00:20:57,705 And that's the one that took us most time. 226 00:20:57,945 --> 00:21:04,265 So we started on this approach a year and a half to two years ago. 227 00:21:04,265 --> 00:21:06,185 I wasn't with Pella at the time. 228 00:21:06,265 --> 00:21:07,545 I only started last year. 229 00:21:08,905 --> 00:21:14,185 But by the time we started, we made some progress, and we did learn some things. 230 00:21:14,905 --> 00:21:20,905 Whether or not, whether it's object detection or segmentation models, that is something that we learned through the process. 231 00:21:22,065 --> 00:21:29,225 and what are the resolution of images that we need to punch into our model? 232 00:21:29,865 --> 00:21:40,985 Do we pick a 256 model image, or do we want to have a 1024, 1024, or do we want to go all the way to a 2K or a 4K image? 233 00:21:41,305 --> 00:21:45,145 So all of that took a little bit of learning. 234 00:21:45,545 --> 00:21:48,985 So it's a subjective answer. 235 00:21:51,865 --> 00:22:00,505 If attributes are well-defined and there's the same ones, then you don't need as much time. 236 00:22:00,985 --> 00:22:05,065 But when objects do change, yes, it does take time. 237 00:22:05,305 --> 00:22:07,305 We have time for one more brief question. 238 00:22:07,745 --> 00:22:09,305 And I think I saw a hand back here first. 239 00:22:09,305 --> 00:22:10,265 Do you want me to go to him? 240 00:22:10,265 --> 00:22:10,465 Okay. 241 00:22:11,065 --> 00:22:12,425 And then we'll transition speakers. 242 00:22:14,185 --> 00:22:17,985 Yeah, two very short questions. 243 00:22:17,985 --> 00:22:19,145 One, I was just curious, 244 00:22:19,505 --> 00:22:24,825 what the average data set size is for like a single model of like a screen door. 245 00:22:24,945 --> 00:22:30,265 Are you talking like 100 images or a few thousand images for a single model? 246 00:22:30,385 --> 00:22:37,625 And the other is, the data just logged for later reference or is if there's a mistake, does a light come on? 247 00:22:38,025 --> 00:22:41,225 Yeah, for the operator to say, oh, I put this together wrong. 248 00:22:41,705 --> 00:22:41,945 Yes. 249 00:22:42,345 --> 00:22:47,065 So the first one, your first question was. 250 00:22:47,145 --> 00:22:48,185 Size of the model. 251 00:22:48,745 --> 00:22:49,545 size of the model. 252 00:22:51,465 --> 00:22:57,145 For screen doors, we had a few hundreds of images, hundreds of images. 253 00:22:59,305 --> 00:23:00,865 They're pretty much homogeneous. 254 00:23:00,865 --> 00:23:02,345 They're pretty much consistent. 255 00:23:02,905 --> 00:23:10,425 But for attribute detection, we're talking about thousands, like 4 or 5 thousands, or sometimes even more. 256 00:23:12,425 --> 00:23:13,865 So the other question you had was... 257 00:23:13,945 --> 00:23:18,105 Is the data just logged for later reference? 258 00:23:19,225 --> 00:23:25,705 Or is there something to help an operator, the person that built the screen door that they did something wrong? 259 00:23:25,945 --> 00:23:26,265 Yes. 260 00:23:26,425 --> 00:23:30,185 So we have a heads-up display, a TV monitor basically. 261 00:23:30,425 --> 00:23:41,545 So after an inference is done, if it detects that some of the attributes are missing, then it does, we send the inference picture 262 00:23:42,985 --> 00:23:45,865 to the heads-up display to tell that, hey, something is wrong. 263 00:23:46,105 --> 00:23:48,505 So it can go green, orange, or red. 264 00:23:48,665 --> 00:23:52,665 Red means you have to stop and you have to address it. 265 00:23:52,905 --> 00:23:54,025 Orange, it is okay. 266 00:23:56,505 --> 00:24:01,145 All right, folks, that's our time for this one, but I'm sure Vijay will be around afterwards if we have more questions. 267 00:24:01,145 --> 00:24:02,105 So thank you. 268 00:24:02,665 --> 00:24:05,545 Everybody join me in thanking Vijay for his wonderful presentation. 269 00:24:09,585 --> 00:24:09,705 And