ADapTV aims to provide more targeted advertising, by just using the viewing habits of an everyday user.

We do this by building a profile on the TV user, based on the shows that they watch, by using image recognition and AlchemyVision to pick out key objects in the image, and AlchemyLanguage to pick out key words in the programme description for the currently playing programme.

Advertisers add the adverts that they want to play, and specify key words for that advert.

When we see that an ordinary advert is playing, we can then play the advert that most closely matches the users profile, literally on top of the currently playing stream, bringing more relevant and useful adverts.

The advantages of this are:

  • We are only monitoring viewing habits of a user. No other personal data is used.
  • The user doesn't have to do anything different from their everyday activities. No questions to answer, tweets to post etc.
  • We can use data from users of all ages, as there is no barriers such as not having a Twitter account.
  • Also, people only post information on social network sites which they want people to see; guilty pleasures would be completely missed.
  • TV Users get adverts that they may be interested in, making adverts more enjoyable to watch.
  • Advertisers know that there adverts are more targeted, providing a better response.
  • We can provide advertisers with data on whether a user changed channel while that advert was on.


  • Lack of reach with common personalised advertising methods
  • Bringing smart advertising to smart TV's
  • Archaic advertising methods
  • This provides a better understanding of the reach of an advert.

How it works

  • A set top box plays a standard tv broadcast
  • A server scans the content for information to profile the user.
  • This content is analysed using image recognition
  • Programme guides are use to build an initial information
  • The server also compares the thumbnail against know adverts.
  • The server can the tell the set top box to play an advert more relevant.

Challenges We ran into

  • Efficiently swapping from broadcast to custom ad
  • Building the algorithm to categorise both users and programmes

Accomplishments that I'm proud of

  • How flexible the system is, it is surprisingly simple to add a channel
  • The amount of channels it is able to handle concurrently

What I learned

  • Image recognition
  • Video insertion

What's next for ADapTV

  • Look into standards like SCTE 130
  • Preloading adverts
  • Location based adverts
  • Opening the extensive information about programmes we gather
Share this project: