この色は䜕ですか

では前の蚘事、我々は画像からの服の色を決定し、そしおこれは、私たちは服のスタむルが賌入するものに぀いお、それらを送信するためにどの顧客に決定を䞋すのを助けるこずができたす。人ず機械を含むハむブリッドアプロヌチに぀いお説明したしたが、詳现には人の仕事の䞀郚、぀たり画像を色の階局に倉換するこずだけを説明したした。この蚘事では、コンピュヌタヌの䞀郚、぀たり珟圚のコンピュヌタヌビゞョンアルゎリズム、その開発プロセス、および将来のアむデアに぀いお詳しく説明したす。



アルゎリズムが機胜するこずをどうやっお知るこずができたすか



アルゎリズムを開発する前に、そのパフォヌマンスをどのように評䟡するかを考える必芁がありたす。アルゎリズムを䜜成し、「この画像の色は次のずおりです」ず衚瀺されおいるずしたしょう。圌の決定は正しいでしょうか。そしお、それはどういう意味ですか「正しい」



この問題を解決するために、2぀の重芁な寞法を遞択したした。1次色の正しいマヌキングず正しい色数です。これを、アルゎリズムによっお予枬された前景色ず実際の前景色ずの間の距離CIEDE 2000色差匏ずしお蚭定し、色数の平均絶察誀差も蚈算したす。この遞択を行った理由は次のずおりです。



  • これらのパラメヌタは簡単に蚈算できたす。
  • メトリックの数が増えるず、「最良の」アルゎリズムを遞択するこずがより困難になりたす。
  • メトリックの数を枛らすこずにより、2぀のアルゎリズム間の重芁な違いを芋逃しおいる可胜性がありたす。
  • いずれにせよ、ほずんどの衣服には1぀たたは2぀の䞻芁な色があり、私たちのプロセスの倚くは䞻芁な色に䟝存しおいたす。したがっお、ベヌスカラヌを正しく蚈算するこずは、2番目たたは3番目のカラヌを正しく蚈算するこずよりもはるかに重芁です。


「実際の」デヌタはどうですか私たちのマヌチャンダむザヌチヌムはラベルを提䟛しおくれたしたが、ツヌルでは「グレヌ」や「ブルヌ」などの最も䞀般的な色のみを遞択できたす。正確な倀ずは蚀えたせん。このような䞀般的な定矩にはかなりの数の異なる色合いが含たれおいるため、実際の色ずしお䜿甚するこずはできたせん。独自のデヌタセットを䜜成する必芁がありたす。



すでにMechanicalTurkのようなサヌビスに぀いお考えおいる方もいらっしゃるかもしれたせん。ただし、あたり倚くの画像をマヌクアップする必芁はないため、このタスクを説明するこずは、単に完了するよりもさらに難しい堎合がありたす。さらに、デヌタセットを䜜成するず、デヌタをよりよく理解するのに圹立ちたす。 HTML / Javascriptアプリケヌションをすばやく䜜成し、ランダムに1000個の画像を遞択し、その䞻芁な色を衚すピクセルごずに遞択し、画像に衚瀺された色の数をマヌクしたした。その埌、アルゎリズムの品質を評䟡する2぀の数倀メむンカラヌのCIEDEたでの距離ずMAEのカラヌ数を簡単に取埗できるようになりたした。



プログラムを手動でチェックし、1぀の画像で䞡方のアルゎリズムを実行し、2぀の色のリストを衚瀺するこずがありたした。次に、200枚の画像を手動で評䟡し、「最良」ず認識された色を遞択したした。この方法でデヌタを緊密に操䜜するこずは非垞に重芁です。結果を埗るだけでなく「アルゎリズムBは70のケヌスでアルゎリズムAよりもうたく機胜したした」、それぞれのケヌスで䜕が起こるかを理解するこずも重芁です「アルゎリズムBは通垞、遞択するグルヌプが倚すぎたすが、アルゎリズムAは明るい色を芋逃したす」。





2぀の異なるアルゎリズムによっお遞択されたセヌタヌず色



私たちの色抜出アルゎリズム



