Tag: Article
ZL Labs Partners with Lanboss AI
I am delighted to announce that ZL Labs is partnering with Lanboss AI, helping them on their mission to deliver secure and AI-compliant products in commercial and education spaces.
As a part of this venture, I will be helping Lanboss build out the novel Orange Octopus product, an AI proxy service that intelligently enables organizations and schools to harness the power of AI in a safe and controlled manner.
Adopters of the Orange Octopus will benefit from centralised access and visibility of AI interactions, intelligent platform selection and routing, and enterprise-grade security controls. The product will be supported and enhanced by the expertise and years of experience in Machine Learning and AI that I bring.
ZL Labs x Skiller Whale
I am delighted to announce that ZL Labs is now providing expert training services to Skiller Whale, supporting their mission to deliver high-impact, interactive micro-workshops to tech teams across Europe.
In this role, I’ll leverage my expertise in AI, Python and SQL to deliver Skiller Whale’s personalised learning plans, providing focused, interactive coaching and hands-on exercises designed to rapidly upskill technical teams.
Stay tuna-ed for further updates! π ποΈ
Website Launch
I’m very excited to launch my new website! Going forward, I will be available for contract work, and will use this space, zl-labs.tech, to showcase my work and connect.
If you have a spare moment, please take a look around and check out my articles. I value your feedback! If you have any improvement suggestions (or proposed projects), please reach out via the contact page or via traditional channels.
Keep an eye for exciting new content coming your way in the coming weeks and months π
Heatmap Analysis
This is an article I wrote for Verv during their Seedrs fundraising campaign in March 2024. Link to article.
This January, we finished the installation of the first Verv Smart Isolator with our partner Nido, a Spanish heat pump provider. A Verv Smart Isolator was attached to an air-to-water heat pump and in less than a week, we provided actionable insights for the customer.
One of the tools that helps us understand the energy usage patterns is the energy-utilization heatmap. The heatmap visualizes the hourly energy consumption over different days (vertical axis) and times of day (horizontal axis). The intensity of colour - marked in the legend - represents the energy expenditure during each hour, with darker colours indicating higher usage.
Using Smart Isolators
This is an article I wrote for Verv in the August / September 2023 edition of the ACR Journal. Link to publication.
Having faced a winter of record-high energy prices and soaring inflation, minimizing energy bills is front of mind for many businesses around the UK. Energy monitoring and management is crucial in the fight against these high energy costsβby understanding how much energy your business uses, you can make informed decisions about how to reduce your energy consumption and save money on your utility bills.
Tag: Collaboration
ZL Labs Partners with Lanboss AI
I am delighted to announce that ZL Labs is partnering with Lanboss AI, helping them on their mission to deliver secure and AI-compliant products in commercial and education spaces.
As a part of this venture, I will be helping Lanboss build out the novel Orange Octopus product, an AI proxy service that intelligently enables organizations and schools to harness the power of AI in a safe and controlled manner.
Adopters of the Orange Octopus will benefit from centralised access and visibility of AI interactions, intelligent platform selection and routing, and enterprise-grade security controls. The product will be supported and enhanced by the expertise and years of experience in Machine Learning and AI that I bring.
ZL Labs x Skiller Whale
I am delighted to announce that ZL Labs is now providing expert training services to Skiller Whale, supporting their mission to deliver high-impact, interactive micro-workshops to tech teams across Europe.
In this role, I’ll leverage my expertise in AI, Python and SQL to deliver Skiller Whale’s personalised learning plans, providing focused, interactive coaching and hands-on exercises designed to rapidly upskill technical teams.
Stay tuna-ed for further updates! π ποΈ
Tag: ZLlabs
ZL Labs Partners with Lanboss AI
I am delighted to announce that ZL Labs is partnering with Lanboss AI, helping them on their mission to deliver secure and AI-compliant products in commercial and education spaces.
As a part of this venture, I will be helping Lanboss build out the novel Orange Octopus product, an AI proxy service that intelligently enables organizations and schools to harness the power of AI in a safe and controlled manner.
Adopters of the Orange Octopus will benefit from centralised access and visibility of AI interactions, intelligent platform selection and routing, and enterprise-grade security controls. The product will be supported and enhanced by the expertise and years of experience in Machine Learning and AI that I bring.
ZL Labs x Skiller Whale
I am delighted to announce that ZL Labs is now providing expert training services to Skiller Whale, supporting their mission to deliver high-impact, interactive micro-workshops to tech teams across Europe.
In this role, I’ll leverage my expertise in AI, Python and SQL to deliver Skiller Whale’s personalised learning plans, providing focused, interactive coaching and hands-on exercises designed to rapidly upskill technical teams.
Stay tuna-ed for further updates! π ποΈ
Website Launch
I’m very excited to launch my new website! Going forward, I will be available for contract work, and will use this space, zl-labs.tech, to showcase my work and connect.
If you have a spare moment, please take a look around and check out my articles. I value your feedback! If you have any improvement suggestions (or proposed projects), please reach out via the contact page or via traditional channels.
Keep an eye for exciting new content coming your way in the coming weeks and months π
Tag: DataViz
XKCD Finder
XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science, programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging - there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or remembering specific comic numbers.
This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically, understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.
Heatmap Analysis
This is an article I wrote for Verv during their Seedrs fundraising campaign in March 2024. Link to article.
This January, we finished the installation of the first Verv Smart Isolator with our partner Nido, a Spanish heat pump provider. A Verv Smart Isolator was attached to an air-to-water heat pump and in less than a week, we provided actionable insights for the customer.
One of the tools that helps us understand the energy usage patterns is the energy-utilization heatmap. The heatmap visualizes the hourly energy consumption over different days (vertical axis) and times of day (horizontal axis). The intensity of colour - marked in the legend - represents the energy expenditure during each hour, with darker colours indicating higher usage.
Parkrun Map
Like to parkrun? I certainly do! This project helps you to visualize where you’ve been running, and where you could go next. Simply run the app locally with Python, and enter an athlete ID (e.g. your own one).
I’ve used Plotly Dash to render the parkrun participation on a map for a given athlete. The map initially starts out centred on your home parkrun course - the one you’ve visited most - just zoom out if you’ve gone farther afield.
Tag: GenAI
XKCD Finder
XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science, programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging - there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or remembering specific comic numbers.
This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically, understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.
Parallellm Pump
Large Language Model (LLM) tools, such as ChatGPT and DeepSeek, have become a key part of people’s workflow, in professional and everyday usage. However, there are dozens of different providers now offering a myriad of options all at different price points; even a single provider has a multitude of models to choose from.
So where do you begin? The Parallellm Pump offers developers a power tool for making response comparisons, asynchronously, to let you be the judge of which provider returns the best result. Still not sure? You can even ask the LLMs themselves to make the decision for you!
DeepSeek in the Cloud
In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B) directly on AWS hardware in the cloud - no need for API tokens.
The good news is that it’s easier than you think - modern libraries, such as PyTorch and the Hugging Face (π€) transformers package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I will share these with you in this post.
Tag: Image
XKCD Finder
XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science, programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging - there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or remembering specific comic numbers.
This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically, understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.
Let it Segment: A Gift from SAM
With the release of the Segment Anything Model1 (SAM) released by Meta AI Research last year, the lie of the land changed quite substantially in Computer Vision, as now images could be segmented easily, with great results even zero-shot. With the release of SAM22 earlier this year, I wanted to get hands on and experiment with these models myself.
This post walks you through how SAM2 could be used in practice, provides a mini analysis of segmentation results and will be released with code so that you can explore further if you want to. This could be expanded to interesting use cases, such as facilitating object grasping in robotic systems, branded product addition or removal in marketing images, or mapping changes in forested areas from satellite imagery over time for environmental monitoring.
Image Selector
Duplicate photos are annoying and unwanted. Wouldn’t you rather make those post-holiday rundowns with the family as impressive (short) as possible? The burden of boiling your photo set down to the most memorable and ones with the best angle is greatly reduced by this app. It works because you can visualize all images together in the order they were taken.
I now use my Dash app routinely after every holiday, as it makes the deduplication process much faster, yielding a cleaner set of photos without maxing out your hard drive!
Tag: Python
XKCD Finder
XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science, programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging - there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or remembering specific comic numbers.
This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically, understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.
Parallellm Pump
Large Language Model (LLM) tools, such as ChatGPT and DeepSeek, have become a key part of people’s workflow, in professional and everyday usage. However, there are dozens of different providers now offering a myriad of options all at different price points; even a single provider has a multitude of models to choose from.
So where do you begin? The Parallellm Pump offers developers a power tool for making response comparisons, asynchronously, to let you be the judge of which provider returns the best result. Still not sure? You can even ask the LLMs themselves to make the decision for you!
DeepSeek in the Cloud
In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B) directly on AWS hardware in the cloud - no need for API tokens.
The good news is that it’s easier than you think - modern libraries, such as PyTorch and the Hugging Face (π€) transformers package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I will share these with you in this post.
Let it Segment: A Gift from SAM
With the release of the Segment Anything Model1 (SAM) released by Meta AI Research last year, the lie of the land changed quite substantially in Computer Vision, as now images could be segmented easily, with great results even zero-shot. With the release of SAM22 earlier this year, I wanted to get hands on and experiment with these models myself.
This post walks you through how SAM2 could be used in practice, provides a mini analysis of segmentation results and will be released with code so that you can explore further if you want to. This could be expanded to interesting use cases, such as facilitating object grasping in robotic systems, branded product addition or removal in marketing images, or mapping changes in forested areas from satellite imagery over time for environmental monitoring.
Construction Timelapse
In this project a stunning timelapse video was created from an image stock of over 3,000 photos of a construction site, tracking the progress of a new residential building from breaking ground to completion, a process lasting more than three years. Those images were taken without a tripod, so the variability in camera positions and angles was of course high. To correct for this, Computer Vision techniques were used to predict key points in the images, that could then be used to straighten them and produce the final, steady timelapse.
Heatmap Analysis
This is an article I wrote for Verv during their Seedrs fundraising campaign in March 2024. Link to article.
This January, we finished the installation of the first Verv Smart Isolator with our partner Nido, a Spanish heat pump provider. A Verv Smart Isolator was attached to an air-to-water heat pump and in less than a week, we provided actionable insights for the customer.
One of the tools that helps us understand the energy usage patterns is the energy-utilization heatmap. The heatmap visualizes the hourly energy consumption over different days (vertical axis) and times of day (horizontal axis). The intensity of colour - marked in the legend - represents the energy expenditure during each hour, with darker colours indicating higher usage.
Parkrun Map
Like to parkrun? I certainly do! This project helps you to visualize where you’ve been running, and where you could go next. Simply run the app locally with Python, and enter an athlete ID (e.g. your own one).
I’ve used Plotly Dash to render the parkrun participation on a map for a given athlete. The map initially starts out centred on your home parkrun course - the one you’ve visited most - just zoom out if you’ve gone farther afield.
Image Selector
Duplicate photos are annoying and unwanted. Wouldn’t you rather make those post-holiday rundowns with the family as impressive (short) as possible? The burden of boiling your photo set down to the most memorable and ones with the best angle is greatly reduced by this app. It works because you can visualize all images together in the order they were taken.
I now use my Dash app routinely after every holiday, as it makes the deduplication process much faster, yielding a cleaner set of photos without maxing out your hard drive!
Atari Pong
This is a short post to describe my practical introduction to Reinforcement Learning (RL), where I trained a simple agent to play the classic Atari game Pong via a Deep Q-Network.
In English, this means we teach a novice computer to play the classic paddle game by allowing it to observe what happens when it performs various movements at different times and stages of gameplay (against the same, fairly strong opponent). Then, after making a sequence of movement choices, our agent either gets a point (reward of +1) or loses one (reward of -1). After a lot of trial and error, the agent will have observed enough situations to learn what is a good move to make at a given moment in the game.
Find Tune
The objective of this project is to create a program that listens to a continuous stream of sound and identifies when a particular song - the target track - is playing. This is similar to how home assistants such as Amazon’s ‘Alexa’ function, except they seek out a different sound (their name). Ultimately, this project will be used to replay the detected positive sound to a speaker, serving as a doorbell amplifier.
Tag: R
XKCD Finder
XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science, programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging - there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or remembering specific comic numbers.
This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically, understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.
Parallellm Pump
Large Language Model (LLM) tools, such as ChatGPT and DeepSeek, have become a key part of people’s workflow, in professional and everyday usage. However, there are dozens of different providers now offering a myriad of options all at different price points; even a single provider has a multitude of models to choose from.
So where do you begin? The Parallellm Pump offers developers a power tool for making response comparisons, asynchronously, to let you be the judge of which provider returns the best result. Still not sure? You can even ask the LLMs themselves to make the decision for you!
Tag: RAG
XKCD Finder
XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science, programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging - there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or remembering specific comic numbers.
This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically, understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.
Tag: Text
XKCD Finder
XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science, programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging - there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or remembering specific comic numbers.
This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically, understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.
Parallellm Pump
Large Language Model (LLM) tools, such as ChatGPT and DeepSeek, have become a key part of people’s workflow, in professional and everyday usage. However, there are dozens of different providers now offering a myriad of options all at different price points; even a single provider has a multitude of models to choose from.
So where do you begin? The Parallellm Pump offers developers a power tool for making response comparisons, asynchronously, to let you be the judge of which provider returns the best result. Still not sure? You can even ask the LLMs themselves to make the decision for you!
DeepSeek in the Cloud
In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B) directly on AWS hardware in the cloud - no need for API tokens.
The good news is that it’s easier than you think - modern libraries, such as PyTorch and the Hugging Face (π€) transformers package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I will share these with you in this post.
Tag: XKCD
XKCD Finder
XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science, programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging - there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or remembering specific comic numbers.
This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically, understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.
Tag: Bash
Parallellm Pump
Large Language Model (LLM) tools, such as ChatGPT and DeepSeek, have become a key part of people’s workflow, in professional and everyday usage. However, there are dozens of different providers now offering a myriad of options all at different price points; even a single provider has a multitude of models to choose from.
So where do you begin? The Parallellm Pump offers developers a power tool for making response comparisons, asynchronously, to let you be the judge of which provider returns the best result. Still not sure? You can even ask the LLMs themselves to make the decision for you!
DeepSeek in the Cloud
In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B) directly on AWS hardware in the cloud - no need for API tokens.
The good news is that it’s easier than you think - modern libraries, such as PyTorch and the Hugging Face (π€) transformers package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I will share these with you in this post.
Tag: LLM
Parallellm Pump
Large Language Model (LLM) tools, such as ChatGPT and DeepSeek, have become a key part of people’s workflow, in professional and everyday usage. However, there are dozens of different providers now offering a myriad of options all at different price points; even a single provider has a multitude of models to choose from.
So where do you begin? The Parallellm Pump offers developers a power tool for making response comparisons, asynchronously, to let you be the judge of which provider returns the best result. Still not sure? You can even ask the LLMs themselves to make the decision for you!
DeepSeek in the Cloud
In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B) directly on AWS hardware in the cloud - no need for API tokens.
The good news is that it’s easier than you think - modern libraries, such as PyTorch and the Hugging Face (π€) transformers package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I will share these with you in this post.
Tag: MachineLearning
Parallellm Pump
Large Language Model (LLM) tools, such as ChatGPT and DeepSeek, have become a key part of people’s workflow, in professional and everyday usage. However, there are dozens of different providers now offering a myriad of options all at different price points; even a single provider has a multitude of models to choose from.
So where do you begin? The Parallellm Pump offers developers a power tool for making response comparisons, asynchronously, to let you be the judge of which provider returns the best result. Still not sure? You can even ask the LLMs themselves to make the decision for you!
DeepSeek in the Cloud
In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B) directly on AWS hardware in the cloud - no need for API tokens.
The good news is that it’s easier than you think - modern libraries, such as PyTorch and the Hugging Face (π€) transformers package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I will share these with you in this post.
Let it Segment: A Gift from SAM
With the release of the Segment Anything Model1 (SAM) released by Meta AI Research last year, the lie of the land changed quite substantially in Computer Vision, as now images could be segmented easily, with great results even zero-shot. With the release of SAM22 earlier this year, I wanted to get hands on and experiment with these models myself.
This post walks you through how SAM2 could be used in practice, provides a mini analysis of segmentation results and will be released with code so that you can explore further if you want to. This could be expanded to interesting use cases, such as facilitating object grasping in robotic systems, branded product addition or removal in marketing images, or mapping changes in forested areas from satellite imagery over time for environmental monitoring.
Construction Timelapse
In this project a stunning timelapse video was created from an image stock of over 3,000 photos of a construction site, tracking the progress of a new residential building from breaking ground to completion, a process lasting more than three years. Those images were taken without a tripod, so the variability in camera positions and angles was of course high. To correct for this, Computer Vision techniques were used to predict key points in the images, that could then be used to straighten them and produce the final, steady timelapse.
Atari Pong
This is a short post to describe my practical introduction to Reinforcement Learning (RL), where I trained a simple agent to play the classic Atari game Pong via a Deep Q-Network.
In English, this means we teach a novice computer to play the classic paddle game by allowing it to observe what happens when it performs various movements at different times and stages of gameplay (against the same, fairly strong opponent). Then, after making a sequence of movement choices, our agent either gets a point (reward of +1) or loses one (reward of -1). After a lot of trial and error, the agent will have observed enough situations to learn what is a good move to make at a given moment in the game.
Find Tune
The objective of this project is to create a program that listens to a continuous stream of sound and identifies when a particular song - the target track - is playing. This is similar to how home assistants such as Amazon’s ‘Alexa’ function, except they seek out a different sound (their name). Ultimately, this project will be used to replay the detected positive sound to a speaker, serving as a doorbell amplifier.
Tag: AWS
DeepSeek in the Cloud
In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B) directly on AWS hardware in the cloud - no need for API tokens.
The good news is that it’s easier than you think - modern libraries, such as PyTorch and the Hugging Face (π€) transformers package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I will share these with you in this post.
Tag: PyTorch
DeepSeek in the Cloud
In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B) directly on AWS hardware in the cloud - no need for API tokens.
The good news is that it’s easier than you think - modern libraries, such as PyTorch and the Hugging Face (π€) transformers package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I will share these with you in this post.
Let it Segment: A Gift from SAM
With the release of the Segment Anything Model1 (SAM) released by Meta AI Research last year, the lie of the land changed quite substantially in Computer Vision, as now images could be segmented easily, with great results even zero-shot. With the release of SAM22 earlier this year, I wanted to get hands on and experiment with these models myself.
This post walks you through how SAM2 could be used in practice, provides a mini analysis of segmentation results and will be released with code so that you can explore further if you want to. This could be expanded to interesting use cases, such as facilitating object grasping in robotic systems, branded product addition or removal in marketing images, or mapping changes in forested areas from satellite imagery over time for environmental monitoring.
Construction Timelapse
In this project a stunning timelapse video was created from an image stock of over 3,000 photos of a construction site, tracking the progress of a new residential building from breaking ground to completion, a process lasting more than three years. Those images were taken without a tripod, so the variability in camera positions and angles was of course high. To correct for this, Computer Vision techniques were used to predict key points in the images, that could then be used to straighten them and produce the final, steady timelapse.
Tag: ComputerVision
Let it Segment: A Gift from SAM
With the release of the Segment Anything Model1 (SAM) released by Meta AI Research last year, the lie of the land changed quite substantially in Computer Vision, as now images could be segmented easily, with great results even zero-shot. With the release of SAM22 earlier this year, I wanted to get hands on and experiment with these models myself.
This post walks you through how SAM2 could be used in practice, provides a mini analysis of segmentation results and will be released with code so that you can explore further if you want to. This could be expanded to interesting use cases, such as facilitating object grasping in robotic systems, branded product addition or removal in marketing images, or mapping changes in forested areas from satellite imagery over time for environmental monitoring.
Construction Timelapse
In this project a stunning timelapse video was created from an image stock of over 3,000 photos of a construction site, tracking the progress of a new residential building from breaking ground to completion, a process lasting more than three years. Those images were taken without a tripod, so the variability in camera positions and angles was of course high. To correct for this, Computer Vision techniques were used to predict key points in the images, that could then be used to straighten them and produce the final, steady timelapse.
Tag: Video
Construction Timelapse
In this project a stunning timelapse video was created from an image stock of over 3,000 photos of a construction site, tracking the progress of a new residential building from breaking ground to completion, a process lasting more than three years. Those images were taken without a tripod, so the variability in camera positions and angles was of course high. To correct for this, Computer Vision techniques were used to predict key points in the images, that could then be used to straighten them and produce the final, steady timelapse.
Tag: Energy
Heatmap Analysis
This is an article I wrote for Verv during their Seedrs fundraising campaign in March 2024. Link to article.
This January, we finished the installation of the first Verv Smart Isolator with our partner Nido, a Spanish heat pump provider. A Verv Smart Isolator was attached to an air-to-water heat pump and in less than a week, we provided actionable insights for the customer.
One of the tools that helps us understand the energy usage patterns is the energy-utilization heatmap. The heatmap visualizes the hourly energy consumption over different days (vertical axis) and times of day (horizontal axis). The intensity of colour - marked in the legend - represents the energy expenditure during each hour, with darker colours indicating higher usage.
Using Smart Isolators
This is an article I wrote for Verv in the August / September 2023 edition of the ACR Journal. Link to publication.
Having faced a winter of record-high energy prices and soaring inflation, minimizing energy bills is front of mind for many businesses around the UK. Energy monitoring and management is crucial in the fight against these high energy costsβby understanding how much energy your business uses, you can make informed decisions about how to reduce your energy consumption and save money on your utility bills.
Tag: Verv
Heatmap Analysis
This is an article I wrote for Verv during their Seedrs fundraising campaign in March 2024. Link to article.
This January, we finished the installation of the first Verv Smart Isolator with our partner Nido, a Spanish heat pump provider. A Verv Smart Isolator was attached to an air-to-water heat pump and in less than a week, we provided actionable insights for the customer.
One of the tools that helps us understand the energy usage patterns is the energy-utilization heatmap. The heatmap visualizes the hourly energy consumption over different days (vertical axis) and times of day (horizontal axis). The intensity of colour - marked in the legend - represents the energy expenditure during each hour, with darker colours indicating higher usage.
Using Smart Isolators
This is an article I wrote for Verv in the August / September 2023 edition of the ACR Journal. Link to publication.
Having faced a winter of record-high energy prices and soaring inflation, minimizing energy bills is front of mind for many businesses around the UK. Energy monitoring and management is crucial in the fight against these high energy costsβby understanding how much energy your business uses, you can make informed decisions about how to reduce your energy consumption and save money on your utility bills.
Tag: Maps
Parkrun Map
Like to parkrun? I certainly do! This project helps you to visualize where you’ve been running, and where you could go next. Simply run the app locally with Python, and enter an athlete ID (e.g. your own one).
I’ve used Plotly Dash to render the parkrun participation on a map for a given athlete. The map initially starts out centred on your home parkrun course - the one you’ve visited most - just zoom out if you’ve gone farther afield.
Tag: Parkrun
Parkrun Map
Like to parkrun? I certainly do! This project helps you to visualize where you’ve been running, and where you could go next. Simply run the app locally with Python, and enter an athlete ID (e.g. your own one).
I’ve used Plotly Dash to render the parkrun participation on a map for a given athlete. The map initially starts out centred on your home parkrun course - the one you’ve visited most - just zoom out if you’ve gone farther afield.
Tag: PlotlyDash
Parkrun Map
Like to parkrun? I certainly do! This project helps you to visualize where you’ve been running, and where you could go next. Simply run the app locally with Python, and enter an athlete ID (e.g. your own one).
I’ve used Plotly Dash to render the parkrun participation on a map for a given athlete. The map initially starts out centred on your home parkrun course - the one you’ve visited most - just zoom out if you’ve gone farther afield.
Image Selector
Duplicate photos are annoying and unwanted. Wouldn’t you rather make those post-holiday rundowns with the family as impressive (short) as possible? The burden of boiling your photo set down to the most memorable and ones with the best angle is greatly reduced by this app. It works because you can visualize all images together in the order they were taken.
I now use my Dash app routinely after every holiday, as it makes the deduplication process much faster, yielding a cleaner set of photos without maxing out your hard drive!
Tag: WebApp
Parkrun Map
Like to parkrun? I certainly do! This project helps you to visualize where you’ve been running, and where you could go next. Simply run the app locally with Python, and enter an athlete ID (e.g. your own one).
I’ve used Plotly Dash to render the parkrun participation on a map for a given athlete. The map initially starts out centred on your home parkrun course - the one you’ve visited most - just zoom out if you’ve gone farther afield.
Image Selector
Duplicate photos are annoying and unwanted. Wouldn’t you rather make those post-holiday rundowns with the family as impressive (short) as possible? The burden of boiling your photo set down to the most memorable and ones with the best angle is greatly reduced by this app. It works because you can visualize all images together in the order they were taken.
I now use my Dash app routinely after every holiday, as it makes the deduplication process much faster, yielding a cleaner set of photos without maxing out your hard drive!
Tag: SQL
Image Selector
Duplicate photos are annoying and unwanted. Wouldn’t you rather make those post-holiday rundowns with the family as impressive (short) as possible? The burden of boiling your photo set down to the most memorable and ones with the best angle is greatly reduced by this app. It works because you can visualize all images together in the order they were taken.
I now use my Dash app routinely after every holiday, as it makes the deduplication process much faster, yielding a cleaner set of photos without maxing out your hard drive!
Tag: Game
Atari Pong
This is a short post to describe my practical introduction to Reinforcement Learning (RL), where I trained a simple agent to play the classic Atari game Pong via a Deep Q-Network.
In English, this means we teach a novice computer to play the classic paddle game by allowing it to observe what happens when it performs various movements at different times and stages of gameplay (against the same, fairly strong opponent). Then, after making a sequence of movement choices, our agent either gets a point (reward of +1) or loses one (reward of -1). After a lot of trial and error, the agent will have observed enough situations to learn what is a good move to make at a given moment in the game.
Tag: RL
Atari Pong
This is a short post to describe my practical introduction to Reinforcement Learning (RL), where I trained a simple agent to play the classic Atari game Pong via a Deep Q-Network.
In English, this means we teach a novice computer to play the classic paddle game by allowing it to observe what happens when it performs various movements at different times and stages of gameplay (against the same, fairly strong opponent). Then, after making a sequence of movement choices, our agent either gets a point (reward of +1) or loses one (reward of -1). After a lot of trial and error, the agent will have observed enough situations to learn what is a good move to make at a given moment in the game.
Tag: TensorFlow
Atari Pong
This is a short post to describe my practical introduction to Reinforcement Learning (RL), where I trained a simple agent to play the classic Atari game Pong via a Deep Q-Network.
In English, this means we teach a novice computer to play the classic paddle game by allowing it to observe what happens when it performs various movements at different times and stages of gameplay (against the same, fairly strong opponent). Then, after making a sequence of movement choices, our agent either gets a point (reward of +1) or loses one (reward of -1). After a lot of trial and error, the agent will have observed enough situations to learn what is a good move to make at a given moment in the game.
Find Tune
The objective of this project is to create a program that listens to a continuous stream of sound and identifies when a particular song - the target track - is playing. This is similar to how home assistants such as Amazon’s ‘Alexa’ function, except they seek out a different sound (their name). Ultimately, this project will be used to replay the detected positive sound to a speaker, serving as a doorbell amplifier.
Tag: Audio
Find Tune
The objective of this project is to create a program that listens to a continuous stream of sound and identifies when a particular song - the target track - is playing. This is similar to how home assistants such as Amazon’s ‘Alexa’ function, except they seek out a different sound (their name). Ultimately, this project will be used to replay the detected positive sound to a speaker, serving as a doorbell amplifier.
Java Jukebox
I was curious to see if I could write a music-shuffling program in Java, so that I could listen to tracks stored on an external hard drive. I had digitised an old vinyl collection, most of which can’t be found on YouTube!
The program is simple: it finds all the tracks from a given directory and its subdirectories, and plays them in a random order. If your music is organised into categories or artists, then you can target a particular genre by passing in the appropriate directory as the first argument.
Tag: RaspberryPi
Find Tune
The objective of this project is to create a program that listens to a continuous stream of sound and identifies when a particular song - the target track - is playing. This is similar to how home assistants such as Amazon’s ‘Alexa’ function, except they seek out a different sound (their name). Ultimately, this project will be used to replay the detected positive sound to a speaker, serving as a doorbell amplifier.
Tag: Java
Java Jukebox
I was curious to see if I could write a music-shuffling program in Java, so that I could listen to tracks stored on an external hard drive. I had digitised an old vinyl collection, most of which can’t be found on YouTube!
The program is simple: it finds all the tracks from a given directory and its subdirectories, and plays them in a random order. If your music is organised into categories or artists, then you can target a particular genre by passing in the appropriate directory as the first argument.