TinyML EdX Course Project Competition

Hi everyone,

This is a strawperson proposal! I am looking for community feedback.

What do you all think about having a course project competition for Course 3 of the TinyML edX series?

What if we had a competition for the most creative and/or impactful course project, something that builds on top of the examples we have already given so that people don’t have to start. Folks are encouraged to create any project of their liking in the context of the sensors that they already have access to on the TinyML course kit.

The structure for the competition could be as follows:

  • Describe the problem you are trying to solve using TinyML
  • Capture a working demo of the project / prototype on YouTube
  • Give link to the GitHub repository under Apache 2.0 license so that others can work and contribute

Tentative prizes

  • First prize: $1,000
  • Second prize: $500
  • Third prize: $250

I don’t have a sponsor for this, but am happy to support this cause out of pocket to help foster learning and hands-on creativity. The best projects could also be featured on something like the TensorFlow blog, etc. I believe anything that helps people gain exposure in this budding field has the potential to impact careers.

Any thoughts, ideas, suggestions, criticisms?

I’m always open for candid feedback :slight_smile:

20 Likes

Hi Vijay, a competition sounds like a fantastic opportunity to share ideas / projects and solve some hardware / code sticking points :wink: :star_struck: Though I bet it would be possible to get some industry sponsorship for prizes rather than having to dig into your own pocket (although that’s super kind, thank you!) :dizzy: :zap: :heart_eyes_cat:

Hi @Rain,

Great, thanks for your enthusiastic response!

Do you have any thoughts on how we could structure it? Would love to hear your thoughts. Maybe we should scope out what would be a good goal. Is there some structure we should put in place?

This sounds like a great start !! But for a very new project, will not the availability of dataset be a constraint?

I would be interested in participating. Would be nice to have a practical application to apply what we’ve learned in the course. I don’t have any suggestions for the format at the moment but please consider giving us dads enough time to give it a shot.

I appreciate your willingness to use your own coin to sponsor the event. Very kind.

Hi @vjreddi,

Interesting and challenging. The very idea is interesting (, encouraging and enthusing) but getting the kits in time is really challenging (, disappointing and discouraging).

Instead of leaving the competition open, shall we create a few categories such as Healthcare, Environment, Education, Assistive innovations etc. ?

We may also specify parameters for assessing, such as optimal use of hardware, efficient deployment of TinyML, and adaptability (ability to integrate and mass produce).

We may need to explore the possibilities of expediting kit deliveries with Arduino. I think it should be possible with the data of number of participants from different countries being available with us.

Hi @vjreddi

For the structure I put down my thoughts:

  • Either individuals or small groups (collaborating and working remotely) can participate.

  • Interested individuals or teams should submit the Intent of Participation and Project Idea (abstract) by a specified date

  • In case of teams the Lead Team Member should be named

  • A committee may review the abstract ideas and call for revision where necessary based on complexity, utility, and innovation (duplicate ideas may be encouraged for competition)

  • By a specified date, Project Brief shall be submitted (format will be made available)

  • A completion certificate along with the detailed project report shall be submitted on or before the specified last date (format will be made available)

  • A video of making and working of the project shall be uploaded (I don’t know where, at this point)

  • Community shall be allowed to vote the projects they viewed. (votes may be counted for final points based on some method to be evolved)

  • Review committee will review the projects and enter grades on different parameters for all the projects

  • And finally the results announced.

We need to discuss and finalize, NDA, NCA, Disclaimer, IP, and document formats for project idea & intent, project brief, detailed project report and modes of submission etc.

We also need to prepare tentative schedule of events.

I offer to provide any support, help or assistance as needed.

2 Likes

Hi @vjreddi

Thanks for your reply! Well in terms of structure, agreed the first thing one would need to do is the scope and also put together an organising committee. There’s so much great work going on in different areas I would suggest dividing the submissions into themes or catagories. I made a rather (by no means exhaustive) rambling list of things that occurred to me that organisers would need to think about, depending on scale and complexity:

