Features and Boundaries

Brought by: Coursera

Overview

This course focuses on the detection of features and boundaries in images. Feature and boundary detection is a critical preprocessing step for a variety of vision tasks including object detection, object recognition and metrology – the measurement of the physical dimensions and other properties of objects. The course presents a variety of methods for detecting features and boundaries and shows how features extracted from an image can be used to solve important vision tasks.

We begin with the detection of simple but important features such as edges and corners. We show that such features can be reliably detected using operators that are based on the first and second derivatives of images. Next, we explore the concept of an “interest point” – a unique and hence useful local appearance in an image. We describe how interest points can be robustly detected using the SIFT detector. Using this detector, we describe an end-to-end solution to the problem of stitching overlapping images of a scene to obtain a wide-angle panorama. Finally, we describe the important problem of finding faces in images and show several applications of face detection.

Syllabus

  • Getting Started: Features and Boundaries
  • Edge Detection
  • Boundary Detection
  • SIFT Detector
  • Image Stitching
  • Face Detection

Taught by

Shree Nayar

Features and Boundaries
Go to course

Features and Boundaries

Brought by: Coursera

  • Coursera
  • Free
  • English
  • Certificate Available
  • Available at any time
  • beginner
  • English
8.1.2PHP Version1.16sRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (747ms)
    • Application (410ms)
    • 1 x Booting (64.38%)
      746.58ms
      1 x Application (35.37%)
      410.21ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed8.82ms
      • select * from `courses` where `slug_en` = 'features-and-boundaries' limit 1
        7.01ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. features-and-boundaries
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-19 07:44:00' where `id` = 129
        630μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-19 07:44:00
        • 1. 129
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (16)
        230μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        190μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (30) and `institutions`.`deleted_at` is null
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        210μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 129 limit 1
        330μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 129
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        gHMC277PFizVTbvOdmQ5tjrewJBt0kWie1bfboVZ
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/features-and-boundaries" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/features-and-boundaries
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.151" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.151" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "95216609dc052327-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.151" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.151" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "95216609dc052327-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "25080" "REMOTE_ADDR" => "172.71.255.74" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/features-and-boundaries" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1750319039.2683 "REQUEST_TIME" => 1750319039 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 19 Jun 2025 07:44:00 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlpNcTZvTmZsWUtZMHhIZHUwYUtsY0E9PSIsInZhbHVlIjoiK0VFejZ0b0xvZ1h1VXdHSWdsdnUxbEF2UXR6Z29PRWN5YXJHMC95ZURhRThZenJFNGVpQjVCcmJ1RGtBaWNnQnRmdjN0eVlZNWtsYmhBQVROZ0J6ajJ2NjRYekhGay9SUmkzQ09VbTI5OVRkREtnNDZVcjRxNW5Zai9lMVZKdWwiLCJtYWMiOiJjYmUzMjZhYmY4NDI3MGZiY2M2YjE2MmNkMzZhOGQxMGVkMzNkM2VmMzI5MmI4NGUxNzQzOWFhNmM4YjkyNjkyIiwidGFnIjoiIn0%3D; expires=Thu, 19 Jun 2025 09:44:00 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IlpNcTZvTmZsWUtZMHhIZHUwYUtsY0E9PSIsInZhbHVlIjoiK0VFejZ0b0xvZ1h1VXdHSWdsdnUxbEF2UXR6Z29PRWN5YXJHMC95ZURhRThZenJFNGVpQjVCcmJ1RGtBaWNnQnRmdjN0e" 1 => "laravel_session=eyJpdiI6ImhWRHpHOUNTOTZxTGlIMzAwU0dOekE9PSIsInZhbHVlIjoiclU4RC9xUHRWUGkwWC80N3ZwQ1pUaHNnUHVWUXpXdGtZTHFjQm9oc1JmVmJXMlVyRnV0dWdUMDRQQmg1MzJsdFFyd0NxWDNxTm9DTHNnVmozSll0ZkhFMm9VS2JtM0lTajhHU1I4a05XTE9oLzFKelNkeTliQndIYWpDTGpqZTQiLCJtYWMiOiJmNGU4ZWRiZTBhODIyNDMyNTU0MWUzOGRkNDBjM2E5YTc1MmJhZjcwYjFiNjAyMGRlZTJmMTI2NmEzNjczNDY0IiwidGFnIjoiIn0%3D; expires=Thu, 19 Jun 2025 09:44:00 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImhWRHpHOUNTOTZxTGlIMzAwU0dOekE9PSIsInZhbHVlIjoiclU4RC9xUHRWUGkwWC80N3ZwQ1pUaHNnUHVWUXpXdGtZTHFjQm9oc1JmVmJXMlVyRnV0dWdUMDRQQmg1MzJsdFFy" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlpNcTZvTmZsWUtZMHhIZHUwYUtsY0E9PSIsInZhbHVlIjoiK0VFejZ0b0xvZ1h1VXdHSWdsdnUxbEF2UXR6Z29PRWN5YXJHMC95ZURhRThZenJFNGVpQjVCcmJ1RGtBaWNnQnRmdjN0eVlZNWtsYmhBQVROZ0J6ajJ2NjRYekhGay9SUmkzQ09VbTI5OVRkREtnNDZVcjRxNW5Zai9lMVZKdWwiLCJtYWMiOiJjYmUzMjZhYmY4NDI3MGZiY2M2YjE2MmNkMzZhOGQxMGVkMzNkM2VmMzI5MmI4NGUxNzQzOWFhNmM4YjkyNjkyIiwidGFnIjoiIn0%3D; expires=Thu, 19-Jun-2025 09:44:00 GMT; path=/XSRF-TOKEN=eyJpdiI6IlpNcTZvTmZsWUtZMHhIZHUwYUtsY0E9PSIsInZhbHVlIjoiK0VFejZ0b0xvZ1h1VXdHSWdsdnUxbEF2UXR6Z29PRWN5YXJHMC95ZURhRThZenJFNGVpQjVCcmJ1RGtBaWNnQnRmdjN0e" 1 => "laravel_session=eyJpdiI6ImhWRHpHOUNTOTZxTGlIMzAwU0dOekE9PSIsInZhbHVlIjoiclU4RC9xUHRWUGkwWC80N3ZwQ1pUaHNnUHVWUXpXdGtZTHFjQm9oc1JmVmJXMlVyRnV0dWdUMDRQQmg1MzJsdFFyd0NxWDNxTm9DTHNnVmozSll0ZkhFMm9VS2JtM0lTajhHU1I4a05XTE9oLzFKelNkeTliQndIYWpDTGpqZTQiLCJtYWMiOiJmNGU4ZWRiZTBhODIyNDMyNTU0MWUzOGRkNDBjM2E5YTc1MmJhZjcwYjFiNjAyMGRlZTJmMTI2NmEzNjczNDY0IiwidGFnIjoiIn0%3D; expires=Thu, 19-Jun-2025 09:44:00 GMT; path=/; httponlylaravel_session=eyJpdiI6ImhWRHpHOUNTOTZxTGlIMzAwU0dOekE9PSIsInZhbHVlIjoiclU4RC9xUHRWUGkwWC80N3ZwQ1pUaHNnUHVWUXpXdGtZTHFjQm9oc1JmVmJXMlVyRnV0dWdUMDRQQmg1MzJsdFFy" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "gHMC277PFizVTbvOdmQ5tjrewJBt0kWie1bfboVZ" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/features-and-boundaries" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]