Placeholder Image

字幕列表 影片播放

  • Hi, everyone.

  • Thank you for coming to my talk.

  • Oh, my college.

  • This is so many people.

  • Um, yeah.

  • So I'm just gonna start with a disclaimer that this is a tech talk about my necklace.

  • So I'm just gonna talk for 30 minutes about my necklace, and I couldn't do that because there is a ton of tech ah involved in this necklace and it's responding to people around me.

  • Um, so, yeah, you could see I have a lot of electron ICS currently strapped to my body.

  • So I have this choker with a camera attached in the cameras attached to a raspberry pi three b plus and the raspberry of high is running know Js, and it's running tensorflow Js in with tensorflow J esus running an image recognition model.

  • The machine learning model in the pie determines how many people it sees, and it sends the information to an adrenal.

  • And the Adriano is controlling the lights on this necklace and updates these colors and patterns of led is based on parameters.

  • I've stopped for how it should respond.

  • Um, like Paul said, I am a not a hardware hacker for work.

  • I am a Web developer, so I mainly do reacts html CSS and accessibility.

  • I work on Microsoft to do which, if you want to organize your day, it's a great app.

  • Or if you want to use it like me and make a list of weird German words and a few names for future pets you used to and I go by she her pronouns.

  • Um, okay, Uh, yeah, I'm really fascinated with making myself and come uncomfortable in public.

  • So a few years ago, I started making lighted clothing because I just thought they were really beautiful.

  • But that's also a burden for me because I love them.

  • But it's kind of hard to deal with sometimes all the attention that they draw.

  • But I've tried to learn how to channel that in from anxiety into more like fascination and excitement and also try to use them to come confront my discomfort of drawing attention to myself.

  • Um, and I just want to start off by showing you some of the projects I started with.

  • So so the first project I ever made was this fiber optic dress, um, and made this a few years ago because I was going to a festival.

  • And I thought, This is what you were supposed to D'oh!

  • As I basically, uh, this link is linked to the kid I bought.

  • It's actually a fiber optic rave whip.

  • So it's like a flashlight with, like, 200 strands of fiber optics attached.

  • And I guess you swing it around or something.

  • I don't know, Uh, but I cough Eden Instructional sartorial.

  • I bought this kid.

  • It has just like this flashlight with preset programs.

  • So I didn't code any I didn't saw or any.

  • And my mom kindly made this dress for me and I.

  • So all these 200 strands to the dress It made this really cool looking jellyfish dress.

  • And if people really loved it, I got a lot of compliments.

  • I felt extremely awkward.

  • Um, I wasn't It was first time wearing anything glitch, and I wasn't used to all the attention, but it was a positive attention.

  • So gave me a self esteem boost, which was like the trade off.

  • Um, I wish it could have been more alive, though, because I set a program, and I was that was there was no like interactivity aspect to it.

  • So last year, I made this project, which I called with Paul helps me name.

  • This project is called Holtz Could Code Tour, and so it's just multiple coordinated pieces.

  • Uh, and I gave that link is I gave several versions of a talk about this, so that's a link to my talk of Js calm for you last year.

  • Eso have these multiple pieces.

  • They're all according together.

  • There's an app using react that you could control The life's with anyone on the Web could change the colors and the patterns.

  • It was a lot of coding.

  • I had a Web built in react, and then I had a no Js server.

  • It was using in Q t T messaging protocol to relay information and had each piece had an adrenaline it and it was a Tana Pottering.

  • I saw her at each of these pieces.

  • Sometimes I had to rebuild on, had to do it multiple times because that's how it is with hardware.

  • Um, yes.

  • Oh, with this project, I purposely wanted to explore creating this temporary experience that connected a viewer directly to a the artwork for a brief period.

  • So it's kind of blur the lines between who's the artist and, um, who's the viewer?

  • And I wanted to explore the reactions of people when they realize that the lights could be changed with the web app that they had complete control over my outfit.

  • Um, and it was an interesting experiments, but what?

  • I realized that I was doing it more toe to please other people.

  • Uh, which is okay, but it was less of the direction that I wanted to go in.

  • I wanted to be more focused on me and what I was experiencing, Um, the last project I bought last year was this speech to image necklace.

  • I know there's no sound, but I have basically the capture and I'm saying, I like turtles.

  • And then it's showing the mean if you know of like, the kid dresses a zombie and he says, and I like turtles.

  • So, um, s so this is the last project in aid s.

  • So it was just It's meant to ah show accompanying the images as I talk, uh, in hopes that people would finally interesting and say engaged.

  • Speaking to me.

  • Eso it has a raspberry pi with the touch stream just plugged in it.

  • So the rest is just behind the touch screen there.

  • Uh, and on that pie I have no Js server that sins and has a microphone in a sens audio to the Google speech recognition a p I and then extends those keywords to the Google search.

  • A p I, which have a custom image search criteria set up, um, so that it was show image correlated to what I'm saying.

  • So I like that it was responsive to the environment, but because I was using these ap eyes, I still needed WiFi.

  • So, um, that I kind of wanted to get rid of, like, the WiFi dependency on future projects.

  • Um, and a side note.

  • I didn't realize I was really working with machine learning on this, and this is relevant cause I'm gonna talk a lot about machine learning.

  • So I just want to point out that ironically, I didn't realize I was working with machine learning.

  • I just, you know, until really looks back about project under this A bit naive, but I also feel like machine learning is so pervasive.

  • You just sometimes feel like you're using a P eyes.

  • Ah, but you're actually using machine learning because I just thought I was sending data and get a response.

  • So my current project.

  • So I wanted to take the things I liked about other projects and go in this different direction.

  • I wanted to be responsive to people around me, but, uh, it will increases my discomfort unless I can conform to social norms.

  • So what that means is very obnoxious and flashy, an attention getting when I'm alone when I'm off by myself and it only calms down and eventually turns off when I'm sociable and surround myself with other people.

  • So it's less about purposely attracting people.

  • It's more about me wanting to get a writ of the lies this fastest possible.

  • And I think I might have convinced you that with this progression of that, my progression of work through my projects was a convincing reason for me to build a snack.

  • Selous.

  • But I've misled you a bit.

  • There was actually like a really pivotal moment that I decided to build this.

  • So, uh, like I said, I worked at Microsoft to Dio in Berlin, and I started this job almost a year ago, and I was at this really first time working at a really big tech company, and I was very insecure because I'm not.

  • I don't come from a computer science background and everyone else had, like, masters and being doing computer science.

  • And they were like 12 years old.

  • And folks started in machine learning study groups who were doing the big online MK course, and I was falling behind from the first study group session, and I felt really insecure about that.

  • But I wanted to prove mainly to myself that I could learn all these concepts but do it in my own style.

  • And for me, that meant I really needed to build something physical, like have a physical use case that was relevant to me in my interest.

  • And this is so the real reason I built this project because I couldn't keep up with a machine learning course at work.

  • Um, so there was a couple, of course, is that work for me.

  • The 1st 1 is this machine Learning for Artists Course by Jean Kogan.

  • He's really influential creative machine learning artists, and he teaches at N Y U.

  • But he puts all his course works online for free, and so I just watching the videos for the course.

  • It really opened my eyes to what artists and nontraditional technologists are doing like playing Tetris with State your face.

  • And it really inspired me and gave me a lot of ideas on how we could integrate mission learning into a new project.

  • And then because of my job, is to develop for, of course, like I wanted to do everything in Java script, which in hindsight, was kind of awful because it it would've been a lot easier.

  • Just sees Python, because there is already stuff and tenser folk of Python was already pretty well documented for the pie, but I don't like to make things easy for myself.

  • Um, if you're not familiar with ah tensorflow, it's a library for training and running machine, um, learning models mainly in the browser.

  • You can also run it a node.

  • And this is Dan shipment from the coding train.

  • And this is honestly how I learned to use tensorflow gs.

  • His videos are great, um, and he just basically got a place around with sensor full.

  • And that's how I learned.

  • Uh, so when I started the project, I knew I wanted to use javascript to do the mission learning, but there's two things I wasn't sure of.

  • First of all, I needed to run the machine learning models in node because I would be running on a pie and on the browser.

  • And then I also needed to run these models and note on the pie.

  • Um, and the model I wanted to use was this a monocle, tiny yellow and yellow stands for you only looked Look once and it's cold.

  • Tiny because it's one of the fastest image recognition libraries for the browser and tensorflow.

  • Um, but yes, for the browser wasn't set up for node.

  • So the first thing you wanted to do to see if I could get this model running just a note.

  • So, uh, to do that, I just luckily just had to do some minorco changes.

  • I just forth the repo for this project, and then I need to replace use wth e a tensorflow node specific package and then store all the models they were originally in the crowd cloud.

  • I had to store the Moakley changing like import export statements to require statements, things that you do for node, and I couldn't use, like the Web camera, a media devices, a p I.

  • And he did actually load the file in node and then send it to the model.

  • So, um, I was able to do those things you could see.

  • I was so happy I sent out a tweet about this and yeah, you could see it.

  • It's he's like things to cease ties, which I'm not sure why, but it also saw people which what was in the photo that I was sending it?

  • Um, so I got that done.

  • That was pretty exciting, but I needed actually get Doesn't matter if I got it running if I couldn't get tensorflow Js running on pie on.

  • I didn't do to its research into this before him, but I got pretty lucky that the Tensorflow Js team was actually making tensorflow Js like the same week I started working on this, they had a branch that they made the architecture for the pie, which is ah, arm architecture.

  • They were making changes and they were going to allow it to be ran there.

  • So, um, it wasn't released.

  • Um, and yet, but I, uh, was some help from a colleague at work.

  • I was able to just clone it and, like, use this package called, uh, y'all yolk to link it to Marc Rajic.

  • And you could just I could build tensorflow Js on the pie.

  • Um, it worked.

  • And I think this is, like probably one of the first, uh, instances of actually building on the pyre because it was, like, right after they, um um added end of tensorflow.

  • So I was kind of cool.

  • I was doing something like really bleeding edge.

  • Um, and I have a disclaimer that I haven't touched this since I did this.

  • So it's running on TENSORFLOW.

  • J s 0.14 to to give you context.

  • The latest release is 1.2 point eight, and they're also prepping release candidate, too.

  • But you know what I did this months ago?

  • It's for my project.

  • It works like, really, I looked down to make sure it's working.

  • It works really reliably.

  • And if it's not broken, why fix it?

  • Like I have other things, like in poor hours and two.

  • So, uh, yeah, so just disclaimer.

  • If you want to try this yourself, I'm using the older version of Tensorflow.

  • Jess.

  • Um, so, yeah, my two biggest hurdles were done, so I could start working on the led necklace.

  • And as a maker, I tend to just buy in bulk.

  • And I always see cool things that I like and I buy things.

  • What?

  • And I have a huge drawer of just like extra things.

  • Um, so a while back I brought this kid.

  • It's like an intro slaughtering two kid called blinky tiles.

  • It sees ah, just shapes that you can solve it together and it comes with this pre program.

  • It's meant to be used with this pre programmed, um, Michael control that comes with it.

  • But I really liked the aesthetic of it, Um, and actually had played around before with just using their microcontroller to try to use something that you're supposed to create and set on your desk into a wearable itself.

  • So I had made this before.

  • Um, this got completely destroyed when I moved to Berlin, so I just took it apart.

  • But I didn't want to use their pre strike controller.

  • So, um, I feel like you're going to hear me say, Luckily, someone had did this, but this is kind of like how it goes with making Luckily, someone had, uh, controlled these blinky tiles before with a different archery.

  • No.

  • And it's basically using if you're familiar with, like, stage lighting and stuff there is called DMX sliding.

  • But they had used this library called DMX simple.

  • And I could just kind of see the code that they had written for their dream.

  • No.

  • So I was just able to kind of know what microcontrollers they used, and I just they used a tete a teensy board.

  • So I just bought that exact board.

  • And this is just like my test of making sure that I could control it with my own, um, a dream?

  • No.

  • And it worked.

  • And then I just set out on, uh, designing what I would design.

  • I wanted to make You can see, like the design on the left is not what I went with.

  • I went with the one on the right and to make this, I just I have ah, a mannequin and I just pin a I saw her on the mannequin.

  • I just pin things out and cut wires in a super tedious.

  • Um, but I just do it on my mannequin s.

  • So I created the led necklace.

  • But then I need to send that image data from the pie to the Drina to control the lights.

  • And, um, I didn't want to rely on Bluetooth or anything that could go wrong, So I just decided I wanted to hardwire it, and for that, I was going to use serial ports.

  • I never sent any messages between devices with serial ports, but, um, the pie there's two pens, there's one for sending and receiving.

  • And then I could send the data from the pie o my date a pinch of the Drina.

  • So it seemed pretty straightforward, but I struggled a lot.

  • So I was trying.

  • I had a little a lot of problems just getting the cereal on the pi toe work, so I had trouble This If you look, you see on the left, I just have a wire going into the sand up into the receive, and this is called a loop back.

  • So is how you contest that your serial port is working, and I spent like a week and had, like, desperate, uh, tweets, like trying to figure out what was going on and because, you know, it's like the pious, supposed to be super kid friendly, But I had a lot of problems with this, and I basically just had to change, like, disable a bunch of sub configuration on start up.

  • And I wrote this huge gifts, so I would like potentially remember how to do this next time.

  • Um, but yeah, I basically had to disable stuff like on start up every time.

  • So it's like, has the pins like active?

  • Um, so things were not going.

  • I figured out things with things still weren't going great.

  • I had some problems that I needed to deal with before I could move for further with, like, connecting the two.

  • So, as you can see like that is, like bad.

  • It's not supposed to be flickering like this and, um, at the time, like, Yeah, I'm not like an electronics like experts.

  • I've had a hunch it was like power issues, but it really was like, outside of my abilities at the time.

  • So I just switched boards with another board.

  • I hade and ah, I switched from the teen C to an a dream No, called the eight of Free Mini Metro.

  • And I got lucky that this board actually worked with that DMX Simple Live because it only works with a few, But, um, sometimes you don't learn things until after, and that's OK.

  • I got really lucky, but I also think it was.

  • It was a power issue where, like the teen, Seaborg is like runs on 3.3 volts.

  • But it's five old tolerant, but the Mini Metro is has a five outputs and the blinky tallest need five old.

  • So it just happened that it matched up better but really was because I had one lying around and I got really, really lucky.

  • So I fixed the power issues.

  • But then I had another problem when I was running the machine learning model after about 30 minutes.

  • The, um, this is a TSH top to monitor things the memory would fill up, and then the swap memory Philip, which is really bad.

  • And then it would crash because it had had a headache, memory leak, and I, like combed my program looking for like memory leagues, and I was just stomped.

  • I could just see there was like, you know, a node app called out.

  • J s running Well, do you ever this project.

  • I was using the same SD card and raspberry of high.

  • And it was up.

  • This project had a memory leak.

  • It was running at start up with a head it running with PM two on boots.

  • And, um yeah, turns out this one had a memory leak, but because they were both called app Js, it was kind of hard to debug.

  • Um, yes.

  • So I figured out that and I turned off the other.

  • Um, no gs half a loaf is running, and then it was okay.

  • Um, yeah.

  • So I got those bugs fixed up.

  • So then I could get back to actually send in the state of From the Pie to the lights.

  • And then I had another decision to make.

  • So what form?

  • That's what I used to send data from the pie to the lights and as a drama script developer Mike Hey, I just used Jason every year.

  • All this used a s on here on dhe.

  • Yet Jason Andrea know is a thing.

  • There's a library on and it words.

  • But in retrospect, this was a really bad decision because a dream?

  • No, they're tiny.

  • They're very like, limited and resource is memory wise and the lice would pause while it was processing and parsing the Jason it received.

  • And I thought I was so clever for using, um, Jason on a dream.

  • No, but it was just a really bad decision on my part.

  • So I had to redo this.

  • And this is, um, code from my know Js app.

  • So I switched Thio.

  • I had to think about what really the Arduino needed.

  • I didn't need an object with, like, information about all the things that the camera was seeing.

  • I just needed really to know how many people it was seeing.

  • So to do that and to do that, I only really needed a bite.

  • I needed a number.

  • So I convinced it down and I just sending three bites now to the dream.

  • No.

  • So I have just a starting and end by just so on the Drina.

  • No, it knows when it's over.

  • Cereal just gets a lot of garbage.

  • And so it knows these bites is getting an incoming message.

  • And then in the second, the one in the middle is just the number of people.

  • And the tiny YOLO model on Lee can, uh categorize up to 20 things, so I wouldn't know.

  • I knew that a bite would be sufficient for that.

  • So finally I could send information, and then it was time to work on programming the lights.

  • And, uh, this is just a lot of like non JavaScript C plus plus ish a Drina stuff on, um, thankfully, like Charlie showed a little bit of a Drina cozying so you could see there was, like, a set up.

  • And then there's a loop.

  • And inside this loop, I have some methods that are checking.

  • One is receiving, can know if it's receiving a message and things.

  • And, um, this is I just want to show a snippet of code.

  • So this is, um, some code I wrote that when it knows, is receiving a message.

  • And you can call this like, set program f it.

  • And, um, basically, I wanted to show that when there's no one around, I have this like it's really chaotic.

  • And then, as the people they're, sees more people than it goes to more gentle light programme and then eventually it goes to dark.

  • No one's there, six people.

  • And if you're interested in looking at the Drina code.

  • This is the length of that also have of the links to my project at the end if you don't catch it in time.

  • And, um so I had a sending things, but then I had another problem, because this is like, this is our hardware goes eso I had just been testing it on my mannequin, but they want to actually put it on myself.

  • Um, it was having some fit issues.

  • So, like as I moved, it was like flashing because, like, some of the wires were like shorting out.

  • And I originally envisioned to putting all the tech and just like a fanny pack.

  • Not really not realizing how big a pie and a battery pack and everything was So it was no way that was gonna fit and look cool and have fanny tag.

  • Um, so, uh, I had Thio re saut or something.

  • So after I started stopped crying about that, I just re solder and I was fine.

  • And then I decided to just kind of shop everything to my body on the Skurdal.

  • And this actually, uh, works quite well and solves the problem of, like, too much stuff.

  • Um And then I decided to add one more feature that hadn't really planned for So sometimes I get really overwhelmed wearing this.

  • Um, and I just want a way to turn it off completely and give myself a break without having to be around people.

  • So I added this, uh, button ring.

  • So I have two things I can do with the button re.

  • The first is I can flip the light programme.

  • So it's actually when I'm around No.

  • One, it's off.

  • And then as more people come around against more chaotic, so just completely flips.

  • Um um, if I do the short button and then it can come back on and then when I just get completely exhausted by everything, I could do a long button press and I could just completely turn it off.

  • But then I can turn it back on just to like it's kind of like my escape hatch if I just can't rip this off of me, and I just want it not to draw attention.

  • Um, and that's it.

  • Ah, this was It was hard and I got demotivated a lot.

  • It's originally envisioned doing this in three months, and it took me eight months not because I was working on it constantly, but because I took, like, some months long breaks because some of these problems, like the messaging and the power issues and things like, really wore me down.

  • Um, and of course, is always stuff I could have done differently.

  • But I'm really happy with what I've learned.

  • And I'm excited to continue doing machine learning things with wearables and other projects.

  • And I love to talk about non tech stuff dogs, fashion outfits of the day, any of those things.

  • But we could talk about tech to just, um if if you're around, then you want to say hi.

  • Um, just I know I can look unfriendly sometimes, but I'm actually friendly.

  • I'm just nervous most of the time.

  • So say hi.

  • And that's it.

  • Thank you so much.

Hi, everyone.

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

B1 中級

如何不讀懂這個房間。創建社交尷尬的可穿戴設備,作者:Stephanie Nemeth | JSConf BP 2019。 (How not to read the room: Creating socially awkward wearables by Stephanie Nemeth | JSConf BP 2019)

  • 1 0
    林宜悉 發佈於 2021 年 01 月 14 日
影片單字