• scope: objectives / goals of the competition / audience / themes, etc,
• timeline: duration and phases: before / during / after
• criteria for submissions and how and where + what platform
• clarity on rules / FAQs / IP / Ts & C’s / privacy / support
• promotion of diversity / inclusion / transparency / code of conduct
• appointing reviewers / judges and criteria
• sponsorship
• prizes
• promotion: community / social media / industry media/ events e.g. TinyML Summit / academia, etc,
• announcement of winners: how e.g. forum, website or live event?

Hi @vjreddi , this is a very good idea.
This will be further motivating to put our creativity at work.

Submission modality: ok with me, GitHub+youtube is similar to CS50’s, it has work well for me.

For judging the winners, what about a mixed group of volunteers from Academic and Business ‘worlds’?
without looking far, there may be volunteers from Harvard and Google already? And possibly more.

I like the prizes, as already well said by @Rain it may well be that some business entity would be interested to sponsor.
To the prizes though I would add an amount of ‘business exposure’ for the winners, possible even more valuable than the prizes themselves. Probably the business sector is also interested to check out who ranked higher on this competition. Win-win. On news outlets from the sector, or similar I would think.
Cheers,
Andrea

Good point @JoydeepG that the dataset might be a problem. In Course 3, we do show going through the dataset collection process to help people be able to build their own dataset. That said, I agree it isn’t going to be ideal/perfect. I think what we are trying to shoot for here is the idea, we want to nurture the idea one might have.

Also, there is a chance we can repurpose the datasets we already talk about in the course, and have learners compete at the application level – what unique and interesting application can we enable?

That’s a great idea! Those are all terrific categories, or we can let people bin themselves into one category that they know best; I often believe that the community has a wealth of ideas that far extend our scope.

Are you suggesting these categories so that we can be fair, or because we can encourage ideas in different areas?

The only thing here is that if we make it too challenging, then younger folks and juniors might be discouraged from participating in the activity. I think this should be about creativity, and inspiring tinyML use cases, and less so about the performance and efficiency. Sure they can be discussed but we don’t make that a competitive metric, as once we know the problem to solve,… there will be many people who can help solve it efficiently.

What do you think @moulipc?

Definitely working on this issue! We have managed to get Arduino to setup a distributor in India to expedite the shipping and ease of ordering. Here is one for starters:

I know it says out of stock at the moment, but please be patient. They are working on the inventory but it will be available. Not sure when though. With this start, there are more folks who are getting engaged with it. So hopefully there will be more distributors soon. Arduino has been great in helping support this effort.

1 Like

First and foremost, thanks so much for this detailed list. This is great @moulipc!

The specific point above – are we sure we can handle a committee to review thee ideas?! I have no idea how many people will be interested, but if we have to review even 100, we’d be exhausted :slight_smile: lol. It doesn’t seem like it would scale. What do you all think about opening it up to anyone, letting people vote was @moulipc is suggesting to decide the winner? And not really have a proposal review committee as I worry about our time.

Next to that, I love the suggestions and we should definitely adopt the suggestions.

Do we really need to worry about this? Folks are after all just going to submit their ideas online via GitHub under some license file and share a video. I think anything that is less headache for us will a long way.

Many thanks! Change starts with all of us coming together because we believe in something and getting things off the ground together. So much appreciate the support.

Hi @Rain,

Thanks for the detailed list. You and @moulipc seem to have great ideas on how to organize this. I especially like your point about making sure that we promote “diversity / inclusion / transparency / code of conduct” :100:

+1 on promoting ideas. The TinyML summit is a great place for sure, and I work closely with them so I am certain this will be well received.

Announcement of winners: :+1: Absolutely. IMHO, if what we do through these events is really open up doors for students, learners and creative minds, then that’d be a success. It isn’t about just winning or identifying a champion, it is about creating opportunities so that people can go onto doing amazing new things. Therefore, venues like TinyML summit would be awesome where people also get industry exposure.

