(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024076159
(43)【公開日】2024-06-05
(54)【発明の名称】物体検出システム及び方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20240529BHJP
【FI】
G06T7/00 300F
G06T7/00 350C
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022187576
(22)【出願日】2022-11-24
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】山田 幸二
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA03
5L096BA02
5L096EA03
5L096FA77
5L096GA55
5L096HA11
5L096JA18
5L096LA03
(57)【要約】
【課題】エッジコンピュータで画像から特徴量を抽出する処理の負荷を低減する。
【解決手段】画像から物体を検出するために予め機械学習により生成された物体検出モデルがエッジ10とサーバ20とに分割配置された物体検出システム1であって、縮小部12が、入力画像を重複領域のサイズ及び分割特徴量のサイズに応じて定まる所定サイズに縮小し、抽出部14が、縮小画像から特徴量を抽出し、分割部16が、縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像に対応させて特徴量を分割した分割特徴量であって、物体検出モデルの分割位置に応じたサイズの分割特徴量に分割し、圧縮部18が、分割特徴量を圧縮してサーバ20へ送信し、復号部22が、圧縮された分割特徴量を復号し、検出部24が、分割特徴量毎に物体検出を行う。
【選択図】
図9
【特許請求の範囲】
【請求項1】
画像から物体を検出するために予め機械学習により生成された物体検出モデルがエッジコンピュータとサーバとに分割配置され、前記エッジコンピュータは、画像から抽出した特徴量を圧縮して前記サーバへ送信し、前記サーバは、復号した特徴量に基づいて物体検出を行う物体検出システムであって、
前記エッジコンピュータは、入力画像を所定サイズに縮小した縮小画像から特徴量を抽出し、
前記サーバは、前記縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像に対応させて前記特徴量を分割した分割特徴量であって、前記物体検出モデルの分割位置に応じたサイズの前記分割特徴量毎に物体検出を行い、
前記所定サイズは、前記重複領域のサイズ及び前記分割特徴量のサイズに応じて定まる
物体検出システム。
【請求項2】
前記エッジコンピュータは、前記縮小画像から抽出した特徴量を前記分割特徴量に分割し、前記分割特徴量の各々を圧縮して前記サーバへ送信し、
前記サーバは、圧縮された前記分割特徴量の各々を復号し、復号した前記分割特徴量の各々に基づいて物体検出を行う
請求項1に記載の物体検出システム。
【請求項3】
前記エッジコンピュータは、前記縮小画像から抽出した特徴量を圧縮して前記サーバへ送信し、
前記サーバは、圧縮された前記特徴量を復号し、復号した前記特徴量を前記分割特徴量に分割し、分割した前記分割特徴量の各々に基づいて物体検出を行う
請求項1に記載の物体検出システム。
【請求項4】
前記物体検出モデルは、複数の中間層を持つディープニューラルネットワークであり、
前記分割特徴量のサイズは、前記エッジコンピュータと前記サーバとに分割配置された前記物体検出モデルの分割位置後の中間層へ入力する特徴量のサイズである
請求項1~請求項3のいずれか1項に記載の物体検出システム。
【請求項5】
前記エッジコンピュータは、前記物体検出モデルのうち、画像に対するフィルタ処理を行う中間層の部分を用いて、前記縮小画像から前記特徴量を抽出する請求項4に記載の物体検出システム。
【請求項6】
前記画像に対するフィルタ処理を行う中間層間のいずれかの位置で分割した前記物体検出モデルの前段を前記エッジコンピュータに配置し、前記物体検出モデルの後段を前記サーバに配置する請求項4に記載の物体検出システム。
【請求項7】
画像から物体を検出するために予め機械学習により生成された物体検出モデルがエッジコンピュータとサーバとに分割配置され、前記エッジコンピュータは、画像から抽出した特徴量を圧縮して前記サーバへ送信し、前記サーバは、復号した特徴量に基づいて物体検出を行う物体検出システムにおける物体検出方法であって、
前記エッジコンピュータは、入力画像を所定サイズに縮小した縮小画像から特徴量を抽出し、
前記サーバは、前記縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像に対応させて前記特徴量を分割した分割特徴量であって、前記物体検出モデルの分割位置に応じたサイズの前記分割特徴量毎に物体検出を行い、
前記所定サイズは、前記重複領域のサイズ及び前記分割特徴量のサイズに応じて定まる
物体検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、物体検出システム及び物体検出方法に関する。
【背景技術】
【0002】
多量の画像データを用いて深層学習により生成した物体検出モデルによる物体検出が、人が作成した特徴量を用いた物体検出と比較して、高い検出精度を実現可能となっている。深層学習による物体検出は、例えば、監視カメラで撮影された画像から不審者等を検知する映像監視システム等に応用され始めている。また、HDや4K等、カメラの解像度が向上しており、上記の映像監視システム等の深層学習による物体検出においても、高解像度のカメラが採用され始めている。そのため、高解像度の画像に対して深層学習による物体検出を行うようになってきている。
【0003】
深層学習による物体検出で高解像度画像を用いる場合、特に、画像中の小さな物体を検出するために、高解像度画像を分割した分割画像や、高解像度画像を縮小した縮小画像から物体検出を行う方式がある。
【0004】
例えば、デジタル画像から被写体の瞳領域を検出する瞳領域検出装置が提案されている。この装置は、デジタル画像を縮小デジタル画像に縮小処理し、縮小デジタル画像の特徴量を算出し、算出された縮小デジタル画像の特徴量に基づいて、デジタル画像の瞳領域を検出する。
【0005】
また、例えば、入力画像を分割して複数の分割画像を出力し、分割画像の各々を物体検出モデルに入力として与えることで物体検出モデルの演算を行う画像処理装置が提案されている。この装置は、分割画像各々に含まれる物体の属性値と物体を囲う四角枠とを含む属性情報の集合を、分割画像のメタデータとして取得する。また、この装置は、入力画像を縮小した全体画像を出力し、全体画像を物体検出モデルに入力として与えて物体検出モデルの演算を行う。そして、この装置は、全体画像に含まれる物体の属性値と四角枠とを含む属性情報の集合を、全体画像のメタデータとして取得する。さらに、この装置は、分割画像のメタデータの属性情報の集合と、全体画像のメタデータと分割画像のメタデータとで共通しない属性情報の集合とを合わせて、入力画像のメタデータを生成する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006-350426号公報
【特許文献2】国際特開第2021/161513号
【発明の概要】
【発明が解決しようとする課題】
【0007】
高解像度画像を分割した分割画像から物体検出を行う場合、分割の境界部分での未検出や誤検出が発生することを回避するために、分割の境界部分に重複領域を設ける場合がある。この場合、重複領域を付加した分だけ分割画像のサイズが増加するため、分割画像から特徴量を抽出する処理の負荷が増加するという問題がある。また、エッジコンピュータとサーバとに物体検出モデルを分割配置し、エッジコンピュータにおいて画像から特徴量を抽出する場合がある。エッジコンピュータは、サーバと比較して処理能力が低いため、分割画像から特徴量を抽出する処理負荷の増加が、物体検出の処理全体のフレームレート低下につながる。
【0008】
一つの側面として、開示の技術は、エッジコンピュータで画像から特徴量を抽出する処理の負荷を低減することを目的とする。
【課題を解決するための手段】
【0009】
一つの態様として、開示の技術は、画像から物体を検出するために予め機械学習により生成された物体検出モデルがエッジコンピュータとサーバとに分割配置された物体検出システムに関する。前記エッジコンピュータは、画像から抽出した特徴量を圧縮して前記サーバへ送信し、前記サーバは、復号した特徴量に基づいて物体検出を行う。前記エッジコンピュータは、入力画像を所定サイズに縮小した縮小画像から特徴量を抽出する。また、前記サーバは、前記縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像に対応させて前記特徴量を分割した分割特徴量であって、前記物体検出モデルの分割位置に応じたサイズの前記分割特徴量毎に物体検出を行う。前記所定サイズは、前記重複領域のサイズ及び前記分割特徴量のサイズに応じて定まる。
【発明の効果】
【0010】
一つの側面として、エッジコンピュータで画像から特徴量を抽出する処理の負荷を低減することができる、という効果を有する。
【図面の簡単な説明】
【0011】
【
図1】YOLOv3のネットワーク構造の一例を示す図である。
【
図2】YOLOv3における、縮小画像からの物体検出を説明するための図である。
【
図3】YOLOv3における、分割画像からの物体検出を説明するための図である。
【
図4】分割画像からの物体検出の問題点を説明するための図である。
【
図5】画像特徴量圧縮伝送技術を説明するための図である。
【
図7】第1実施形態に係る物体検出システムの機能ブロック図である。
【
図8】物体検出モデルの分割位置を説明するための図である。
【
図9】第1実施形態の処理を説明するための図である。
【
図10】エッジとして機能するコンピュータの概略構成を示すブロック図である。
【
図11】サーバとして機能するコンピュータの概略構成を示すブロック図である。
【
図12】第1実施形態に係る抽出処理の一例を示すフローチャートである。
【
図13】第1実施形態に係る検出処理の一例を示すフローチャートである。
【
図14】第2実施形態に係る物体検出システムの機能ブロック図である。
【
図15】第2実施形態の処理を説明するための図である。
【
図16】第2実施形態に係る抽出処理の一例を示すフローチャートである。
【
図17】第2実施形態に係る検出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0013】
まず、本実施形態の詳細を説明する前に、本実施形態の前提となる技術及びその課題について説明する。
【0014】
本実施形態は、例えば、R-CNN(Region-based Convolutional Neural Network)、YOLO(You Only Look Onse)、SSD(Single Shot MultiBox Detector)等の深層学習による物体検出を前提とする。特に、本実施形態は、画像中の小さな物体を検出するために、高解像度画像を分割して物体検出を行う方式に関する。
【0015】
例えば、YOLOv3では、縦及び横の長さが320~608画素かつ32の倍数[320,352,384,416,448,480,512,544,576,608]であり、縦横比が1:1の画像が入力画像となる。そして、YOLOv3では、検出した物体の種類、信頼度スコア、及び、検出した物体を囲むバウンディングボックスの左上及び右下の座標等の、画像内での物体の位置が検出結果として得られる。
【0016】
図1に、YOLOv3のネットワーク構造の一例を示す。YOLOv3は、
図1の破線部に示すように、入力画像を13×13画素、26×26画素、及び52×52画素の3つのサイズに分割して検出処理を行うことにより、大きさの異なる物体を検出可能にしている。したがって、YOLOv3の機械学習に適用した3種類のサイズより大きい物体又は小さい物体を検出できない可能性がある。
【0017】
また、上述したように、YOLOv3への入力画像の解像度は、320×320画素~608×608画素であるため、HDや4K等の高解像度画像で画像全体の物体検出を行う場合、
図2に示すように、画像を縮小して物体検出を行う。
図2の例では、1920×1080画素の高解像度画像を416×416画素に縮小しており、面積比で約1/12に縮小された縮小画像がYOLOv3に入力される。縮小画像から物体検出を行う場合、画像中の小さな物体は、縮小処理により、さらに小さくなり、YOLOで検出できなくなる可能性がある。
【0018】
そこで、物体が小さくなり過ぎることを回避するために、
図3に示すように、高解像度画像を分割した分割画像毎に物体検出を行う。
図3の例では、1920×1080画素の画像を960×540画素の4つに分割した画像を、416×416画素に縮小しており、面積比で約1/3に縮小された4つの縮小画像がYOLOv3に入力される。
【0019】
入力画像を分割する場合において、
図4の上段の図に示すように、検出対象の物体が分割画像の境界にある場合(
図4の上段の図中の破線部)、分割画像からその物体を検出できない可能性がある。そこで、分割画像の境界に物体がある場合でも検出できるように、分割境界付近の領域を重複させて画像を分割する方式がある。
図4の中段及び下段の図では、1920×1080画素の画像を4つに分割する場合に、重複領域の幅を100画素とし、1060×640画素の4つの分割画像に分割している。このように分割境界付近に重複領域を設けることで、
図4の下段の図中の破線部に示すように、物体が境界にまたがることを回避し、分割画像から物体を検出可能になる。
【0020】
また、本実施形態では、画像特徴量圧縮伝送技術を前提としている。
図5に示すように、画像特徴量圧縮伝送技術は、YOLOv3等の物体検出モデルを、前段と後段とに分割する。前段は、画像から特徴量を抽出する抽出部、後段は、特徴量に基づいて物体を検出する検出部である。画像特徴量圧縮伝送技術のより詳細な構成は、
図5に示すように、エッジコンピュータ(以下、単に「エッジ」ともいう)に抽出部及び圧縮部を配置し、サーバに復号部及び検出部を配置する。そして、エッジにおいて、入力画像を抽出部に入力して得られる特徴量を圧縮部で圧縮してサーバへ伝送する。サーバでは、圧縮された特徴量を受信して復号部により復号した後に、検出部で物体検出を行い、物体検出結果を出力する。これにより、物体検出モデルによる物体検出精度の劣化を一定値に抑えながら、エッジから圧縮画像を送信し、サーバで物体検出を行う方式を大きく超える高圧縮を実現する。
【0021】
図6に、上記の分割画像から物体検出を行う方式を画像特徴量圧縮伝送技術に適用した例(以下、「参考例」という)を示す。
図6に示すように、参考例のエッジは、分割部、縮小部、抽出部、及び圧縮部を含み、参考例のサーバは、復号部及び検出部を含む。
【0022】
図6の例では、1920×1080画素の入力画像が入力されると、分割部が、入力画像を4つの分割画像に分割する。分割の際に重複領域を設けない場合には、分割画像のサイズは960×540であり、例えば100画素の重複領域を設けた場合には、分割画像のサイズは1060×640画素である。そして、縮小部が各分割画像を、抽出部、すなわちYOLOv3の前段に対する入力サイズ(例えば、416×416画素)に縮小する。抽出部は、各分割画像から、例えば、208×208サイズの特徴量を抽出する。そして、圧縮部が、各分割画像から抽出された特徴量を圧縮して、サーバへ送信する。サーバでは、復号部が、圧縮された特徴量を受信し、208×208サイズの4つの特徴量を復号し、検出部が、復号された、各分割画像から抽出された特徴量の各々から物体検出を行い、各分割画像についての検出結果を統合して、入力画像についての物体検出結果として出力する。
【0023】
参考例では、高解像度画像を分割する際に、分割境界に重複領域を設けて画像を分割することで、分割境界にまたがる物体の検出率を増加させることができる。しかし、重複領域を付加した分だけ、分割画像のサイズが増加するため、分割画像から特徴量を抽出する処理の負荷が増大する。エッジはサーバと比較して処理能力が低いため、処理負荷の増加が物体検出処理全体のフレームレートの低下につながる。
【0024】
そこで、以下の各実施形態では、物体を検出する対象の入力画像全体のサイズを変えることなく、入力画像を分割する際に重複領域を設けつつ、エッジで画像から特徴量を抽出する処理の負荷を低減する方法を提案する。以下、各実施形態について詳述する。
【0025】
<第1実施形態>
図7に示すように、第1実施形態に係る物体検出システム1は、エッジ10と、サーバ20とを含む。物体検出システム1においても、上記の参考例と同様に、複数の中間層を持つディープニューラルネットワーク(例えば、YOLO等)である物体検出モデルの前段がエッジ10に配置され、物体検出モデルの後段がサーバ20に配置される。ここで、本実施形態では、物体検出モデルの前段と後段との分割位置を、全結合層、連結層等の、画像サイズに依存しない処理が実行される中間層の後とする。このような中間層の処理は、単なるフィルタ処理であるため、フィルタ係数を変更することなく、入力される画像のサイズ変更に対応可能である。
図8に、物体検出モデルがYOLOv3の場合のネットワーク構造の一例を示す。この場合、
図8中のAの範囲で、YOLOv3を前段と後段とに分割すればよい。例えば、
図8中のBの位置で分割した場合、Bより前の中間層が前段(
図8中のC)、Bより後の中間層が後段(
図8中のD)となる。
【0026】
上記のように分割した場合のYOLOv3の前段の出力である特徴量は、入力画像のサイズに依存しない。すなわち、入力画像を分割して各分割画像を処理した結果と、入力画像をそのまま処理した結果とは等しい。なお、厳密には周辺画素は異なるが、結果への影響はない。したがって、異なるサイズの入力画像に対応した物体検出モデルを生成するために、入力画像のサイズ毎に物体検出モデルの機械学習を行うことが不要である。そのため、既存のフィルタ係数等のネットワークパラメータを用いて、物体検出モデルの前段に入力される画像のサイズに対応するように画素拡張を行うことで、サイズが異なる入力画像に対応可能な物体検出モデルを生成することができる。
【0027】
エッジ10は、機能的には、
図7に示すように、縮小部12と、抽出部14と、分割部16と、圧縮部18とを含む。
【0028】
縮小部12は、入力画像を所定サイズに縮小した縮小画像を生成する。所定サイズは、重複領域のサイズ及び分割特徴量(詳細は後述)のサイズに応じて定まる。例えば、
図9に示すように、入力画像を4つに分割する場合において、重複領域として100画素の幅を設定し、分割特徴量のサイズが208×208であり、後述する抽出部14における縦及び横の縮小率が1/2であるとする。この場合、縮小部12は、入力画像を732×732画素の縮小画像に縮小する。すなわち、
図9下図に示すように、入力画像は、サイズ208×208の4つの分割特徴量に対応する分割画像として、幅100画素の重複領域を含めて416×416画素の分割画像が4つ確保されたサイズに縮小される。縮小部12は、生成した縮小画像を抽出部14へ受け渡す。
【0029】
抽出部14は、縮小画像のサイズに対応可能に画素拡張された、物体検出モデルの前段のネットワークに縮小画像を入力して、縮小画像から特徴量を抽出する。本実施形態では、参考例とは異なり、入力画像を分割した分割画像の各々から特徴量を抽出するのではなく、縮小画像全体から特徴量を抽出する。上述したように、縮小画像は、後述する分割特徴量の各々に対応する分割画像を、重複領域を持たせて重ね合わせた画像に相当する。したがって、抽出部14は、重複領域について、特徴抽出の処理を重複して実行することなく、各分割画像から特徴量を抽出する場合と同様の特徴量を抽出することができる。抽出部14は、抽出した特徴量を分割部16へ受け渡す。
【0030】
分割部16は、抽出部14から受け渡された特徴量を分割特徴量に分割する。分割特徴量は、縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像から抽出される特徴量に相当する。各分割特徴量のサイズは、物体検出モデルの分割位置に応じたサイズ、すなわち、物体検出モデルの後段である検出部24に入力可能なサイズである。分割部16は、分割した各分割特徴量を圧縮部18へ受け渡す。
【0031】
圧縮部18は、分割特徴量の各々を圧縮する。圧縮部18は、分割特徴量を、後段の検出部24の処理で必要な情報を保持して圧縮するように機械学習により生成されたオートエンコーダのエンコーダである。圧縮部18は、圧縮した各分割特徴量をサーバ20へ送信する。
【0032】
サーバ20は、機能的には、
図7に示すように、復号部22と、検出部24とを含む。
【0033】
復号部22は、エッジ10から送信された、圧縮された各分割特徴量を受信し、圧縮された各分割特徴量を復号する。復号部22は、圧縮部18と対になる、オートエンコーダのデコーダである。復号部22は、復号した各分割特徴量を検出部24へ受け渡す。
【0034】
検出部24は、復号された各分割特徴量を、物体検出モデルの後段のネットワークに入力して、各分割特徴量に対応する分割画像に相当する入力画像の領域から物体検出を行う。検出部24は、分割特徴量毎に得られた検出結果を統合して、入力画像についての物体検出結果として出力する。
【0035】
エッジ10は、例えば
図10に示すコンピュータ40で実現されてよい。コンピュータ40は、CPU(Central Processing Unit)41と、GPU(Graphic Processing Unit)48と、一時記憶領域としてのメモリ42と、不揮発性の記憶装置43とを備える。また、コンピュータ40は、入力装置、表示装置等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)装置45とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)46を備える。CPU41、メモリ42、記憶装置43、入出力装置44、R/W装置45、及び通信I/F46は、バス47を介して互いに接続される。
【0036】
記憶装置43は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等である。記憶媒体としての記憶装置43には、コンピュータ40を、エッジ10として機能させるための抽出プログラム50が記憶される。抽出プログラム50は、縮小プロセス制御命令52と、抽出プロセス制御命令54と、分割プロセス制御命令56と、圧縮プロセス制御命令58とを有する。
【0037】
CPU41は、抽出プログラム50を記憶装置43から読み出してメモリ42に展開し、抽出プログラム50が有する制御命令を順次実行する。CPU41は、縮小プロセス制御命令52を実行することで、
図7に示す縮小部12として動作する。また、CPU41は、抽出プロセス制御命令54を実行することで、
図7に示す抽出部14として動作する。また、CPU41は、分割プロセス制御命令56を実行することで、
図7に示す分割部16として動作する。また、CPU41は、圧縮プロセス制御命令58を実行することで、
図7に示す圧縮部18として動作する。これにより、抽出プログラム50を実行したコンピュータ40が、エッジ10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。また、CPU41で行う処理の一部をGPU48で実行してもよい。
【0038】
サーバ20は、例えば
図11に示すコンピュータ60で実現されてよい。コンピュータ60は、CPU61と、GPU68と、メモリ62と、記憶装置63と、入出力装置64と、R/W装置65と、通信I/F66とを備える。CPU61、メモリ62、記憶装置63、入出力装置64、R/W装置65、及び通信I/F66は、バス67を介して互いに接続される。
【0039】
記憶媒体としての記憶装置63には、コンピュータ60を、サーバ20として機能させるための検出プログラム70が記憶される。検出プログラム70は、復号プロセス制御命令72と、検出プロセス制御命令74とを有する。
【0040】
CPU61は、検出プログラム70を記憶装置63から読み出してメモリ62に展開し、検出プログラム70が有する制御命令を順次実行する。CPU61は、復号プロセス制御命令72を実行することで、
図7に示す復号部22として動作する。また、CPU61は、検出プロセス制御命令74を実行することで、
図7に示す検出部24として動作する。これにより、検出プログラム70を実行したコンピュータ60が、サーバ20として機能することになる。なお、プログラムを実行するCPU61はハードウェアである。
【0041】
なお、抽出プログラム50及び検出プログラム70の各々により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等で実現されてもよい。また、CPU41、61で行う処理の一部をGPU48、68で実行してもよい。
【0042】
次に、第1実施形態に係る物体検出システム1の動作について説明する。エッジ10に入力画像が入力されると、エッジ10において、
図12に示す抽出処理が実行され、サーバ20において、
図13に示す検出処理が実行される。なお、抽出処理及び検出処理は、開示の技術の物体検出方法の一例である。
【0043】
【0044】
ステップS10で、縮小部12が、入力画像を取得する。次に、ステップS12で、縮小部12が、入力画像を、重複領域のサイズ及び分割特徴量のサイズに応じて定まる所定サイズに縮小した縮小画像を生成する。次に、ステップS14で、抽出部14が、縮小画像のサイズに対応可能に画素拡張された、物体検出モデルの前段のネットワークに縮小画像を入力して、縮小画像から特徴量を抽出する。
【0045】
次に、ステップS16で、分割部16が、縮小画像から抽出された特徴量を、縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像から抽出される特徴量に相当する分割特徴量に分割する。次に、ステップS18で、圧縮部18が、オートエンコーダのエンコーダにより、分割特徴量の各々を圧縮する。そして、圧縮部18が、圧縮した各分割特徴量をサーバ20へ送信し、抽出処理は終了する。
【0046】
【0047】
ステップS20で、復号部22が、圧縮された各分割特徴量をエッジ10から受信し、圧縮された各分割特徴量を、オートエンコーダのデコーダにより復号する。次に、ステップS22で、検出部24が、復号された各分割特徴量を、物体検出モデルの後段のネットワークに入力して、各分割特徴量に対応する分割画像に相当する入力画像の領域から物体検出を行う。次に、ステップS24で、検出部24が、分割特徴量毎に得られた検出結果を統合して、入力画像についての物体検出結果として出力し、検出処理は終了する。
【0048】
以上説明したように、第1実施形態に係る物体検出システムは、画像から物体を検出するために予め機械学習により生成された物体検出モデルがエッジコンピュータとサーバとに分割配置されている。エッジコンピュータは、画像から抽出した特徴量を圧縮してサーバへ送信し、サーバは、復号した特徴量に基づいて物体検出を行う。エッジコンピュータは、入力画像を、重複領域のサイズ及び分割特徴量のサイズに応じて定まる所定サイズに縮小した縮小画像から特徴量を抽出する。そして、エッジコンピュータは、縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像に対応させて特徴量を分割特徴量に分割し、各分割特徴量を圧縮してサーバへ送信する。サーバは、物体検出モデルの分割位置に応じたサイズの分割特徴量毎に物体検出を行い、物体検出結果を出力する。
【0049】
このように、本実施形態に係る物体検出システムでは、物体検出モデルで特徴量を抽出する処理は入力画像のサイズに依存しないという特性を利用し、重複領域のある各分割画像から特徴量を抽出する場合に、入力画像を縮小した縮小画像から特徴量を抽出する。縮小画像は、分割画像の重複領域を重ねた画像であるため、分割画像の重複領域について、特徴量の抽出を重複して行うことを避けることができる。すなわち、縮小画像の画素数は、重複領域のある分割画像全体の画素数よりも少なくなるため、エッジコンピュータにおける特徴量の抽出の処理負荷を低減することができる。その結果、物体検出処理の高速化、低遅延化、処理フレームレートの向上を実現することができる。
【0050】
例えば、
図6に示す参考例の場合、抽出部の処理対象の画素数は、416×416画素×4=692,224画素である。一方、本実施形態の抽出部14の処理対象の画素数は、
図6の参考例と同サイズの入力画像に対して、
図9に示すように、732×732=535,824である。したがって、本実施形態では、処理負荷を約23%削減することができる。
【0051】
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係る物体検出システムにおいて、第1実施形態に係る物体検出システム1と同様の構成については、同一符号を付して詳細な説明を省略する。
【0052】
図14に示すように、第2実施形態に係る物体検出システム2は、エッジ210と、サーバ220とを含む。
【0053】
エッジ210は、機能的には、
図14に示すように、縮小部12と、抽出部14と、圧縮部218とを含む。
【0054】
圧縮部218は、
図15に示すように、抽出部14において、縮小画像から抽出された特徴量を圧縮して、サーバ220へ送信する。圧縮部218は、特徴量の圧縮に、抽出部14から出力される特徴量のサイズに対応するように画素拡張を行ったオートエンコーダのエンコーダを用いる。
【0055】
サーバ220は、機能的には、
図14に示すように、復号部222と、分割部226と、検出部24とを含む。
【0056】
復号部222は、エッジ210から送信された、圧縮された特徴量を受信し、圧縮された特徴量を復号する。復号部222は、特徴量の復号に、圧縮された特徴量のサイズに対応するように画素拡張を行ったオートエンコーダのデコーダを用いる。復号部222は、復号した特徴量を分割部226へ受け渡す。
【0057】
分割部226は、第1実施形態のエッジ10に含まれる分割部16と同様の処理により、復号部222から受け渡された特徴量を分割特徴量に分割する。分割部226は、分割した各分割特徴量を検出部24へ受け渡す。
【0058】
エッジ210は、例えば
図10に示すコンピュータ40で実現されてよい。コンピュータ40の記憶装置43には、コンピュータ40を、エッジ210として機能させるための抽出プログラム250が記憶される。抽出プログラム250は、縮小プロセス制御命令52と、抽出プロセス制御命令54と、圧縮プロセス制御命令258とを有する。
【0059】
CPU41は、抽出プログラム250を記憶装置43から読み出してメモリ42に展開し、抽出プログラム250が有する制御命令を順次実行する。CPU41は、圧縮プロセス制御命令258を実行することで、
図14に示す圧縮部218として動作する。他の制御命令については、第1実施形態に係る抽出プログラム50と同様である。これにより、抽出プログラム250を実行したコンピュータ40が、エッジ210として機能することになる。また、CPU41で行う処理の一部をGPU48で実行してもよい。
【0060】
サーバ20は、例えば
図11に示すコンピュータ60で実現されてよい。コンピュータ60の記憶装置63には、コンピュータ60を、サーバ220として機能させるための検出プログラム270が記憶される。検出プログラム70は、復号プロセス制御命令272と、分割プロセス制御命令276と、検出プロセス制御命令74とを有する。
【0061】
CPU61は、検出プログラム270を記憶装置63から読み出してメモリ62に展開し、検出プログラム270が有する制御命令を順次実行する。CPU61は、復号プロセス制御命令272を実行することで、
図14に示す復号部222として動作する。また、CPU61は、分割プロセス制御命令276を実行することで、
図14に示す分割部226として動作する。また、CPU61は、検出プロセス制御命令74を実行することで、
図14に示す検出部24として動作する。これにより、検出プログラム270を実行したコンピュータ60が、サーバ220として機能することになる。また、CPU61で行う処理の一部をGPU68で実行してもよい。
【0062】
なお、抽出プログラム250及び検出プログラム270の各々により実現される機能は、例えば半導体集積回路、より詳しくはASIC、FPGA等で実現されてもよい。また、CPU41、61で行う処理の一部をGPU48、68で実行してもよい。
【0063】
次に、第2実施形態に係る物体検出システム2の動作について説明する。エッジ210に入力画像が入力されると、エッジ210において、
図16に示す抽出処理が実行され、サーバ220において、
図17に示す検出処理が実行される。なお、第2実施形態に係る抽出処理及び検出処理において、第1実施形態に係る抽出処理及び検出処理と同様の処理については、同一のステップ番号を付して詳細な説明を省略する。
【0064】
【0065】
ステップS10~S14を経て、次に、ステップS218で、圧縮部218が、抽出部14から出力される特徴量のサイズに対応するように画素拡張を行ったオートエンコーダのエンコーダにより、上記ステップS14で抽出された特徴量を圧縮する。そして、圧縮部218が、圧縮した特徴量をサーバ220へ送信し、抽出処理は終了する。
【0066】
【0067】
ステップS220で、復号部222が、圧縮された特徴量をエッジ210から受信し、圧縮された特徴量を、オートエンコーダのデコーダにより復号する。次に、ステップS221で、分割部226が、復号された特徴量を分割特徴量に分割する。そして、ステップS22及びS24を経て、検出処理は終了する。
【0068】
以上説明したように、第2実施形態に係る物体検出システムにおいて、エッジコンピュータは、入力画像を、重複領域のサイズ及び分割特徴量のサイズに応じて定まる所定サイズに縮小した縮小画像から特徴量を抽出し、圧縮してサーバへ送信する。そして、サーバは、圧縮された特徴量を復号し、特徴量を分割特徴量に分割し、分割特徴量毎に物体検出を行い、物体検出結果を出力する。このように、エッジ側で特徴量の分割処理を行わないことで、エッジ側での処理負荷をより低減することができる。また、重複領域が重複して分割された複数の分割特徴量の各々を圧縮した場合に比べ、縮小画像の特徴量を圧縮した場合の方が、データ量が小さいため、エッジとサーバ間のネットワーク帯域も削減される。さらに、圧縮部及び復号部での処理対象の特徴量も削減されるため、圧縮部及び復号部の処理負荷を低減することができる。
【0069】
なお、上記各実施形態では、物体検出モデルが、主にYOLOv3である場合を例に説明したが、これに限定されない。物体検出モデルは、前段の中間層が、単にフィルタ処理を行う中間層のように、入力画像のサイズに依存しない中間層を備えた深層学習によるネットワークであればよい。
【0070】
また、上記各実施形態では、抽出プログラム及び検出プログラムが記憶装置に予め記憶(インストール)されているが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。
【0071】
以上の各実施形態に関し、さらに以下の付記を開示する。
【0072】
(付記1)
画像から物体を検出するために予め機械学習により生成された物体検出モデルがエッジコンピュータとサーバとに分割配置され、前記エッジコンピュータは、画像から抽出した特徴量を圧縮して前記サーバへ送信し、前記サーバは、復号した特徴量に基づいて物体検出を行う物体検出システムであって、
前記エッジコンピュータは、入力画像を所定サイズに縮小した縮小画像から特徴量を抽出し、
前記サーバは、前記縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像に対応させて前記特徴量を分割した分割特徴量であって、前記物体検出モデルの分割位置に応じたサイズの前記分割特徴量毎に物体検出を行い、
前記所定サイズは、前記重複領域のサイズ及び前記分割特徴量のサイズに応じて定まる
物体検出システム。
【0073】
(付記2)
前記エッジコンピュータは、前記縮小画像から抽出した特徴量を前記分割特徴量に分割し、前記分割特徴量の各々を圧縮して前記サーバへ送信し、
前記サーバは、圧縮された前記分割特徴量の各々を復号し、復号した前記分割特徴量の各々に基づいて物体検出を行う
付記1に記載の物体検出システム。
【0074】
(付記3)
前記エッジコンピュータは、前記縮小画像から抽出した特徴量を圧縮して前記サーバへ送信し、
前記サーバは、圧縮された前記特徴量を復号し、復号した前記特徴量を前記分割特徴量に分割し、分割した前記分割特徴量の各々に基づいて物体検出を行う
付記1に記載の物体検出システム。
【0075】
(付記4)
前記物体検出モデルは、複数の中間層を持つディープニューラルネットワークであり、
前記分割特徴量のサイズは、前記エッジコンピュータと前記サーバとに分割配置された前記物体検出モデルの分割位置後の中間層へ入力する特徴量のサイズである
付記1~付記3のいずれか1項に記載の物体検出システム。
【0076】
(付記5)
前記エッジコンピュータは、前記物体検出モデルのうち、画像に対するフィルタ処理を行う中間層の部分を用いて、前記縮小画像から前記特徴量を抽出する付記4に記載の物体検出システム。
【0077】
(付記6)
前記画像に対するフィルタ処理を行う中間層間のいずれかの位置で分割した前記物体検出モデルの前段を前記エッジコンピュータに配置し、前記物体検出モデルの後段を前記サーバに配置する付記4又は付記5に記載の物体検出システム。
【0078】
(付記7)
画像から物体を検出するために予め機械学習により生成された物体検出モデルがエッジコンピュータとサーバとに分割配置され、前記エッジコンピュータは、画像から抽出した特徴量を圧縮して前記サーバへ送信し、前記サーバは、復号した特徴量に基づいて物体検出を行う物体検出システムにおける物体検出方法であって、
前記エッジコンピュータは、入力画像を所定サイズに縮小した縮小画像から特徴量を抽出し、
前記サーバは、前記縮小画像を予め定めたサイズの重複領域を持たせて分割した場合の各分割画像に対応させて前記特徴量を分割した分割特徴量であって、前記物体検出モデルの分割位置に応じたサイズの前記分割特徴量毎に物体検出を行い、
前記所定サイズは、前記重複領域のサイズ及び前記分割特徴量のサイズに応じて定まる
物体検出方法。
【0079】
(付記8)
前記エッジコンピュータは、前記縮小画像から抽出した特徴量を前記分割特徴量に分割し、前記分割特徴量の各々を圧縮して前記サーバへ送信し、
前記サーバは、圧縮された前記分割特徴量の各々を復号し、復号した前記分割特徴量の各々に基づいて物体検出を行う
付記7に記載の物体検出方法。
【0080】
(付記9)
前記エッジコンピュータは、前記縮小画像から抽出した特徴量を圧縮して前記サーバへ送信し、
前記サーバは、圧縮された前記特徴量を復号し、復号した前記特徴量を前記分割特徴量に分割し、分割した前記分割特徴量の各々に基づいて物体検出を行う
付記7に記載の物体検出方法。
【0081】
(付記10)
前記物体検出モデルは、複数の中間層を持つディープニューラルネットワークであり、
前記分割特徴量のサイズは、前記エッジコンピュータと前記サーバとに分割配置された前記物体検出モデルの分割位置後の中間層へ入力する特徴量のサイズである
付記7~付記9のいずれか1項に記載の物体検出方法。
【0082】
(付記11)
前記エッジコンピュータは、前記物体検出モデルのうち、画像に対するフィルタ処理を行う中間層の部分を用いて、前記縮小画像から前記特徴量を抽出する付記10に記載の物体検出方法。
【0083】
(付記12)
前記画像に対するフィルタ処理を行う中間層間のいずれかの位置で分割した前記物体検出モデルの前段を前記エッジコンピュータに配置し、前記物体検出モデルの後段を前記サーバに配置する付記10又は付記11に記載の物体検出方法。
【符号の説明】
【0084】
1、2 物体検出システム
10、210 エッジ
12 縮小部
14 抽出部
16 分割部
18、218 圧縮部
20、220 サーバ
22、222 復号部
24 検出部
226 分割部
40、60 コンピュータ
41、61 CPU
42、62 メモリ
43、63 記憶装置
44、64 入出力装置
45、65 R/W装置
46、66 通信I/F
47、67 バス
49 記憶媒体
50、250 抽出プログラム
52 縮小プロセス制御命令
54 抽出プロセス制御命令
56 分割プロセス制御命令
58、258 圧縮プロセス制御命令
70、270 検出プログラム
72、272 復号プロセス制御命令
74 検出プロセス制御命令
250 抽出プログラム
258 圧縮プロセス制御命令
276 分割プロセス制御命令