tmori’s blog

公開メモ帳くらいの感覚で書いています。技術系多め。日常少なめ。

背表紙認識の技術調査(2020/10/11)

ここで示す背表紙認識は、本棚に置かれている本の背表紙をトリミング、又はトリミングした本のタイトルと巻数を認識することを指します。QRコードなどのマーカー用いたものについては省いています。暇があれば追記します。似た事例があればコメント欄にお願いします。

A Framework for Recognition Books on Bookshelves

主な使用技術: Otsu's thresholding(大津さんの自動閾値による二値化)、Dominant vanishing point, MSAC, OCR

条件: 英語の書籍、複数列、正立に限らない

概要: 撮影位置の変更と背表紙認識を交互に処理する。最初に高周波フィルタリングとブロブ検出を用いて書棚から本と棚部分に分けたのち、DVPを元にしたMSACを使って書籍の境界を抽出。Otsu's thresholdingによる二値化をした後、OCRにてタイトルを取得。失敗したら撮影位置の変更を行う。実験において境界検出は93.33%という結果になった。

所感: 書棚→書籍部分→背表紙という実用的な実験内容。ロボットを導入し、撮影位置の変更は難しいので複数枚を撮影したもので精度が上がれば社会実装ができそう。

漫画本整理のための背表紙認識の研究

主な使用技術: 適応型閾値による二値化、opencvのcv.FindCoutoursによる境界抽出(S.Suzuki and K.Abe, Topological structural analysis of digitized binary images by border following, Computer Vision, Graphics, and Image Processing. 30(1) (1985) 32-46)

条件: 漫画、一列、必ず直立、タイトルごとに巻数順でソーティング

概要: 漫画は定まったフォントがなく、OCR等の文字認識は通用しない。そこで境界抽出アルゴリズムを適応し本棚から背表紙部分を抽出し、SHIFT特徴量とHSVヒストグラムを組み合わせて画像認識を行った。結果、全体の本の認識率は89.2%となった。ただし、巻数ごとに背景色が違う漫画に関しては注意が必要。

所管: 画像認識部分をCNNなどに置き換えた場合に精度向上は見られる...?

書棚画像の背表紙の文字情報を用いた書籍境界検出

主な使用技術: 適応型閾値による二値化、cv.FindCoutoursによる境界抽出、横方向のノイズ除去(Prewitt?)→膨張処理 *2→収縮処理、OCR(Cloud Vision API)、レーベンシュタイン距離

条件: 英語で書かれた書籍、一列、必ず直立

概要: 双書のような背表紙が似た書籍が並んだ場合、分割が難しい。そこで文字列をOCRで取得し、レーベンシュタイン距離を用いて境界を検出する。実験画像の書棚にある47冊のうち42冊の分割に成功した。背表紙の文字取得が難しいような場合に精度が下がるとのこと。

所感: 定まったフォントなら十分な精度が出そう..。一方漫画等の特殊なフォントの場合は厳しそう...。

モデル当てはめによる書棚画像解析

主な使用技術: DP、有限状態オートマトン、Cannyフィルタ

条件: 技術書(特殊なフォントは使われていない書籍)、一列、正立に限らない

概要: 文字などは照明状態や書籍のデザインで異なるため画像のエッジを元に境界を検出する。本棚画像を有限オートマトン(左から見ると、境界→左背表紙→タイトル→右背表紙→境界→... など)でモデル化し、境界線の最適化を求めるためにDPを用いている。オートマトンのセルにどの程度適応するかはエッジの処理の方向によって定めている。書棚画像60枚に対して、全境界の96.8%を検出できた。一方、1.3倍ほど過剰に分割してしまう傾向が見られた。原因は光沢や似た背表紙が隣り合うことなどがあげられる。

所感: 実験の条件設定が現実に近いため実用できそう。最適推論問題に落とし込めているので他の最適化手法も試したら結果が変わりそう。オートマトンを使う発想がかなりおもろい。ちょっと意味合いが変わるかもしれないが画像の左から右に時系列処理として見ることもできそう。