{"id":35666,"date":"2025-12-02T12:40:59","date_gmt":"2025-12-02T09:40:59","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35666"},"modified":"2025-12-02T12:40:59","modified_gmt":"2025-12-02T09:40:59","slug":"mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/","title":{"rendered":"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131<\/h2>\n<p>G\u00f6r\u00fcnt\u00fc i\u015fleme ve bilgisayar g\u00f6r\u00fc\u015f\u00fc alanlar\u0131, son y\u0131llarda derin \u00f6\u011frenme tekniklerinin geli\u015fimiyle birlikte devrimsel nitelikte ilerlemeler kaydetmi\u015ftir. Bu ilerlemelerin en \u00e7arp\u0131c\u0131 \u00f6rneklerinden biri de nesne alg\u0131lama ve segmentasyonudur. Nesne alg\u0131lama, bir g\u00f6r\u00fcnt\u00fcdeki nesnelerin konumlar\u0131n\u0131 (s\u0131n\u0131r kutular\u0131 ile) ve s\u0131n\u0131flar\u0131n\u0131 belirlemeyi ama\u00e7larken, segmentasyon bu nesnelerin piksel d\u00fczeyinde kesin s\u0131n\u0131rlar\u0131n\u0131 \u00e7\u0131karmay\u0131 hedefler. Bu makalede, her iki g\u00f6revi tek bir modelde birle\u015ftiren ve y\u00fcksek do\u011fruluk oranlar\u0131 sunan g\u00fc\u00e7l\u00fc bir derin \u00f6\u011frenme mimarisi olan Mask R-CNN&#8217;i, TensorFlow 1.14 ve Keras \u00e7er\u00e7evesinde detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Giri\u015f<\/h3>\n<p>Bilgisayar g\u00f6r\u00fc\u015f\u00fc, makinelerin g\u00f6rsel d\u00fcnyay\u0131 insanlar gibi &#8220;g\u00f6rmesini&#8221; ve anlamland\u0131rmas\u0131n\u0131 sa\u011flamay\u0131 ama\u00e7layan bir yapay zeka dal\u0131d\u0131r. Bu alandaki en temel ve kritik g\u00f6revlerden biri, g\u00f6r\u00fcnt\u00fclerdeki veya videolardaki belirli nesnelerin varl\u0131\u011f\u0131n\u0131, konumunu ve t\u00fcr\u00fcn\u00fc tespit etmektir. Bu s\u00fcrece &#8220;nesne alg\u0131lama&#8221; (object detection) denir. Geleneksel nesne alg\u0131lama y\u00f6ntemleri genellikle el yap\u0131m\u0131 \u00f6zellik \u00e7\u0131kar\u0131m\u0131na ve makine \u00f6\u011frenimi s\u0131n\u0131fland\u0131r\u0131c\u0131lar\u0131na dayan\u0131rken, derin \u00f6\u011frenmenin y\u00fckseli\u015fiyle birlikte bu alanda b\u00fcy\u00fck bir paradigma de\u011fi\u015fimi ya\u015fanm\u0131\u015ft\u0131r.<\/p>\n<h4>Nesne Alg\u0131lama Nedir?<\/h4>\n<p>Nesne alg\u0131lama, bir g\u00f6r\u00fcnt\u00fcdeki birden fazla nesneyi tan\u0131mlayan ve her bir nesne i\u00e7in bir s\u0131n\u0131r kutusu (bounding box) ve bir s\u0131n\u0131f etiketi atayan bir bilgisayar g\u00f6r\u00fc\u015f\u00fc g\u00f6revidir. \u00d6rne\u011fin, bir foto\u011fraftaki t\u00fcm arabalar\u0131, yayalar\u0131 ve trafik i\u015faretlerini tespit etmek, nesne alg\u0131laman\u0131n bir uygulamas\u0131d\u0131r. Bu, otonom ara\u00e7lar, g\u00fcvenlik sistemleri ve t\u0131bbi g\u00f6r\u00fcnt\u00fcleme gibi bir\u00e7ok alanda kritik bir yetenektir.<\/p>\n<h4>Mask R-CNN&#8217;in \u00d6nemi ve Yeri<\/h4>\n<p>Mask R-CNN (Mask Region-based Convolutional Neural Network), nesne alg\u0131lama alan\u0131nda \u00e7\u0131\u011f\u0131r a\u00e7an Faster R-CNN mimarisinin bir uzant\u0131s\u0131d\u0131r. Faster R-CNN, nesnelerin s\u0131n\u0131r kutular\u0131n\u0131 ve s\u0131n\u0131flar\u0131n\u0131 y\u00fcksek do\u011frulukla tahmin edebilirken, Mask R-CNN bu yetene\u011fe ek olarak her tespit edilen nesne i\u00e7in piksel d\u00fczeyinde bir segmentasyon maskesi olu\u015fturma kabiliyeti sunar. Bu, Mask R-CNN&#8217;i &#8220;instance segmentation&#8221; (\u00f6rnek segmentasyonu) ad\u0131 verilen bir g\u00f6revi yerine getirebilen ilk ve en etkili modellerden biri yapm\u0131\u015ft\u0131r. \u00d6rnek segmentasyonu, ayn\u0131 s\u0131n\u0131ftaki farkl\u0131 nesneleri (\u00f6rne\u011fin, bir g\u00f6r\u00fcnt\u00fcdeki her bir farkl\u0131 insan\u0131) ayr\u0131 ayr\u0131 segmentlere ay\u0131rabilme yetene\u011fidir. Mask R-CNN, bu \u00e7oklu g\u00f6revi (s\u0131n\u0131fland\u0131rma, s\u0131n\u0131r kutusu regresyonu ve maske tahmini) tek bir entegre mimaride ba\u015far\u0131yla birle\u015ftirerek, bilgisayar g\u00f6r\u00fc\u015f\u00fc uygulamalar\u0131nda yeni ufuklar a\u00e7m\u0131\u015ft\u0131r.<\/p>\n<h4>Makalenin Amac\u0131<\/h4>\n<p>Bu makalenin temel amac\u0131, Mask R-CNN mimarisini derinlemesine a\u00e7\u0131klamak, temel bile\u015fenlerini ve \u00e7al\u0131\u015fma prensibini detayland\u0131rmak ve \u00f6zellikle TensorFlow 1.14 ile Keras kullanarak bu modelin nas\u0131l uygulanabilece\u011fine dair pratik bilgiler sunmakt\u0131r. Okuyucular\u0131n Mask R-CNN&#8217;in teorik altyap\u0131s\u0131n\u0131 anlamalar\u0131n\u0131n yan\u0131 s\u0131ra, kendi projelerinde bu g\u00fc\u00e7l\u00fc arac\u0131 kullanabilmeleri i\u00e7in gerekli ad\u0131mlar\u0131 ve ipu\u00e7lar\u0131n\u0131 sa\u011flamak hedeflenmektedir. TensorFlow 1.14&#8217;\u00fcn se\u00e7ilmesi, bu modelin pop\u00fclerle\u015fti\u011fi ve bir\u00e7ok mevcut projenin temelini olu\u015fturdu\u011fu d\u00f6nemi yans\u0131tmas\u0131 a\u00e7\u0131s\u0131ndan \u00f6nemlidir, ancak temel prensipler daha yeni versiyonlara da uyarlanabilir.<\/p>\n<h3>Nesne Alg\u0131laman\u0131n Temelleri<\/h3>\n<p>Derin \u00f6\u011frenme \u00f6ncesi d\u00f6nemlerde nesne alg\u0131lama, genellikle el yap\u0131m\u0131 \u00f6zellik \u00e7\u0131kar\u0131c\u0131lar (\u00f6rne\u011fin SIFT, HOG) ve geleneksel makine \u00f6\u011frenimi s\u0131n\u0131fland\u0131r\u0131c\u0131lar\u0131 (\u00f6rne\u011fin SVM) kullan\u0131larak ger\u00e7ekle\u015ftirilirdi. Ancak bu y\u00f6ntemler, farkl\u0131 ayd\u0131nlatma ko\u015fullar\u0131, \u00f6l\u00e7ekler ve nesne pozisyonlar\u0131 kar\u015f\u0131s\u0131nda s\u0131n\u0131rl\u0131 performans sergiliyordu.<\/p>\n<h4>Derin \u00d6\u011frenme Tabanl\u0131 Yakla\u015f\u0131mlara Ge\u00e7i\u015f<\/h4>\n<p>Evri\u015fimsel Sinir A\u011flar\u0131 (Convolutional Neural Networks &#8211; CNN&#8217;ler) ile birlikte nesne alg\u0131lama alan\u0131nda b\u00fcy\u00fck bir at\u0131l\u0131m ya\u015fand\u0131. CNN&#8217;ler, g\u00f6r\u00fcnt\u00fcdeki hiyerar\u015fik \u00f6zellikleri otomatik olarak \u00f6\u011frenme yetenekleri sayesinde, geleneksel y\u00f6ntemlerin s\u0131n\u0131rlamalar\u0131n\u0131 a\u015fmay\u0131 ba\u015fard\u0131. Derin \u00f6\u011frenme tabanl\u0131 nesne alg\u0131lama modelleri genel olarak iki ana kategoriye ayr\u0131l\u0131r: tek a\u015famal\u0131 (one-stage) ve iki a\u015famal\u0131 (two-stage) dedekt\u00f6rler.<\/p>\n<h4>Tek A\u015famal\u0131 ve \u0130ki A\u015famal\u0131 Dedekt\u00f6rler<\/h4>\n<ul>\n<li>\n        <strong>\u0130ki A\u015famal\u0131 Dedekt\u00f6rler:<\/strong> Bu modeller, alg\u0131lama s\u00fcrecini iki ana ad\u0131ma b\u00f6ler. \u0130lk ad\u0131mda, g\u00f6r\u00fcnt\u00fcdeki potansiyel nesne konumlar\u0131n\u0131 (b\u00f6lge \u00f6nerileri) belirlemek i\u00e7in bir mekanizma kullan\u0131l\u0131r. \u0130kinci ad\u0131mda ise bu \u00f6nerilen b\u00f6lgeler \u00fczerinde s\u0131n\u0131fland\u0131rma ve s\u0131n\u0131r kutusu regresyonu yap\u0131l\u0131r. R-CNN ailesi (R-CNN, Fast R-CNN, Faster R-CNN) bu kategoriye girer. Y\u00fcksek do\u011fruluk oranlar\u0131 sunma e\u011filimindedirler ancak genellikle tek a\u015famal\u0131 modellere g\u00f6re daha yava\u015ft\u0131rlar.\n    <\/li>\n<li>\n        <strong>Tek A\u015famal\u0131 Dedekt\u00f6rler:<\/strong> Bu modeller, b\u00f6lge \u00f6nerisi ad\u0131m\u0131n\u0131 atlayarak do\u011frudan g\u00f6r\u00fcnt\u00fcdeki nesnelerin s\u0131n\u0131f\u0131n\u0131 ve konumunu tahmin eder. YOLO (You Only Look Once) ve SSD (Single Shot MultiBox Detector) gibi modeller bu kategoriye \u00f6rnektir. Genellikle iki a\u015famal\u0131 modellere g\u00f6re daha h\u0131zl\u0131d\u0131rlar ancak bazen do\u011fruluktan \u00f6d\u00fcn verebilirler.\n    <\/li>\n<\/ul>\n<h4>R-CNN Ailesi<\/h4>\n<p>Mask R-CNN&#8217;in temelini anlamak i\u00e7in, R-CNN ailesinin geli\u015fimini k\u0131saca g\u00f6zden ge\u00e7irmek faydal\u0131d\u0131r:<\/p>\n<ul>\n<li>\n        <strong>R-CNN (Region-based Convolutional Neural Network):<\/strong> \u0130lk derin \u00f6\u011frenme tabanl\u0131 nesne alg\u0131lama modellerinden biridir. G\u00f6r\u00fcnt\u00fcden yakla\u015f\u0131k 2000 adet b\u00f6lge \u00f6nerisi (selective search ile) \u00e7\u0131kar\u0131r, her bir b\u00f6lgeyi bir CNN&#8217;den ge\u00e7irir ve ard\u0131ndan SVM ile s\u0131n\u0131fland\u0131r\u0131r. S\u0131n\u0131r kutular\u0131n\u0131 iyile\u015ftirmek i\u00e7in de bir regres\u00f6r kullan\u0131r. Ancak her b\u00f6lgenin ayr\u0131 ayr\u0131 CNN&#8217;den ge\u00e7irilmesi nedeniyle \u00e7ok yava\u015ft\u0131r.\n    <\/li>\n<li>\n        <strong>Fast R-CNN:<\/strong> R-CNN&#8217;in h\u0131z sorununu \u00e7\u00f6zmek i\u00e7in geli\u015ftirilmi\u015ftir. T\u00fcm g\u00f6r\u00fcnt\u00fcy\u00fc tek bir CNN&#8217;den ge\u00e7irir ve \u00f6zellik haritas\u0131n\u0131 olu\u015fturur. Ard\u0131ndan, b\u00f6lge \u00f6nerilerini bu \u00f6zellik haritas\u0131 \u00fczerinde &#8220;ROI Pooling&#8221; (Region of Interest Pooling) katman\u0131 ile sabit boyutlu \u00f6zellik vekt\u00f6rlerine d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu \u00f6zellik vekt\u00f6rleri daha sonra bir s\u0131n\u0131fland\u0131r\u0131c\u0131 ve regres\u00f6re beslenir. \u00d6nemli bir h\u0131z art\u0131\u015f\u0131 sa\u011flar.\n    <\/li>\n<li>\n        <strong>Faster R-CNN:<\/strong> Fast R-CNN&#8217;in b\u00f6lge \u00f6nerisi ad\u0131m\u0131n\u0131 da derin \u00f6\u011frenme a\u011f\u0131na entegre ederek daha da h\u0131zland\u0131r\u0131r. &#8220;B\u00f6lge \u00d6neri A\u011f\u0131&#8221; (Region Proposal Network &#8211; RPN) ad\u0131 verilen k\u00fc\u00e7\u00fck bir CNN, \u00f6zellik haritas\u0131 \u00fczerinde do\u011frudan b\u00f6lge \u00f6nerileri \u00fcretir. Bu sayede t\u00fcm alg\u0131lama s\u00fcreci u\u00e7tan uca \u00f6\u011frenilebilir hale gelir. Mask R-CNN&#8217;in temelini olu\u015fturan modeldir.\n    <\/li>\n<\/ul>\n<h3>Mask R-CNN Mimarisi Detayl\u0131 \u0130nceleme<\/h3>\n<p>Mask R-CNN, Faster R-CNN&#8217;in \u00fczerine in\u015fa edilmi\u015f bir mimaridir. Faster R-CNN&#8217;in s\u0131n\u0131fland\u0131rma ve s\u0131n\u0131r kutusu regresyonu g\u00f6revlerine ek olarak, her bir nesne i\u00e7in piksel d\u00fczeyinde bir segmentasyon maskesi tahmin etme yetene\u011fini ekler. Bunu, \u00e7ok g\u00f6revli bir kay\u0131p fonksiyonu ve yenilik\u00e7i bir ROI Align katman\u0131 kullanarak ba\u015far\u0131r.<\/p>\n<h4>Temel Bile\u015fenler<\/h4>\n<p>Mask R-CNN mimarisi, a\u015fa\u011f\u0131daki ana bile\u015fenlerden olu\u015fur:<\/p>\n<h5>Omurga A\u011f\u0131 (Backbone Network)<\/h5>\n<p>Mask R-CNN, giri\u015f g\u00f6r\u00fcnt\u00fcs\u00fcnden zengin \u00f6zellikler \u00e7\u0131karmak i\u00e7in g\u00fc\u00e7l\u00fc bir evri\u015fimsel omurga a\u011f\u0131 kullan\u0131r. Genellikle ResNet (Residual Network) mimarisi kullan\u0131l\u0131r ve bu a\u011flar genellikle ImageNet gibi b\u00fcy\u00fck veri k\u00fcmelerinde \u00f6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klarla ba\u015flat\u0131l\u0131r. ResNet&#8217;in derinli\u011fi (\u00f6rne\u011fin ResNet-50, ResNet-101) modelin performans\u0131n\u0131 ve hesaplama maliyetini etkiler.<\/p>\n<ul>\n<li>\n        <strong>ResNet&#8217;in Rol\u00fc:<\/strong> ResNet, &#8220;atlama ba\u011flant\u0131lar\u0131&#8221; (skip connections) veya &#8220;kal\u0131nt\u0131 ba\u011flant\u0131lar\u0131&#8221; (residual connections) sayesinde \u00e7ok derin a\u011flar\u0131n e\u011fitilmesini m\u00fcmk\u00fcn k\u0131lm\u0131\u015ft\u0131r. Bu ba\u011flant\u0131lar, gradyanlar\u0131n geriye do\u011fru yay\u0131l\u0131m\u0131n\u0131 kolayla\u015ft\u0131r\u0131r ve derin a\u011flarda ortaya \u00e7\u0131kan gradyan yok olma (vanishing gradient) sorununu hafifletir. Mask R-CNN&#8217;de ResNet, g\u00f6r\u00fcnt\u00fclerden anlamsal olarak zengin ve hiyerar\u015fik \u00f6zellik haritalar\u0131 \u00e7\u0131karmak i\u00e7in temel bir \u00f6zellik \u00e7\u0131kar\u0131c\u0131 g\u00f6revi g\u00f6r\u00fcr.\n    <\/li>\n<li>\n        <strong>FPN (Feature Pyramid Network):<\/strong> Mask R-CNN&#8217;in performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131ran bir di\u011fer kritik bile\u015fen FPN&#8217;dir. Geleneksel olarak, CNN&#8217;ler daha derin katmanlarda y\u00fcksek seviyeli anlamsal \u00f6zellikler \u00fcretirken, daha s\u0131\u011f katmanlarda d\u00fc\u015f\u00fck seviyeli mekansal \u00f6zellikler (detaylar) bulunur. Nesnelerin farkl\u0131 boyutlarda (k\u00fc\u00e7\u00fck veya b\u00fcy\u00fck) alg\u0131lanmas\u0131 i\u00e7in hem y\u00fcksek seviyeli anlamsal bilgilere hem de d\u00fc\u015f\u00fck seviyeli mekansal detaylara ihtiya\u00e7 vard\u0131r. FPN, omurga a\u011f\u0131n\u0131n farkl\u0131 \u00f6l\u00e7eklerdeki \u00f6zellik haritalar\u0131n\u0131 birle\u015ftirerek bir \u00f6zellik piramidi olu\u015fturur. Bu piramit, her bir seviyesinde g\u00fc\u00e7l\u00fc anlamsal \u00f6zelliklere sahipken, ayn\u0131 zamanda ince mekansal detaylar\u0131 da korur. Bu sayede RPN ve \u00e7oklu g\u00f6rev kafas\u0131, farkl\u0131 \u00f6l\u00e7eklerdeki nesneleri daha etkili bir \u015fekilde alg\u0131layabilir. FPN, yukar\u0131dan a\u015fa\u011f\u0131ya ve a\u015fa\u011f\u0131dan yukar\u0131ya yollar kullanarak farkl\u0131 katmanlar\u0131n \u00f6zelliklerini birle\u015ftirir.\n    <\/li>\n<\/ul>\n<h5>B\u00f6lge \u00d6neri A\u011f\u0131 (Region Proposal Network &#8211; RPN)<\/h5>\n<p>Omurga a\u011f\u0131 taraf\u0131ndan \u00e7\u0131kar\u0131lan \u00f6zellik haritalar\u0131, Faster R-CNN&#8217;den miras kalan RPN&#8217;e beslenir. RPN&#8217;in g\u00f6revi, bir g\u00f6r\u00fcnt\u00fcdeki nesne i\u00e7erebilecek potansiyel b\u00f6lgeleri (s\u0131n\u0131r kutular\u0131 olarak) \u00f6nermektir. Bu, nesne alg\u0131lama s\u00fcrecinin ilk a\u015famas\u0131d\u0131r.<\/p>\n<ul>\n<li>\n        <strong>Anchor Kutular\u0131:<\/strong> RPN, her bir konum i\u00e7in \u00f6nceden tan\u0131mlanm\u0131\u015f &#8220;anchor kutular\u0131&#8221; ad\u0131 verilen farkl\u0131 boyut ve en boy oranlar\u0131na sahip referans kutular\u0131 kullan\u0131r. Bu anchor kutular\u0131, a\u011f\u0131n farkl\u0131 \u015fekil ve boyutlardaki nesneleri alg\u0131lamas\u0131na yard\u0131mc\u0131 olur.\n    <\/li>\n<li>\n        <strong>RPN&#8217;in G\u00f6revi:<\/strong> RPN, her bir anchor kutusu i\u00e7in iki temel tahminde bulunur:<\/p>\n<ol>\n<li>Kutunun bir nesne i\u00e7erip i\u00e7ermedi\u011fine dair ikili bir s\u0131n\u0131fland\u0131rma (nesne\/arka plan).<\/li>\n<li>Kutunun ger\u00e7ek nesne s\u0131n\u0131r\u0131na daha iyi uymas\u0131 i\u00e7in gerekli ofsetleri (konum ve boyut ayarlamalar\u0131).<\/li>\n<\/ol>\n<p>        RPN, bu tahminleri kullanarak y\u00fczlerce veya binlerce potansiyel nesne \u00f6nerisi \u00fcretir. Bu \u00f6neriler daha sonra NMS (Non-Maximum Suppression) ile filtrelenerek en iyi \u00f6neriler se\u00e7ilir.\n    <\/li>\n<\/ul>\n<h5>ROI Align Katman\u0131<\/h5>\n<p>Faster R-CNN&#8217;deki ROI Pooling katman\u0131, b\u00f6lge \u00f6nerilerini (farkl\u0131 boyutlarda olabilirler) sabit boyutlu bir \u00f6zellik haritas\u0131na d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in kullan\u0131l\u0131yordu. Ancak ROI Pooling, ondal\u0131k olmayan piksel koordinatlar\u0131n\u0131 en yak\u0131n tam say\u0131ya yuvarlad\u0131\u011f\u0131 i\u00e7in k\u00fc\u00e7\u00fck mekansal kay\u0131plara neden oluyordu. Bu kay\u0131plar, \u00f6zellikle piksel d\u00fczeyinde hassasiyet gerektiren maske segmentasyonu g\u00f6revinde kritik \u00f6neme sahiptir.<\/p>\n<ul>\n<li>\n        <strong>ROI Pooling&#8217;in Eksiklikleri:<\/strong> Yuvarlama i\u015flemi, \u00f6zellikle k\u00fc\u00e7\u00fck nesneler i\u00e7in, \u00f6zellik haritas\u0131n\u0131n giri\u015f g\u00f6r\u00fcnt\u00fcs\u00fcndeki orijinal konumundan hafif\u00e7e kaymas\u0131na neden olabilir. Bu kayma, s\u0131n\u0131fland\u0131rma ve s\u0131n\u0131r kutusu regresyonu i\u00e7in kabul edilebilir olsa da, piksel d\u00fczeyinde hassas maske tahmini i\u00e7in ciddi bir sorun te\u015fkil eder.\n    <\/li>\n<li>\n        <strong>ROI Align&#8217;\u0131n Avantajlar\u0131:<\/strong> Mask R-CNN, bu sorunu \u00e7\u00f6zmek i\u00e7in &#8220;ROI Align&#8221; katman\u0131n\u0131 tan\u0131tt\u0131. ROI Align, yuvarlama yapmaz. Bunun yerine, bilineer interpolasyon kullanarak ondal\u0131k koordinatlardaki piksel de\u011ferlerini hesaplar. Bu sayede, b\u00f6lge \u00f6nerilerinden \u00e7\u0131kar\u0131lan \u00f6zellikler, orijinal g\u00f6r\u00fcnt\u00fcdeki nesneyle \u00e7ok daha do\u011fru bir \u015fekilde hizalan\u0131r. Bu hassasiyet, y\u00fcksek kaliteli segmentasyon maskelerinin \u00fcretilmesi i\u00e7in hayati \u00f6neme sahiptir.\n    <\/li>\n<\/ul>\n<h5>\u00c7oklu G\u00f6rev Kafas\u0131 (Multi-task Head)<\/h5>\n<p>ROI Align katman\u0131ndan \u00e7\u0131kan sabit boyutlu \u00f6zellik haritalar\u0131, Mask R-CNN&#8217;in &#8220;\u00e7oklu g\u00f6rev kafas\u0131&#8221;na beslenir. Bu kafa, \u00fc\u00e7 paralel \u00e7\u0131kt\u0131 dal\u0131na sahiptir ve her biri farkl\u0131 bir g\u00f6revi yerine getirir:<\/p>\n<ul>\n<li>\n        <strong>S\u0131n\u0131fland\u0131rma (Classification):<\/strong> Her bir b\u00f6lge \u00f6nerisinin hangi nesne s\u0131n\u0131f\u0131na (\u00f6rne\u011fin, &#8220;insan&#8221;, &#8220;araba&#8221;, &#8220;kedi&#8221;) ait oldu\u011funu tahmin eder. Genellikle bir Fully Connected (FC) katman\u0131 ve bir softmax aktivasyonu kullan\u0131l\u0131r.\n    <\/li>\n<li>\n        <strong>S\u0131n\u0131r Kutusu Regresyonu (Bounding Box Regression):<\/strong> RPN taraf\u0131ndan \u00f6nerilen s\u0131n\u0131r kutular\u0131n\u0131 daha do\u011fru hale getirmek i\u00e7in ofsetler (konum ve boyut ayarlamalar\u0131) tahmin eder. Bu, nesnenin ger\u00e7ek s\u0131n\u0131rlar\u0131na daha yak\u0131n bir kutu elde edilmesini sa\u011flar. Yine bir FC katman\u0131 kullan\u0131l\u0131r.\n    <\/li>\n<li>\n        <strong>Maske Tahmini (Mask Prediction):<\/strong> Mask R-CNN&#8217;i di\u011fer Faster R-CNN t\u00fcrevlerinden ay\u0131ran en \u00f6nemli k\u0131s\u0131md\u0131r. Her bir ge\u00e7erli nesne \u00f6nerisi i\u00e7in, piksel d\u00fczeyinde ikili bir segmentasyon maskesi (nesneye ait piksel mi, de\u011fil mi?) tahmin eder.<\/p>\n<ul>\n<li>\n                <strong>FCN (Fully Convolutional Network) Kullan\u0131m\u0131:<\/strong> Maske tahmini dal\u0131, k\u00fc\u00e7\u00fck bir Tam Evri\u015fimsel A\u011f (Fully Convolutional Network &#8211; FCN) kullan\u0131r. Bu FCN, ROI Align&#8217;dan gelen sabit boyutlu \u00f6zellik haritas\u0131n\u0131 al\u0131r ve her bir s\u0131n\u0131f i\u00e7in (K s\u0131n\u0131f varsa K adet) d\u00fc\u015f\u00fck \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc (\u00f6rne\u011fin 28&#215;28 piksel) ikili maske \u00fcretir. Her bir piksel i\u00e7in sigmoid aktivasyonu uygulan\u0131r ve bu, pikselin nesneye ait olma olas\u0131l\u0131\u011f\u0131n\u0131 verir. Bu yakla\u015f\u0131m, piksel d\u00fczeyinde hassasiyeti korurken, modelin verimli bir \u015fekilde e\u011fitilmesini sa\u011flar. E\u011fitim s\u0131ras\u0131nda, yaln\u0131zca tespit edilen s\u0131n\u0131f\u0131n maske dal\u0131ndaki \u00e7\u0131kt\u0131s\u0131 i\u00e7in kay\u0131p hesaplan\u0131r, bu da g\u00f6revin karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 azalt\u0131r.\n            <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Mask R-CNN&#8217;in \u00c7al\u0131\u015fma Prensibi<\/h3>\n<p>Mask R-CNN&#8217;in \u00e7al\u0131\u015fma prensibini ad\u0131m ad\u0131m \u00f6zetleyelim:<\/p>\n<ol>\n<li>\n        <strong>Giri\u015f G\u00f6r\u00fcnt\u00fcs\u00fc:<\/strong> Bir g\u00f6r\u00fcnt\u00fc Mask R-CNN modeline beslenir.\n    <\/li>\n<li>\n        <strong>\u00d6zellik \u00c7\u0131kar\u0131m\u0131 (Backbone ve FPN):<\/strong> G\u00f6r\u00fcnt\u00fc, ResNet ve FPN&#8217;den olu\u015fan omurga a\u011f\u0131 taraf\u0131ndan i\u015flenir. Bu a\u011f, farkl\u0131 \u00f6l\u00e7eklerde ve zengin semantik bilgi i\u00e7eren \u00f6zellik haritalar\u0131 piramidi \u00fcretir.\n    <\/li>\n<li>\n        <strong>B\u00f6lge \u00d6nerileri (RPN):<\/strong> FPN&#8217;den gelen \u00f6zellik haritalar\u0131, RPN&#8217;e beslenir. RPN, anchor kutular\u0131 kullanarak g\u00f6r\u00fcnt\u00fcdeki potansiyel nesne b\u00f6lgelerini (s\u0131n\u0131r kutusu \u00f6nerileri) belirler. Bu \u00f6neriler daha sonra NMS ile filtrelenir.\n    <\/li>\n<li>\n        <strong>ROI Align:<\/strong> Filtrelenmi\u015f b\u00f6lge \u00f6nerileri, FPN&#8217;den gelen \u00f6zellik haritalar\u0131yla birlikte ROI Align katman\u0131na girer. ROI Align, her bir \u00f6nerilen b\u00f6lgeyi bilineer interpolasyon kullanarak sabit boyutlu bir \u00f6zellik haritas\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu, mekansal hizalamay\u0131 korur ve maske tahmini i\u00e7in kritik hassasiyeti sa\u011flar.\n    <\/li>\n<li>\n        <strong>\u00c7oklu G\u00f6rev Kafas\u0131:<\/strong> ROI Align&#8217;dan \u00e7\u0131kan sabit boyutlu \u00f6zellikler, \u00fc\u00e7 paralel dala ayr\u0131lan \u00e7oklu g\u00f6rev kafas\u0131na beslenir:<\/p>\n<ul>\n<li>Bir dal, b\u00f6lgenin nesne s\u0131n\u0131f\u0131n\u0131 tahmin eder.<\/li>\n<li>Di\u011fer bir dal, s\u0131n\u0131r kutusunu daha do\u011fru hale getirmek i\u00e7in regresyon yapar.<\/li>\n<li>\u00dc\u00e7\u00fcnc\u00fc dal, her bir s\u0131n\u0131f i\u00e7in piksel d\u00fczeyinde ikili bir maske tahmin eder.<\/li>\n<\/ul>\n<\/li>\n<li>\n        <strong>Sonu\u00e7lar:<\/strong> Model, her bir alg\u0131lanan nesne i\u00e7in bir s\u0131n\u0131f etiketi, daha hassas bir s\u0131n\u0131r kutusu ve nesnenin piksel d\u00fczeyinde bir segmentasyon maskesi \u00e7\u0131kt\u0131s\u0131 verir.<\/li>\n<\/ol>\n<h4>E\u011fitim ve \u00c7\u0131kar\u0131m A\u015famalar\u0131<\/h4>\n<p><strong>E\u011fitim (Training):<\/strong> Mask R-CNN, u\u00e7tan uca e\u011fitilir. Kay\u0131p fonksiyonu (loss function), \u00fc\u00e7 g\u00f6revin (s\u0131n\u0131fland\u0131rma kayb\u0131, s\u0131n\u0131r kutusu regresyon kayb\u0131 ve maske kayb\u0131) toplam\u0131ndan olu\u015fur. Bu \u00fc\u00e7 kay\u0131p, modelin her bir g\u00f6revi ayn\u0131 anda optimize etmesini sa\u011flar. Maske kayb\u0131, yaln\u0131zca ger\u00e7ek s\u0131n\u0131f\u0131n maske tahmini \u00fczerinde hesaplan\u0131r. Genellikle \u00f6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klarla (\u00f6rne\u011fin ImageNet \u00fczerinde) ba\u015flan\u0131r ve hedef veri k\u00fcmesi \u00fczerinde ince ayar (fine-tuning) yap\u0131l\u0131r.<\/p>\n<p><strong>\u00c7\u0131kar\u0131m (Inference):<\/strong> E\u011fitimli bir Mask R-CNN modeli, yeni bir g\u00f6r\u00fcnt\u00fcye uyguland\u0131\u011f\u0131nda yukar\u0131daki ad\u0131mlar\u0131 takip eder ve her bir alg\u0131lanan nesne i\u00e7in s\u0131n\u0131f, s\u0131n\u0131r kutusu ve segmentasyon maskesini tahmin eder. \u00c7\u0131kar\u0131m s\u0131ras\u0131nda, NMS ve g\u00fcven e\u015fikleri gibi post-processing ad\u0131mlar\u0131, nihai sonu\u00e7lar\u0131n kalitesini art\u0131rmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h3>TensorFlow 1.14 ve Keras ile Mask R-CNN Uygulamas\u0131<\/h3>\n<p>Mask R-CNN&#8217;in Keras ve TensorFlow 1.14 ile uygulanmas\u0131, genellikle Matterport taraf\u0131ndan sa\u011flanan a\u00e7\u0131k kaynakl\u0131 Keras Mask R-CNN implementasyonu kullan\u0131larak yap\u0131l\u0131r. Bu implementasyon, COCO veri k\u00fcmesi \u00fczerinde \u00f6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klar\u0131 da i\u00e7erir ve transfer \u00f6\u011frenimi i\u00e7in m\u00fckemmel bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<h4>Gerekli K\u00fct\u00fcphaneler ve Ortam Kurulumu<\/h4>\n<p>Uygulamaya ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki k\u00fct\u00fcphanelerin y\u00fckl\u00fc oldu\u011fundan emin olunmal\u0131d\u0131r:<\/p>\n<ul>\n<li><strong>TensorFlow 1.14:<\/strong> Mask R-CNN&#8217;in Matterport implementasyonu genellikle TensorFlow 1.x s\u00fcr\u00fcmleriyle uyumludur. <code>pip install tensorflow==1.14.0<\/code><\/li>\n<li><strong>Keras:<\/strong> TensorFlow&#8217;un \u00fcst d\u00fczey API&#8217;si olarak Keras, modelin daha kolay olu\u015fturulmas\u0131n\u0131 ve e\u011fitilmesini sa\u011flar. Genellikle TensorFlow ile birlikte gelir.<\/li>\n<li><strong>OpenCV (cv2):<\/strong> G\u00f6r\u00fcnt\u00fc i\u015fleme g\u00f6revleri i\u00e7in (g\u00f6r\u00fcnt\u00fc okuma, yeniden boyutland\u0131rma, g\u00f6rselle\u015ftirme). <code>pip install opencv-python<\/code><\/li>\n<li><strong>NumPy:<\/strong> Say\u0131sal i\u015flemler i\u00e7in. <code>pip install numpy<\/code><\/li>\n<li><strong>Matplotlib:<\/strong> Sonu\u00e7lar\u0131 g\u00f6rselle\u015ftirmek i\u00e7in. <code>pip install matplotlib<\/code><\/li>\n<li><strong>h5py:<\/strong> Model a\u011f\u0131rl\u0131klar\u0131n\u0131 kaydetmek ve y\u00fcklemek i\u00e7in. <code>pip install h5py<\/code><\/li>\n<li><strong>Matterport Mask R-CNN:<\/strong> GitHub deposundan klonlanmas\u0131 veya pip ile y\u00fcklenmesi gerekir. Genellikle <code>git clone https:\/\/github.com\/matterport\/Mask_RCNN.git<\/code> komutuyla indirilir ve ard\u0131ndan <code>pip install -r requirements.txt<\/code> ile ba\u011f\u0131ml\u0131l\u0131klar kurulur.<\/li>\n<\/ul>\n<p><strong>GPU Deste\u011fi:<\/strong> Mask R-CNN gibi derin ve hesaplama a\u00e7\u0131s\u0131ndan yo\u011fun modellerin e\u011fitimi i\u00e7in GPU (NVIDIA CUDA uyumlu) kullan\u0131m\u0131 neredeyse zorunludur. TensorFlow&#8217;un GPU versiyonunun do\u011fru \u015fekilde kuruldu\u011fundan ve CUDA Toolkit ile cuDNN&#8217;in uyumlu s\u00fcr\u00fcmlerinin sistemde mevcut oldu\u011fundan emin olunmal\u0131d\u0131r.<\/p>\n<h4>Veri K\u00fcmesi Haz\u0131rl\u0131\u011f\u0131<\/h4>\n<p>Kendi \u00f6zel veri k\u00fcmenizi kullanacaksan\u0131z, veri haz\u0131rl\u0131\u011f\u0131 kritik bir ad\u0131md\u0131r:<\/p>\n<ul>\n<li>\n        <strong>Veri K\u00fcmesi Se\u00e7imi:<\/strong> COCO (Common Objects in Context) veya Pascal VOC gibi standart veri k\u00fcmeleri Mask R-CNN&#8217;i test etmek ve anlamak i\u00e7in harika kaynaklard\u0131r. Kendi projeniz i\u00e7in \u00f6zel bir veri k\u00fcmesi olu\u015fturman\u0131z gerekebilir.\n    <\/li>\n<li>\n        <strong>Anotasyon Formatlar\u0131:<\/strong> Mask R-CNN, genellikle COCO veri k\u00fcmesi format\u0131n\u0131 bekler. Bu format, her nesne i\u00e7in s\u0131n\u0131f etiketini, s\u0131n\u0131r kutusunu ve piksel d\u00fczeyinde segmentasyon maskesini (genellikle RLE &#8211; Run-Length Encoding format\u0131nda) i\u00e7erir. E\u011fer kendi veri k\u00fcmenizi kullan\u0131yorsan\u0131z, anotasyonlar\u0131n\u0131z\u0131 bu formata d\u00f6n\u00fc\u015ft\u00fcrmeniz veya Matterport implementasyonundaki <code>utils.py<\/code> ve <code>model.py<\/code> dosyalar\u0131ndaki veri y\u00fckleme fonksiyonlar\u0131n\u0131 kendi format\u0131n\u0131za uyarlaman\u0131z gerekebilir. VGG Image Annotator (VIA) veya LabelMe gibi ara\u00e7lar, maske anotasyonu yapmak i\u00e7in kullan\u0131labilir.\n    <\/li>\n<li>\n        <strong>Veri Art\u0131rma (Data Augmentation):<\/strong> E\u011fitim verisi miktar\u0131n\u0131 art\u0131rmak ve modelin genelleme yetene\u011fini geli\u015ftirmek i\u00e7in veri art\u0131rma teknikleri (rastgele d\u00f6nd\u00fcrme, \u00e7evirme, parlakl\u0131k ayar\u0131, \u00f6l\u00e7ekleme vb.) uygulanmal\u0131d\u0131r. Matterport implementasyonu, bu t\u00fcr art\u0131rmalar\u0131 kolayca entegre etmeye olanak tan\u0131r.<\/li>\n<\/ul>\n<h4>Modelin Y\u00fcklenmesi ve \u00d6nceden E\u011fitilmi\u015f A\u011f\u0131rl\u0131klar<\/h4>\n<p>Matterport&#8217;un Keras Mask R-CNN uygulamas\u0131, modelin yap\u0131land\u0131rmas\u0131n\u0131 ve mimarisini i\u00e7eren <code>model.py<\/code> dosyas\u0131n\u0131 sa\u011flar. Genellikle, COCO veri k\u00fcmesi \u00fczerinde \u00f6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klarla ba\u015flamak en iyi yakla\u015f\u0131md\u0131r (transfer \u00f6\u011frenimi).<\/p>\n<pre><code class=\"language-python\">\nimport os\nimport sys\nimport random\nimport math\nimport numpy as np\nimport skimage.io\nimport matplotlib.pyplot as plt\n\n<h2>Matterport Mask R-CNN k\u00fct\u00fcphanesini i\u00e7e aktar<\/h2>\nROOT_DIR = os.path.abspath(\"..\/\")\nsys.path.append(ROOT_DIR)\nfrom mrcnn import utils\nimport mrcnn.model as modellib\nfrom mrcnn import visualize\n\n<h2>Kendi yap\u0131land\u0131rma dosyan\u0131z\u0131 veya standart COCO yap\u0131land\u0131rmas\u0131n\u0131 kullan\u0131n<\/h2>\nfrom samples.coco import coco\n\n<h2>Modelin kaydedilece\u011fi dizin<\/h2>\nMODEL_DIR = os.path.join(ROOT_DIR, \"logs\")\n\n<h2>COCO veri k\u00fcmesi \u00fczerinde \u00f6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klar\u0131n yolu<\/h2>\nCOCO_MODEL_PATH = os.path.join(ROOT_DIR, \"mask_rcnn_coco.h5\")\n\n<h2>E\u011fer a\u011f\u0131rl\u0131klar yoksa indir<\/h2>\nif not os.path.exists(COCO_MODEL_PATH):\n    utils.download_trained_weights(COCO_MODEL_PATH)\n\n<h2>Yap\u0131land\u0131rma s\u0131n\u0131f\u0131<\/h2>\nclass InferenceConfig(coco.CocoConfig):\n    # Modelin \u00e7\u0131kar\u0131m modunda \u00e7al\u0131\u015fmas\u0131 i\u00e7in toplu i\u015f boyutunu (batch size) 1 olarak ayarla\n    GPU_COUNT = 1\n    IMAGES_PER_GPU = 1\n\nconfig = InferenceConfig()\nconfig.display()\n\n<h2>Modeli ba\u015flat<\/h2>\nmodel = modellib.MaskRCNN(mode=\"inference\", model_dir=MODEL_DIR, config=config)\n\n<h2>\u00d6nceden e\u011fitilmi\u015f COCO a\u011f\u0131rl\u0131klar\u0131n\u0131 y\u00fckle<\/h2>\nmodel.load_weights(COCO_MODEL_PATH, by_name=True)\n\n<h2>S\u0131n\u0131f isimleri (COCO veri k\u00fcmesi i\u00e7in)<\/h2>\nclass_names = ['BG', 'person', 'bicycle', 'car', 'motorcycle', 'airplane',\n               'bus', 'train', 'truck', 'boat', 'traffic light',\n               'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird',\n               'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear',\n               'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie',\n               'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball',\n               'kite', 'baseball bat', 'baseball glove', 'skateboard',\n               'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup',\n               'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',\n               'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza',\n               'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed',\n               'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote',\n               'keyboard', 'cell phone', 'microwave', 'oven',\n               'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase',\n               'scissors', 'teddy bear', 'hair drier', 'toothbrush']\n<\/code><\/pre>\n<h4>E\u011fitim S\u00fcreci<\/h4>\n<p>Kendi veri k\u00fcmeniz \u00fczerinde Mask R-CNN&#8217;i e\u011fitmek i\u00e7in, \u00f6ncelikle <code>Config<\/code> s\u0131n\u0131f\u0131ndan t\u00fcretilen kendi yap\u0131land\u0131rma s\u0131n\u0131f\u0131n\u0131z\u0131 olu\u015fturman\u0131z gerekir. Bu s\u0131n\u0131f, veri k\u00fcmesindeki s\u0131n\u0131f say\u0131s\u0131n\u0131, g\u00f6r\u00fcnt\u00fc boyutlar\u0131n\u0131, \u00f6\u011frenme oran\u0131n\u0131 ve di\u011fer hiperparametreleri tan\u0131mlar.<\/p>\n<pre><code class=\"language-python\">\nclass CustomConfig(coco.CocoConfig):\n    # Kendi veri k\u00fcmenizin ad\u0131n\u0131 verin\n    NAME = \"object\"\n    \n    # S\u0131n\u0131f say\u0131s\u0131n\u0131 g\u00fcncelleyin (arka plan + kendi s\u0131n\u0131flar\u0131n\u0131z)\n    NUM_CLASSES = 1 + 2  # BG + 2 kendi s\u0131n\u0131f\u0131n\u0131z (\u00f6rn. \"elma\", \"muz\")\n\n    # E\u011fitim i\u00e7in GPU say\u0131s\u0131 ve her GPU'daki g\u00f6r\u00fcnt\u00fc say\u0131s\u0131\n    GPU_COUNT = 1\n    IMAGES_PER_GPU = 2 # Daha b\u00fcy\u00fck bir de\u011fer bellek hatas\u0131na neden olabilir\n\n    # Di\u011fer hiperparametreleri ayarlay\u0131n\n    STEPS_PER_EPOCH = 100\n    DETECTION_MIN_CONFIDENCE = 0.9\n\nconfig = CustomConfig()\nconfig.display()\n\n<h2>E\u011fitim modunda modeli ba\u015flat<\/h2>\nmodel = modellib.MaskRCNN(mode=\"training\", model_dir=MODEL_DIR, config=config)\n\n<h2>\u00d6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klar\u0131 y\u00fckle (COCO veya kendi a\u011f\u0131rl\u0131klar\u0131n\u0131z)<\/h2>\n<h2>E\u011fer kendi a\u011f\u0131rl\u0131klar\u0131n\u0131z yoksa, COCO a\u011f\u0131rl\u0131klar\u0131ndan ba\u015flan\u0131r<\/h2>\nmodel.load_weights(COCO_MODEL_PATH, by_name=True, exclude=[\"mrcnn_class_logits\", \"mrcnn_bbox_fc\", \n                                                         \"mrcnn_bbox\", \"mrcnn_mask\"])\n\n<h2>Kendi veri k\u00fcmesi s\u0131n\u0131f\u0131n\u0131z\u0131 y\u00fckleyin (CustomDataset)<\/h2>\n<h2>dataset_train = CustomDataset()<\/h2>\n<h2>dataset_train.load_custom_data(dataset_dir, \"train\")<\/h2>\n<h2>dataset_train.prepare()<\/h2>\n\n<h2>dataset_val = CustomDataset()<\/h2>\n<h2>dataset_val.load_custom_data(dataset_dir, \"val\")<\/h2>\n<h2>dataset_val.prepare()<\/h2>\n\n<h2>E\u011fitim a\u015famalar\u0131<\/h2>\n<h2>1. A\u015fama: Yaln\u0131zca kafa katmanlar\u0131n\u0131 e\u011fit (transfer \u00f6\u011frenimi)<\/h2>\nprint(\"Kafa katmanlar\u0131n\u0131 e\u011fitiyor...\")\nmodel.train(dataset_train, dataset_val,\n            learning_rate=config.LEARNING_RATE,\n            epochs=10,\n            layers='heads')\n\n<h2>2. A\u015fama: T\u00fcm katmanlar\u0131 ince ayar yap<\/h2>\nprint(\"T\u00fcm katmanlara ince ayar yap\u0131yor...\")\nmodel.train(dataset_train, dataset_val,\n            learning_rate=config.LEARNING_RATE \/ 10,\n            epochs=20,\n            layers=\"all\")\n<\/code><\/pre>\n<ul>\n<li>\n        <strong>Hiperparametreler:<\/strong> <code>LEARNING_RATE<\/code>, <code>STEPS_PER_EPOCH<\/code>, <code>EPOCHS<\/code>, <code>DETECTION_MIN_CONFIDENCE<\/code> gibi hiperparametreler modelin performans\u0131n\u0131 ve e\u011fitim s\u00fcresini do\u011frudan etkiler. Bu de\u011ferler, veri k\u00fcmenize ve mevcut donan\u0131m\u0131n\u0131za g\u00f6re ayarlanmal\u0131d\u0131r.\n    <\/li>\n<li>\n        <strong>Loss Fonksiyonlar\u0131:<\/strong> Mask R-CNN, \u00fc\u00e7 ayr\u0131 g\u00f6revin kay\u0131plar\u0131n\u0131 birle\u015ftirir: RPN s\u0131n\u0131fland\u0131rma kayb\u0131, RPN s\u0131n\u0131r kutusu regresyon kayb\u0131, nihai s\u0131n\u0131fland\u0131rma kayb\u0131, nihai s\u0131n\u0131r kutusu regresyon kayb\u0131 ve maske kayb\u0131. Toplam kay\u0131p, bu bile\u015fenlerin a\u011f\u0131rl\u0131kl\u0131 toplam\u0131d\u0131r.\n    <\/li>\n<li>\n        <strong>Optimizasyon:<\/strong> Genellikle SGD (Stochastic Gradient Descent) optimiz\u00f6r\u00fc kullan\u0131l\u0131r. \u00d6\u011frenme oran\u0131, modelin yak\u0131nsama h\u0131z\u0131n\u0131 ve kalitesini belirler.\n    <\/li>\n<\/ul>\n<h4>\u00c7\u0131kar\u0131m (Inference)<\/h4>\n<p>E\u011fitimden sonra, model yeni g\u00f6r\u00fcnt\u00fcler \u00fczerinde nesneleri alg\u0131lamak ve segmentlere ay\u0131rmak i\u00e7in kullan\u0131labilir.<\/p>\n<pre><code class=\"language-python\">\n<h2>Test i\u00e7in bir g\u00f6r\u00fcnt\u00fc y\u00fckle<\/h2>\n<h2>IMAGE_DIR = os.path.join(ROOT_DIR, \"images\")<\/h2>\n<h2>file_names = next(os.walk(IMAGE_DIR))[2]<\/h2>\n<h2>image = skimage.io.imread(os.path.join(IMAGE_DIR, random.choice(file_names)))<\/h2>\n\n<h2>\u00d6rne\u011fin, bir dosya yolundan resim y\u00fckle<\/h2>\nimage_path = \"path\/to\/your\/image.jpg\"\nimage = skimage.io.imread(image_path)\n\n<h2>Modeli \u00e7\u0131kar\u0131m modunda \u00e7al\u0131\u015ft\u0131r<\/h2>\nresults = model.detect([image], verbose=1)\n\n<h2>Sonu\u00e7lar\u0131 al<\/h2>\nr = results[0]\n\n<h2>Sonu\u00e7lar\u0131 g\u00f6rselle\u015ftir<\/h2>\nvisualize.display_instances(image, r['rois'], r['masks'], r['class_ids'], \n                            class_names, r['scores'])\n<\/code><\/pre>\n<ul>\n<li>\n        <strong>Tek bir G\u00f6r\u00fcnt\u00fc \u00dczerinde:<\/strong> Yukar\u0131daki kod \u00f6rne\u011fi, tek bir g\u00f6r\u00fcnt\u00fc \u00fczerinde \u00e7\u0131kar\u0131m yapmay\u0131 g\u00f6stermektedir. <code>model.detect()<\/code> fonksiyonu, alg\u0131lanan nesnelerin s\u0131n\u0131r kutular\u0131n\u0131 (<code>rois<\/code>), maskelerini (<code>masks<\/code>), s\u0131n\u0131f ID&#8217;lerini (<code>class_ids<\/code>) ve g\u00fcven skorlar\u0131n\u0131 (<code>scores<\/code>) i\u00e7eren bir s\u00f6zl\u00fck d\u00f6nd\u00fcr\u00fcr.\n    <\/li>\n<li>\n        <strong>Video Ak\u0131\u015f\u0131nda:<\/strong> Video ak\u0131\u015f\u0131nda alg\u0131lama yapmak i\u00e7in, her bir video karesini ayr\u0131 bir g\u00f6r\u00fcnt\u00fc olarak i\u015fleyip yukar\u0131daki \u00e7\u0131kar\u0131m ad\u0131mlar\u0131n\u0131 tekrarlamak gerekir. OpenCV, video karelerini okumak ve sonu\u00e7lar\u0131 g\u00f6rselle\u015ftirmek i\u00e7in kullan\u0131labilir.<\/li>\n<\/ul>\n<h4>Sonu\u00e7lar\u0131n De\u011ferlendirilmesi<\/h4>\n<p>Nesne alg\u0131lama ve segmentasyon modellerinin performans\u0131n\u0131 de\u011ferlendirmek i\u00e7in \u00e7e\u015fitli metrikler kullan\u0131l\u0131r:<\/p>\n<ul>\n<li>\n        <strong>mAP (mean Average Precision):<\/strong> Nesne alg\u0131lama modelleri i\u00e7in en yayg\u0131n metriklerden biridir. Farkl\u0131 g\u00fcven e\u015fiklerinde hassasiyet-geri \u00e7a\u011f\u0131rma (precision-recall) e\u011frilerinin alt\u0131ndaki alan\u0131n ortalamas\u0131n\u0131 al\u0131r. COCO veri k\u00fcmesi, mAP@0.5, mAP@0.75 ve mAP@[.5:.05:.95] gibi farkl\u0131 IoU (Intersection over Union) e\u015fiklerinde mAP de\u011ferlerini kullan\u0131r.\n    <\/li>\n<li>\n        <strong>Maske Kalitesi Metrikleri:<\/strong> Segmentasyon maskelerinin kalitesini de\u011ferlendirmek i\u00e7in IoU (Jaccard Index) veya Dice Katsay\u0131s\u0131 gibi metrikler kullan\u0131l\u0131r. Bu metrikler, tahmin edilen maske ile ger\u00e7ek maske aras\u0131ndaki \u00f6rt\u00fc\u015fme oran\u0131n\u0131 \u00f6l\u00e7er.<\/li>\n<\/ul>\n<h3>Mask R-CNN&#8217;in Avantajlar\u0131 ve Dezavantajlar\u0131<\/h3>\n<h4>Avantajlar<\/h4>\n<ul>\n<li>\n        <strong>Y\u00fcksek Do\u011fruluk:<\/strong> Hem nesne alg\u0131lama hem de \u00f6rnek segmentasyon g\u00f6revlerinde state-of-the-art veya ona yak\u0131n do\u011fruluk oranlar\u0131 sunar.\n    <\/li>\n<li>\n        <strong>\u00c7ok G\u00f6revli Yap\u0131:<\/strong> Tek bir mimaride s\u0131n\u0131fland\u0131rma, s\u0131n\u0131r kutusu regresyonu ve maske segmentasyonunu ayn\u0131 anda ger\u00e7ekle\u015ftirir, bu da entegre bir \u00e7\u00f6z\u00fcm sunar.\n    <\/li>\n<li>\n        <strong>Piksel D\u00fczeyinde Hassasiyet:<\/strong> ROI Align katman\u0131 sayesinde, maske tahminlerinde y\u00fcksek mekansal hassasiyet sa\u011flar.\n    <\/li>\n<li>\n        <strong>Esneklik:<\/strong> Farkl\u0131 omurga a\u011flar\u0131 (ResNet, ResNeXt vb.) ve FPN ile kolayca adapte edilebilir.\n    <\/li>\n<li>\n        <strong>Transfer \u00d6\u011frenimi \u0130\u00e7in Uygun:<\/strong> B\u00fcy\u00fck veri k\u00fcmelerinde (COCO) \u00f6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klar sayesinde, daha k\u00fc\u00e7\u00fck \u00f6zel veri k\u00fcmelerinde bile ba\u015far\u0131l\u0131 bir \u015fekilde ince ayar yap\u0131labilir.\n    <\/li>\n<\/ul>\n<h4>Dezavantajlar<\/h4>\n<ul>\n<li>\n        <strong>Hesaplama Maliyeti:<\/strong> Derin bir a\u011f ve \u00e7oklu g\u00f6revli yap\u0131s\u0131 nedeniyle, e\u011fitim ve \u00e7\u0131kar\u0131m s\u0131ras\u0131nda y\u00fcksek hesaplama g\u00fcc\u00fc (\u00f6zellikle GPU) gerektirir.\n    <\/li>\n<li>\n        <strong>H\u0131z:<\/strong> Tek a\u015famal\u0131 dedekt\u00f6rlere (YOLO, SSD) g\u00f6re genellikle daha yava\u015ft\u0131r, bu da ger\u00e7ek zamanl\u0131 uygulamalarda bir k\u0131s\u0131tlama olabilir.\n    <\/li>\n<li>\n        <strong>Karma\u015f\u0131kl\u0131k:<\/strong> Mimarisi, di\u011fer baz\u0131 modellere g\u00f6re daha karma\u015f\u0131kt\u0131r, bu da anla\u015f\u0131lmas\u0131n\u0131 ve hata ay\u0131klamas\u0131n\u0131 zorla\u015ft\u0131rabilir.\n    <\/li>\n<li>\n        <strong>Bellek T\u00fcketimi:<\/strong> \u00d6zellikle y\u00fcksek \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc g\u00f6r\u00fcnt\u00fclerle \u00e7al\u0131\u015f\u0131rken y\u00fcksek GPU belle\u011fi t\u00fcketir.\n    <\/li>\n<\/ul>\n<h3>Kullan\u0131m Alanlar\u0131<\/h3>\n<p>Mask R-CNN&#8217;in benzersiz yetenekleri, onu \u00e7ok \u00e7e\u015fitli pratik uygulamalar i\u00e7in ideal bir se\u00e7im haline getirmi\u015ftir:<\/p>\n<ul>\n<li>\n        <strong>Otonom S\u00fcr\u00fc\u015f:<\/strong> Yollar, yayalar, di\u011fer ara\u00e7lar, trafik i\u015faretleri ve \u015feritlerin piksel d\u00fczeyinde do\u011fru bir \u015fekilde alg\u0131lanmas\u0131 ve segmentlere ayr\u0131lmas\u0131, otonom ara\u00e7lar\u0131n g\u00fcvenli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131 i\u00e7in hayati \u00f6neme sahiptir. Mask R-CNN, bu t\u00fcr karma\u015f\u0131k sahne anlay\u0131\u015f\u0131nda \u00f6nemli bir rol oynar.\n    <\/li>\n<li>\n        <strong>T\u0131bbi G\u00f6r\u00fcnt\u00fcleme:<\/strong> X-\u0131\u015f\u0131nlar\u0131, MRI ve CT taramalar\u0131 gibi t\u0131bbi g\u00f6r\u00fcnt\u00fclerde t\u00fcm\u00f6rler, lezyonlar, organlar veya h\u00fccre yap\u0131lar\u0131 gibi anormalliklerin ve ilgi alanlar\u0131n\u0131n otomatik olarak tespit edilmesi ve segmentlere ayr\u0131lmas\u0131, tan\u0131 ve tedavi planlamas\u0131na yard\u0131mc\u0131 olur.\n    <\/li>\n<li>\n        <strong>Robotik:<\/strong> Robotlar\u0131n \u00e7evrelerindeki nesneleri tan\u0131mas\u0131, manip\u00fcle etmesi ve onlarla etkile\u015fim kurmas\u0131 i\u00e7in nesne alg\u0131lama ve segmentasyon kritik \u00f6neme sahiptir. Mask R-CNN, robotlar\u0131n belirli nesneleri kavramas\u0131 veya belirli alanlardan ka\u00e7\u0131nmas\u0131 i\u00e7in gerekli hassas bilgiyi sa\u011flayabilir.\n    <\/li>\n<li>\n        <strong>G\u00fcvenlik ve G\u00f6zetim:<\/strong> Kalabal\u0131k analizi, \u015f\u00fcpheli davran\u0131\u015f tespiti veya belirli nesnelerin (silah, \u00e7anta vb.) otomatik olarak alg\u0131lanmas\u0131 gibi uygulamalarda Mask R-CNN kullan\u0131labilir.\n    <\/li>\n<li>\n        <strong>Perakende:<\/strong> Ma\u011fazalarda raf stok takibi, m\u00fc\u015fteri davran\u0131\u015f analizi veya \u00fcr\u00fcn yerle\u015fimi optimizasyonu gibi g\u00f6revlerde nesnelerin (\u00fcr\u00fcnlerin) tespiti ve say\u0131m\u0131 i\u00e7in kullan\u0131labilir.\n    <\/li>\n<li>\n        <strong>Uydu ve Hava G\u00f6r\u00fcnt\u00fcleri:<\/strong> Binalar\u0131n, yollar\u0131n, a\u011fa\u00e7lar\u0131n veya tar\u0131m alanlar\u0131n\u0131n haritaland\u0131r\u0131lmas\u0131 ve alanlar\u0131n\u0131n hesaplanmas\u0131 gibi co\u011frafi bilgi sistemleri (GIS) uygulamalar\u0131nda kullan\u0131labilir.\n    <\/li>\n<\/ul>\n<h3>Gelecek Trendler ve Alternatifler<\/h3>\n<p>Mask R-CNN, \u00f6rnek segmentasyon alan\u0131nda bir d\u00f6n\u00fcm noktas\u0131 olmas\u0131na ra\u011fmen, ara\u015ft\u0131rmalar daha h\u0131zl\u0131, daha hafif ve daha do\u011fru modeller geli\u015ftirmeye devam etmektedir.<\/p>\n<ul>\n<li>\n        <strong>Daha H\u0131zl\u0131 ve Hafif Modeller:<\/strong> Ger\u00e7ek zamanl\u0131 uygulamalar i\u00e7in daha h\u0131zl\u0131 \u00e7\u0131kar\u0131m s\u00fcreleri sunan Lite-Mask R-CNN, YOLACT (You Only Look At CoefficienTs) veya SOLOv2 (Segmenting Objects by LOcations v2) gibi modeller geli\u015ftirilmektedir. Bu modeller genellikle daha az parametreye sahip olup, mobil ve g\u00f6m\u00fcl\u00fc sistemlerde \u00e7al\u0131\u015fabilir.\n    <\/li>\n<li>\n        <strong>Di\u011fer Segmentasyon Modelleri:<\/strong> Sadece anlamsal segmentasyon (semantic segmentation) veya panoptik segmentasyon (panoptic segmentation) gibi farkl\u0131 segmentasyon g\u00f6revleri i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f modeller de bulunmaktad\u0131r. Panoptik segmentasyon, hem anlamsal hem de \u00f6rnek segmentasyonu birle\u015ftirerek her piksele bir s\u0131n\u0131f etiketi ve bir \u00f6rnek kimli\u011fi atar.\n    <\/li>\n<li>\n        <strong>3D Nesne Alg\u0131lama ve Segmentasyon:<\/strong> 2D g\u00f6r\u00fcnt\u00fclerden ziyade 3D nokta bulutlar\u0131 veya derinlik haritalar\u0131 \u00fczerinde \u00e7al\u0131\u015fan modeller, otonom ara\u00e7lar ve robotik gibi alanlarda \u00e7evrenin daha eksiksiz bir anlay\u0131\u015f\u0131n\u0131 sa\u011flamak i\u00e7in geli\u015ftirilmektedir.\n    <\/li>\n<li>\n        <strong>Transformers Tabanl\u0131 Modeller:<\/strong> Nesne alg\u0131lama ve segmentasyon g\u00f6revlerinde Transformer mimarisinin kullan\u0131m\u0131 (\u00f6rne\u011fin DETR, Mask2Former), gelecekteki ara\u015ft\u0131rmalar\u0131n \u00f6nemli bir y\u00f6n\u00fcn\u00fc olu\u015fturmaktad\u0131r. Bu modeller, evri\u015fimsel a\u011flar\u0131n baz\u0131 s\u0131n\u0131rlamalar\u0131n\u0131 a\u015fmay\u0131 hedeflemektedir.\n    <\/li>\n<\/ul>\n<h3>Sonu\u00e7<\/h3>\n<p>Mask R-CNN, derin \u00f6\u011frenme tabanl\u0131 nesne alg\u0131lama ve \u00f6rnek segmentasyon alan\u0131nda g\u00fc\u00e7l\u00fc ve \u00e7ok y\u00f6nl\u00fc bir mimaridir. Faster R-CNN&#8217;in sa\u011flam temelleri \u00fczerine in\u015fa edilen bu model, s\u0131n\u0131fland\u0131rma, s\u0131n\u0131r kutusu regresyonu ve piksel d\u00fczeyinde maske tahmini g\u00f6revlerini tek bir a\u011fda birle\u015ftirerek bilgisayar g\u00f6r\u00fc\u015f\u00fc yeteneklerini \u00f6nemli \u00f6l\u00e7\u00fcde ileriye ta\u015f\u0131m\u0131\u015ft\u0131r. \u00d6zellikle TensorFlow 1.14 ve Keras gibi yayg\u0131n kullan\u0131lan \u00e7er\u00e7evelerle entegrasyonu, geli\u015ftiricilerin bu g\u00fc\u00e7l\u00fc modeli kendi uygulamalar\u0131na kolayca dahil etmelerini sa\u011flam\u0131\u015ft\u0131r.<\/p>\n<p>Y\u00fcksek do\u011fruluk ve detayl\u0131 segmentasyon yetene\u011fi sayesinde Mask R-CNN, otonom s\u00fcr\u00fc\u015ften t\u0131bbi g\u00f6r\u00fcnt\u00fclemeye, roboti\u011fe kadar geni\u015f bir yelpazede kritik uygulamalarda kendine yer bulmu\u015ftur. Her ne kadar hesaplama a\u00e7\u0131s\u0131ndan yo\u011fun olsa da, transfer \u00f6\u011frenimi ve \u00f6nceden e\u011fitilmi\u015f modellerin kullan\u0131m\u0131, bu teknolojiyi daha eri\u015filebilir hale getirmektedir. Gelecekte daha h\u0131zl\u0131 ve verimli modellerin geli\u015ftirilmesiyle birlikte, Mask R-CNN&#8217;in temel prensipleri, bilgisayar g\u00f6r\u00fc\u015f\u00fcn\u00fcn bir\u00e7ok alan\u0131nda ilham kayna\u011f\u0131 olmaya devam edecektir. Bu makale, okuyuculara Mask R-CNN&#8217;in hem teorik altyap\u0131s\u0131n\u0131 hem de pratik uygulama ad\u0131mlar\u0131n\u0131 anlamalar\u0131 i\u00e7in kapsaml\u0131 bir rehber sunmay\u0131 ama\u00e7lam\u0131\u015ft\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131\nG\u00f6r\u00fcnt\u00fc i\u015fleme ve bilgisayar g\u00f6r\u00fc\u015f\u00fc alanlar\u0131, son y\u0131llarda derin \u00f6\u011fr","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-35666","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131\" \/>\n<meta property=\"og:description\" content=\"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131 G\u00f6r\u00fcnt\u00fc i\u015fleme ve bilgisayar g\u00f6r\u00fc\u015f\u00fc alanlar\u0131, son y\u0131llarda derin \u00f6\u011fr\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-02T09:40:59+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"26 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131\",\"datePublished\":\"2025-12-02T09:40:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/\"},\"wordCount\":4532,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/\",\"name\":\"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-02T09:40:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/","og_locale":"tr_TR","og_type":"article","og_title":"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131","og_description":"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131 G\u00f6r\u00fcnt\u00fc i\u015fleme ve bilgisayar g\u00f6r\u00fc\u015f\u00fc alanlar\u0131, son y\u0131llarda derin \u00f6\u011fr","og_url":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-02T09:40:59+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"26 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131","datePublished":"2025-12-02T09:40:59+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/"},"wordCount":4532,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/","url":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/","name":"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-02T09:40:59+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/mask-r-cnn-ile-nesne-algilama-tensorflow-1-14-ve-keras-kullanimi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Mask R-CNN ile Nesne Alg\u0131lama: TensorFlow 1.14 ve Keras Kullan\u0131m\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35666"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35666\/revisions"}],"predecessor-version":[{"id":35667,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35666\/revisions\/35667"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}