(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】モデル生成方法、オブジェクト検出方法、装置、機器、及び記憶媒体
(51)【国際特許分類】
G06T 7/00 20170101AFI20240911BHJP
G06N 3/0464 20230101ALI20240911BHJP
G06N 3/082 20230101ALI20240911BHJP
【FI】
G06T7/00 350C
G06N3/0464
G06N3/082
(21)【出願番号】P 2022544673
(86)(22)【出願日】2021-03-09
(86)【国際出願番号】 CN2021079690
(87)【国際公開番号】W WO2021185121
(87)【国際公開日】2021-09-23
【審査請求日】2022-09-09
(31)【優先権主張番号】202010188303.6
(32)【優先日】2020-03-17
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】320015083
【氏名又は名称】北京京東乾石科技有限公司
【氏名又は名称原語表記】BEIJING JINGDONG QIANSHI TECHNOLOGY CO., LTD.
【住所又は居所原語表記】ROOM A1905, 19TH FLOOR, NO. 2 BUILDING, NO. 18 KECHUANG 11 STREET, BEIJING ECONOMIC AND TECHNOLOGICAL DEVELOPMENT ZONE, BEIJING 100176, PEOPLE’S REPUBLIC OF CHINA
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100153729
【氏名又は名称】森本 有一
(72)【発明者】
【氏名】安耀祖
(72)【発明者】
【氏名】許新玉
(72)【発明者】
【氏名】孔旗
【審査官】藤原 敬利
(56)【参考文献】
【文献】中国特許出願公開第110633747(CN,A)
【文献】中国特許出願公開第110796168(CN,A)
【文献】特開2019-159694(JP,A)
【文献】特開2019-212206(JP,A)
【文献】Zhuang Liu et al.,Learning Efficient Convolutional Networks through Network Slimmingy,2017 IEEE International Conference on Computer Vision (ICCV),米国,IEEE,2017年10月29日,https://ieeexplore.ieee.org/document/8237560/
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/00-18/40
G06N 3/00-99/00
G06T 7/00- 7/90
G06V 10/00-20/90
(57)【特許請求の範囲】
【請求項1】
モデル生成方法であって、
初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得し、ここで、前記中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及び前記サンプル画像における既知のオブジェクトのサンプル標記結果を含むことと、
複数の前記拡縮係数の数値の大きさに基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別することと、
前記中間検出モデルの複数のチャネルから、前記枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ前記枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することと、を含み、
前記枝刈り対象の係数は複数であり、前記中間検出モデルの複数のチャネルから、前記枝刈り対象の係数に対応する枝刈り対象のチャネルを選別することは、
前記中間検出モデルの複数の畳み込み層の複数のチャネルから、複数の前記枝刈り対象の係数における現在の枝刈り係数に対応する現在の畳み込み層の出力チャネルと、前記現在の畳み込み層の次の畳み込み層の入力チャネルとを選別し、且つ前記出力チャネルと前記入力チャネルとを枝刈り対象のチャネルとすること、
を含み、
前記モデル生成方法は、
前記中間検出モデルの複数の畳み込み層から、枝刈り可能な畳み込み層を選別し、ここで、前記枝刈り可能な畳み込み層は、1*1畳み込み層と、分類回帰分岐における畳み込み層との少なくとも1つ以外の畳み込み層を含むことと、
複数の前記拡縮係数から、前記枝刈り可能な畳み込み層に対応する拡縮係数を選別し、前記枝刈り可能な畳み込み層に対応する拡縮係数は、オブジェクト拡縮係数であることと、を
さらに含
み、
複数の前記拡縮係数の数値の大きさに基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別することは、複数の前記オブジェクト拡縮係数の数値の大きさに基づいて、複数の前記オブジェクト拡縮係数から枝刈り対象の係数を選別することを含む、
モデル生成方法。
【請求項2】
前記複数の前記拡縮係数の数値の大きさに基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別することは、
複数の前記拡縮係数の数値の大きさ、及び預設枝刈り率に基づいて、複数の前記拡縮係数の枝刈り閾値を得て、且つ前記枝刈り閾値に基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別することを含む、
請求項1に記載の方法。
【請求項3】
複数の前記トレーニングサンプルを取得し、且つ複数の前記トレーニングサンプルに基づいて、前記オリジナル検出モデルに対して前記バッチ正規化層に基づくスパーストレーニングを行い、前記中間検出モデルを得ることをさらに含み、
前記オリジナル検出モデルにおけるオブジェクト損失関数は、オリジナル損失関数、及びL1正則制約関数により構成され、前記L1正則制約関数は、複数の前記拡縮係数に対してL1正則制約を行う損失関数を含む、
請求項1に記載の方法。
【請求項4】
前記オブジェクト損失関数Lは、下記の数式のように表されており、
【数1】
ここで、xは1つのサンプル画像であり、yは前記サンプル画像におけるサンプル標記結果であり、Wは前記オリジナル検出モデルにおけるパラメータ値であり、f(x、W)は前記サンプル画像における既知のオブジェクトのサンプル予測結果であり、γは拡縮係数であり、λはペナルティ係数であり、l()は前記オリジナル損失関数であり、g()は前記L1正則制約関数であり、Γは前記オリジナル検出モデルにおける全ての拡縮係数の集合を表す、
請求項
3に記載の方法。
【請求項5】
前記枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することは、
前記枝刈り対象のチャネルをチャネル枝刈りし、枝刈り検出モデルを得ることと、
前記枝刈り検出モデルをトリミングトレーニングし、オブジェクト検出モデルを生成することと、を含む、
請求項1に記載の方法。
【請求項6】
前記オリジナル検出モデルは、シングルショットマルチボックス検出器SSDを含み、
前記SSDの主幹ネットワークは、inception_v3構造を含む、
請求項1に記載の方法。
【請求項7】
オブジェクト検出方法であって、
検出対象の画像と、請求項1~
6のいずれか1項に記載の方法に従って生成されたオブジェクト検出モデルとを取得することと、
前記検出対象の画像を前記オブジェクト検出モデルに入力し、前記オブジェクト検出モデルの出力結果に基づいて、前記検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得ることと、を含む、
オブジェクト検出方法。
【請求項8】
モデル生成装置であって、
初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得するように構成される第1取得モジュールであって、ここで、前記中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及び前記サンプル画像における既知のオブジェクトのサンプル標記結果を含む、第1取得モジュールと、
複数の前記拡縮係数の数値の大きさに基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別するように構成される第1選別モジュールと、
前記中間検出モデルの複数のチャネルから、前記枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成するように構成されるモデル生成モジュールと、を含み、
前記枝刈り対象の係数は複数であり、前記モデル生成モジュールは、
前記中間検出モデルの複数の畳み込み層の複数のチャネルから、複数の前記枝刈り対象の係数における現在の枝刈り係数に対応する現在の畳み込み層の出力チャネルと、前記現在の畳み込み層の次の畳み込み層の入力チャネルとを選別し、且つ前記出力チャネルと前記入力チャネルとを枝刈り対象のチャネルとするように構成される、枝刈リ対象のチヤネル選別ユニットを含
み、
前記モデル生成装置は、
前記中間検出モデルの複数の畳み込み層から、枝刈り可能な畳み込み層を選別するように構成される第2選別モジュールであって、ここで、前記枝刈り可能な畳み込み層は、1*1畳み込み層と、分類回帰分岐における畳み込み層との少なくとも1つ以外の畳み込み層を含む、第2選別モジュールと、
複数の前記拡縮係数から、前記枝刈り可能な畳み込み層に対応する拡縮係数を選別するように構成される第3選別モジュールであって、前記枝刈り可能な畳み込み層に対応する拡縮係数は、オブジェクト拡縮係数である、第3選別モジュールと、をさらに含み、
ここで、前記第1選別モジュールは、複数の前記オブジェクト拡縮係数の数値の大きさに基づいて、複数の前記オブジェクト拡縮係数から枝刈り対象の係数を選別するように構成される、
モデル生成装置。
【請求項9】
オブジェクト検出装置であって、
検出対象の画像と、請求項1~
6のいずれか1項に記載の方法に従って生成されたオブジェクト検出モデルとを取得するように構成される第2取得モジュールと、
前記検出対象の画像を前記オブジェクト検出モデルに入力し、前記オブジェクト検出モデルの出力結果に基づいて、検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得るように構成されるオブジェクト検出モジュールと、を含む、
オブジェクト検出装置。
【請求項10】
機器であって、
少なくとも1つのプロセッサと、
少なくとも1つのプログラムを記憶するように構成されるメモリと、を含み、
前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサにより実行される際に、前記少なくとも1つのプロセッサが請求項1~
6のいずれか1項に記載のモデル生成方法を実現するようにする、
機器。
【請求項11】
機器であって、
少なくとも1つのプロセッサと、
少なくとも1つのプログラムを記憶するように構成されるメモリと、を含み、
前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサにより実行される際に、前記少なくとも1つのプロセッサが請求項
7に記載のオブジェクト検出方法を実現するようにする、
機器。
【請求項12】
コンピュータ読取可能な記憶媒体であって、
前記コンピュータ読取可能な記憶媒体にコンピュータプログラムが記憶されており、前記コンピュータプログラムは、プロセッサにより実行される際に、請求項1~
6のいずれか1項に記載のモデル生成方法、又は請求項
7に記載のオブジェクト検出方法を実現する、
コンピュータ読取可能な記憶媒体。
【請求項13】
無人車であって、
駆動機器、経路計画機器、及び請求項
11に記載の機器を含み、
前記駆動機器は、前記無人車を、前記経路計画機器により計画された経路に従って運行するように駆動し、請求項
11に記載の機器は、検出対象の画像における検出対象のオブジェクトの検出を実現するように構成され、前記経路計画機器は、検出対象の画像における検出対象のオブジェクトに対する請求項
11に記載の機器の検出結果に基づいて、前記無人車の経路を計画するように構成される、
無人車。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2020年3月17日に中国専利局に提出された、出願番号が202010188303.6である中国特許出願の優先権を主張し、この出願の全ての内容は引用することにより本願に組み込まれる。
【0002】
本願の実施例は、コンピュータ応用の技術分野に関し、例えば、モデル生成方法、オブジェクト検出方法、装置、機器、及び記憶媒体に関する。
【背景技術】
【0003】
オブジェクト検出(Object Detection)技術は、多くのコンピュータビジョンタスクの基礎であり、検出対象の画像に関心のある検出対象のオブジェクトが存在するかどうかを判断し、且つ検出対象のオブジェクトを精度良く位置決めすることに用いることが可能である。さらに、オブジェクト検出技術は、オブジェクト追跡やオブジェクト再認識などの技術と組み合わせて人工知能システムや車両自動運転システム、知能ロボット、知能物流などの分野に用いることができる。
【0004】
本願を実現する過程において、発明者らは、関連技術では下記のことがあると発見した。関連技術におけるオブジェクト検出技術には深層学習モデルに基づいて実現されるものが多いが、深層学習モデルは、サイズが大きいことに起因して検出速度が遅いという問題が起きがちであり、これは、計算資源が制限された機器においては特に顕著であり、オブジェクト検出技術を実際のプロジェクトに直接適用しにくくする。
【0005】
例えば、知能物流の分野においては、無人配送車の大量応用は、配送コストを低減させ且つ配送効率を向上させることができるが、ビジョンに基づくオブジェクト検出技術は、無人配送車が周りの環境を感知することに必要な極めて重要な技術手段である。しかし、量産及びコストという点の考慮から、無人配送車における車載プロセッサの多くは、計算資源が相対的に有限なXvaierプラットフォームからなるものである。これにより、車載プロセッサに適用される深層学習モデルの検出速度が比較的に遅いことは、無人配送車の環境感知能力に直接影響し、さらに、無人配送車の配送効率に影響する。このため、どのように深層学習モデルの検出速度を向上させるかということは、知能物流の分野の発展に対しては極めて重要である。
【発明の概要】
【0006】
本願の実施例は、モデル生成方法、オブジェクト検出方法、装置、機器、及び記憶媒体を提供することにより、モデルを圧縮することでモデルの検出速度の効果を向上させる効果を実現する。
【0007】
第1の側面においては、本願の実施例は、モデル生成方法であって、
初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得し、ここで、中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及びサンプル画像における既知のオブジェクトのサンプル標記結果を含むことと、
複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数(to-be-pruned coefficient)を選別することと、
中間検出モデルの複数のチャネルから、枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することと、を含んでもよいモデル生成方法を提供する。
【0008】
第2の側面においては、本願の実施例は、オブジェクト検出方法であって、
検出対象の画像と、上記のいずれか1項の方法に従って生成されたオブジェクト検出モデルとを取得することと、
検出対象の画像をオブジェクト検出モデルに入力し、オブジェクト検出モデルの出力結果に基づいて、検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得ることと、を含んでもよいオブジェクト検出方法をさらに提供する。
【0009】
第3の側面においては、本願の実施例は、モデル生成装置であって、
初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得するように構成される第1取得モジュールであって、ここで、中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及びサンプル画像における既知のオブジェクトのサンプル標記結果を含む、第1取得モジュールと、
複数の拡縮係数の数値の大きさに応じ、複数の拡縮係数から枝刈り対象の係数を選別するように構成される第1選別モジュールと、
中間検出モデルの複数のチャネルから、枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成するように構成されるモデル生成モジュールと、を含んでもよいモデル生成装置をさらに提供する。
【0010】
第4の側面においては、本願の実施例は、オブジェクト検出装置であって、
検出対象の画像と、上記のいずれか1項の方法に従って生成されたオブジェクト検出モデルとを取得するように構成される第2取得モジュールと、
検出対象の画像をオブジェクト検出モデルに入力し、オブジェクト検出モデルの出力結果に基づいて、検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得るように構成されるオブジェクト検出モジュールと、を含んでもよいオブジェクト検出装置をさらに提供する。
【0011】
第5の側面においては、本願の実施例は、機器であって、
少なくとも1つのプロセッサと、
少なくとも1つのプログラムを記憶するように構成されるメモリと、を含んでもよく、
少なくとも1つのプログラムが少なくとも1つのプロセッサにより実行される際に、少なくとも1つのプロセッサが本願の任意の実施例に係るモデル生成方法又はオブジェクト検出方法を実現するようにする機器をさらに提供する。
【0012】
第6の側面においては、本願の実施例は、コンピュータ読取可能な記憶媒体であって、それにコンピュータプログラムが記憶されており、当該コンピュータプログラムは、プロセッサにより実行される際に、本願の任意の実施例に係るモデル生成方法又はオブジェクト検出方法を実現する、コンピュータ読取可能な記憶媒体をさらに提供する。
【図面の簡単な説明】
【0013】
【
図1】本願の実施例1に係るモデル生成方法のフローチャートである。
【
図2】本願の実施例2に係るモデル生成方法のフローチャートである。
【
図3】本願の実施例3に係るオブジェクト検出方法のフローチャートである。
【
図4a】本願の実施例3に係るオブジェクト検出方法におけるモデル圧縮のフローチャートである。
【
図4b】本願の実施例3に係るオブジェクト検出方法におけるモデル枝刈りのフローチャートである。
【
図5】本願の実施例4に係るモデル生成装置の構成ブロック図である。
【
図6】本願の実施例5に係るオブジェクト検出装置の構成ブロック図である。
【
図7】本願の実施例6に係る機器の構成模式図である。
【
図8】本願の実施例9に係るオブジェクト検出システムの構成模式図である。
【
図9】本願の実施例10に係る無人車の構成模式図である。
【発明を実施するための形態】
【0014】
実施例1
図1は、本願の実施例1に係るモデル生成方法のフローチャートである。本実施例は、オブジェクト検出技術における深層学習モデルを圧縮することに適用することができる。当該方法は、本願の実施例に係るモデル生成装置により実行されてよく、当該装置は、ソフトウェアとハードウェアのうちの少なくとも1つの方式により実現されてよく、当該装置は、様々な電子機器に集積されてよい。
【0015】
図1を参照すると、本願の実施例の方法は、ステップS110~S130を含む。
【0016】
ステップS110:初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得し、ここで、中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及びサンプル画像における既知のオブジェクトのサンプル標記結果を含む。
【0017】
ここで、トレーニングされていないオリジナル検出モデルが取得され、当該オリジナル検出モデルは、深層学習モデルにおけるビジョン検出に用いられるモデルであり、anchor-based、anchor-free、及び両方の融合類に分けることができ、それらの違いは、anchorを利用してバウンディングボックス(Bounding Box)を抽出するかどうかのことにある。anchorは、anchor boxとも称することができ、モデルトレーニングの前にトレーニングサンプル上でクラスタリングアルゴリズムに基づいて得られる1組の矩形の枠である。
【0018】
anchor-basedにおけるオリジナル検出モデルは、fasterRCNN、SSD(Single Shot MultiBox Detector、シングルショットマルチボックス検出器)、YoloV2、YoloV3などを含み、anchor-freeにおけるオリジナル検出モデルは、CornerNet、ExtremeNet、CenterNet、FCOSなどを含み、anchor-based分岐とanchor-free分岐とを融合したオリジナル検出モデルは、FSAF、SFace、GA-RPNなどを含む。SSDは、1段階(one-stage)の検出モデルであり、候補領域生成(region proposalas)段階を有さず、検出対象のオブジェクトのクラス確率及び位置座標を直接生成し、検出速度の上では大きな優位性を有し、無人配送車やモバイル端末にてよりよく実行することができる。これにより、好ましい一例として、オリジナル検出モデルはSSDであってよく、その上、SSDの主幹ネットワークはinception_v3構造であってよい。
【0019】
これにより、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングした後、初歩的にトレーニングされた中間検出モデルを得ることができ、各トレーニングサンプルは、サンプル画像、及びサンプル画像における既知のオブジェクトのサンプル標記結果を含んでよく、当該サンプル画像は1フレームの画像や動画シーケンスなどであってよく、当該サンプル標記結果はクラス概率及び位置座標であってよい。
【0020】
なお、オリジナル検出モデルの各畳み込み層の後にいずれも1つのバッチ正規化(Batch Normalization、BN)層が隣接され、BN層は、各畳み込み層の出力結果の尺度を正規化することができ、これは、トレーニング中において、勾配損失、及び勾配オーバーフローが起きることを回避することができる。BN層は、拡縮係数(gamma係数)、及びオフセット係数(beta係数)を含み、ここで、各BN層においては、拡縮係数の個数は、当該BN層に隣接する畳み込み層におけるチャネルの個数とは一致しており、すなわち、各拡縮係数は、畳み込み層におけるチャネルの1つに対応している。例えば、仮に、あるBN層に拡縮係数が32個あれば、当該BN層に隣接する畳み込み層にはチャネルが32個含まれ、且つ当該BN層にもチャネルが32個含まれる。さらに、オリジナル検出モデルのトレーニング段階及び応用段階では、各拡縮係数は、畳み込み層における対応するチャネルと掛け算し、すなわち、ある拡縮係数が存在するかどうかは、それに対応する畳み込み層におけるチャネルが作用するかどうかのことに直接的に影響する。したがって、中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得し、且つ当該複数の拡縮係数に基づいて、中間検出モデルにおけるどのモデルをチャネル枝刈りするかを決定することができる。
【0021】
ステップS120:複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数を選別する。
【0022】
ここで、複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数を選別することの実現形態は様々であり、例えば、複数の拡縮係数の数値の大きさをランキングして、ランキング結果から複数の拡縮係数の中央値を得て、且つ当該中央値に基づいて、複数の拡縮係数から枝刈り対象の係数を選別することができ、例えば、複数の拡縮係数の数値の大きさの平均値を算出して、且つ当該平均値に基づいて、複数の拡縮係数から枝刈り対象の係数を選別することができ、また例えば、複数の拡縮係数の数値の大きさ、及び予め設定された枝刈り率に基づいて、複数の拡縮係数の枝刈り閾値を得て、且つ枝刈り閾値に基づいて、複数の拡縮係数から枝刈り閾値以上の拡縮係数であってよい枝刈り対象の係数を選別することができる。
【0023】
ステップS130:中間検出モデルの複数のチャネルから、枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成する。
【0024】
ここで、複数の拡縮係数と、ある畳み込み層における複数のチャネルとが一対一で対応しており、且つある畳み込み層における複数のチャネルと、当該畳み込み層に隣接するBN層における複数のチャネルとも一対一で対応しており、これにより、枝刈り対象の係数に基づいて、中間検出モデルにおける複数のチャネルから枝刈り対象のチャネルを選別することができ、当該枝刈り対象のチャネルは、重要度が低いチャネルであり、それらは、ある畳み込み層におけるチャネルである可能性があり、あるBN層におけるチャネルである可能性もある。
【0025】
枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することができ、これにより、モデル圧縮の効果が実現される。ここで、チャネル枝刈り(channel pruning)は、モデルにおける冗長なチャネルを削除することでモデルを簡素化するものであって、構造的な圧縮形態であり、さらに、枝刈り対象のチャネルをチャネル枝刈りした後、これらの枝刈り対象のチャネルに対応する畳み込みカーネルも対応して削除されるため、チャネル枝刈りにより畳み込みの演算量も省かれる。例示的には、ある畳み込み層が32個のチャネルであれば、それに隣接するBN層も32個のチャネルであり、BN層における各チャネルは拡縮係数及びオフセット係数を含み、枝刈り対象の係数は拡縮係数から選別されたものであることにより、枝刈り対象の係数によれば、BN層におけるどのチャネルが枝刈り対象のチャネルであるかを決定することができ、それに応じて、畳み込み層におけるどのチャネルが枝刈り対象のチャネルであるかを決定することができる。
【0026】
好ましくは、上記チャネル枝刈りの実現プロセスは下記の通りであってよい。中間検出モデルの複数の畳み込み層の複数のチャネルから、複数の枝刈り対象の係数における現在の枝刈り係数に対応する現在の畳み込み層の出力チャネルと、現在の畳み込み層の次の畳み込み層の入力チャネルとを選別し、且つ現在の畳み込み層の出力チャネルと、現在の畳み込み層の次の畳み込み層の入力チャネルとを枝刈り対象のチャネルとする。これは、現在の畳み込み層の出力チャネルが、現在の畳み込み層の次の畳み込み層の入力チャネルであるためであり、例示的には、現在の畳み込み層の出力チャネルが1-32であれば、現在の畳み込み層の次の畳み込み層の入力チャネルも1-32であり、この時、現在の枝刈り係数に対応する現在の畳み込み層の出力チャネル17が枝刈り対象のチャネルであれば、現在の畳み込み層の次の畳み込み層の入力チャネル17も枝刈り対象のチャネルである。
【0027】
本願の実施例の技術案では、初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得することにより、複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数を選別することができ、枝刈り対象の係数と、枝刈り対象のチャネルとは対応関係を有するため、中間検出モデルの複数のチャネルから、枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することができる。上記技術案では、チャネル枝刈りと中間検出モデルとを組み合わせて、初歩的にトレーニングされた中間検出モデルにおける拡縮係数に基づいて中間検出モデルをチャネル枝刈りすることができ、これにより、モデルを圧縮することでモデルの検出速度を向上させる効果が実現される。
【0028】
好ましい技術案として、上記モデル生成方法は、さらに、中間検出モデルの複数の畳み込み層から、枝刈り可能な畳み込み層を選別し、ここで、枝刈り可能な畳み込み層は、1*1畳み込み層及び/又は分類回帰分岐における畳み込み層以外の畳み込み層を含むことと、複数の拡縮係数から、枝刈り可能な畳み込み層に対応する拡縮係数を選別し、前記枝刈り可能な畳み込み層に対応する拡縮係数はオブジェクト拡縮係数であることと、を含んでよく、それに応じて、複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数を選別することは、複数のオブジェクト拡縮係数の数値の大小に基づいて、複数のオブジェクト拡縮係数から枝刈り対象の係数を選別することを含んでよい。
【0029】
ここで、通常の場合には、オリジナル検出モデルは、通常、主幹ネットワーク、及び分類回帰分岐の2部分を含み、主幹ネットワークは、特徴マップを抽出することに用いることができ、分類回帰分岐は、主幹ネットワークから分岐された1つの分類分岐及び1つの回帰分岐であり、抽出された特徴マップを分類又は回帰することに用いることができる。分類回帰したクラスが通常一定しているため、なるべく分類回帰分岐における畳み込み層を一定させることができ、このように、出力の次元が一定していることを確保することができ、且つ実行コードを簡素化することができる。これにより、1*1畳み込み層と、分類回帰分岐における畳み込み層との少なくとも1つ以外の畳み込み層を枝刈り可能な畳み込み層とし、且つ枝刈り可能な畳み込み層における複数のオブジェクト拡縮係数から枝刈り対象の係数を選別することができる。
【0030】
好ましい技術案として、枝刈り対象のチャネルをチャネル枝刈りした後、まず、枝刈り検出モデルを生成し、そして、枝刈り検出モデルをトリミングトレーニングし、オブジェクト検出モデルを生成することができる。つまり、チャネル枝刈りされた簡素な枝刈り検出モデルをトリミングトレーニングすることにより、検出の効果を回復することができ、すなわち、モデルを圧縮すると同時に、モデルのオリジナルな性能をなるべく保つことができる。ここで、トリミングトレーニングのプロセスは下記の通りであってよい。履歴画像、及び履歴画像における既知のオブジェクトの履歴標記結果を取得し、履歴画像、及び履歴標記結果を1組の履歴サンプルとし、複数の履歴サンプルに基づいて枝刈り検出モデルをトレーニングして、オブジェクト検出モデルを得る。なお、通常の場合には、当該履歴サンプルと、上記トレーニングサンプルとは同様なサンプルデータであり、すなわち、トリミングトレーニングするとき、履歴画像とサンプル画像とは同様な画像であってよく、且つ履歴標記結果とサンプル標記結果とは同様な標記結果であってもよい。
【0031】
実施例2
図2は、本願の実施例2に係るモデル生成方法のフローチャートである。本実施例は、上記各技術案を踏まえて細分化するものである。本実施例では、好ましくは、上記モデル生成方法は、さらに、複数のトレーニングサンプルを取得し、且つ複数のトレーニングサンプルに基づいて、オリジナル検出モデルに対してバッチ正規化層に基づくスパーストレーニングを行い、中間検出モデルを得ることを含んでよい。ただし、上記各実施例と同じ又は対応する用語の説明はここで省略される。
【0032】
図2を参照すると、本実施例の方法は、ステップS210~S230を含んでよい。
ステップS210:複数のトレーニングサンプルを取得し、且つ複数のトレーニングサンプルに基づいて、オリジナル検出モデルに対してバッチ正規化層に基づくスパーストレーニングを行い、中間検出モデルを得て、ここで、各トレーニングサンプルは、サンプル画像、及びサンプル画像における既知のオブジェクトのサンプル標記結果を含む。
【0033】
ここで、オリジナル検出モデルに対してBN層に基づくスパーストレーニングを行うと、BN層がスパース化された中間検出モデルを得ることができ、すなわち、オリジナル検出モデルの高密度な接続(Dense Connection)にスパース化が導入される。例示的には、BN層に基づくスパーストレーニングの好ましい態様は、オリジナル検出モデルにおける各拡縮係数にL1正則制約を加えて、オリジナル検出モデルが構造的なスパースに向けてパラメータを調整するようにすることであり、この時、BN層における拡縮係数(gamma係数)による役割は、情報ストリームチャネルのスイッチ係数に相当し、情報ストリームチャネルのスイッチが閉じるように制御する。
【0034】
このように設けられる理由として、モデルトレーニング中においては、拡縮係数にL1正則制約を加えて、より多くの拡縮係数を0に調整することができる。これにより、モデルのトレーニング段階及び応用段階においては、拡縮係数が、畳み込み層における対応するチャネルと掛け算するため、より多くの拡縮係数が0となると、それらに対応する畳み込み層におけるチャネルが何ら作用しなくなり、すなわち、拡縮係数を大幅に圧縮することにより、チャネル枝刈りの役割も果たされる。その上、予め設定された枝刈り率に基づいて枝刈り対象のチャネルを選別する際には、中間検出モデルに数値が0である拡縮係数が多いほど、数値が0でない拡縮係数に対応するチャネルが刈られる可能性が低くなり、これにより、生成されたオブジェクト検出モデルのネットワーク構造と中間検出モデルのネットワーク構造とは一致するようになり、このように、両方の検出性能も一致するようになり、すなわち、検出性能が保たれると同時に、モデル圧縮の効果が実現される。
【0035】
その上、オリジナル検出モデルにおけるオブジェクト損失関数は、オリジナル損失関数、及びL1正則制約関数により構成されてよく、L1正則制約関数は、拡縮係数に対してL1正則制約を行う損失関数を含んでよい。すなわち、オリジナル損失関数の上で、BN層の拡縮係数のL1正則制約項が導入される。このように、トレーニング中においては、オブジェクト損失関数に基づいて極小値を求め、且つ求めた結果に基づいてモデルにおける複数のパラメータ値を調整することができる。
【0036】
好ましくは、オブジェクト損失関数Lは、下記の数式のように表すことができる。
【0037】
【0038】
ここで、xはサンプル画像であり、yはサンプル画像のサンプル標記結果であり、Wはオリジナル検出モデルにおけるパラメータ値であり、f(x、W)はサンプル画像における既知のオブジェクトのサンプル予測結果であり、γは拡縮係数であり、λはペナルティ係数であり、l()はオリジナル損失関数であり、g()はL1正則制約関数であり、Γは前記オリジナル検出モデルにおける全ての拡縮係数の集合を表す。さらに、L1正則制約関数がBN層の拡縮係数のみに加えられるため、逆方向に伝搬して勾配を更新する際には、拡縮係数の勾配γgradに[拡縮係数の符号sign(γ)とペナルティ係数λとの積項]を加える必要となり、その数式は下記のように示される。
【0039】
【0040】
ステップS220:中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得し、且つ複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数を選別する。
【0041】
ステップS230:中間検出モデルの複数のチャネルから、枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成する。
【0042】
本願の実施例の技術案では、複数のトレーニングサンプルに基づいて、オリジナル検出モデルに対してBN層に基づくスパーストレーニングを行い、BN層がスパース化された中間検出モデルを得ることができ、中間検出モデルをチャネル枝刈りした後、オブジェクト検出モデルを生成することができ、しかも、両方の検出性能が一致しており、すなわち、検出性能が保たれると同時に、モデル圧縮の効果が実現される。
【0043】
実施例3
図3は、本願の実施例3に係るオブジェクト検出方法のフローチャートである。本実施例は、上記任意の実施例に記載された方法に基づいて生成されたオブジェクト検出モデルが、検出対象の画像をオブジェクト検出することに適用することができる。当該方法は、本願の実施例に係るオブジェクト検出装置により実行されてよく、当該装置は、ソフトウェア、及びハードウェアの少なくとも1つの形態により実現されてよく、当該装置は、様々な電子機器に集積されてよい。
【0044】
図3を参照すると、本願の実施例の方法は、ステップS310~S320を含む。
【0045】
ステップS310:検出対象の画像と、上記任意の実施例の方法に従って生成されたオブジェクト検出モデルとを取得する。
【0046】
ここで、当該検出対象の画像は、1フレームの画像や動画シーケンスなどであってよく、当該オブジェクト検出モデルは、上記任意の実施例に記載された方法に従って生成されたビジョン検出モデルであってよい。例示的には、オブジェクト検出モデルの生成方法の1つは、
図4aに示されるものであってよい。
【0047】
まず、オリジナルSSD検出モデルをベースに、inception_v3構造を主幹ネットワークとし、モデルトレーニングの間、元のパラメータ設置を保つ場合には、畳み込み層に隣接するBN層におけるgamma係数にL1正則制約を加えることで、モデルが構造的なスパースに向けてパラメータを調整するようにし、これにより、BN層のスパース化が実現される。次に、BN層に基づくスパーストレーニングが完了した後、BN層の拡縮係数に基づいて、予め設定された枝刈り率に従って、初歩的にトレーニングされた中間検出モデルに対して、対応する畳み込み層及びBN層のチャネルを刈ることができ、これにより、モデルを簡素化して一定の検出速度を向上させることができる。最後に、チャネル枝刈りされた簡素なモデルをトリミングトレーニングし、検出効果を回復する。
【0048】
上記チャネル枝刈りプロセスは、
図4bのように示されるものであってよく、まず、どの畳み込み層をチャネル枝刈りするか決定することが必要であり、本願の実施例においては下記の2つの制限があり、すなわち、1*1畳み込み層と、分類回帰分岐における畳み込み層とがいずれも枝刈りされず、これは、出力の次元が変わらないことを確保できる。次に、残りの枝刈り可能な畳み込み層に対応するBN層におけるgamma係数を統計し、且つ統計された全てのgamma係数をランキングし、予め設定された枝刈り率に従ってgamma係数の枝刈り閾値を算出する。さらに、枝刈り閾値に基づいて、畳み込み層及びBN層における各チャネルを選び、数値が枝刈り閾値を超えるgamma係数に対応するそれらのチャネルを保留し、これにより、BN層及びBN層に隣接する畳み込み層における保留可能なチャネルのマスク(MASK)を決定する。最後に、MASKに基づいて、畳み込み層及びBN層における対応するチャネルを保留し、且つ保留されないチャネルを枝刈りする。
【0049】
ステップS320:検出対象の画像をオブジェクト検出モデルに入力し、オブジェクト検出モデルの出力結果に基づいて、検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得る。
【0050】
好ましい例示として、背景技術における例を挙げ、上記オブジェクト検出方法は、知能物流の分野の無人配送車におけるビジョンオブジェクト検出に適用することができる。無人配送車における車載プロセッサの多くは、計算資源が相対的に有限なXvaierプラットフォームからなるものであるが、上記オブジェクト検出方法に係るオブジェクト検出モデルは、規模が小さく且つ検出速度が速く、計算資源の制約で制限されても、依然として無人配送車の本格的な脱人運行を満たすことができる。さらに、チャネルレベル上で構造的な枝刈り操作を実施することにより、生成された簡素なモデルは、Pytorch、MXnet、TensorFlowなどの成熟したフレームワーク、或いは、グラフィックスプロセッサ(Graphics Processing Unit、GPU)、フィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array、FPGA)などのハードウェアプラットフォームにて直接実行することができ、特殊なアルゴリズムライブラリのサポートが必要でなく、応用するにはより便利になる。
【0051】
上記オブジェクト検出方法の検出精度を検証するために、この方法をキャリフォーニア大学バークレーDeepDrive深層学習自動運転産業ユニオン(Berkeley DeepDrive、BDD)データセットの5種類のサブセット(car、pedestrian、truck、bus、rider)に用いて検出精度をテストし、その数値化された結果は、下記の2つの表のように示されている。表のデータからは、本願の実施例の構造的な枝刈りのオブジェクト検出方法は、一部の畳み込み層及びBN層を変わらないように保留する場合に、明らかな圧縮効果に達することができ、同時に、その検出結果mAP(5種類のサブセットの平均値)はわずかに下がることが分かる。
【0052】
【0053】
【0054】
本願の実施例の技術案では、生成されたオブジェクト検出モデルに基づいて、検出対象の画像をオブジェクト検出することができ、オブジェクト検出モデルは、モデルが圧縮された簡素なモデルであるため、これは、検出対象の画像における検出対象のオブジェクトの検出速度を効果的に向上させることができ、且つなるべくモデルのオリジナルな性能を保つことができる。
【0055】
実施例4
図5は、本願の実施例4に係るモデル生成装置の構成ブロック図であり、当該装置は、上記任意の実施例に係るモデル生成方法を実行するように構成される。当該装置は、上記の各実施例のモデル生成方法とは同一の発明構想に属し、モデル生成装置の実施例にて詳しく説明しない細部の内容は、上記モデル生成方法の実施例を参照することができる。
図5を参照すると、当該装置は、第1取得モジュール410、第1選別モジュール420、及びモデル生成モジュール430を含んでよい。
【0056】
ここで、第1取得モジュール410は、初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得するように構成され、中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及びサンプル画像における既知のオブジェクトのサンプル標記結果を含み、
第1選別モジュール420は、複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数を選別するように構成され、
モデル生成モジュール430は、中間検出モデルの複数のチャネルから、枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成するように構成される。
【0057】
好ましくは、第1選別モジュール420は、
複数の拡縮係数の数値の大きさ、及び予め設定された枝刈り率に基づいて、複数の拡縮係数の枝刈り閾値を得て、且つ枝刈り閾値に基づいて、複数の拡縮係数から枝刈り対象の係数を選別するように構成されてよい。
【0058】
好ましくは、上記装置を踏まえて、当該装置は、
中間検出モデルの複数の畳み込み層から、枝刈り可能な畳み込み層を選別するように構成される第2選別モジュールであって、枝刈り可能な畳み込み層は、1*1畳み込み層と、分類回帰分岐における畳み込み層との少なくとも1つ以外の畳み込み層を含む、第2選別モジュールと、
複数の拡縮係数から、枝刈り可能な畳み込み層に対応する拡縮係数を選別するように構成される第3選別モジュールであって、前記枝刈り可能な畳み込み層に対応する拡縮係数は、オブジェクト拡縮係数である、第3選別モジュールと、をさらに含んでよく、
第1選別モジュール420は、
複数のオブジェクト拡縮係数の数値の大きさに基づいて、複数のオブジェクト拡縮係数から枝刈り対象の係数を選別するように構成されてよい。
【0059】
好ましくは、モデル生成モジュール430は、
中間検出モデルの複数の畳み込み層の複数のチャネルから、複数の枝刈り対象の係数における現在の枝刈り係数に対応する現在の畳み込み層の出力チャネルと、現在の畳み込み層の次の畳み込み層の入力チャネルとを選別し、且つ出力チャネルと入力チャネルとを枝刈り対象のチャネルとするように構成される枝刈り対象のチャネル選別ユニットを含んでよい。
【0060】
好ましくは、上記装置を踏まえて、当該装置は、
複数のトレーニングサンプルを取得し、且つ複数のトレーニングサンプルに基づいて、オリジナル検出モデルに対してバッチ正規化層に基づくスパーストレーニングを行い、中間検出モデルを得るように構成される第3取得モジュールをさらに含んでよい。
【0061】
好ましくは、オリジナル検出モデルにおけるオブジェクト損失関数は、オリジナル損失関数、及びL1正則制約関数により構成され、L1正則制約関数は、複数の拡縮係数に対してL1正則制約を行う損失関数を含む。
【0062】
好ましくは、オブジェクト損失関数Lは、下記の数式のように表されている。
【0063】
【0064】
ここで、xはサンプル画像であり、yはサンプル画像のサンプル標記結果であり、Wはオリジナル検出モデルにおけるパラメータ値であり、f(x、W)はサンプル画像における既知のオブジェクトのサンプル予測結果であり、γは拡縮係数であり、λはペナルティ係数であり、l()はオリジナル損失関数であり、g()はL1正則制約関数であり、Γは前記オリジナル検出モデルにおける全ての拡縮係数の集合を表す。
【0065】
好ましくは、モデル生成モジュール430は、
枝刈り対象のチャネルをチャネル枝刈りし、枝刈り検出モデルを得るように構成されるチャネル枝刈りユニットと、
枝刈り検出モデルをトリミングトレーニングし、オブジェクト検出モデルを生成するように構成されるトリミングトレーニングユニットと、をさらに含んでよい。
【0066】
本願の実施例4に係るモデル生成装置では、第1取得モジュールにより、初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得し、第1選別モジュールは、複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数を選別することができ、モデル生成モジュールは、枝刈り対象の係数と枝刈り対象のチャネルとが対応関係を有するため、中間検出モデルの複数のチャネルから、枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することができる。上記装置では、チャネル枝刈りと中間検出モデルとを組み合わせて、初歩的にトレーニングされた中間検出モデルにおける拡縮係数に基づいて中間検出モデルをチャネル枝刈りすることができ、これにより、モデルを圧縮することでモデルの検出速度を向上させる効果が実現される。
【0067】
本願の実施例に係るモデル生成装置は、本願の任意の実施例に係るモデル生成方法を実行することができ、方法を実行することに対応する機能モジュールを備える。
【0068】
なお、上記モデル生成装置の的実施例においては、含まれる各ユニット及びモジュールは、機能ロジックにより区分されたものに過ぎないが、上記の区分に限定されず、対応する機能を実現できればよく、また、各機能ユニットの名称も、区別便益上のものに過ぎず、本願の請求の範囲の制限に用いられない。
【0069】
実施例5
図6は、本願の実施例5に係るオブジェクト検出装置の構成ブロック図であり、当該装置は、上記の任意の実施例に係るオブジェクト検出方法を実行するように構成される。当該装置は、上記の各実施例のオブジェクト検出方法とは同一の発明構想に属し、オブジェクト検出装置の実施例にて詳しく説明しない細部の内容は、上記オブジェクト検出方法の実施例を参照することができる。
図6を参照すると、当該装置は、第2取得モジュール510、及びオブジェクト検出モジュール520を含んでよい。
【0070】
ここで、第2取得モジュール510は、検出対象の画像と、実施例1及び実施例2のいずれか1項の方法に従って生成されたオブジェクト検出モデルとを取得するように構成され、
オブジェクト検出モジュール520は、検出対象の画像をオブジェクト検出モデルに入力し、オブジェクト検出モデルの出力結果に基づいて、検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得るように構成される。
【0071】
本願の実施例5に係るオブジェクト検出装置では、第2取得モジュールとオブジェクト検出モジュールとが相互に組み合わせられることにより、生成されたオブジェクト検出モデルに基づいて検出対象の画像をオブジェクト検出することができ、オブジェクト検出モデルは、モデルが圧縮された簡素なモデルであるため、これは、検出対象の画像における検出対象のオブジェクトの検出速度を効果的に向上させることができ、且つなるべくモデルのオリジナルな性能を保つことができる。
【0072】
本願の実施例に係るオブジェクト検出装置は、本願の任意の実施例に係るオブジェクト検出方法を実行することができ、方法を実行することに対応する機能モジュールを備える。
【0073】
なお、上記オブジェクト検出装置の的実施例においては、含まれる各ユニット及びモジュールは、機能ロジックにより区分されたものに過ぎないが、上記の区分に限定されず、対応する機能を実現できればよく、また、各機能ユニットの名称も、区別便益上のものに過ぎず、本願の請求の範囲の制限に用いられない。
【0074】
実施例6
図7は、本願の実施例6に係る機器の構成模式図であり、
図7に示されるように、当該機器は、メモリ610、プロセッサ620、入力装置630、及び出力装置640を含む。機器におけるプロセッサ620の数は少なくとも1つであってよく、
図7においては、プロセッサ620が1つあることを例とし、機器におけるメモリ610、プロセッサ620、入力装置630、及び出力装置640は、バス又は他の形態で接続されてよく、
図7においては、バス650で接続されることを例とする。
【0075】
メモリ610は、コンピュータ読取可能な記憶媒体として、本願の実施例に係るモデル生成方法に対応するプログラム命令/モジュール(例えば、モデル生成装置における第1取得モジュール410、第1選別モジュール420、及びモデル生成モジュール430)のような、又は、本願の実施例に係るオブジェクト検出方法に対応するプログラム命令/モジュール(例えば、オブジェクト検出装置における第2取得モジュール510、及びオブジェクト検出モジュール520)のような、ソフトウェアプログラム、コンピュータ実行可能なプログラム、及びモジュールを記憶するように構成されてよい。プロセッサ620は、メモリ610に記憶されたソフトウェアプログラム、命令、及びモジュールを実行することにより、機器の様々な機能応用及びデータ処理を実行し、すなわち、上記のモデル生成方法又はオブジェクト検出方法を実現する。
【0076】
メモリ610は、主に、プログラム記憶エリアとデータ記憶エリアとを含んでよく、ここで、プログラム記憶エリアは、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶エリアは、機器の使用に応じて作成されたデータなどを記憶することができる。また、メモリ610は、高速ランダムアクセスメモリ(RAM)を含んでもよいし、不揮発性メモリ、例えば、少なくとも1つの磁気ディスクメモリ部材、フラッシュメモリ部材、又は他の不揮発性固体メモリ部材を含んでもよい。幾つかの実例においては、メモリ610は、プロセッサ620に対して遠隔設置されたメモリを含んでよく、これらの遠隔メモリは、ネットワークを介して機器に接続されてよい。上記ネットワークの実例としては、インターネット、イントラネット、ローカルエリアネットワーク、移動体通信ネットワーク、及びそれらの組み合わせを含んでいるが、それらに限定されない。
【0077】
入力装置630は、入力された数字又は文字情報を受け入れ、且つ装置のユーザ設定及び機能制御に関するキー信号入力を生成するように構成される。出力装置640は、ディスプレーなどの表示機器を含んでよい。
【0078】
実施例7
本願の実施例7は、コンピュータ実行可能な命令が含まれる記憶媒体を提供し、前記コンピュータ実行可能な命令は、コンピュータプロセッサにより実行される際にモデル生成方法を実行することに用いられ、当該方法は、
初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得し、ここで、中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及びサンプル画像における既知のオブジェクトのサンプル標記結果を含むことと、
複数の拡縮係数の数値の大きさに基づいて、複数の拡縮係数から枝刈り対象の係数を選別することと、
中間検出モデルの複数のチャネルから、枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することと、を含む。
【0079】
本願の実施例に係るコンピュータ実行可能な命令が含まれる記憶媒体は、コンピュータ実行可能な命令が、上述したような方法の操作にも限らず、本願の任意の実施例に係るモデル生成方法における関連操作を実行することができるとは言うまでもない。
【0080】
実施例8
本願の実施例8は、コンピュータ実行可能な命令が含まれる記憶媒体を提供し、前記コンピュータ実行可能な命令は、コンピュータプロセッサにより実行される際にオブジェクト検出方法を実行することに用いられ、当該方法は、
検出対象の画像と、上記実施例1及び実施例2のいずれか1項に記載された方法に従って生成されたオブジェクト検出モデルとを取得することと、
検出対象の画像をオブジェクト検出モデルに入力し、オブジェクト検出モデルの出力結果に基づいて、検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得ることと、を含む。
【0081】
実施例9
本願の実施例は、さらに、オブジェクト検出システムを提供し、
図8を参照すると、当該システムは、採集機器710、算出機器720、及び記憶機器730を含み、前記記憶機器730には、実施例1又は実施例2において生成されたオブジェクト検出モデルが記憶されており、前記採集機器710は、検出対象の画像を採集するように構成され、前記算出機器720は、前記検出対象の画像とオブジェクト検出モデルとをロードし、且つ前記検出対象の画像をオブジェクト検出モデルに入力し、オブジェクト検出モデルの出力結果に基づいて、前記検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得るように構成される。
【0082】
実施例10
本願の実施例は、さらに、無人車を提供し、
図9を参照すると、当該無人車は、駆動機器810、経路計画機器820、及び実施例7に記載された機器830を含み、前記駆動機器810は、前記無人車を、前記経路計画機器820により計画された経路に従って運行するように駆動し、実施例6に記載された機器830は、検出対象の画像における検出対象のオブジェクトに対する検出を実現するように構成され、経路計画機器820は、検出対象の画像における検出対象のオブジェクトに対する実施例6に記載された機器の検出結果に基づいて、前記無人車の経路を計画するように構成される。
【0083】
以上の実施形態についての説明を通じて、本願は、ソフトウェア及び必要な汎用ハードウェアを頼りに実現することもできるし、ハードウェアで実現することができるのも当然であることが、当業者には明らかに分かる。この理解を根拠に、本願の技術案は本質的に、或いは関連技術に寄与する部分は、ソフトウェア製品として具現することができ、当該コンピュータソフトウェア製品は、コンピュータのフレキシブルディスク、読み出し専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、フラッシュメモリ(FLASH(登録商標))、ハードディスク、又は光ディスクなどのコンピュータ読取可能な記憶媒体に記憶され、若干の命令を含んで1台のコンピュータ機器(パーソナルコンピュータ(PC)、サーバ、又はネットワーク機器などであってよい)が本願の各実施例に係る方法を実行するように用いられてよい。
[態様1]
モデル生成方法であって、
初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得し、ここで、前記中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及び前記サンプル画像における既知のオブジェクトのサンプル標記結果を含むことと、
複数の前記拡縮係数の数値の大きさに基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別することと、
前記中間検出モデルの複数のチャネルから、前記枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ前記枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することと、を含む、
モデル生成方法。
[態様2]
前記複数の前記拡縮係数の数値の大きさに基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別することは、
複数の前記拡縮係数の数値の大きさ、及び預設枝刈り率に基づいて、複数の前記拡縮係数の枝刈り閾値を得て、且つ前記枝刈り閾値に基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別することを含む、
態様1に記載の方法。
[態様3]
前記中間検出モデルの複数の畳み込み層から、枝刈り可能な畳み込み層を選別し、ここで、前記枝刈り可能な畳み込み層は、1*1畳み込み層と、分類回帰分岐における畳み込み層との少なくとも1つ以外の畳み込み層を含むことと、
複数の前記拡縮係数から、前記枝刈り可能な畳み込み層に対応する拡縮係数を選別し、前記枝刈り可能な畳み込み層に対応する拡縮係数は、オブジェクト拡縮係数であることと、をさらに含み、
複数の前記拡縮係数の数値の大きさに基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別することは、複数の前記オブジェクト拡縮係数の数値の大きさに基づいて、複数の前記オブジェクト拡縮係数から枝刈り対象の係数を選別することを含む、
態様1に記載の方法。
[態様4]
前記枝刈り対象の係数は複数であり、前記中間検出モデルの複数のチャネルから、前記枝刈り対象の係数に対応する枝刈り対象のチャネルを選別することは、
前記中間検出モデルの複数の畳み込み層の複数のチャネルから、複数の前記枝刈り対象の係数における現在の枝刈り係数に対応する現在の畳み込み層の出力チャネルと、前記現在の畳み込み層の次の畳み込み層の入力チャネルとを選別し、且つ前記出力チャネルと前記入力チャネルとを枝刈り対象のチャネルとする、
態様1に記載の方法。
[態様5]
複数の前記トレーニングサンプルを取得し、且つ複数の前記トレーニングサンプルに基づいて、前記オリジナル検出モデルに対して前記バッチ正規化層に基づくスパーストレーニングを行い、前記中間検出モデルを得ることをさらに含む、
態様1に記載の方法。
[態様6]
前記オリジナル検出モデルにおけるオブジェクト損失関数は、オリジナル損失関数、及びL1正則制約関数により構成され、前記L1正則制約関数は、複数の前記拡縮係数に対してL1正則制約を行う損失関数を含む、
態様5に記載の方法。
[態様7]
前記オブジェクト損失関数Lは、下記の数式のように表されており、
【数1】
ここで、xは1つのサンプル画像であり、yは前記サンプル画像におけるサンプル標記結果であり、Wは前記オリジナル検出モデルにおけるパラメータ値であり、f(x、W)は前記サンプル画像における既知のオブジェクトのサンプル予測結果であり、γは拡縮係数であり、λはペナルティ係数であり、l()は前記オリジナル損失関数であり、g()は前記L1正則制約関数であり、Γは前記オリジナル検出モデルにおける全ての拡縮係数の集合を表す、
態様6に記載の方法。
[態様8]
前記枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成することは、
前記枝刈り対象のチャネルをチャネル枝刈りし、枝刈り検出モデルを得ることと、
前記枝刈り検出モデルをトリミングトレーニングし、オブジェクト検出モデルを生成することと、を含む、
態様1に記載の方法。
[態様9]
前記オリジナル検出モデルは、シングルショットマルチボックス検出器SSDを含む、
態様1に記載の方法。
[態様10]
前記SSDの主幹ネットワークは、inception_v3構造を含む、
態様9に記載の方法。
[態様11]
オブジェクト検出方法であって、
検出対象の画像と、態様1~10のいずれか1項に記載の方法に従って生成されたオブジェクト検出モデルとを取得することと、
前記検出対象の画像を前記オブジェクト検出モデルに入力し、前記オブジェクト検出モデルの出力結果に基づいて、前記検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得ることと、を含む、
オブジェクト検出方法。
[態様12]
モデル生成装置であって、
初歩的にトレーニングされた中間検出モデルにおけるバッチ正規化層の複数の拡縮係数を取得するように構成される第1取得モジュールであって、ここで、前記中間検出モデルは、複数のトレーニングサンプルに基づいてオリジナル検出モデルをトレーニングしたものであり、各トレーニングサンプルは、サンプル画像、及び前記サンプル画像における既知のオブジェクトのサンプル標記結果を含む、第1取得モジュールと、
複数の前記拡縮係数の数値の大きさに基づいて、複数の前記拡縮係数から枝刈り対象の係数を選別するように構成される第1選別モジュールと、
前記中間検出モデルの複数のチャネルから、前記枝刈り対象の係数に対応する枝刈り対象のチャネルを選別し、且つ枝刈り対象のチャネルをチャネル枝刈りし、オブジェクト検出モデルを生成するように構成されるモデル生成モジュールと、を含む、
モデル生成装置。
[態様13]
オブジェクト検出装置であって、
検出対象の画像と、態様1~10のいずれか1項に記載の方法に従って生成されたオブジェクト検出モデルとを取得するように構成される第2取得モジュールと、
前記検出対象の画像を前記オブジェクト検出モデルに入力し、前記オブジェクト検出モデルの出力結果に基づいて、検出対象の画像における検出対象のオブジェクトのオブジェクト検出結果を得るように構成されるオブジェクト検出モジュールと、を含む、
オブジェクト検出装置。
[態様14]
機器であって、
少なくとも1つのプロセッサと、
少なくとも1つのプログラムを記憶するように構成されるメモリと、を含み、
前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサにより実行される際に、前記少なくとも1つのプロセッサが態様1~10のいずれか1項に記載のモデル生成方法を実現するようにする、
機器。
[態様15]
機器であって、
少なくとも1つのプロセッサと、
少なくとも1つのプログラムを記憶するように構成されるメモリと、を含み、
前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサにより実行される際に、前記少なくとも1つのプロセッサが態様11に記載のオブジェクト検出方法を実現するようにする、
機器。
[態様16]
コンピュータ読取可能な記憶媒体であって、
前記コンピュータ読取可能な記憶媒体にコンピュータプログラムが記憶されており、前記コンピュータプログラムは、プロセッサにより実行される際に、態様1~10のいずれか1項に記載のモデル生成方法、又は態様11に記載のオブジェクト検出方法を実現する、
コンピュータ読取可能な記憶媒体。
[態様17]
無人車であって、
駆動機器、経路計画機器、及び態様15に記載の機器を含み、
前記駆動機器は、前記無人車を、前記経路計画機器により計画された経路に従って運行するように駆動し、態様15に記載の機器は、検出対象の画像における検出対象のオブジェクトの検出を実現するように構成され、前記経路計画機器は、検出対象の画像における検出対象のオブジェクトに対する態様15に記載の機器の検出結果に基づいて、前記無人車の経路を計画するように構成される、
無人車。