OpenCVを使ったiQONの
画像処理の全容
松本 一紀
VASILY,Inc
Backend Engineer
2014年3月からVASILYでインターンを開始し2015年に新卒入社
現在は主にRuby on RailsでのBE開発を担当
大学の研究室ではComputer Visionを専攻
iQONでコーディネートをつくる過程
アイテムを検索 キャンバスに配置
アイテムを検索
アイテムを組み合わせる
コーディネートに使いやすいアイテムの判定
通常のアイテム検索結果 コーディネート作成時の
アイテム検索結果
以前は人力作業で分類していた
アイテム画像判定の自動化
マネキン画像
過去の人力判定時のログのBigDataから
各ブランド&カテゴリの傾向を分析
・マネキン画像使用率
・モデル画像使用率を計算
アイテム画像判定の自動化
mask画像生成からの
複数物体検出
判定精度97%を実現
顔認識による
モデル画像検出
アイテム画像の背景の透過の問題
・背景とアイテムがほぼ同色の場合にしきい値選定が困難
・画像の端をスムーズにできない
動的に背景画像を生成
背景画像は入力画像の端をスキャンして線形補完して生成
γ補正によるコントラスト調整
γ値は背景画像の生成処理から得られた
背景画像の明度値によって動的に変化
変換前画像 変換後画像 gamma値の変化
https://en.wikipedia.org/wiki/Gamma_correction
画像のノイズをフィルタリング処理で除去
フィルタリング前 フィルタリング後
mean-shift + BILATERAL FILTERの適用
物体と背景の境界の明確化
変換によって得られた画像
変換前画像 変換後画像
背景画像
変換後画像
入力画像 背景透過画像
背景透過処理
まとめ
• 1日のアイテム追加件数は最大3000件ほどであった
が、画像判定自動化によって最大10万件になった
• ruby-opencvは優秀だが、複雑な画像処理には向か
ない
• 詳しい話は個人的に聞いてください

OpenCVを使ったiQONの画像処理の全容