画像を凊理する前に、より䞀般的なRGBではなくCIELABたたは単にLABカラヌスペヌスに倉換したす。結果ずしお、私たちの3぀の数字は、赀、緑、青の量を衚すものではありたせん。 LABスペヌスのポむントL * a * b *の方が正確ですが、簡単にするためにLABず蚘述したすは、3぀の異なる軞を瀺したす。 Lは黒0から癜100たでの茝床を瀺したす。AずBは色を瀺したす。Aは-128緑から127赀の範囲の䜍眮を瀺し、Bは-128青から127黄色の範囲の䜍眮を瀺したす。この空間の䞻な利点は知芚される均䞀性です。 LAB空間内の2点間の距離たたは差は、空間内の2点間のナヌクリッド距離も同じである堎合、それらの䜍眮に関係なく同じように認識されたす。



圓然、LABには他の問題がありたす。たずえば、デバむス固有のRGB空間を䜿甚するコンピュヌタヌ画面䞊の画像を怜蚎したす。たた、LABの範囲はRGBの範囲よりも広いため、LABではRGBでは衚珟できない色を衚珟できたす。したがっお、LABからRGBぞの倉換を䞡偎で行うこずはできたせん。ポむントを䞀方向に倉換しおから反察方向に倉換するず、異なる倀を取埗できたす。理論的には、これらの欠点が存圚したすが、実際には、この方法は匕き続き機胜したす。



画像をLABに倉換するず、ポむントL、A、B、X、Yずしお衚瀺できる䞀連のピクセルが埗られたす。アルゎリズムの残りの郚分は、これらのポむントのグルヌプ化に関係したす。最初のステヌゞのグルヌプは5぀の枬定倀すべおを䜿甚し、2番目のステヌゞはXずYの枬定倀を省略したす。



空間でのグルヌプ化



たず、ピクセルのグルヌプ化を行わず、前の蚘事で説明したように色を修正し、320x200に圧瞮しお、LABに倉換した画像から始めたす。







たず、近くのピクセルを「スヌパヌピクセル」にグルヌプ化するクむックシフトアルゎリズムを適甚したしょう。







これにより、60,000ピクセルの画像がすでに数癟スヌパヌピクセルに削枛され、䞍芁な耇雑さが解消されたす。近くのスヌパヌピクセルを小さな色の距離でマヌゞするこずで、状況をさらに単玔化できたす。これを行うために、地域近接グラフを描画したす。これは、2぀の異なるスヌパヌピクセルを瀺すノヌドが、それらのピクセルが接觊した堎合に゚ッゞで接続されるグラフです。





– (Regional Adjacency Graph, RAG) . , , , , . , , , , . – , .



グラフのノヌドは蚈算したスヌパヌピクセルであり、゚ッゞは色空間でのノヌド間の距離です。近くにある2぀の類䌌した色のスヌパヌピクセルを結ぶ゚ッゞは重みが䜎く暗い線、色が倧きく異なるスヌパヌピクセル間の゚ッゞは重みが倧きくなりたす明るい線ず線がない-重みが20を超えるず描画されたせん。近くのスヌパヌピクセルを組み合わせる方法はたくさんありたすが、単玔なしきい倀10で十分でした。



私たちの堎合、60,000ピクセルを100の領域に削枛するこずができたした。各領域には、同じ色のピクセルが含たれおいたす。これにより、蚈算䞊の利点が埗られたす。たず、ほが癜色の倧きなスヌパヌピクセルが背景であり、削陀できるこずがわかっおいたす。L> 99、および-0.5から0.5の範囲のAずBを持぀すべおのスヌパヌピクセルを削陀したす。次に、次のステップでピクセル数を倧幅に枛らすこずができたす。含たれおいるピクセル数に基づいお領域を重み付けする必芁があるため、それらの数を100に枛らすこずはできたせん。ただし、詳现をあたり倱わず、次のグルヌプの歪みをほずんど発生させるこずなく、各グルヌプからピクセルの90を簡単に削陀できたす。



スペヌスを䜿甚せずにグルヌプ化



このステップでは、座暙L、A、Bを持぀数千のピクセルがありたす。これらのピクセルをうたくグルヌプ化できるテクニックはたくさんありたす。k-means法を遞択したのは、高速で理解しやすく、デヌタが3次元しかないため、LAB空間でのナヌクリッド距離が理にかなっおいるためです。



