You are on page 1of 4

Raf Ürünlerinin SaptanmasÕ: SaklÕ Markov

Modeli ile Ardiúleme


On-shelf Product Detection: Post-Processing with a Hidden Markov
Model

Can Özbey1
1
ødea Technology Solutions, R&D Center, Istanbul, Turkey
can.ozbey@ideateknoloji.com.tr
1
Department of Linguistics, Bo÷aziçi University, Istanbul, Turkey
can.ozbey@boun.edu.tr

Özetçe—Günümüzde, raf ürünlerinin otomatik saptanmasÕ birlikte kullanÕlmasÕyla gözlemlenebilir durumlardan en


i úlemi, bilgisayarlÕ görme alanÕnda gerçekleúen ilerlemelerle olasÕ saklÕ durumlar çÕkarÕlabilmektedir. Bu iúlem, içinde
birlikte bir endüstriyel ihtiyaç haline gelmiútir. Bu ba÷lamda, beklenmedik hatalar bulunabilen bir çÕktÕ dizisinin
imge içinde ürünlerin bulundu÷u noktalarÕn tespit edilmesi düzeltilmesi amacÕyla, ardiúleme (post-processing) dahilinde
(lokalizasyon) ve bu ürünlerden marka veya çeúit gibi detaylÕ kullanÕlabilmektedir. SaklÕ Markov modelleri, birçok farklÕ
özelliklerin çÕkartÕlmasÕ öne çÕkan faaliyet alanlarÕna sinyal iúleme alanÕnda, bu amaçla kullanÕlmÕútÕr.
evrilmiútir. Bu çalÕúmada, birçok farklÕ sinyal iúleme alanÕnda
ardiúleme dahilinde kullanÕlan saklÕ Markov modeli, tespit
edilen raf ürünlerinin düzeltilmesi amacÕyla kullanÕlmÕútÕr. Video iúleme alanÕnda, Jaser vd. (2004), karar
YapÕlan bu ardiúleme çalÕúmasÕnÕn sonucunda, ürün marka a÷açlarÕnda oluúturulan görsel içerik kategorilerini ardiúleme
tespiti baúarÕmÕnÕn %5 kadar arttÕ÷Õ gözlemlenmiútir. için saklÕ Markov modeliyle e÷itmiúlerdir [1]. Benzer bir
úekilde, Taghva vd. (2013), otomatik karakter tanÕma için
metinleri karakter düzeyinde saklÕ Markov modeliyle
Anahtar 6|]FNOer—SaklÕ Markov Modeli; SaklÕ Markov e÷itmiú, imge iúlemeden çÕkan harf dizilerini bu modelden
Modeliyle Ardiúleme; Otomatik Raf Ürünü Saptama; geçirip hata oranÕnÕ yaklaúÕk %10 oranÕnda düúürmüúlerdir
BilgisayarlÕ Görme [2]. SaklÕ Markov modeli, otomatik konuúma tanÕma
iúlemlerinde de sÕklÕkla kullanÕlmaktadÕr. Akustik sinyalleri
Abstract—In recent years, automatic detection of on-shelf
products has become an industrial need along with the
hece veya kelimelerle eúleútirirken hata oranÕnÕ azaltmak için
technological improvements in the field of computer vision. In bu birimlerin sÕralanma bilgileri modele dahil edilmektedir
this respect, localization of on-shelf products and detection of [3].
the brands of these products have evolved into two main Markov sürecinin bir önceki paragrafta bahsedilen
objectives. In this work, a hidden Markov model, which is iúlemlerde genel baúarÕmÕ artÕrmasÕnÕn nedeni, kullanÕlan
commonly used in signal processing for post-processing ardÕúÕk bileúenlerin birbirlerine olasÕlÕksal olarak ba÷lÕ
operations, is developed in order to improve the product
olmasÕdÕr. ølk örnekte karar a÷açlarÕnda oluúturulan görsel
alignment for each shelf. As a result, it has been observed that
içerikler, bir video içerisinde anlamlÕ bir bütün
the hidden Markov model increased the accuracy of the brand
detection task up to 5%.
oluúturduklarÕndan birbirlerine ba÷lÕdÕrlar. Di÷er iki örnekte
de, karakter ve kelimeler anlamlÕ cümleler içinde
Keywords—Hidden Markov Model; Post-processing with kullanÕldÕklarÕndan bir karakter veya kelime bir öncekine
Hidden Markov Model; Automatic On-shelf Product Detection; olasÕlÕksal olarak ba÷lÕdÕr.
Computer Vision Bu çalÕúmada da, raf ürünlerinin dolap içerisine rastgele
I. GøRøù bir sÕra ile dizilmemesinden yola çÕkÕlarak, markalara
ayrÕlmÕú ürünlerin raf bazÕnda dizilimleri e÷itilip bir saklÕ
SaklÕ Markov modeli, sinyal iúlemede sÕklÕkla kullanÕlan Markov modeli oluúturulmuútur. Bu model, halihazÕrda
istatistiksel modellerden biridir. Bu model, geçiú (transition) geliútirilmiú olan, ürünlerin yerlerini ve markalarÕnÕ saptayan
durumlarÕnÕ içeren bir Markov zinciri ile bu zincirden salÕnan ba÷ÕmsÕz bir bileúene ardiúleyici olarak entegre edilmiútir.
gözlemlenebilir yayÕm (emission) durumlarÕndan Böylece, bileúenin çÕktÕ olarak verdi÷i ürün dizilimleri
oluúmaktadÕr. Geçiú olasÕlÕklarÕnÕn, yayÕm olasÕlÕklarÕyla Markov modelinde girdi olarak kullanÕlmÕú olur.

