M-LSD : ワイヤーフレームを検出する機械学習モデル

elegirl_admin

ailia.AI

ailia.AI 編集部

ailia SDKで使用できる機械学習モデルである「M-LSD」のご紹介です。エッジ向け推論フレームワークであるailia SDKailia MODELSに公開されている機械学習モデルを使用することで、簡単にAIの機能をアプリケーションに実装することができます。

M-LSDの概要

M-LSDはNAVERが開発した、入力された物体のワイヤーフレームを検出する機械学習モデルです。紙や本の輪郭を正確に検出可能なため、OCRの前処理などに使用可能です。

出典:https://github.com/navervision/mlsd

Towards Real-time and Light-weight Line Segment Detection

Previous deep learning-based line segment detection (LSD) suffer from the immense model size and high computational…

arxiv.org

M-LSDのアーキテクチャ

従来のライン検出のアプローチは複数のモジュールを使用する複雑なものでした。M-LSDでは、シングルショットでラインを検出するため、高速な処理が可能です。

出典:https://arxiv.org/pdf/2106.00186.pdf

BackboneにはMobileNetV2を使用しており、後段にヒートマップを生成するためのブロックを追加しています。

出典:https://arxiv.org/pdf/2106.00186.pdf

線分は下記のように、Tri-Points(TP)として定義されています。中心点を示すlcと、始点への差分であるds、終点への差分であるdeによって線分を表現します。

出典:https://arxiv.org/pdf/2106.00186.pdf

AIモデルの出力は、線分の中心点を表すCenter mapからTopK Layerを使用して計算した線分の中心点を表す(1,200,2)のベクトルlcと、線分の確信度であるである(1,200)のスコア、中心点から線分の始点と終点への差分を示すベクトルである(1,256,256,4)のDisplacement mapとなります。AIモデルの出力である中心点・始点・終点の3つのベクトルを加算することで、線分を計算可能です。

出典:https://arxiv.org/pdf/2106.00186.pdf

データセットはWireframeとYorkUrbanを使用しています。

出典:https://arxiv.org/pdf/2106.00186.pdf

M-LSDの使用方法

下記のコマンドを使用することで、WEBカメラから認識可能です。ailia SDK 1.2.8以降に対応しています。

$ python3 mlsd.py -v 0

ailia-models/line_segment_detection/mlsd at master · axinc-ai/ailia-models

(Image from…

github.com

実行例です。

https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FGkJy7qwdiy0%3Ffeature%3Doembed&display_name=YouTube&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DGkJy7qwdiy0&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FGkJy7qwdiy0%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube

ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。