{"id":35229,"date":"2025-11-27T06:40:47","date_gmt":"2025-11-27T03:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35229"},"modified":"2025-11-27T06:40:47","modified_gmt":"2025-11-27T03:40:47","slug":"nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/","title":{"rendered":"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme"},"content":{"rendered":"<p><body><\/p>\n<h2>Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme<\/h2>\n<p>Nesne tespiti, bilgisayar g\u00f6r\u00fc\u015f\u00fc alan\u0131n\u0131n en temel ve kritik g\u00f6revlerinden biridir. Bir g\u00f6r\u00fcnt\u00fcdeki veya videodaki nesnelerin konumlar\u0131n\u0131 (genellikle s\u0131n\u0131rlay\u0131c\u0131 kutularla &#8211; bounding boxes) ve s\u0131n\u0131flar\u0131n\u0131 belirlemeyi ama\u00e7lar. Geleneksel nesne tespiti y\u00f6ntemleri, bir nesnenin genel konumunu ve kategorisini belirlerken, daha geli\u015fmi\u015f uygulamalar, her bir pikselin hangi nesneye ait oldu\u011funu bilmeyi gerektirir. \u0130\u015fte bu noktada \u00f6rnek b\u00f6l\u00fctleme (instance segmentation) devreye girer ve Mask R-CNN, bu alandaki en etkili ve yayg\u0131n kullan\u0131lan derin \u00f6\u011frenme modellerinden biri olarak \u00f6ne \u00e7\u0131kar. Bu makalede, Mask R-CNN mimarisini, \u00e7al\u0131\u015fma prensiplerini ve TensorFlow 1.14 ile Keras kullanarak nas\u0131l uygulanabilece\u011fini detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Giri\u015f: Nesne Tespiti ve \u00d6rnek B\u00f6l\u00fctleme<\/h3>\n<p>Bilgisayar g\u00f6r\u00fc\u015f\u00fc, makinelerin insan g\u00f6z\u00fc gibi g\u00f6rmesini, anlamas\u0131n\u0131 ve yorumlamas\u0131n\u0131 sa\u011flayan bir yapay zeka dal\u0131d\u0131r. Bu alandaki temel g\u00f6revlerden biri olan nesne tespiti, bir g\u00f6r\u00fcnt\u00fc i\u00e7inde belirli nesnelerin varl\u0131\u011f\u0131n\u0131 ve konumunu belirlemeyi i\u00e7erir. \u00d6rne\u011fin, bir foto\u011fraftaki t\u00fcm arabalar\u0131 veya insanlar\u0131 bulmak nesne tespitine bir \u00f6rnektir. Bu genellikle, her nesnenin etraf\u0131na bir s\u0131n\u0131rlay\u0131c\u0131 kutu \u00e7izerek ve nesnenin s\u0131n\u0131f\u0131n\u0131 (\u00f6rne\u011fin &#8220;araba&#8221;, &#8220;insan&#8221;) etiketleyerek yap\u0131l\u0131r.<\/p>\n<p>Nesne tespitinin bir ad\u0131m \u00f6tesi ise \u00f6rnek b\u00f6l\u00fctlemedir. \u00d6rnek b\u00f6l\u00fctleme, sadece nesnelerin s\u0131n\u0131rlay\u0131c\u0131 kutular\u0131n\u0131 ve s\u0131n\u0131flar\u0131n\u0131 belirlemekle kalmaz, ayn\u0131 zamanda her bir nesnenin piksel d\u00fczeyinde bir maskesini de \u00e7\u0131kar\u0131r. Bu, ayn\u0131 s\u0131n\u0131fa ait farkl\u0131 nesneleri (\u00f6rne\u011fin, bir g\u00f6r\u00fcnt\u00fcdeki iki farkl\u0131 insan\u0131) ay\u0131rt etmeyi m\u00fcmk\u00fcn k\u0131lar. \u00d6rne\u011fin, bir g\u00f6r\u00fcnt\u00fcdeki her bir araban\u0131n tam olarak hangi piksellerden olu\u015ftu\u011funu belirlemek, otonom ara\u00e7lar veya robotik uygulamalar i\u00e7in hayati \u00f6neme sahip olabilir.<\/p>\n<p>Derin \u00f6\u011frenme, \u00f6zellikle evri\u015fimli sinir a\u011flar\u0131 (Convolutional Neural Networks &#8211; CNN), nesne tespiti ve \u00f6rnek b\u00f6l\u00fctleme alanlar\u0131nda devrim yaratm\u0131\u015ft\u0131r. R-CNN serisi (R-CNN, Fast R-CNN, Faster R-CNN) bu evrimin temel ta\u015flar\u0131d\u0131r. Mask R-CNN, Faster R-CNN&#8217;in \u00fczerine in\u015fa edilmi\u015f ve \u00f6rnek b\u00f6l\u00fctleme yetene\u011fi eklenmi\u015f g\u00fc\u00e7l\u00fc bir modeldir. Bu model, hem nesne tespiti hem de \u00f6rnek b\u00f6l\u00fctleme g\u00f6revlerini tek bir a\u011f i\u00e7inde e\u015f zamanl\u0131 olarak ger\u00e7ekle\u015ftirebilir.<\/p>\n<h3>Mask R-CNN Mimarisi ve Temel Bile\u015fenleri<\/h3>\n<p>Mask R-CNN, temel olarak Faster R-CNN mimarisinin \u00fczerine eklenen bir maske \u00fcretim dal\u0131 ile geli\u015ftirilmi\u015ftir. Faster R-CNN, g\u00f6r\u00fcnt\u00fclerdeki nesne adaylar\u0131n\u0131 \u00f6nermek i\u00e7in bir B\u00f6lge \u00d6neri A\u011f\u0131 (Region Proposal Network &#8211; RPN) kullan\u0131r ve ard\u0131ndan bu aday b\u00f6lgeleri s\u0131n\u0131fland\u0131rmak ve s\u0131n\u0131rlay\u0131c\u0131 kutular\u0131n\u0131 rafine etmek i\u00e7in bir Evri\u015fimli Sinir A\u011f\u0131 (CNN) kullan\u0131r. Mask R-CNN, bu yap\u0131n\u0131n sonuna, her bir nesne aday\u0131 i\u00e7in ikili bir maske \u00fcreten k\u00fc\u00e7\u00fck bir FCN (Fully Convolutional Network) ekler.<\/p>\n<p>Mask R-CNN&#8217;in ana bile\u015fenlerini ve \u00e7al\u0131\u015fma prensibini daha detayl\u0131 inceleyelim:<\/p>\n<h4>1. Omurga A\u011f\u0131 (Backbone Network)<\/h4>\n<p>Mask R-CNN&#8217;in ilk ad\u0131m\u0131, giri\u015f g\u00f6r\u00fcnt\u00fcs\u00fcnden \u00f6zellik haritalar\u0131 \u00e7\u0131karmakt\u0131r. Bu g\u00f6rev i\u00e7in genellikle derin evri\u015fimli sinir a\u011flar\u0131 kullan\u0131l\u0131r. En yayg\u0131n kullan\u0131lan omurga a\u011flar\u0131 aras\u0131nda ResNet (Residual Network) ve ResNeXt gibi mimariler bulunur.<\/p>\n<p>*   <strong>ResNet:<\/strong> Derin a\u011flar\u0131n e\u011fitimini kolayla\u015ft\u0131rmak i\u00e7in atlama ba\u011flant\u0131lar\u0131 (skip connections) kullanan g\u00fc\u00e7l\u00fc bir CNN mimarisidir. Mask R-CNN genellikle ResNet-50 veya ResNet-101 gibi daha derin varyantlar\u0131n\u0131 kullan\u0131r.<br \/>\n*   <strong>FPN (Feature Pyramid Network):<\/strong> Sadece tek bir \u00f6zellik haritas\u0131 yerine, farkl\u0131 \u00e7\u00f6z\u00fcn\u00fcrl\u00fcklerde birden fazla \u00f6zellik haritas\u0131 \u00fcreten bir yap\u0131d\u0131r. FPN, k\u00fc\u00e7\u00fck nesnelerin tespitinde \u00e7ok etkilidir \u00e7\u00fcnk\u00fc d\u00fc\u015f\u00fck seviyeli (y\u00fcksek \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc) \u00f6zellik haritalar\u0131ndan ince taneli bilgileri ve y\u00fcksek seviyeli (d\u00fc\u015f\u00fck \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc) \u00f6zellik haritalar\u0131ndan anlamsal bilgileri birle\u015ftirerek, farkl\u0131 \u00f6l\u00e7eklerdeki nesneler i\u00e7in zengin \u00f6zellik temsilleri sa\u011flar. Mask R-CNN&#8217;de ResNet genellikle bir FPN ile birle\u015ftirilerek kullan\u0131l\u0131r (\u00f6rne\u011fin, ResNet-101-FPN). Bu kombinasyon, \u00f6zellikle farkl\u0131 boyutlardaki nesnelerin do\u011fru bir \u015fekilde alg\u0131lanmas\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p>Omurga a\u011f\u0131, giri\u015f g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc alarak \u00e7e\u015fitli seviyelerde anlamsal olarak zengin \u00f6zellik haritalar\u0131 \u00fcretir. Bu \u00f6zellik haritalar\u0131, sonraki ad\u0131mlar i\u00e7in temel olu\u015fturur.<\/p>\n<h4>2. B\u00f6lge \u00d6neri A\u011f\u0131 (Region Proposal Network &#8211; RPN)<\/h4>\n<p>RPN, omurga a\u011f\u0131ndan gelen \u00f6zellik haritalar\u0131n\u0131 kullanarak olas\u0131 nesne konumlar\u0131n\u0131 (b\u00f6lge \u00f6nerilerini) belirlemekle g\u00f6revlidir. Bu a\u011f, her bir konum i\u00e7in \u00f6nceden tan\u0131mlanm\u0131\u015f oran ve boyutlara sahip &#8220;anchor box&#8221; ad\u0131 verilen bir dizi varsay\u0131msal s\u0131n\u0131rlay\u0131c\u0131 kutu \u00fczerinde \u00e7al\u0131\u015f\u0131r.<\/p>\n<p>*   <strong>Anchor Box&#8217;lar:<\/strong> RPN, her bir pikselde farkl\u0131 boyut ve en-boy oranlar\u0131na sahip bir dizi anchor box olu\u015fturur. Bu anchor box&#8217;lar, olas\u0131 nesnelerin \u015fekillerini ve boyutlar\u0131n\u0131 temsil eder.<br \/>\n*   <strong>\u0130kili S\u0131n\u0131fland\u0131rma:<\/strong> RPN, her bir anchor box i\u00e7in iki g\u00f6rev ger\u00e7ekle\u015ftirir:<br \/>\n    *   <strong>Nesne\/Arka Plan S\u0131n\u0131fland\u0131rmas\u0131:<\/strong> Her bir anchor box&#8217;\u0131n bir nesne i\u00e7erip i\u00e7ermedi\u011fini (nesne mi, arka plan m\u0131?) ikili olarak s\u0131n\u0131fland\u0131r\u0131r.<br \/>\n    *   <strong>S\u0131n\u0131rlay\u0131c\u0131 Kutu Regresyonu:<\/strong> Nesne i\u00e7erdi\u011fi d\u00fc\u015f\u00fcn\u00fclen anchor box&#8217;lar i\u00e7in, kutunun koordinatlar\u0131n\u0131 (x, y, geni\u015flik, y\u00fckseklik) ger\u00e7ek nesneye daha iyi uyacak \u015fekilde ayarlar.<\/p>\n<p>RPN&#8217;den \u00e7\u0131kan sonu\u00e7lar, nesne i\u00e7erme olas\u0131l\u0131\u011f\u0131 y\u00fcksek olan ve koordinatlar\u0131 rafine edilmi\u015f bir dizi b\u00f6lge \u00f6nerisidir (Region of Interest &#8211; RoI). Bu \u00f6neriler hen\u00fcz nihai s\u0131n\u0131rlay\u0131c\u0131 kutular de\u011fildir, ancak daha ileri i\u015fleme i\u00e7in adaylard\u0131r.<\/p>\n<h4>3. ROI Align Katman\u0131<\/h4>\n<p>Faster R-CNN&#8217;de kullan\u0131lan ROI Pooling katman\u0131, b\u00f6lge \u00f6nerilerini standart bir boyuta getirmek i\u00e7in nicemleme (quantization) i\u015flemleri yapard\u0131. Bu nicemleme, \u00f6zellikle maske \u00fcretimi gibi piksel d\u00fczeyinde hassasiyet gerektiren g\u00f6revlerde k\u00fc\u00e7\u00fck konumland\u0131rma hatalar\u0131na yol a\u00e7abiliyordu.<\/p>\n<p>Mask R-CNN, bu sorunu \u00e7\u00f6zmek i\u00e7in <strong>ROI Align<\/strong> katman\u0131n\u0131 tan\u0131tt\u0131. ROI Align, nicemleme yapmadan, ikili enterpolasyon (bilinear interpolation) kullanarak \u00f6zellik haritas\u0131ndan RoI&#8217;ye kar\u015f\u0131l\u0131k gelen pikselleri hassas bir \u015fekilde \u00f6rnekler. Bu, maske \u00fcretimi i\u00e7in kritik olan piksel d\u00fczeyinde hizalama do\u011frulu\u011funu \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. ROI Align, RoI&#8217;leri sabit bir boyuta (\u00f6rne\u011fin, 7&#215;7 veya 14&#215;14) d\u00f6n\u00fc\u015ft\u00fcr\u00fcr ve bu \u00e7\u0131kt\u0131lar daha sonra s\u0131n\u0131fland\u0131rma, s\u0131n\u0131rlay\u0131c\u0131 kutu regresyonu ve maske \u00fcretimi i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>4. S\u0131n\u0131fland\u0131rma ve S\u0131n\u0131rlay\u0131c\u0131 Kutu Regresyon Kafas\u0131<\/h4>\n<p>ROI Align&#8217;den gelen sabit boyutlu \u00f6zellik haritalar\u0131, iki paralel kola beslenir:<\/p>\n<p>*   <strong>S\u0131n\u0131fland\u0131rma Kafas\u0131:<\/strong> Bu kol, her bir RoI&#8217;nin hangi nesne s\u0131n\u0131f\u0131na ait oldu\u011funu (\u00f6rne\u011fin, &#8220;kedi&#8221;, &#8220;k\u00f6pek&#8221;, &#8220;insan&#8221;) \u00e7ok s\u0131n\u0131fl\u0131 olarak s\u0131n\u0131fland\u0131r\u0131r. Genellikle tam ba\u011fl\u0131 katmanlardan (fully connected layers) olu\u015fur ve bir softmax aktivasyon fonksiyonu ile her s\u0131n\u0131f i\u00e7in olas\u0131l\u0131k da\u011f\u0131l\u0131m\u0131 verir.<br \/>\n*   <strong>S\u0131n\u0131rlay\u0131c\u0131 Kutu Regresyon Kafas\u0131:<\/strong> Bu kol, s\u0131n\u0131fland\u0131rma kafas\u0131 taraf\u0131ndan s\u0131n\u0131fland\u0131r\u0131lan RoI&#8217;lerin s\u0131n\u0131rlay\u0131c\u0131 kutu koordinatlar\u0131n\u0131 daha da rafine eder. Bu, nesnenin ger\u00e7ek konumuna daha yak\u0131n bir s\u0131n\u0131rlay\u0131c\u0131 kutu elde etmeyi sa\u011flar. Her s\u0131n\u0131f i\u00e7in ayr\u0131 ayr\u0131 regresyon yap\u0131l\u0131r.<\/p>\n<p>Bu iki kafa, Faster R-CNN&#8217;in temel g\u00f6revlerini yerine getirir.<\/p>\n<h4>5. Maske Kafas\u0131 (Mask Head)<\/h4>\n<p>Mask R-CNN&#8217;i Faster R-CNN&#8217;den ay\u0131ran en \u00f6nemli bile\u015fen, maske kafas\u0131d\u0131r. Bu kafa, s\u0131n\u0131fland\u0131rma ve s\u0131n\u0131rlay\u0131c\u0131 kutu regresyon kafalar\u0131na paralel olarak \u00e7al\u0131\u015f\u0131r.<\/p>\n<p>*   ROI Align&#8217;den gelen ayn\u0131 sabit boyutlu \u00f6zellik haritalar\u0131n\u0131 al\u0131r.<br \/>\n*   K\u00fc\u00e7\u00fck bir Tam Evri\u015fimli A\u011f (Fully Convolutional Network &#8211; FCN) yap\u0131s\u0131na sahiptir. Bu FCN, her bir RoI i\u00e7in piksel d\u00fczeyinde bir maske tahmin eder.<br \/>\n*   Her bir s\u0131n\u0131f i\u00e7in K adet ikili maske (K s\u0131n\u0131f say\u0131s\u0131 olmak \u00fczere) \u00fcretir. Bu maskeler genellikle d\u00fc\u015f\u00fck \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc (\u00f6rne\u011fin, 28&#215;28 piksel) olabilir ve daha sonra orijinal RoI boyutuna yeniden boyutland\u0131r\u0131l\u0131r.<br \/>\n*   Her bir maske i\u00e7in ikili \u00e7apraz entropi kayb\u0131 (binary cross-entropy loss) kullan\u0131l\u0131r, \u00e7\u00fcnk\u00fc her pikselin belirli bir nesneye ait olup olmad\u0131\u011f\u0131na dair ikili bir karar verir.<\/p>\n<p>Maske kafas\u0131n\u0131n bu paralel yap\u0131s\u0131, Mask R-CNN&#8217;in hem nesne tespiti hem de \u00f6rnek b\u00f6l\u00fctleme g\u00f6revlerini e\u015f zamanl\u0131 ve etkili bir \u015fekilde ger\u00e7ekle\u015ftirmesini sa\u011flar.<\/p>\n<h3>Mask R-CNN&#8217;in \u00c7al\u0131\u015fma Prensibi<\/h3>\n<p>Mask R-CNN&#8217;in \u00e7al\u0131\u015fma ak\u0131\u015f\u0131n\u0131 ad\u0131m ad\u0131m \u00f6zetleyelim:<\/p>\n<p>1.  <strong>Giri\u015f G\u00f6r\u00fcnt\u00fcs\u00fc:<\/strong> Bir g\u00f6r\u00fcnt\u00fc a\u011fa beslenir.<br \/>\n2.  <strong>\u00d6zellik \u00c7\u0131kar\u0131m\u0131:<\/strong> Omurga a\u011f\u0131 (\u00f6rne\u011fin ResNet-FPN), giri\u015f g\u00f6r\u00fcnt\u00fcs\u00fcnden farkl\u0131 seviyelerde \u00f6zellik haritalar\u0131 \u00e7\u0131kar\u0131r.<br \/>\n3.  <strong>B\u00f6lge \u00d6nerisi:<\/strong> RPN, bu \u00f6zellik haritalar\u0131n\u0131 kullanarak nesne i\u00e7erme olas\u0131l\u0131\u011f\u0131 y\u00fcksek olan bir dizi b\u00f6lge \u00f6nerisi (RoI) \u00fcretir. Bu \u00f6neriler, anchor box&#8217;lar \u00fczerinden ikili s\u0131n\u0131fland\u0131rma ve s\u0131n\u0131rlay\u0131c\u0131 kutu regresyonu ile elde edilir.<br \/>\n4.  <strong>Hassas Hizalama:<\/strong> RoI Align katman\u0131, RPN&#8217;den gelen her bir b\u00f6lge \u00f6nerisini (RoI) ve ilgili \u00f6zellik haritas\u0131n\u0131 alarak, ikili enterpolasyon ile hassas bir \u015fekilde sabit boyutlu \u00f6zellik haritalar\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<br \/>\n5.  <strong>Paralel \u00c7\u0131k\u0131\u015flar:<\/strong> ROI Align&#8217;den gelen sabit boyutlu \u00f6zellik haritalar\u0131 \u00fc\u00e7 paralel kola beslenir:<br \/>\n    *   <strong>S\u0131n\u0131fland\u0131rma:<\/strong> RoI&#8217;nin hangi nesne s\u0131n\u0131f\u0131na ait oldu\u011funu belirler.<br \/>\n    *   <strong>S\u0131n\u0131rlay\u0131c\u0131 Kutu Regresyonu:<\/strong> RoI&#8217;nin s\u0131n\u0131rlay\u0131c\u0131 kutu koordinatlar\u0131n\u0131 daha da hassasla\u015ft\u0131r\u0131r.<br \/>\n    *   <strong>Maske Tahmini:<\/strong> RoI i\u00e7indeki nesnenin piksel d\u00fczeyinde ikili maskesini \u00fcretir.<br \/>\n6.  <strong>\u00c7oklu G\u00f6rev Kayb\u0131:<\/strong> Modelin e\u011fitimi s\u0131ras\u0131nda, bu \u00fc\u00e7 g\u00f6revin (s\u0131n\u0131fland\u0131rma, s\u0131n\u0131rlay\u0131c\u0131 kutu regresyonu ve maske tahmini) kay\u0131plar\u0131 birle\u015ftirilir ve toplam kay\u0131p fonksiyonu minimize edilerek a\u011f e\u011fitilir.<\/p>\n<p>    *   $L = L_{cls} + L_{box} + L_{mask}$<br \/>\n    *   $L_{cls}$: S\u0131n\u0131fland\u0131rma kayb\u0131 (genellikle \u00e7apraz entropi).<br \/>\n    *   $L_{box}$: S\u0131n\u0131rlay\u0131c\u0131 kutu regresyon kayb\u0131 (genellikle p\u00fcr\u00fczs\u00fcz L1 kayb\u0131 &#8211; smooth L1 loss).<br \/>\n    *   $L_{mask}$: Maske kayb\u0131 (genellikle ikili \u00e7apraz entropi).<\/p>\n<p>7.  <strong>Sonu\u00e7lar:<\/strong> E\u011fitimli model, yeni bir g\u00f6r\u00fcnt\u00fc \u00fczerinde tahmin yaparken, her bir alg\u0131lanan nesne i\u00e7in bir s\u0131n\u0131f etiketi, bir s\u0131n\u0131rlay\u0131c\u0131 kutu ve piksel d\u00fczeyinde bir maske \u00e7\u0131kt\u0131s\u0131 verir. \u00c7ak\u0131\u015fan s\u0131n\u0131rlay\u0131c\u0131 kutular\u0131 elemek i\u00e7in Non-Maximum Suppression (NMS) gibi teknikler kullan\u0131l\u0131r.<\/p>\n<h3>TensorFlow 1.14 ve Keras ile Uygulama<\/h3>\n<p>Mask R-CNN, karma\u015f\u0131k bir mimariye sahip oldu\u011fundan, genellikle \u00f6zel olarak tasarlanm\u0131\u015f k\u00fct\u00fcphaneler veya projeler arac\u0131l\u0131\u011f\u0131yla uygulan\u0131r. Matterport&#8217;un Mask R-CNN uygulamas\u0131, Keras ve TensorFlow \u00fczerinde geli\u015ftirilmi\u015f ve topluluk taraf\u0131ndan yayg\u0131n olarak kullan\u0131lan bir referans uygulamad\u0131r. Bu b\u00f6l\u00fcmde, bu t\u00fcr bir uygulaman\u0131n TensorFlow 1.14 ve Keras ba\u011flam\u0131nda nas\u0131l \u00e7al\u0131\u015faca\u011f\u0131n\u0131 ve nelere dikkat edilmesi gerekti\u011fini a\u00e7\u0131klayaca\u011f\u0131z.<\/p>\n<p>TensorFlow 1.14, TensorFlow&#8217;un eski bir s\u00fcr\u00fcm\u00fc olmas\u0131na ra\u011fmen, bir\u00e7ok mevcut projenin ve altyap\u0131n\u0131n bu s\u00fcr\u00fcm\u00fc kullanmaya devam etti\u011fi durumlar olabilir. Keras, TensorFlow 1.x&#8217;te <code>tf.keras<\/code> mod\u00fcl\u00fc olarak veya ayr\u0131 bir k\u00fct\u00fcphane olarak entegre edilebilir ve y\u00fcksek seviyeli bir API sa\u011flayarak model olu\u015fturma ve e\u011fitimi basitle\u015ftirir.<\/p>\n<h4>1. Gerekli K\u00fct\u00fcphaneler ve Ortam Kurulumu<\/h4>\n<p>Mask R-CNN uygulamas\u0131 i\u00e7in a\u015fa\u011f\u0131daki k\u00fct\u00fcphanelere ihtiyac\u0131n\u0131z olacakt\u0131r:<\/p>\n<p>*   <strong>TensorFlow 1.14:<\/strong> Belirtilen s\u00fcr\u00fcm. GPU deste\u011fi i\u00e7in CUDA ve cuDNN&#8217;in uygun s\u00fcr\u00fcmleri y\u00fckl\u00fc olmal\u0131d\u0131r.<br \/>\n*   <strong>Keras:<\/strong> <code>pip install Keras<\/code> veya <code>tf.keras<\/code> kullan\u0131m\u0131.<br \/>\n*   <strong>NumPy:<\/strong> Matematiksel i\u015flemler i\u00e7in.<br \/>\n*   <strong>OpenCV (cv2):<\/strong> G\u00f6r\u00fcnt\u00fc i\u015fleme g\u00f6revleri i\u00e7in (boyutland\u0131rma, renklendirme vb.).<br \/>\n*   <strong>Matplotlib:<\/strong> G\u00f6rselle\u015ftirme i\u00e7in.<br \/>\n*   <strong>h5py:<\/strong> Model a\u011f\u0131rl\u0131klar\u0131n\u0131 kaydetmek ve y\u00fcklemek i\u00e7in.<br \/>\n*   <strong>scikit-image:<\/strong> G\u00f6r\u00fcnt\u00fc manip\u00fclasyonu i\u00e7in.<\/p>\n<p>Bir sanal ortam (\u00f6rne\u011fin <code>conda<\/code> veya <code>venv<\/code>) olu\u015fturmak ve bu k\u00fct\u00fcphaneleri buraya kurmak en iyi uygulamad\u0131r.<\/p>\n<pre><code class=\"language-bash\">conda create -n maskrcnn_tf114 python=3.6\nconda activate maskrcnn_tf114\npip install tensorflow-gpu==1.14.0 # veya tensorflow==1.14.0 CPU i\u00e7in\npip install Keras==2.2.5 # TF 1.14 ile uyumlu bir Keras s\u00fcr\u00fcm\u00fc\npip install numpy opencv-python matplotlib h5py scikit-image<\/code><\/pre>\n<p><em>Not: TensorFlow 1.14 ile uyumlu Keras s\u00fcr\u00fcmleri genellikle 2.2.x serisidir. Daha yeni Keras s\u00fcr\u00fcmleri TF 2.x ile daha uyumludur.<\/em><\/p>\n<h4>2. Veri Seti Haz\u0131rl\u0131\u011f\u0131<\/h4>\n<p>Mask R-CNN gibi derin \u00f6\u011frenme modelleri, b\u00fcy\u00fck ve etiketlenmi\u015f veri setlerine ihtiya\u00e7 duyar.<\/p>\n<p>*   <strong>Standart Veri Setleri:<\/strong> COCO (Common Objects in Context) ve Pascal VOC gibi veri setleri, nesne tespiti ve \u00f6rnek b\u00f6l\u00fctleme i\u00e7in yayg\u0131n olarak kullan\u0131l\u0131r. COCO, \u00f6zellikle segmentasyon maskeleri i\u00e7erdi\u011fi i\u00e7in Mask R-CNN e\u011fitimi i\u00e7in idealdir.<br \/>\n*   <strong>\u00d6zel Veri Setleri:<\/strong> Kendi \u00f6zel uygulaman\u0131z i\u00e7in bir veri seti kullan\u0131yorsan\u0131z, g\u00f6r\u00fcnt\u00fcleri ve bunlara kar\u015f\u0131l\u0131k gelen s\u0131n\u0131rlay\u0131c\u0131 kutular\u0131 ve piksel maskelerini etiketlemeniz gerekir. VGG Image Annotator (VIA) veya LabelMe gibi ara\u00e7lar bu ama\u00e7la kullan\u0131labilir.<br \/>\n*   <strong>Veri Y\u00fckleme ve \u00d6n \u0130\u015fleme:<\/strong> Model, genellikle g\u00f6r\u00fcnt\u00fcleri ve bunlara kar\u015f\u0131l\u0131k gelen etiketleri (s\u0131n\u0131flar, s\u0131n\u0131rlay\u0131c\u0131 kutular, maskeler) belirli bir formatta bekler. Matterport&#8217;un Mask R-CNN deposu, COCO veri setini y\u00fcklemek ve i\u015flemek i\u00e7in yard\u0131mc\u0131 fonksiyonlar i\u00e7erir. Kendi veri setinizi kullan\u0131yorsan\u0131z, bu yard\u0131mc\u0131 fonksiyonlar\u0131 kendi veri format\u0131n\u0131za uyarlaman\u0131z gerekecektir. \u00d6n i\u015fleme ad\u0131mlar\u0131 aras\u0131nda g\u00f6r\u00fcnt\u00fc boyutland\u0131rma, normalle\u015ftirme ve veri art\u0131rma (data augmentation) yer alabilir.<\/p>\n<h4>3. Mask R-CNN Modelinin Y\u00fcklenmesi veya Olu\u015fturulmas\u0131<\/h4>\n<p>Matterport&#8217;un Mask R-CNN deposu, Keras ile Mask R-CNN modelini tan\u0131mlayan Python kodunu i\u00e7erir.<\/p>\n<p>*   <strong>\u00d6nceden E\u011fitilmi\u015f A\u011f\u0131rl\u0131klar:<\/strong> Genellikle, ImageNet \u00fczerinde \u00f6nceden e\u011fitilmi\u015f ResNet a\u011f\u0131rl\u0131klar\u0131yla ba\u015flan\u0131r. Daha sonra, COCO veri seti \u00fczerinde \u00f6nceden e\u011fitilmi\u015f Mask R-CNN a\u011f\u0131rl\u0131klar\u0131 y\u00fcklenebilir. Bu, modelin s\u0131f\u0131rdan e\u011fitim s\u00fcresini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r ve daha iyi performans sa\u011flar. Bu i\u015flem, &#8220;transfer \u00f6\u011frenimi&#8221; olarak bilinir.<br \/>\n*   <strong>Model Konfig\u00fcrasyonu:<\/strong> Modelin davran\u0131\u015f\u0131n\u0131 (\u00f6rne\u011fin, g\u00f6r\u00fcnt\u00fc boyutu, \u00f6\u011frenme oran\u0131, RPN anchor box boyutlar\u0131, s\u0131n\u0131f say\u0131s\u0131 vb.) kontrol eden bir <code>Config<\/code> s\u0131n\u0131f\u0131 bulunur. Kendi uygulaman\u0131z i\u00e7in bu konfig\u00fcrasyonu \u00f6zelle\u015ftirmeniz gerekir.<br \/>\n*   <strong>Model Olu\u015fturma:<\/strong> Keras&#8217;\u0131n <code>Model<\/code> API&#8217;si kullan\u0131larak Mask R-CNN mimarisi olu\u015fturulur. Matterport&#8217;un kodunda <code>mrcnn.model.MaskRCNN<\/code> s\u0131n\u0131f\u0131 bu g\u00f6revi \u00fcstlenir.<\/p>\n<pre><code class=\"language-python\">from mrcnn.model import MaskRCNN\nfrom mrcnn.config import Config\n\n<h2>Kendi konfig\u00fcrasyon s\u0131n\u0131f\u0131n\u0131z\u0131 tan\u0131mlay\u0131n<\/h2>\nclass CustomConfig(Config):\n    NAME = \"custom_dataset\"\n    GPU_COUNT = 1\n    IMAGES_PER_GPU = 2 # Batch size\n    NUM_CLASSES = 1 + N # N: kendi s\u0131n\u0131f say\u0131n\u0131z (1 arka plan i\u00e7in)\n    IMAGE_MIN_DIM = 512\n    IMAGE_MAX_DIM = 512\n    # Di\u011fer parametreler...\n\nconfig = CustomConfig()\nconfig.display()\n\n<h2>Model olu\u015fturma<\/h2>\n<h2>mode: \"training\", \"inference\" veya \"scoring\"<\/h2>\nmodel = MaskRCNN(mode=\"training\", config=config, model_dir=\"\/path\/to\/logs\")\n\n<h2>\u00d6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klar\u0131 y\u00fckleme (\u00f6rne\u011fin COCO)<\/h2>\nmodel.load_weights(\"mask_rcnn_coco.h5\", by_name=True, exclude=[\n    \"mrcnn_class_logits\", \"mrcnn_bbox_fc\",\n    \"mrcnn_bbox\", \"mrcnn_mask\"]) # Kendi s\u0131n\u0131flar\u0131n\u0131z i\u00e7in son katmanlar\u0131 d\u0131\u015far\u0131da b\u0131rak\u0131n<\/code><\/pre>\n<h4>4. E\u011fitim S\u00fcreci<\/h4>\n<p>Mask R-CNN e\u011fitimi, \u00e7oklu g\u00f6rev kayb\u0131n\u0131 minimize etmeyi i\u00e7erir ve genellikle uzun s\u00fcrer.<\/p>\n<p>*   <strong>Veri \u00dcrete\u00e7leri (Data Generators):<\/strong> Keras&#8217;\u0131n <code>fit_generator<\/code> metodunu kullanmak i\u00e7in veri \u00fcrete\u00e7leri olu\u015fturulur. Bu \u00fcrete\u00e7ler, her ad\u0131mda modelin bekledi\u011fi formatta (g\u00f6r\u00fcnt\u00fcler, s\u0131n\u0131flar, s\u0131n\u0131rlay\u0131c\u0131 kutular, maskeler) veri y\u0131\u011f\u0131nlar\u0131 (batches) sa\u011flar.<br \/>\n*   <strong>Derleme (Compilation):<\/strong> Keras modelini derlerken bir optimizer (\u00f6rne\u011fin SGD veya Adam) ve kay\u0131p fonksiyonlar\u0131 (Matterport&#8217;un uygulamas\u0131nda \u00f6zel kay\u0131p fonksiyonlar\u0131 kullan\u0131l\u0131r) belirtilir.<br \/>\n*   <strong>A\u015famal\u0131 E\u011fitim (Fine-tuning):<\/strong> Genellikle iki a\u015famal\u0131 bir e\u011fitim stratejisi izlenir:<br \/>\n    1.  <strong>Kafa Katmanlar\u0131n\u0131 E\u011fitme:<\/strong> \u00d6nceden e\u011fitilmi\u015f a\u011f\u0131rl\u0131klar y\u00fcklendikten sonra, sadece yeni eklenen kafa katmanlar\u0131 (s\u0131n\u0131fland\u0131rma, s\u0131n\u0131rlay\u0131c\u0131 kutu ve maske kafalar\u0131) e\u011fitilir. Bu, modelin genel \u00f6zellik \u00e7\u0131karma yetene\u011fini korurken yeni s\u0131n\u0131flara adapte olmas\u0131n\u0131 sa\u011flar.<br \/>\n    2.  <strong>T\u00fcm A\u011f\u0131 E\u011fitme:<\/strong> Daha sonra, daha d\u00fc\u015f\u00fck bir \u00f6\u011frenme oran\u0131yla t\u00fcm a\u011f (omurga a\u011f\u0131 dahil) e\u011fitilerek modelin performans\u0131 daha da iyile\u015ftirilir.<br \/>\n*   <strong>\u00d6\u011frenme Oran\u0131 \u00c7izelgeleme (Learning Rate Scheduling):<\/strong> E\u011fitimin farkl\u0131 a\u015famalar\u0131nda \u00f6\u011frenme oran\u0131n\u0131 ayarlamak, modelin daha iyi yak\u0131nsamas\u0131n\u0131 sa\u011flayabilir.<br \/>\n*   <strong>Checkpointing:<\/strong> E\u011fitimin belirli aral\u0131klarla model a\u011f\u0131rl\u0131klar\u0131n\u0131 kaydetmek, kesintilerde e\u011fitimi devam ettirmek veya en iyi modeli geri y\u00fcklemek i\u00e7in \u00f6nemlidir.<\/p>\n<pre><code class=\"language-python\"># E\u011fitim (Kafa katmanlar\u0131)\nmodel.train(dataset_train, dataset_val,\n            learning_rate=config.LEARNING_RATE,\n            epochs=40, # \u00d6rnek epoch say\u0131s\u0131\n            layers='heads') # Sadece kafa katmanlar\u0131n\u0131 e\u011fit\n\n<h2>E\u011fitim (T\u00fcm a\u011f)<\/h2>\nmodel.train(dataset_train, dataset_val,\n            learning_rate=config.LEARNING_RATE \/ 10, # Daha d\u00fc\u015f\u00fck \u00f6\u011frenme oran\u0131\n            epochs=80, # \u00d6rnek epoch say\u0131s\u0131\n            layers='all') # T\u00fcm a\u011f\u0131 e\u011fit<\/code><\/pre>\n<h4>5. Tahmin ve De\u011ferlendirme<\/h4>\n<p>E\u011fitimli model, yeni g\u00f6r\u00fcnt\u00fcler \u00fczerinde tahmin yapmak i\u00e7in kullan\u0131labilir.<\/p>\n<p>*   <strong>Inference Modu:<\/strong> Tahmin yaparken, modelin <code>mode=\"inference\"<\/code> olarak ayarlanmas\u0131 gerekir. Bu, baz\u0131 katmanlar\u0131n (\u00f6rne\u011fin, BatchNorm) e\u011fitim modundan farkl\u0131 davranmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>Tahmin Yapma:<\/strong> <code>model.detect()<\/code> metodu, bir g\u00f6r\u00fcnt\u00fc veya g\u00f6r\u00fcnt\u00fc listesi \u00fczerinde tahmin yapar. \u00c7\u0131kt\u0131 olarak alg\u0131lanan nesnelerin s\u0131n\u0131rlay\u0131c\u0131 kutular\u0131n\u0131, s\u0131n\u0131f etiketlerini, olas\u0131l\u0131klar\u0131n\u0131 ve maskelerini d\u00f6nd\u00fcr\u00fcr.<br \/>\n*   <strong>Non-Maximum Suppression (NMS):<\/strong> Model birden fazla \u00e7ak\u0131\u015fan s\u0131n\u0131rlay\u0131c\u0131 kutu \u00f6nerebilir. NMS, bu kutular\u0131 eleyerek her nesne i\u00e7in en iyi tek bir kutuyu se\u00e7er.<br \/>\n*   <strong>De\u011ferlendirme Metrikleri:<\/strong> Modelin performans\u0131n\u0131 de\u011ferlendirmek i\u00e7in genellikle mean Average Precision (mAP) metrikleri kullan\u0131l\u0131r. mAP, farkl\u0131 Intersection over Union (IoU) e\u015fiklerinde hassasiyet ve geri \u00e7a\u011f\u0131rma de\u011ferlerinin ortalamas\u0131d\u0131r. Segmentasyon g\u00f6revleri i\u00e7in maske IoU&#8217;su da \u00f6nemlidir.<\/p>\n<pre><code class=\"language-python\"># Inference konfig\u00fcrasyonu\nclass InferenceConfig(CustomConfig):\n    GPU_COUNT = 1\n    IMAGES_PER_GPU = 1\n\ninference_config = InferenceConfig()\n\n<h2>Inference modeli olu\u015fturma<\/h2>\nmodel_inference = MaskRCNN(mode=\"inference\", config=inference_config, model_dir=\"\/path\/to\/logs\")\n\n<h2>E\u011fitilmi\u015f a\u011f\u0131rl\u0131klar\u0131 y\u00fckleme<\/h2>\nmodel_path = model.find_last()[1] # En son e\u011fitilen a\u011f\u0131rl\u0131klar\u0131 bul\nmodel_inference.load_weights(model_path, by_name=True)\n\n<h2>Tahmin yapma<\/h2>\nimport skimage.io\nimage = skimage.io.imread(\"test_image.jpg\")\nresults = model_inference.detect([image], verbose=1)\nr = results[0]\n\n<h2>Sonu\u00e7lar\u0131 g\u00f6rselle\u015ftirme (\u00f6rne\u011fin Matplotlib kullanarak)<\/h2>\nfrom mrcnn import visualize\nvisualize.display_instances(image, r['rois'], r['masks'], r['class_ids'],\n                            dataset_val.class_names, r['scores'])<\/code><\/pre>\n<h3>Mask R-CNN&#8217;in Avantajlar\u0131 ve Dezavantajlar\u0131<\/h3>\n<p><strong>Avantajlar\u0131:<\/strong><\/p>\n<p>*   <strong>Y\u00fcksek Do\u011fruluk:<\/strong> Nesne tespiti ve \u00f6rnek b\u00f6l\u00fctleme g\u00f6revlerinde son derece do\u011fru sonu\u00e7lar verir.<br \/>\n*   <strong>\u00c7ok Y\u00f6nl\u00fcl\u00fck:<\/strong> Tek bir modelle hem nesne s\u0131n\u0131fland\u0131rma, hem s\u0131n\u0131rlay\u0131c\u0131 kutu tespiti hem de piksel d\u00fczeyinde segmentasyon yapabilir.<br \/>\n*   <strong>Esnek Mimari:<\/strong> Farkl\u0131 omurga a\u011flar\u0131 (ResNet, ResNeXt vb.) ve FPN entegrasyonu sayesinde farkl\u0131 uygulama gereksinimlerine g\u00f6re uyarlanabilir.<br \/>\n*   <strong>ROI Align:<\/strong> Piksel d\u00fczeyinde hassasiyet gerektiren g\u00f6revler i\u00e7in konumland\u0131rma do\u011frulu\u011funu art\u0131r\u0131r.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><\/p>\n<p>*   <strong>Hesaplama Maliyeti:<\/strong> \u00d6zellikle e\u011fitim s\u00fcreci, y\u00fcksek i\u015flem g\u00fcc\u00fc (GPU) ve bellek gerektirir. Ger\u00e7ek zamanl\u0131 uygulamalar i\u00e7in bazen yava\u015f kalabilir.<br \/>\n*   <strong>Karma\u015f\u0131kl\u0131k:<\/strong> Mimari olarak olduk\u00e7a karma\u015f\u0131kt\u0131r ve uygulanmas\u0131, hata ay\u0131klanmas\u0131 ve optimize edilmesi uzmanl\u0131k gerektirebilir.<br \/>\n*   <strong>Veri \u0130htiyac\u0131:<\/strong> Y\u00fcksek performans i\u00e7in b\u00fcy\u00fck miktarda etiketlenmi\u015f veri setine ihtiya\u00e7 duyar.<br \/>\n*   <strong>E\u011fitim S\u00fcresi:<\/strong> B\u00fcy\u00fck veri setleri \u00fczerinde e\u011fitimi g\u00fcnler veya haftalar s\u00fcrebilir.<\/p>\n<h3>Kullan\u0131m Alanlar\u0131<\/h3>\n<p>Mask R-CNN&#8217;in sundu\u011fu piksel d\u00fczeyinde hassasiyet, onu bir\u00e7ok kritik uygulama i\u00e7in vazge\u00e7ilmez k\u0131lar:<\/p>\n<p>*   <strong>Otonom Ara\u00e7lar:<\/strong> Yoldaki di\u011fer ara\u00e7lar\u0131, yayalar\u0131, trafik i\u015faretlerini ve yol \u015feritlerini hassas bir \u015fekilde alg\u0131lamak ve ay\u0131rt etmek.<br \/>\n*   <strong>T\u0131bbi G\u00f6r\u00fcnt\u00fcleme:<\/strong> Kanserli h\u00fccreleri, t\u00fcm\u00f6rleri veya organlar\u0131 t\u0131bbi g\u00f6r\u00fcnt\u00fclerde (MRI, CT taramalar\u0131) otomatik olarak b\u00f6l\u00fctlemek ve analiz etmek.<br \/>\n*   <strong>Robotik:<\/strong> Robotlar\u0131n \u00e7evrelerindeki nesneleri tan\u0131mas\u0131, manip\u00fcle etmesi ve insanlarla etkile\u015fime girmesi i\u00e7in g\u00f6rsel alg\u0131lama sa\u011flamak.<br \/>\n*   <strong>G\u00fcvenlik ve G\u00f6zetim:<\/strong> Kalabal\u0131k alanlarda bireyleri veya \u015f\u00fcpheli nesneleri takip etmek.<br \/>\n*   <strong>E-ticaret ve Perakende:<\/strong> \u00dcr\u00fcn kataloglama, envanter y\u00f6netimi ve sanal deneme uygulamalar\u0131 i\u00e7in nesneleri arka plandan ay\u0131rmak.<br \/>\n*   <strong>Tar\u0131m:<\/strong> Mahsullerdeki hastal\u0131klar\u0131 tespit etmek, meyveleri saymak veya otlar\u0131 ay\u0131klamak.<\/p>\n<h3>Gelecek Perspektifi<\/h3>\n<p>Mask R-CNN, \u00f6rnek b\u00f6l\u00fctleme alan\u0131nda bir d\u00f6n\u00fcm noktas\u0131 olmas\u0131na ra\u011fmen, ara\u015ft\u0131rmalar bu alanda h\u0131zla devam etmektedir. Gelecekteki geli\u015fmeler \u015funlar\u0131 i\u00e7erebilir:<\/p>\n<p>*   <strong>Daha Hafif ve H\u0131zl\u0131 Modeller:<\/strong> Daha az hesaplama g\u00fcc\u00fc ve bellek t\u00fcketen, ancak benzer do\u011frulukta sonu\u00e7lar veren modeller geli\u015ftirilmesi. Bu, mobil cihazlarda veya g\u00f6m\u00fcl\u00fc sistemlerde ger\u00e7ek zamanl\u0131 uygulamalar\u0131n \u00f6n\u00fcn\u00fc a\u00e7acakt\u0131r.<br \/>\n*   <strong>3D \u00d6rnek B\u00f6l\u00fctleme:<\/strong> G\u00f6r\u00fcnt\u00fclerin yan\u0131 s\u0131ra 3D sens\u00f6r verileri (LiDAR, derinlik kameralar\u0131) \u00fczerinde \u00e7al\u0131\u015fan modellerin geli\u015ftirilmesi.<br \/>\n*   <strong>Az Veriyle E\u011fitim:<\/strong> S\u0131n\u0131rl\u0131 etiketli veri ile daha iyi performans g\u00f6steren &#8220;few-shot&#8221; veya &#8220;semi-supervised&#8221; \u00f6\u011frenme tekniklerinin entegrasyonu.<br \/>\n*   <strong>Dinamik ve Deforme Edilebilir Nesneler:<\/strong> \u015eekil de\u011fi\u015ftiren veya hareket eden nesnelerin daha iyi alg\u0131lanmas\u0131 ve b\u00f6l\u00fctlenmesi.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Mask R-CNN, nesne tespiti ve \u00f6rnek b\u00f6l\u00fctleme alanlar\u0131nda \u00e7\u0131\u011f\u0131r a\u00e7an bir derin \u00f6\u011frenme mimarisidir. Faster R-CNN&#8217;in g\u00fc\u00e7l\u00fc temelini alarak, piksel d\u00fczeyinde maske \u00fcretim yetene\u011fi eklemesiyle bilgisayar g\u00f6r\u00fc\u015f\u00fc uygulamalar\u0131nda yeni ufuklar a\u00e7m\u0131\u015ft\u0131r. TensorFlow 1.14 ve Keras gibi g\u00fc\u00e7l\u00fc \u00e7er\u00e7evelerle entegrasyonu, geli\u015ftiricilerin bu karma\u015f\u0131k modeli kolayca uygulamas\u0131n\u0131 ve kendi \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re uyarlamas\u0131n\u0131 sa\u011flam\u0131\u015ft\u0131r.<\/p>\n<p>Y\u00fcksek do\u011fruluk, \u00e7ok y\u00f6nl\u00fcl\u00fck ve esneklik sunan Mask R-CNN, otonom s\u00fcr\u00fc\u015ften t\u0131bbi g\u00f6r\u00fcnt\u00fclemeye kadar geni\u015f bir yelpazede pratik uygulamalara sahiptir. Her ne kadar hesaplama a\u00e7\u0131s\u0131ndan yo\u011fun olsa da, s\u00fcrekli devam eden ara\u015ft\u0131rmalar ve donan\u0131m iyile\u015ftirmeleri, gelecekte daha h\u0131zl\u0131 ve verimli Mask R-CNN t\u00fcrevlerinin ortaya \u00e7\u0131kaca\u011f\u0131n\u0131 vaat etmektedir. Bu model, makinelerin d\u00fcnyay\u0131 insan g\u00f6z\u00fc gibi &#8220;g\u00f6rmesi&#8221; ve &#8220;anlamas\u0131&#8221; yolunda at\u0131lm\u0131\u015f devasa bir ad\u0131md\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme\nNesne tespiti, bilgisayar g\u00f6r\u00fc\u015f\u00fc alan\u0131n\u0131n","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-35229","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>Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme - 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\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme\" \/>\n<meta property=\"og:description\" content=\"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme Nesne tespiti, bilgisayar g\u00f6r\u00fc\u015f\u00fc alan\u0131n\u0131n\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-27T03:40:47+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=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme\",\"datePublished\":\"2025-11-27T03:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/\"},\"wordCount\":3501,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/\",\"name\":\"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-27T03:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme\"}]},{\"@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":"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme - 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\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/","og_locale":"tr_TR","og_type":"article","og_title":"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme","og_description":"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme Nesne tespiti, bilgisayar g\u00f6r\u00fc\u015f\u00fc alan\u0131n\u0131n","og_url":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-27T03:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme","datePublished":"2025-11-27T03:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/"},"wordCount":3501,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/","url":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/","name":"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-27T03:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nesne-tespiti-icin-mask-r-cnn-kullanimi-tensorflow-1-14-ve-keras-ile-derinlemesine-bir-inceleme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Nesne Tespiti \u0130\u00e7in Mask R-CNN Kullan\u0131m\u0131: TensorFlow 1.14 ve Keras ile Derinlemesine Bir \u0130nceleme"}]},{"@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\/35229","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=35229"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35229\/revisions"}],"predecessor-version":[{"id":35230,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35229\/revisions\/35230"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}