‹,(((

8%0.¶ QG,QWHUQDWLRQDO&RQIHUHQFHRQ&RPSXWHU6FLHQFHDQG(QJLQHHULQJ 


II. MODEL uygulanmÕútÕr. Bir N durumunun rastlanma sÕklÕ÷Õna, bir C
SaklÕ Markov modeli için kullanÕlan parametre sabitinin, N durumunun rastlanma sÕklÕ÷Õna oranÕ eklenir.
notasyonu aúa÷Õdaki gibidir: Böylece çok rastlanan markalarÕn 0 de÷erleri az rastlanan
markalarÕn 0 de÷erlerine göre daha az oranda artÕrÕlmÕú
R = Toplam Raf Objesi SayÕsÕ olur; çünkü az rastlanan markalarÕn geçiú olasÕlÕklarÕnÕn
N = Durum SayÕsÕ tahminlenmiú (estimated) standart sapmasÕ çok rastlanan
O = Gözlem SayÕsÕ markalarÕnkilere göre daha büyük olacaktÕr.
ܶ௜ǡ௝ = Durum i’den j’ye geçiú olasÕlÕ÷Õ De÷erleri düzleútirilmiú geçiú matrisi aúa÷Õdaki úekilde
‫ܧ‬௜ǡ௝ = Durum i’den gözlem n’ye yayÕm hesaplanmÕútÕr:
(emission) olasÕlÕ÷Õ
݂݅ሺܴ௞ ൌൌ ݅ሻᏉሺܴ௞ାଵ ൌൌ ݆ሻͳ
σோ௞ୀ଴ ቄ ൅ ‫ܲ כ ܥ‬ሺ݅ሻ ‫ܲ כ‬ሺ݆ሻ
ܶ݅ǡ ݆ ൌ  ݈݁‫݁ݏ‬ Ͳ ሺͶሻ
Bu notasyonda, N durum sayÕsÕ bir rafta, e÷itim setinde ݂݅ሺܴ௞ ൌൌ ݅ሻͳ
gözlemlenen tüm farklÕ ürünleri, O gözlem sayÕsÕ ise, σோ௞ୀ଴ ቄ ൅ ‫ܲ כ ܥ‬ሺ݅ሻ
݈݁‫݁ݏ‬ Ͳ
marka tanÕma bileúeninde e÷itilen sistemin raf bazÕnda
verdi÷i tüm farklÕ ürünleri ifade etmektedir. Bu nedenle Formüldeki C çarpanÕn bulunmasÕ için de÷iúmez bir
gözlem kümesi durum kümesinin bir alt kümesi olmalÕdÕr: yayÕm matrisiyle birlikte otomatik ince ayar (fine-tuning)
O ‫ ك‬N. Bu çalÕúmada, gözlem kümesi 18, durum kümesi ise yöntemi kullanÕlmÕú ve en yüksek baúarÕm oranÕnÕ sa÷layan
26 farklÕ üründen oluúmaktadÕr. Bunun nedeni, marka çarpan 267 olarak belirlenmiútir. Bu çarpanla, 431 imgeden
tanÕma bileúeninin 18 ürün ile e÷itilmiú olmasÕdÕr. Markov çÕkarÕlmÕú 714 adet rafta bulunan 26 farklÕ marka için
modelinin e÷itildi÷i raf dizilimlerinde rastlanan farklÕ ürün düzleme yapÕlarak oluúturulmuú geçiú matrisi
sayÕsÕ ise 26’dÕr. Bu nedenle, gözlemlenmeyen 8 ürünün olasÕlÕklarÕnÕn imge izdüúümü aúa÷Õdaki figürde
olasÕlÕklarÕ yayÕm matrisinde 0 olarak atanmÕútÕr. gösterilmiútir.

A. Geçiú Matrisinin HesaplanmasÕ

Geçiú (transition) matrisinin hesaplanabilmesi için


sistemdeki durumlarÕn tüm ܶ௜ǡ௝ de÷erlerinin bulunup bu
de÷erlerin [NxN] büyüklü÷ündeki bir matriste temsil
edilmesi gerekmektedir. SaklÕ Markov modelinde bulunan
Markov zincirinin en önemli varsayÕmÕ, intikal edilecek bir
sonraki geçiú durumunun yalnÕzca mevcut bulunulan
duruma olasÕlÕksal olarak ba÷lÕ oluúudur [4]:
ܲሺ‫݁ݐܽݐݏ‬௧ାଵ ȁ‫݁ݐܽݐݏ‬௧ǡ ‫݁ݐܽݐݏ‬௧ିଵ ǡ ǥ ሻ ൌ ܲሺ‫݁ݐܽݐݏ‬௧ାଵ ȁ‫݁ݐܽݐݏ‬௧ ሻ (1)
Bu nedenle, geçiú olasÕlÕklarÕnÕn bulunabilmesi için tüm
durumlarÕn sadece bir önceki durumlarÕ göz önünde
bulundurularak úartlÕ olasÕlÕklarÕ hesaplanmÕútÕr.
DolayÕsÕyla, i durumundan j durumuna geçiú olasÕlÕ÷Õ
aúa÷Õdaki úekilde formülize edilmiútir:

Ti,j = P(i|j) (2)

݂݅ሺܴ௞ ൌൌ ݅ሻᏉሺܴ௞ାଵ ൌൌ ݆ሻͳ


σோ௞ୀ଴ ቄ
ܶ݅ǡ ݆ ൌ  ݈݁‫݁ݏ‬ Ͳ  ሺ͵ሻ
݂݅ሺܴ௞ ൌൌ ݅ሻͳ ùHNLO. Geçiú Matrisi OlasÕlÕklarÕ ømge øzdüúümü

σ௞ୀ଴ ቄ
݈݁‫݁ݏ‬ Ͳ
Matristeki ilk sütun baúlangÕç ve bitiú durumlarÕna,
YukarÕdaki formül kullanÕlarak her i ve j de÷eri için di÷er sütünlar da 26 farklÕ marka ve çeúit durumuna karúÕlÕk
úartlÕ olasÕlÕk de÷erleri bulunur. Sistem 26 markayla gelmektedir. Karenin rengi siyaha ne kadar yakÕn ise aynÕ
e÷itildi÷inden, baúlangÕç/bitiú durumunu da ekledi÷imizde karenin temsil etti÷i geçiú olasÕlÕ÷Õ Ti,j o kadar yüksek
toplam 729 adet geçiú olasÕlÕ÷Õ de÷eri hesaplanmalÕdÕr. olmaktadÕr. Matris incelendi÷inde siyah karelerin daha çok
Ortaya çÕkan matriste sonucu 0 çÕkan olasÕlÕklar yer köúegen üzerinde yo÷unlaútÕklarÕ görülmektedir.
alaca÷Õndan bu olasÕlÕklarÕ 0’dan büyük bir de÷ere DolayÕsÕyla, raf üzerinde genel olarak bir markayÕ daha
tamamlayan bir düzleme (smoothing) metodu büyük olasÕlÕkla o markanÕn kendisi takip etmektedir.

8%0.¶ QG,QWHUQDWLRQDO&RQIHUHQFHRQ&RPSXWHU6FLHQFHDQG(QJLQHHULQJ 


Bunun nedeni ürün raf yerleútiriminde, genellikle, aynÕ Düzleútirilmiú hata matrisinin yayÕm matrisine
ürünlerin kümelenerek raflara dizilmesidir. AyrÕyeten, bir çevrilmesi için, geçiú matrisinde bulunan fakat marka
markanÕn farklÕ çeúitlerinin birbirlerini izleme olasÕlÕklarÕ ayÕrÕcÕnÕn e÷itim setinde bulunmayan 8 ürün için
farklÕ markalarÕ izleme olasÕlÕklarÕndan yüksek olasÕlÕklarÕn 0 olarak atanmasÕ gerekmektedir. Böylece,
olabilmektedir. Örne÷in, ùekil 1’de, 2. satÕrda bulunan [NxO] büyüklü÷ünde bir yayÕm matrisi elde edilmiú olur.
ürünü en çok takip eden ilk ürün kendisi, ikinci ve üçüncü
ùekil 3’te, 4 farklÕ ürün [a, b, c, d] için saklÕ Markov
ürün ise aynÕ markanÕn farklÕ bir çeúididir. Benzer
modeli görselleútirilmiútir. Bu figürde, “start” dü÷ümü
sÕralanma úekli birçok farklÕ ürün markasÕ için
baúlangÕç veya bitiú durumunu temsil etmekte, [A, B, C, D]
gözlenmiútir.
dü÷ümleri de markalarÕn yayÕm durumlarÕnÕ
Geçiú matrisinde dikkati çeken bir di÷er husus, birçok göstermektedir. YayÕm dü÷ümleri, [a, b, c, d] geçiú
geçiú olasÕlÕ÷Õ de÷erinin köúegen ekseninde simetrik durumlarÕnÕn marka ayÕrÕcÕ bileúen tarafÕndan verilen
da÷ÕlmamasÕdÕr. Her ne kadar bir markanÕn farklÕ gözlemlenebilir çÕktÕlarÕdÕr.
çeúitlerinin birbirlerini izleme olasÕlÕklarÕ yüksek olsa da,
bu gruplar, ço÷unlukla, önceden belirlenmiú bir planogram
do÷rultusunda, belli bir sÕra ile dizilmektedirler.

B. YayÕm Matrisinin HesaplanmasÕ

SaklÕ Markov modelinin oluúturulabilmesi için geçiú


matrisinin yanÕnda yayÕm (emission) matrisinin de
hesaplanmasÕ gerekmektedir. ‫ܧ‬௜ǡ௝ de÷eri, i saklÕ durumunun
n gözlem durumu olarak salÕnma olasÕlÕ÷ÕdÕr. Di÷er bir
deyiúle, bu matris, marka ayÕrÕcÕ bileúenin bir markayÕ
hangi ihtimallerle do÷ru ve yanlÕú çÕkarsadÕ÷ÕnÕn ifadesidir.
Bu nedenle yayÕm matrisi, aslÕnda, marka ayÕrÕcÕ bileúenin
hata matrisinin (confusion matrix) olasÕlÕksal izdüúümüdür.
Bu aúamada, 10 katlamalÕ çapraz do÷rulama (10-fold cross
validation) yapÕlmÕú, ortaya çÕkan 10 farklÕ hata matrisinin
ortalamasÕ yayÕm matrisine çevrilmiútir. Benzer úekilde,
geçiú matrisinde yapÕldÕ÷Õ gibi bu matriste de düzleme
yapÕlmaktadÕr. Hem geçiú hem de salÕnÕm matrisinde
düzleme yapÕlmasÕnÕn nedeni, en olasÕ dizilimi bulan
dinamik programlama aúamasÕnda 0 de÷erine sahip
olasÕlÕklarÕn, zincir kuralÕyla çarpÕlÕrken sonuç olasÕlÕ÷ÕnÕ
sÕfÕra eúitlemelerini önlemektir.
Aúa÷Õda, düzleútirilmiú ortalama hata matrisinin ùHNLO. SaklÕ Markov Modeli (4 FarklÕ Ürün)
olasÕlÕksal imge izdüúümü gösterilmiútir.
C. Viterbi AlgoritmasÕ: En OlasÕ SaklÕ Dizilimin BulunmasÕ

Geçiú ve salÕnÕm matrislerinin hesaplanmasÕndan sonra


Viterbi algoritmasÕyla en olasÕ saklÕ dizilim bulunmaktadÕr.
Özyinelemeli (recursive) úekilde çalÕúan algoritmanÕn
formülizasyonu aúa÷Õdaki gibidir [5]:

‫ݒ‬௧ ሺ݆ሻ ൌ  ௜ୀଵ ‫ݒ ܺܣܯ‬௧ିଵ ሺ݅ሻ ‫ܶ כ‬௜௝ ‫ܧ כ‬௜௝ (5)

‫ݒ‬௧ିଵ ሺ݅ሻ: Bir adÕm önceki Viterbi yolu olasÕlÕ÷Õ


ܶ௜௝ : Durum i’den durum j’ye geçiú olasÕlÕ÷Õ
‫ܧ‬௜௝ : Durum i’den durum j’ye yayÕm olasÕlÕ÷Õ

Viterbi algoritmasÕnÕn kesinlik (precision) oranÕnÕ


artÕrmak için biri soldan sa÷a di÷eri de sa÷dan sola olmak
üzere iki ayrÕ saklÕ Markov modeli oluúturulmuútur.
Böylece, sistemin üretti÷i her dizilim için her iki yönde en
ùHNLO. Hata Matrisi OlasÕlÕklarÕ ømge øzdüúümü

8%0.¶ QG,QWHUQDWLRQDO&RQIHUHQFHRQ&RPSXWHU6FLHQFHDQG(QJLQHHULQJ 


olasÕ dizilim üretilmiútir. Üretilen dizilimler birbirlerine ODQJXDJH SURFHVVLQJ FRPSXWDWLRQDO OLQJXLVWLFV DQG
eúit ise sistemin verdi÷i sonuç bu dizilimle de÷iútirilmiútir. VSHHFKUHFRJQLWLRQ´,QGLD'RUOLQJ.LQGHUVOH\3YW/WG>@ $ -
Aksi halde, sistemin verdi÷i dizilime müdahale 9LWHUEL DQG -. 2PXUD   ³3ULQFLSOHV RI
edilmemiútir. 'LJLWDO&RPPXQLFDWLRQDQG&RGLQJ´0F*UDZ+LOOSS

>@ ' 5DPDJH   ³+LGGHQ 0DUNRY )XQGDPHQWDOV´


III. SONUÇLAR
&66HFWLRQ1RWHV
Oluúturulan saklÕ Markov modeli 2 farklÕ test
senaryosunda, ardiúleyici olarak kullanÕlmÕútÕr. Aúa÷Õdaki
tabloda, raf ürünü saptama bileúenine entegre edilen
modelin, genel baúarÕm oranÕna katkÕsÕ gösterilmiútir.
Genel baúarÕm oranÕ, do÷ru bulunan ürün sayÕsÕnÕn teste
giren toplam ürün sayÕsÕna oranÕdÕr.

7$%/2, ø.ø)$5./,6(7ødø17(676218d/$5,

Toplam Düzeltilen Bozulan BaúarÕm


Ürün Ürün Ürün KatkÕ
SayÕsÕ SayÕsÕ SayÕsÕ Yüzdesi
SET 1 176 11 1 %5.7
SET 2 489 27 2 %5.1

SaklÕ Markov modeli, yanlÕú saptanan ürünlerden ilk


sette 11, ikinci sette ise 27 tanesini düzeltmiú, do÷ru
saptanan ürünlerden ilk sette 1, ikinci sette ise 2 tanesini
bozmuútur. Düzeltilen net ürün sayÕsÕ sisteme giren toplam
raf ürünü sayÕsÕna bölündü÷ünde genel baúarÕm oranÕna
katkÕ, ilk set için %5.7, ikinci set için %5.1 olarak
bulunmuútur.
Sonuç olarak, bu çalÕúmada, raf ürünlerinin saptanmasÕ
iúleminde, ürünlerin rastgele dizilmemesinden yola
çÕkÕlarak bir saklÕ Markov modeli oluúturulmuú ve ba÷ÕmsÕz
bir marka sÕnÕflandÕrÕcÕya ardiúleyici olarak entegre
edilerek sistemin genel baúarÕm oranÕ kayda de÷er bir
oranda artÕrÕlmÕútÕr.
KAYNAKÇA
[1] Jaser, E., Christmas, W. J., & Kittler, J. (2004).
“Temporal Post-processing of Decision Tree Outputs for Sports Video
Categorisation”. Structural, Syntactic, and Statistical Pattern
Recognition, Joint IAPR International Workshops.
[2] Taghva, K., Poudel, S., & Malreddy, S. (2013). “Post
processing with first- and second-order hidden Markov
models”. SPIE Proceedings Vol. 8658.
[3] Gales, M., & Young, S. (2007). “The Application of
Hidden Markov Models in Speech
Recognition”. Foundations and Trends in Signal
Processing, Vol. 1, No. 3, pp. 195-304.
[4] L. R. Rabiner and B. H. Juang, “An introduction to
hidden Markov models," IEEE ASSP Mag., Jun. 1986. [5] Jurafsky,
D., & Martin, J. H. (2014). “Speech and
language processing: An introduction to natural

8%0.¶ QG,QWHUQDWLRQDO&RQIHUHQFHRQ&RPSXWHU6FLHQFHDQG(QJLQHHULQJ 

You might also like