私たちはあたり賢くはなく、K = 8のグルヌプを䜜成したした。䞀郚のグルヌプに含たれるポむントが3未満の堎合は、今床はK = 7、次に6ずいうように再詊行したす。その結果、1〜8のグルヌプ化センタヌず、各センタヌに属するポむント数の割合のリストが埗られたす。これらは、前の蚘事で説明したcolornamerアルゎリズムによっお名前が付けられおいたす。



結果ず残りの問題



CIEDE 2000 スケヌルで、予枬色ず「実際の」色の間の平均距離5.86を達成したした。この指暙を正しく解釈するこずはかなり困難です。単玔なCIE76距離メトリックでは、平均距離は7.82です。このメトリックでは、2.3の倀は埮劙な違いを衚したす。したがっお、3をわずかに超える結果は、埮劙な違いを瀺しおいるず蚀えたす。



たた、MAEは2.28色でした。しかし、繰り返しになりたすが、これは二次的な指暙です。以䞋で説明する倚くのアルゎリズムはこの゚ラヌを枛らしたすが、色の距離が長くなりたす。間違った1番目の色を無芖するよりも、5番目たたは6番目の誀った色を無芖する方がはるかに簡単です。





これらのショヌツのように明らかに同じ色のものでさえ



、圱のためにはるかに暗く芋える領域が含たれおいたす。圱の問題は残っおいたす。生地を完党に均䞀に配眮するこずはできないため、画像の䞀郚は垞に圱に残り、䞀芋別の色に芋えたす。 「圱のないピクセル」から「圱のあるピクセル」ぞの移行が垞に同じように機胜するずは限らないため、同じ色合いず異なる明るさの重耇する色を芋぀けるなどの最も単玔なアプロヌチは機胜したせん。将来的には、DeshadowNetや自動シャドり怜出などのより高床な手法を䜿甚したいず考えおいたす。







服の色だけに集䞭したした。ゞュ゚リヌず靎には独自の問題がありたす。私たちのゞュ゚リヌの写真は小さすぎ、靎の写真はしばしばそれらの内郚を瀺しおいたす。䞊蚘の䟋では、最初の1぀だけが重芁ですが、写真にバヌガンディずオヌクルの存圚を瀺したす。



他に䜕を詊したしたか



この最埌のアルゎリズムは非垞に単玔に芋えたすが、思い぀くのは簡単ではありたせんでしたこのセクションでは、私たちが詊し、孊んだオプションに぀いお説明したす。



背景の陀去



バックグラりンド陀去アルゎリズムを詊したした。たずえば、Lystのアルゎリズムです。非公匏の評䟡では、単に癜い背景を削陀するほど正確には機胜しないこずが瀺されたした。ただし、フォトスタゞオで凊理しなかった画像を凊理するため、さらに深く調査する予定です。



ピクセルのハッシュ



䞀郚の色抜出ラむブラリは、この問題の簡単な解決策を遞択しおいたすピクセルをいく぀かの十分に広いコンテナにハッシュしおグルヌプ化し、ピクセルが最も倚いLABコンテナの平均倀を返したす。Colorgram.pyラむブラリを詊しおみたした。そのシンプルさにもかかわらず、それは驚くほどうたく機胜したす。さらに、それは迅速に機胜したす-私たちのアルゎリズムが画像ごずに数十秒を費やしおいる間、画像ごずに1秒以内です。ただし、Colorgram.pyのベヌスカラヌたでの平均距離は、アルゎリズムよりも倧きくなりたした。これは䞻に、結果が倧きなコンテナたでの平均距離から取埗されるためです。ただし、粟床よりも速床が重芁な堎合に䜿甚するこずがありたす。



別のスヌパヌピクセル分割アルゎリズム



Quickshiftアルゎリズムを䜿甚しお画像をスヌパヌピクセルにセグメント化したすが、SLIC、Watershed、Felzenszwalbなどのいく぀かの可胜なアルゎリズムがありたす。実際には、Quickshiftは小さな郚品での䜜業のおかげで、最良の結果を瀺しおいたす。たずえば、SLICには、画像内で倚くのスペヌスを占めるストラむプなどの問題がありたす。さたざたな蚭定でのSLICアルゎリズムの指暙ずなる結果は次のずおりです。





元の画像の





コンパクトさ= 1





コンパクトさ= 10





コンパクトさ= 100



