ArticleController :: show
Request
GET Parameters
None
POST Parameters
None
Uploaded Files
None
Request Attributes
Key | Value |
---|---|
_controller | "App\Controller\ArticleController::show" |
_firewall_context | "security.firewall.map.context.main" |
_links | Symfony\Component\WebLink\GenericLinkProvider {#3684 -links: [ 3805 => Symfony\Component\WebLink\Link {#3805 -href: "/build/runtime.js" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "script" ] } 3803 => Symfony\Component\WebLink\Link {#3803 -href: "/build/644.js" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "script" ] } 3802 => Symfony\Component\WebLink\Link {#3802 -href: "/build/502.js" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "script" ] } 3801 => Symfony\Component\WebLink\Link {#3801 -href: "/build/app.js" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "script" ] } 3800 => Symfony\Component\WebLink\Link {#3800 -href: "/build/view-more.js" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "script" ] } 3799 => Symfony\Component\WebLink\Link {#3799 -href: "/build/term-condition.js" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "script" ] } 3798 => Symfony\Component\WebLink\Link {#3798 -href: "/build/contact.js" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "script" ] } 3797 => Symfony\Component\WebLink\Link {#3797 -href: "/build/scroll-infinite-article.js" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "script" ] } 3796 => Symfony\Component\WebLink\Link {#3796 -href: "/build/app.css" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "style" ] } 3795 => Symfony\Component\WebLink\Link {#3795 -href: "/build/cookie-style.css" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "style" ] } 3794 => Symfony\Component\WebLink\Link {#3794 -href: "/build/term-condition-css.css" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "style" ] } 3793 => Symfony\Component\WebLink\Link {#3793 -href: "/build/contact-css.css" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "style" ] } 3792 => Symfony\Component\WebLink\Link {#3792 -href: "/build/comment-css.css" -rel: [ "preload" => "preload" ] -attributes: [ "as" => "style" ] } ] } |
_route | "article_show" |
_route_params | [ "category" => "technology" "slug" => "building-a-face-recognizer-in-python" ] |
_security_firewall_run | "_security_main" |
_stopwatch_token | "f16255" |
category | "technology" |
slug | "building-a-face-recognizer-in-python" |
Request Headers
Header | Value |
---|---|
accept | "*/*" |
accept-encoding | "gzip, br, zstd, deflate" |
connection | "close" |
cookie | "tudorwatch_lang=ar; PHPSESSID=oisffefesok5l0887602ouh43p" |
host | "rct.dev.bbntimes.com" |
user-agent | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" |
x-php-ob-level | "1" |
Request Content
Request content not available (it was retrieved as a resource).
Response
Response Headers
Header | Value |
---|---|
cache-control | "no-cache, private" |
content-type | "text/html; charset=UTF-8" |
date | "Sat, 22 Feb 2025 08:39:53 GMT" |
link | "</build/runtime.js>; rel="preload"; as="script",</build/644.js>; rel="preload"; as="script",</build/502.js>; rel="preload"; as="script",</build/app.js>; rel="preload"; as="script",</build/view-more.js>; rel="preload"; as="script",</build/term-condition.js>; rel="preload"; as="script",</build/contact.js>; rel="preload"; as="script",</build/scroll-infinite-article.js>; rel="preload"; as="script",</build/app.css>; rel="preload"; as="style",</build/cookie-style.css>; rel="preload"; as="style",</build/term-condition-css.css>; rel="preload"; as="style",</build/contact-css.css>; rel="preload"; as="style",</build/comment-css.css>; rel="preload"; as="style"" |
x-debug-token | "b097f1" |
Cookies
Request Cookies
Key | Value |
---|---|
PHPSESSID | "oisffefesok5l0887602ouh43p" |
tudorwatch_lang | "ar" |
Response Cookies
No response cookies
Session 6
Session Metadata
Key | Value |
---|---|
Created | "Sat, 22 Feb 25 08:39:40 +0000" |
Last used | "Sat, 22 Feb 25 08:39:51 +0000" |
Lifetime | 0 |
Session Attributes
Attribute | Value |
---|---|
_csrf/https-comment | "7ML1UWk3dR36CqOJAvt02zW28UunRYMVCn8u5p6ZkyE" |
_csrf/https-cookie_accept | "hIhtYGJpLmmzdhMDGy0CwkfQq5pUa31MCoOobNoiF4Q" |
Session Usage
6
Usages
Stateless check enabled
Usage |
---|
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:76
[ [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php" "line" => 76 "function" => "start" "class" => "Symfony\Component\HttpFoundation\Session\Session" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php" "line" => 69 "function" => "hasToken" "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php" "line" => 82 "function" => "getToken" "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php" "line" => 134 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php" "line" => 95 "function" => "finishView" "class" => "Symfony\Component\Form\ResolvedFormType" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php" "line" => 128 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php" "line" => 95 "function" => "finishView" "class" => "Symfony\Component\Form\ResolvedFormType" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php" "line" => 908 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php" "line" => 220 "function" => "createView" "class" => "Symfony\Component\Form\Form" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 181 "function" => "show" "class" => "App\Controller\ArticleController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 76 "function" => "handleRaw" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php" "line" => 197 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php" "line" => 35 "function" => "handle" "class" => "Symfony\Component\HttpKernel\Kernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" "line" => 29 "function" => "run" "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php" "line" => 5 "args" => [ "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" ] "function" => "require_once" ] ] |
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:79
[ [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php" "line" => 79 "function" => "has" "class" => "Symfony\Component\HttpFoundation\Session\Session" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php" "line" => 69 "function" => "hasToken" "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php" "line" => 82 "function" => "getToken" "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php" "line" => 134 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php" "line" => 95 "function" => "finishView" "class" => "Symfony\Component\Form\ResolvedFormType" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php" "line" => 128 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php" "line" => 95 "function" => "finishView" "class" => "Symfony\Component\Form\ResolvedFormType" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php" "line" => 908 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php" "line" => 220 "function" => "createView" "class" => "Symfony\Component\Form\Form" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 181 "function" => "show" "class" => "App\Controller\ArticleController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 76 "function" => "handleRaw" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php" "line" => 197 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php" "line" => 35 "function" => "handle" "class" => "Symfony\Component\HttpKernel\Kernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" "line" => 29 "function" => "run" "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php" "line" => 5 "args" => [ "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" ] "function" => "require_once" ] ] |
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:52
[ [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php" "line" => 52 "function" => "has" "class" => "Symfony\Component\HttpFoundation\Session\Session" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php" "line" => 70 "function" => "getToken" "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php" "line" => 82 "function" => "getToken" "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php" "line" => 134 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php" "line" => 95 "function" => "finishView" "class" => "Symfony\Component\Form\ResolvedFormType" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php" "line" => 128 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php" "line" => 95 "function" => "finishView" "class" => "Symfony\Component\Form\ResolvedFormType" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php" "line" => 908 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php" "line" => 220 "function" => "createView" "class" => "Symfony\Component\Form\Form" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 181 "function" => "show" "class" => "App\Controller\ArticleController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 76 "function" => "handleRaw" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php" "line" => 197 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php" "line" => 35 "function" => "handle" "class" => "Symfony\Component\HttpKernel\Kernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" "line" => 29 "function" => "run" "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php" "line" => 5 "args" => [ "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" ] "function" => "require_once" ] ] |
Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage:56
[ [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php" "line" => 56 "function" => "get" "class" => "Symfony\Component\HttpFoundation\Session\Session" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-csrf/CsrfTokenManager.php" "line" => 70 "function" => "getToken" "class" => "Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php" "line" => 82 "function" => "getToken" "class" => "Symfony\Component\Security\Csrf\CsrfTokenManager" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php" "line" => 134 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php" "line" => 95 "function" => "finishView" "class" => "Symfony\Component\Form\ResolvedFormType" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/ResolvedFormType.php" "line" => 128 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php" "line" => 95 "function" => "finishView" "class" => "Symfony\Component\Form\ResolvedFormType" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/form/Form.php" "line" => 908 "function" => "finishView" "class" => "Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php" "line" => 220 "function" => "createView" "class" => "Symfony\Component\Form\Form" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 181 "function" => "show" "class" => "App\Controller\ArticleController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 76 "function" => "handleRaw" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php" "line" => 197 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php" "line" => 35 "function" => "handle" "class" => "Symfony\Component\HttpKernel\Kernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" "line" => 29 "function" => "run" "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php" "line" => 5 "args" => [ "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" ] "function" => "require_once" ] ] |
Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage:41
[ [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-core/Authentication/Token/Storage/UsageTrackingTokenStorage.php" "line" => 41 "function" => "getMetadataBag" "class" => "Symfony\Component\HttpFoundation\Session\Session" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/twig-bridge/AppVariable.php" "line" => 103 "function" => "getToken" "class" => "Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Extension/CoreExtension.php" "line" => 1635 "function" => "getUser" "class" => "Symfony\Bridge\Twig\AppVariable" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/a4/a456f2f504a18cd81037fa69e543310c.php" "line" => 200 "function" => "twig_get_attribute" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 394 "function" => "doDisplay" "class" => "__TwigTemplate_824a013e4f3f4a68e03a2d244e765025" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 367 "function" => "displayWithErrorHandling" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 379 "function" => "display" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/TemplateWrapper.php" "line" => 38 "function" => "render" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Environment.php" "line" => 280 "function" => "render" "class" => "Twig\TemplateWrapper" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php" "line" => 448 "function" => "render" "class" => "Twig\Environment" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php" "line" => 453 "function" => "doRenderView" "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php" "line" => 253 "function" => "doRender" "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/AppController.php" "line" => 126 "function" => "render" "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 181 "function" => "renderHeader" "class" => "App\Controller\AppController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 76 "function" => "handleRaw" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php" "line" => 86 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php" "line" => 78 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpCache\SubRequestHandler" "type" => "::" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Fragment/FragmentHandler.php" "line" => 83 "function" => "render" "class" => "Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php" "line" => 47 "function" => "render" "class" => "Symfony\Component\HttpKernel\Fragment\FragmentHandler" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/twig-bridge/Extension/HttpKernelRuntime.php" "line" => 44 "function" => "render" "class" => "Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/b9/b9cb140abab7ef4ef8cb398831c75ac0.php" "line" => 207 "function" => "renderFragment" "class" => "Symfony\Bridge\Twig\Extension\HttpKernelRuntime" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 171 "function" => "block_header" "class" => "__TwigTemplate_dc67cdc305f050f0a27ba7ef152f05af" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/b9/b9cb140abab7ef4ef8cb398831c75ac0.php" "line" => 91 "function" => "displayBlock" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 394 "function" => "doDisplay" "class" => "__TwigTemplate_dc67cdc305f050f0a27ba7ef152f05af" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 367 "function" => "displayWithErrorHandling" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/var/cache/dev/twig/c3/c336f4e76fc20e4db84e3be131276b68.php" "line" => 52 "function" => "display" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 394 "function" => "doDisplay" "class" => "__TwigTemplate_3ce0324a396de697d1fad9fabd68df72" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 367 "function" => "displayWithErrorHandling" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Template.php" "line" => 379 "function" => "display" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/TemplateWrapper.php" "line" => 38 "function" => "render" "class" => "Twig\Template" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/twig/twig/src/Environment.php" "line" => 280 "function" => "render" "class" => "Twig\TemplateWrapper" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php" "line" => 448 "function" => "render" "class" => "Twig\Environment" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php" "line" => 453 "function" => "doRenderView" "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/framework-bundle/Controller/AbstractController.php" "line" => 253 "function" => "doRender" "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/src/Controller/ArticleController.php" "line" => 277 "function" => "render" "class" => "Symfony\Bundle\FrameworkBundle\Controller\AbstractController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 181 "function" => "show" "class" => "App\Controller\ArticleController" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 76 "function" => "handleRaw" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php" "line" => 197 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php" "line" => 35 "function" => "handle" "class" => "Symfony\Component\HttpKernel\Kernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" "line" => 29 "function" => "run" "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php" "line" => 5 "args" => [ "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" ] "function" => "require_once" ] ] |
Symfony\Component\Security\Http\Firewall\ContextListener:171
[ [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/security-http/Firewall/ContextListener.php" "line" => 171 "function" => "remove" "class" => "Symfony\Component\HttpFoundation\Session\Session" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/event-dispatcher/Debug/WrappedListener.php" "line" => 116 "function" => "onKernelResponse" "class" => "Symfony\Component\Security\Http\Firewall\ContextListener" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/event-dispatcher/EventDispatcher.php" "line" => 220 "function" => "__invoke" "class" => "Symfony\Component\EventDispatcher\Debug\WrappedListener" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/event-dispatcher/EventDispatcher.php" "line" => 56 "function" => "callListeners" "class" => "Symfony\Component\EventDispatcher\EventDispatcher" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php" "line" => 139 "function" => "dispatch" "class" => "Symfony\Component\EventDispatcher\EventDispatcher" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 214 "function" => "dispatch" "class" => "Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 202 "function" => "filterResponse" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/HttpKernel.php" "line" => 76 "function" => "handleRaw" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/http-kernel/Kernel.php" "line" => 197 "function" => "handle" "class" => "Symfony\Component\HttpKernel\HttpKernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php" "line" => 35 "function" => "handle" "class" => "Symfony\Component\HttpKernel\Kernel" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" "line" => 29 "function" => "run" "class" => "Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner" "type" => "->" ] [ "file" => "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php" "line" => 5 "args" => [ "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/vendor/autoload_runtime.php" ] "function" => "require_once" ] ] |
Flashes
Flashes
No flash messages were created.
Server Parameters
Server Parameters
Defined in .env
Key | Value |
---|---|
APP_ENV | "dev" |
APP_SECRET | "0a988e63f011514eaabfc650b599af4d" |
CORS_ALLOW_ORIGIN | "*" |
DATABASE_URL | "mysql://bbndb_rctuser:33F5W25z40or0f7@localhost:3306/rct_bbntimes" |
GOOGLE_RECAPTCHA_SECRET_KEY | "6LdV5fgpAAAAANxzTG8ZMfIjil1wu-1vrQvnUt-x" |
GOOGLE_RECAPTCHA_SITE_KEY | "6LdV5fgpAAAAAENKcn73MJAhQrbtQeqgyC4wDLMP" |
MAILER_DSN | "smtp://no-reply%40rct.dev.bbntimes.com:Bl6%26gLD48%26Of919@rct.dev.bbntimes.com:465" |
MARIADB_PASSWORD | "i!87pK&!85ezc8" |
Defined as regular env variables
Key | Value |
---|---|
APP_DEBUG | "1" |
BASE | "/public" |
CONTEXT_DOCUMENT_ROOT | "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com" |
CONTEXT_PREFIX | "" |
DOCUMENT_ROOT | "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com" |
FCGI_ROLE | "RESPONDER" |
GATEWAY_INTERFACE | "CGI/1.1" |
HTTPS | "on" |
HTTP_ACCEPT | "*/*" |
HTTP_ACCEPT_ENCODING | "gzip, br, zstd, deflate" |
HTTP_CONNECTION | "close" |
HTTP_COOKIE | "tudorwatch_lang=ar; PHPSESSID=oisffefesok5l0887602ouh43p" |
HTTP_HOST | "rct.dev.bbntimes.com" |
HTTP_USER_AGENT | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" |
PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY | "0" |
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY | "0" |
PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" |
PHP_SELF | "/public/index.php" |
PP_CUSTOM_PHP_CGI_INDEX | "plesk-php81-fastcgi" |
PP_CUSTOM_PHP_INI | "/var/www/vhosts/system/rct.dev.bbntimes.com/etc/php.ini" |
QUERY_STRING | "" |
REDIRECT_BASE | "/public" |
REDIRECT_HTTPS | "on" |
REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY | "0" |
REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY | "0" |
REDIRECT_REDIRECT_HTTPS | "on" |
REDIRECT_REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY | "0" |
REDIRECT_REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY | "0" |
REDIRECT_REDIRECT_SCRIPT_URI | "https://rct.dev.bbntimes.com/technology/building-a-face-recognizer-in-python" |
REDIRECT_REDIRECT_SCRIPT_URL | "/technology/building-a-face-recognizer-in-python" |
REDIRECT_REDIRECT_SSL_TLS_SNI | "rct.dev.bbntimes.com" |
REDIRECT_REDIRECT_STATUS | "200" |
REDIRECT_REDIRECT_UNIQUE_ID | "Z7mNWbiBoyj8JZ8-HGxvKQAAAA8" |
REDIRECT_SCRIPT_URI | "https://rct.dev.bbntimes.com/technology/building-a-face-recognizer-in-python" |
REDIRECT_SCRIPT_URL | "/technology/building-a-face-recognizer-in-python" |
REDIRECT_SSL_TLS_SNI | "rct.dev.bbntimes.com" |
REDIRECT_STATUS | "200" |
REDIRECT_UNIQUE_ID | "Z7mNWbiBoyj8JZ8-HGxvKQAAAA8" |
REDIRECT_URL | "/public/technology/building-a-face-recognizer-in-python" |
REMOTE_ADDR | "18.188.209.215" |
REMOTE_PORT | "52659" |
REQUEST_METHOD | "GET" |
REQUEST_SCHEME | "https" |
REQUEST_TIME | 1740213593 |
REQUEST_TIME_FLOAT | 1740213593.3831 |
REQUEST_URI | "/technology/building-a-face-recognizer-in-python" |
SCRIPT_FILENAME | "/var/www/vhosts/dev.bbntimes.com/rct.dev.bbntimes.com/public/index.php" |
SCRIPT_NAME | "/public/index.php" |
SCRIPT_URI | "https://rct.dev.bbntimes.com/technology/building-a-face-recognizer-in-python" |
SCRIPT_URL | "/technology/building-a-face-recognizer-in-python" |
SERVER_ADDR | "5.196.1.209" |
SERVER_ADMIN | "[no address given]" |
SERVER_NAME | "rct.dev.bbntimes.com" |
SERVER_PORT | "443" |
SERVER_PROTOCOL | "HTTP/1.1" |
SERVER_SIGNATURE | "<address>Apache Server at rct.dev.bbntimes.com Port 443</address>\n" |
SERVER_SOFTWARE | "Apache" |
SSL_TLS_SNI | "rct.dev.bbntimes.com" |
SYMFONY_DOTENV_VARS | "APP_ENV,APP_SECRET,DATABASE_URL,MARIADB_PASSWORD,CORS_ALLOW_ORIGIN,MAILER_DSN,GOOGLE_RECAPTCHA_SECRET_KEY,GOOGLE_RECAPTCHA_SITE_KEY" |
UNIQUE_ID | "Z7mNWbiBoyj8JZ8-HGxvKQAAAA8" |
Sub Requests 6
CookieController :: renderAnalysis (token = 0b45f0)
Key | Value |
---|---|
_controller | "App\Controller\CookieController::renderAnalysis" |
_format | "html" |
_locale | "en" |
_stopwatch_token | "fdbaee" |
AppController :: renderHeader (token = a7a9b0)
Key | Value |
---|---|
_controller | "App\Controller\AppController::renderHeader" |
_format | "html" |
_locale | "en" |
_stopwatch_token | "4cfc47" |
slug | "home" |
ArticleController :: trendingArticle (token = 57a142)
Key | Value |
---|---|
_controller | "App\Controller\ArticleController::trendingArticle" |
_format | "html" |
_locale | "en" |
_stopwatch_token | "5e8a0f" |
category | "Technology" |
ArticleController :: relatedArticles (token = 2ebaf0)
Key | Value |
---|---|
_controller | "App\Controller\ArticleController::relatedArticles" |
_format | "html" |
_locale | "en" |
_stopwatch_token | "79e878" |
current_article | App\Entity\Article {#1094 -id: 7259 -title: "Building a Face Recognizer in Python" -slug: "building-a-face-recognizer-in-python" -introtext: "<p id="87b6" class="io ip ef iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc jk" data-selectable-paragraph><span style="color: #000000;"><span class="u jl jm jn dd jo jp jq jr js ab">In this article</span>, you will discover how to build your own face recognizer using Python.</span></p>\r\n" -content: """ \r\n <p id="87b6" class="io ip ef iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc jk" data-selectable-paragraph><span style="color: #000000;"> Building a program that detects and recognizes faces is a very interesting and fun project to get started with computer vision. In previous posts, I showed how to <a class="de in" style="color: #000000;" href="https://towardsdatascience.com/building-a-simple-text-recognizer-in-python-93e453ddb759" rel="noopener">recognize text</a> and also how to <span style="color: #808080;"><a class="de in" style="color: #808080;" href="https://towardsdatascience.com/simple-face-detection-in-python-1fcda0ea648e" rel="noopener">detect faces</a></span> in an image, these are great projects to practice python in computer vision. Today, we will do something a little more advance and that is face recognition.</span></p>\r\n <p id="47f4" class="io ip ef iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">As can be understood <span id="rmm"><span id="rmm"><span id="rmm"><span id="rmm"><span id="rmm"><span id="rmm"><span id="rmm">f</span></span></span></span></span></span></span>rom the name, we will write a program that will recognize faces in an image. When I say “program”, you can understand this as teaching a machine what to do and how to do it. I like to use teaching instead of programming because that’s actually what we will be doing. The best way of learning is teaching, so while teaching a machine how to detect faces, we are learning too. Before we start working on the project, I want to share the difference between face detection and face recognizer. This is something good to know.</span></p>\r\n <h2 id="4682" class="le ju ef ap jv lf lg is jy lh li iv kb lj lk ll kd lm ln lo kf lp lq lr kh ls fc"><span style="color: #10228b;">Face Detection vs Face Recognition</span></h2>\r\n <p id="27cd" class="io ip ef iq b fe kj is it fh kk iv iw ix kl iz ja jb km jd je jf kn jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">These two things might sound very similar but actually, they are not the same. Let’s understand the difference so that we don’t miss the point.</span></p>\r\n <p id="40da" class="io ip ef iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;"><strong class="iq eg">Face Detection</strong> is the process of detecting faces, from an image or a video that doesn’t matter. The program doesn’t do anything more than finding the faces. But on the other hand, <strong class="iq eg">face recognition</strong>, the program that finds the faces and also it can tell which face belongs to who. So it is more informational than just detecting them.</span></p>\r\n <p id="1379" class="io ip ef iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">To write a code that recognizes faces needs some training data, we should train our machine so that it knows the faces and who are they. In this project, we are the ones teaching our program. In machine learning, there are two types of learning; supervised and unsupervised. I will not go into details, in this project we are going to use supervised learning. Here is a <a class="de in" style="color: #000000;" href="https://towardsdatascience.com/supervised-vs-unsupervised-learning-14f68e32ea8d" rel="noopener">nice post</a> about machine learning methods.</span></p>\r\n <p><span style="color: #808080;"><strong>Comparison Example</strong></span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/Face_Detection_vs_Face_Recognition.jpeg" alt="Face_Detection_vs_Face_Recognition.jpeg" width="660" height="371" /></span></p>\r\n <p style="text-align: center;"><span style="color: #808080;">Photo by Christopher Campbell on <a class="de in" style="color: #808080;" href="https://unsplash.com/s/photos/face?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText" rel="noopener nofollow">Unsplash</a></span></p>\r\n <h2><span style="color: #10228b;">Getting Started</span></h2>\r\n <p id="b0c0" class="io ip ef iq b fe kj is it fh kk iv iw ix kl iz ja jb km jd je jf kn jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">We will use two main modules for this project, and they are called Face Recognition and OpenCV. OpenCV is a highly optimized library with a focus on real-time applications.</span></p>\r\n <p id="a9e1" class="io ip kr iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc" style="padding-left: 30px;" data-selectable-paragraph><span style="color: #000000;"><em class="ef">OpenCV (Open Source Computer Vision Library) is an open-source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.</em></span></p>\r\n <p id="da24" class="io ip kr iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc" style="padding-left: 30px;" data-selectable-paragraph><span style="color: #000000;"><em class="ef">Source: </em><em class="ef"><a style="color: #000000;" href="https://opencv.org">https://opencv.org</a><a class="de in" style="color: #000000;" href="https://opencv.org/" rel="noopener nofollow"></a></em></span></p>\r\n <h2><span style="color: #10228b;">Libraries</span></h2>\r\n <p id="505d" class="io ip ef iq b fe kj is it fh kk iv iw ix kl iz ja jb km jd je jf kn jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">We have to install some libraries so that our program works. Here is a list of the libraries we will install: cmake, face_recognition, numpy, opencv-python. Cmake is a prerequisite library so that face recognition library installation doesn’t give us an errors.</span></p>\r\n <p id="770c" class="io ip ef iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">We can install them in one line using PIP library manager:</span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/pip_install.png" alt="pip_install.png" width="720" height="57" /></span></p>\r\n <p><span style="color: #000000;"><br />After the installation is completed, let’s import them into our code editor. Some of these libraries are included in Python that’s why we can import them without installing them.<br /><br /></span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/import_face_recognition.png" alt="import_face_recognition.png" width="720" height="132" /></span></p>\r\n <p><span style="color: #000000;"><br />Great! Now we move to the next step, where we will import images and use them to train our program.</span></p>\r\n <h2 id="0692" class="le ju ef ap jv lf lg is jy lh li iv kb lj lk ll kd lm ln lo kf lp lq lr kh ls fc"><span style="color: #10228b;">Training the Images</span></h2>\r\n <p id="6944" class="io ip ef iq b fe kj is it fh kk iv iw ix kl iz ja jb km jd je jf kn jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">First things first, let’s find our images.</span></p>\r\n <p><span style="color: #808080;"><strong>Import Images</strong></span></p>\r\n <p id="f7dc" class="io ip ef iq b fe kj is it fh kk iv iw ix kl iz ja jb km jd je jf kn jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">I’ve downloaded images of some famous people and added them to a new folder called “faces”. Also to get the current directory, in other words, the location of your program, we can use an os method called “getcwd()”.<br /><br /></span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/faces_encodings.png" alt="faces encodings" width="720" height="325" /></span></p>\r\n <p id="9b2a" class="io ip ef iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;"><br />Understanding the lines above:</span></p>\r\n <ul class="">\r\n <li id="bc49" class="io ip ef iq b fe ir is it fh iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj ko kp kq fc" data-selectable-paragraph><span style="color: #000000;">All the images are in one folder named “faces”.</span></li>\r\n <li id="d2cc" class="io ip ef iq b fe ks is it fh kt iv iw ix ku iz ja jb kv jd je jf kw jh ji jj ko kp kq fc" data-selectable-paragraph><span style="color: #000000;">Image file names have to be the name of the person in the image. (Such as: bill-gates.jpg).</span></li>\r\n <li id="a6cb" class="io ip ef iq b fe ks is it fh kt iv iw ix ku iz ja jb kv jd je jf kw jh ji jj ko kp kq fc" data-selectable-paragraph><span style="color: #000000;">File names are listed and assigned to “names” variable.</span></li>\r\n <li id="66e1" class="io ip ef iq b fe ks is it fh kt iv iw ix ku iz ja jb kv jd je jf kw jh ji jj ko kp kq fc" data-selectable-paragraph><span style="color: #000000;">File types have to be the same. In this exercise, I used “jpg” format.<br /><br /></span></li>\r\n </ul>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/Folder.png" alt="Folder" width="720" height="315" /></span></p>\r\n <p style="text-align: center;"><span style="color: #808080;">Here is my Folder Screenshot</span></p>\r\n <p><span style="color: #000000;"><br />Let’s move to the next step.</span></p>\r\n <p><span style="color: #808080;"><strong>Train the Faces</strong></span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/Train_the_faces.png" alt="Train_the_faces.png" width="720" height="239" /></span></p>\r\n <p><span style="color: #000000;"><br />To give you some idea, here is how my ‘names’ list looks like.<br /><br /></span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/Names_List.png" alt="Names List" width="720" height="247" /></span></p>\r\n <p><span style="color: #000000;"><br />Great! The images are trained. In the following step, we will use the device’s webcam to see how our code performs.</span></p>\r\n <h2 id="50fc" class="le ju ef ap jv lf lg is jy lh li iv kb lj lk ll kd lm ln lo kf lp lq lr kh ls fc"><span style="color: #10228b;">Face Recognition</span></h2>\r\n <p id="f4ef" class="io ip ef iq b fe kj is it fh kk iv iw ix kl iz ja jb km jd je jf kn jh ji jj dy fc" data-selectable-paragraph><span style="color: #000000;">We have long lines of code in this step. If you go through it you can easily understand what is happening in each line. Let’s define the variables that will be needed.</span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/face_locations.png" alt="face locations" width="720" height="110" /></span></p>\r\n <p><span style="color: #000000;"><br />Here comes the face recognition code. (You may need to reformat the spacing if you copy the following code, I recommend writing it from scratch by looking at the code, and also try to understand)</span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/video_capture.png" alt="video_capture.png" width="720" height="1263" /></span></p>\r\n <h2 id="849c" class="le ju ef ap jv lf lg is jy lh li iv kb lj lk ll kd lm ln lo kf lp lq lr kh ls fc"><span style="color: #10228b;">Testing the Recognizer</span></h2>\r\n <p><span style="color: #000000;"><a style="color: #000000;" href="https://www.youtube.com/watch?v=_tcygCQ2XSg&feature=emb_title"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/Building_a_Face_Recognizer_in_Python.png" alt="Building a Face Recognizer in Python" width="719" height="401" /></a></span></p>\r\n <p><span style="color: #000000;"><br />In the first picture, I am using the same exact image that was used in the training data.<br /><br /></span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/face_recognizer_test_1.png" alt="face recognizer test 1" width="720" height="446" /></span></p>\r\n <p style="text-align: center;"><span style="color: #808080;">Face Recognizer Test 1</span></p>\r\n <p><span style="color: #000000;"><br />Now, I will try it with a different image of Taylor Swift. It works perfectly!<br /><br /></span></p>\r\n <p><span style="color: #000000;"><img style="display: block; margin-left: auto; margin-right: auto;" src="/images/Face_Recognizer_Test_2.png" alt="Face_Recognizer_Test_2.png" width="721" height="445" /></span></p>\r\n <p style="text-align: center;"><span style="color: #808080;">Face Recognizer Test 2</span></p>\r\n <p><span style="color: #000000;"><br />Congrats!! You have created a program that detects and also recognizes faces in an image. Now, you have an idea of how to use computer vision in a real project. Hoping that you enjoyed reading this step-by-step guide. I would be glad if you learned something new today. Working on hands-on programming projects like this one is the best way to sharpen your coding skills.</span></p>\r\n <p><span style="color: #000000;">Feel free to <span style="color: #808080;"><a class="de in" style="color: #808080;" href="https://sonsuzdesign.blog/" rel="noopener nofollow">contact me</a></span> if you have any questions while implementing the code.</span></p> """ -user: Proxies\__CG__\App\Entity\User {#1092 …} -createdAt: DateTime @1603914111 {#1145 : 2020-10-28 19:41:51.0 UTC (+00:00) } -updatedAt: DateTime @1603964472 {#1150 : 2020-10-29 09:41:12.0 UTC (+00:00) } -deletedAt: null -category: App\Entity\Category {#445 …} -status: "published" -imageCard: Proxies\__CG__\App\Entity\File {#1184 …} -ImageHeader: Proxies\__CG__\App\Entity\File {#1184 …} -featured: false -mainView: false -clicks: 3229 -comments: Doctrine\ORM\PersistentCollection {#1125 …} -reviewed_at: DateTime @1603914111 {#1148 : 2020-10-28 19:41:51.0 UTC (+00:00) } -metakey: "Building a Face Recognizer in Python" -metadesc: "Step-by-step guide to face recognition in real-time using OpenCv library" -robots: null -publishedAt: DateTime @1603914111 {#1147 : 2020-10-28 19:41:51.0 UTC (+00:00) } -canonical: null -superTag: null } |
AppController :: renderFooter (token = 0057cf)
Key | Value |
---|---|
_controller | "App\Controller\AppController::renderFooter" |
_format | "html" |
_locale | "en" |
_stopwatch_token | "5119c5" |
CookieController :: renderCookie (token = 7b7dfd)
Key | Value |
---|---|
_controller | "App\Controller\CookieController::renderCookie" |
_format | "html" |
_locale | "en" |
_stopwatch_token | "fd05e6" |