Close Menu
    Trending
    • Three OpenClaw Mistakes to Avoid and How to Fix Them
    • I Stole a Wall Street Trick to Solve a Google Trends Data Problem
    • How AI is turning the Iran conflict into theater
    • Why Your AI Search Evaluation Is Probably Wrong (And How to Fix It)
    • Machine Learning at Scale: Managing More Than One Model in Production
    • Improving AI models’ ability to explain their predictions | MIT News
    • Write C Code Without Learning C: The Magic of PythoC
    • LatentVLA: Latent Reasoning Models for Autonomous Driving
    ProfitlyAI
    • Home
    • Latest News
    • AI Technology
    • Latest AI Innovations
    • AI Tools & Technologies
    • Artificial Intelligence
    ProfitlyAI
    Home » Feature Detection, Part 3: Harris Corner Detection
    Artificial Intelligence

    Feature Detection, Part 3: Harris Corner Detection

    ProfitlyAIBy ProfitlyAIJanuary 5, 2026No Comments8 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    Function detection is a site of laptop imaginative and prescient that focuses on utilizing instruments to detect areas of curiosity in photographs. A major facet of most characteristic detection algorithms is that they don’t make use of machine studying beneath the hood, making the outcomes extra interpretable and even quicker in some circumstances.

    Within the earlier two articles of this sequence, we checked out the preferred operators for detecting picture edges: Sobel, Scharr, Laplacian, along with the Gaussian used for picture smoothing. In some kind or one other, these operators used under-the-hood picture derivatives and gradients, represented by convolutional kernels.

    As with edges, in picture evaluation, one other sort of native area is commonly explored: corners. Corners seem extra not often than edges and normally point out a change of border path of an object or the tip of 1 object and the start of one other one. Corners are rarer to search out, and so they present extra precious info.

    Instance

    Think about you might be gathering a 2D puzzle. What most individuals do firstly is discover a piece with a picture half containing the border (edge) of an object. Why? As a result of this fashion, it’s simpler to determine adjoining items, for the reason that variety of items sharing an identical object edge is minimal.

    We are able to go even additional and deal with choosing not edges however corners — a area the place an object modifications its edge path. These items are even rarer than simply edges and permit for a good simpler seek for different adjoining fragments due to their distinctive kind.

    For instance, within the puzzle under, there are 6 edges (B2, B3, B4, D2, D3, and D4) and only one nook (C5). By choosing the nook from the beginning, it turns into simpler to localize its place as a result of it’s rarer than edges.

    The aim of this text is to know how corners could be detected. To try this, we are going to perceive the small print of the Harris nook detection algorithm – one of many easiest and well-liked strategies developed in 1988.

    Concept

    Allow us to take three sorts of areas: flat, edge, and nook. Now we have already proven the construction of those areas above. Our goal will probably be to know the distribution of gradients throughout these three circumstances.

    Throughout our evaluation, we may even construct an ellipse that incorporates nearly all of the plotted factors. As we are going to see, its kind will present robust indications of the kind of area we’re coping with.

    Flat area

    A flat area is the best case. Often, your complete picture area has practically the identical depth values, making the gradient values throughout the X and Y axes minor and centered round 0.

    By taking the gradient factors (Gₓ, Gᵧ) from the flat picture instance above, we are able to plot their distribution, which seems to be like under:

    We are able to now assemble an ellipse across the plotted factors having a middle at (0, 0). Then we are able to determine its two principal axes:

    • The main axis alongside which the ellipse is maximally stretched.
    • The minor axis alongside which the ellipse attains its minimal extent.

    Within the case of the flat area, it may be tough to visually differentiate between the key and minor axes, because the ellipse tends to have a round form, as in our state of affairs.

    However, for every of the 2 principal axes, we are able to then calculate the ellipse radiuses λ₁ and λ₂. As proven within the image above, they’re nearly equal and have small relative values.

    Edge area

    For the sting area, the depth modifications solely within the edge zone. Exterior of the sting, the depth stays practically the identical. Provided that, a lot of the gradient factors are nonetheless centered round (0, 0).

    Nevertheless, for a small half across the edge zone, gradient values can drastically change in each instructions. From the picture instance above, the sting is diagonal, and we are able to see modifications in each instructions. Thus, the gradient distribution is skewed within the diagonal path as proven under:

    For edge areas, the plotted ellipse is often skewed in direction of one path and has very totally different radiuses λ₁ and λ₂.

    Nook area

    For corners, a lot of the depth values exterior the corners keep the identical; thus, the distribution for almost all of the factors remains to be positioned close to the middle (0, 0).

    If we take a look at the nook construction, we are able to roughly consider it as an intersection of two edges having two totally different instructions. For edges, now we have already mentioned within the earlier part that the distribution goes in the identical path both in X or Y, or each instructions.

    By having two edges for the nook, we find yourself with two totally different level spectrums rising in two totally different instructions from the middle. An instance is proven under.

    Lastly, if we assemble an ellipse round that distribution, we are going to discover that it’s bigger than within the flat and edge circumstances. We are able to differentiate this end result by measuring λ₁ and λ₂, which on this situation will take a lot bigger values.

    Visualization

    Now we have simply seen three situations wherein λ took totally different values. To raised visualize outcomes, we are able to assemble a diagram under:

    Diagram exhibiting the connection between values of λ and area sorts.

    System

    To have the ability to classify a area into considered one of three zones, a system under is usually used to estimate the R coefficient:

    R = λ₁ ⋅ λ₂ – okay ⋅ (λ₁ + λ₂)² , the place 0.04 ≤ okay ≤ 0.06

    Primarily based on the R worth, we are able to classify the picture area:

    • R < 0 – edge area
    • R ~ 0 – flat area
    • R > 0 – nook area

    OpenCV

    Harris Nook detection could be simply applied in OpenCV utilizing the cv2.CornerHarris operate. Let’s see within the instance under how it may be achieved.

    Right here is the enter picture with which we will probably be working:

    Enter picture

    First, allow us to import the mandatory libraries.

    import numpy as np
    import cv2
    import matplotlib.pyplot as plt

    We’re going to convert the enter picture to grayscale format, because the Harris detector works with pixel intensities. Additionally it is essential to convert the picture format to float32, as computed values related to pixels can exceed the bounds [0, 255].

    path = 'knowledge/enter/shapes.png'
    picture = cv2.imread(path)
    grayscale_image = cv2.cvtColor(picture, cv2.COLOR_BGR2GRAY)
    grayscale_image = np.float32(grayscale_image)

    Now we are able to apply the Harris filter. The cv2.cornerHarris operate takes 4 parameters:

    • grayscale_image – enter grayscale picture within the float32 format.
    • blockSize (= 2) – defines the scale of the pixel block within the neighborhood of the goal pixel thought of for nook detection.
    • ksize (= 3) – the dimension of the Sobel filter used to calculate derivatives.
    • okay (= 0.04) – coefficient within the system used to compute the worth of R.
    R = cv2.cornerHarris(grayscale_image, 2, 3, 0.04)
    R = cv2.dilate(R, None)

    The cv2.cornerHarris operate returns a matrix of the precise dimensions as the unique grayscale picture. Its values could be properly exterior the traditional vary [0, 255]. For each pixel, that matrix incorporates the R coefficient worth we checked out above.

    The cv2.dilate is a morphological operator that may optionally be used instantly after to raised visually group the native corners.

    A typical method is to outline a threshold under which pixels are thought of corners. For example, we are able to take into account all picture pixels as corners whose R worth is bigger than the maximal world R worth divided by 100. In our instance, we assign such pixels to pink colour (0, 0, 255).

    To visualise a picture, we have to convert it to RGB format.

    picture[R > 0.01 * R.max()] = [0, 0, 255]
    image_rgb = cv2.cvtColor(picture, cv2.COLOR_BGR2RGB)

    Lastly, we use maplotlib to show the output picture.

    plt.determine(figsize=(10, 8))
    plt.imshow(image_rgb)
    plt.title('Harris Nook Detection')
    plt.axis('off')
    plt.tight_layout()
    plt.present()

    Right here is the end result:

    Output picture. Crimson colour signifies corners.

    Conclusion

    On this article, now we have examined a sturdy methodology for figuring out whether or not a picture area is a nook. The introduced system for estimating the R coefficient works properly within the overwhelming majority of circumstances. 

    In actual life, there’s a widespread have to run an edge classifier for a whole picture. Setting up an ellipse across the gradient factors and estimating the R coefficient every time is resource-intensive, so extra superior optimization methods are used to hurry up the method. However, they’re based mostly loads on the instinct we studied right here.

    Assets

    All photographs until in any other case famous are by the creator.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleRay: Distributed Computing for All, Part 1
    Next Article Using design to interpret the past and envision the future | MIT News
    ProfitlyAI
    • Website

    Related Posts

    Artificial Intelligence

    Three OpenClaw Mistakes to Avoid and How to Fix Them

    March 9, 2026
    Artificial Intelligence

    I Stole a Wall Street Trick to Solve a Google Trends Data Problem

    March 9, 2026
    Artificial Intelligence

    Why Your AI Search Evaluation Is Probably Wrong (And How to Fix It)

    March 9, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    Escaping the Prototype Mirage: Why Enterprise AI Stalls

    March 4, 2026

    Mobile App Development with Python | Towards Data Science

    June 11, 2025

    The Good-Enough Truth | Towards Data Science

    April 17, 2025

    How do you teach an AI model to give therapy?

    April 3, 2025

    Ny studie avslöjar att vissa kan ge LLM ger vilseledande förklaringar

    June 6, 2025
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    Most Popular

    China Unveils World’s First AI Hospital: 14 Virtual Doctors Ready to Treat Thousands Daily

    May 7, 2025

    New McKinsey Report Shows Mostly Experimentation, Not Transformation, With AI So Far

    November 21, 2025

    Alibaba har lanserat Qwen-Image-Edit en AI-bildbehandlingsverktyg som öppenkällkod

    September 2, 2025
    Our Picks

    Three OpenClaw Mistakes to Avoid and How to Fix Them

    March 9, 2026

    I Stole a Wall Street Trick to Solve a Google Trends Data Problem

    March 9, 2026

    How AI is turning the Iran conflict into theater

    March 9, 2026
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2025 ProfitlyAI All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.