We did launch the TinyML Research Symposium this year, along with the TinyML Summit. My hope is that over time we grow that into an official IEEE/ACM conference if there is sufficient interest in the topic.

1 Like

Hi @andrea99boban

Yea, that’s a good point. I agree that there is more to it than just prizes. I think having both won’t hurt, as there are always people who could use some monetary support. Your point about the businesses thing seems like it would work best with alignment with something like the TinyML summit or other big activities like this one:

1 Like

That’s a great thought!. But dataset creation/cleaning could also be a separate competition. I mean for example, there are ‘N’, number of noble ideas and we just have ‘M’ number of dataset (M << N), so dataset creation and creation of a repository/pipeline will be a BIG task.

From the Project idea point of view,

  1. We can get the ideas, categorise them as Easy, Medium , Hard problems
  2. On top of that, identify, which datasets are available, and for which it needs to be created
  3. For Project Ideas: We can start looking at the problems which a developing country is facing (Where low power device will work as a savior)

Just a thought!

Hi:

I am eager to get my hands dirty to explore the end to end design of TinyML ! Projects, I think, is the perfect starting point to gain experience in the subject. I have the following suggestions

  • Project can be a team activity - this will encourage peer discussion and problem solving
  • As mentioned by @JoydeepG, it is better to categorize the project based on broad domains such as healthcare, environment, mobility (transport) etc
  • It will be nice if some common references, useful to all, are provided
  • It will be great if the course instructor or other experts could give feedback, after a certain stage of project execution (maybe at the first milestone or so)
  • Reiterating the point suggested by @moulipc, we can have a community voting to decide the best project.

Also thanks to @vjreddi for the kind gesture. Looking forward to gain some hands-on experience in Course 3 :heart_eyes:

This sounds amazing! It will be fun to try to come up with a good project, but even more so, I can not wait to see what ideas this community can bring to life.

Thank you @vjreddi for promoting this idea, and good luck to all who participate!

@vjreddi This is awesome, thank you for this stimulate event to the TinyML enthusiastic crowd. I would like to suggest something, Instead of the Arduino Nano 33 BLE kit, can’t we use cheap ESP32-S NodMCU module with readily available hardware sensors for this event? Because most of the expecting course 3 followers, still don’t have that Arduino kit due to the shipping cost problems and pandemic restriction. By the way, I personally hope to follow the course 3 and practicing what we learnt from it, with readily available cheap hardware devices.

Thank you so much best of luck for your grade expectation.

Hi @randika2000e,

You make a good point.

We should be explicit that one doesn’t have to use the Nano 33 BLE kit, there is really nothing to be gained from it other than it would be easy for newbies to start off. There will always be experts who can hack other platforms, but making sure even newbies can take part is important as one of our central missions has to be enabling people – esp. people who are learning to feel confident in sharing something. I hope that that’s a sentiment we all share.

:frowning: Yea, this is a royal pain. I expect that we won’t do this competition until June or so… I know that sounds like a long time out but time flies when we are having fun like this sketching out ideas. So I am hoping that that won’t be a major issue. Moreover, we should definitely do these competitions from time to time, not just once. So maybe we have a first cohort, and after that we have a second cohort. And people can use whatever board they want!

One concern here is that TF Micro examples are not supported on all devices. I am hoping that we as a community can watch the lessons we put together on the Arduino platform and create similar open source videos/resources so that others can all benefit.

What do folks think of this? I’d love to get our team to do it, but it simply doesn’t scale given there are so many resources.

To keep this development effort congruent, we were also thinking of writing an online open source TinyML book in say Wiki format that everyone can contribute to… that way, the community can organically learn to support different platforms as they emerge.

2 Likes

Great suggestions @Anavij… only concern is with the one above. It is hard to scale. I don’t know how many project proposals we may get, but giving feedback to all of them might be really tough.

I do appreciate your idea of why it is important though.

But perhaps that can be a community driven thing? People post their project updates in the open, in the form of a google doc or something, and folks can look at the docs and give organic feedback? Or will that turn into a nightmare of a mess?