デヌタを凊理するために、Quickshiftには1぀の理論䞊の利点がありたす。それは、継続的なスヌパヌピクセル通信を必芁ずしないこずです。研究者は、これがアルゎリズムに問題を匕き起こす可胜性があるこずを指摘したしたが、私たちの堎合、これは利点です-私たちはしばしば、1぀のグルヌプに持ち蟌みたい小さな詳现を持぀小さな領域に出くわしたす。チェッカヌ





シャツ





Quickshiftによるスヌパヌピクセルのグルヌプ化Quickshift



のスヌパヌピクセルのグルヌプ化は混沌ずしおいるように芋えたすが、実際にはすべおの赀いストラむプを他の赀、青ず青などずグルヌプ化したす。



グルヌプの数を数えるさたざたな方法



k-meansメ゜ッドを䜿甚する堎合、最も䞀般的な質問が発生したす。「k」を䜜成する方法は぀たり、ポむントを特定の数のグルヌプにグルヌプ化する必芁がある堎合、いく぀行う必芁がありたすか質問に答えるためにいく぀かのアプロヌチが開発されたした。最も単玔な方法は「゚ルボヌ法」ですが、グラフを手動で凊理する必芁があり、自動゜リュヌションが必芁です。ギャップ統蚈はこの方法を圢匏化したもので、「色数」メトリックで最良の結果が埗られたしたが、基本色の粟床が犠牲になりたした。メむンカラヌが最も重芁であるため、䜜業プログラムでは䜿甚したせんでしたが、この問題をさらに調査する予定です。



最埌に、シル゚ット法も人気のあるk遞択法です。結果は私たちのアルゎリズムよりもわずかに悪く、1぀の重倧な欠点がありたす。少なくずも2぀のグルヌプが必芁です。しかし、倚くの衣料品は1色しかありたせん。



DBSCAN



kを遞択する問題に察する1぀の朜圚的な解決策は、このパラメヌタヌを遞択する必芁のないアルゎリズムを䜿甚するこずです。䞀般的な䟋の1぀は、デヌタ内でほが等しい密床のグルヌプを怜玢するDBSCANです。





色ずりどりのブラりス





圌女の画像のすべおのピクセルはLABスペヌスにありたす。ピクセルは、明確なシアンずバむオレットのグルヌプを圢成したせん。



倚くの堎合、そのようなグルヌプを取埗しないか、人間の知芚の特殊性のためだけにグルヌプのようなものが衚瀺されたす。私たちにずっお、ブラりスの緑がかった青の「きゅうり」は玫色の背景に察しお際立っおいたすが、すべおのピクセルをRGBたたはLAB座暙でプロットするず、それらはグルヌプを圢成したせん。しかし、ずにかく異なるむプシロン倀でDBSCANを詊したずころ、予想通り悪い結果が埗られたした。



アルゎリアからの解決策



研究者の良い原則の1぀は、誰かがすでにあなたの問題を解決しおいるかどうかを確認するこずです。アルゎリアのりェブサむトのレオ・゚ルコラネッリは、3幎以䞊前にそのような問題の解決策の詳现な説明を公開したした。゜ヌスの配垃における圌らの寛倧さのおかげで、私たちは圌らの解決策を自分たちで詊すこずができたした。ただし、結果は私たちよりもわずかに悪かったので、アルゎリズムを残したした。圌らは私たちず同じ問題を解決したせん圌らはモデル䞊にそしお癜以倖の背景に察しお補品画像を持っおいたので、圌らの結果が私たちのものず異なるこずは理にかなっおいたす。



カラヌコヌディネヌト



このアルゎリズムは、前の蚘事で説明したプロセスを完了したす。グルヌプセンタヌを抜出した埌、Colornamerを䜿甚しお名前を付け、それらの色を内郚ツヌルにむンポヌトしたす。これにより、補品を色で簡単に芖芚化できたす。このデヌタを賌入掚奚アルゎリズムに組み蟌むこずを望んでいたす。このプロセスは完璧ではありたせん。䜕千もの補品に関するより良いデヌタを取埗するのに圹立ちたす。これは、人々が奜きなスタむルを芋぀けられるようにするずいう私たちの䞻な目暙に貢献したす。



前線の翻蚳に぀いおのむンタビュヌ



All Articles