IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン センスタイム テクノロジー デベロップメント シーオー.,エルティーディーの特許一覧

特表2022-512211画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム
<>
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図1
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図2
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図3
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図4
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図5
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図6
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図7
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図8
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図9
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図10
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図11
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図12
  • 特表-画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-02-02
(54)【発明の名称】画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム
(51)【国際特許分類】
   G06N 3/04 20060101AFI20220126BHJP
   G06F 17/10 20060101ALI20220126BHJP
【FI】
G06N3/04
G06F17/10 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021533274
(86)(22)【出願日】2019-12-26
(85)【翻訳文提出日】2021-06-10
(86)【国際出願番号】 CN2019128763
(87)【国際公開番号】W WO2020135601
(87)【国際公開日】2020-07-02
(31)【優先権主張番号】201811647408.2
(32)【優先日】2018-12-29
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】516159397
【氏名又は名称】ベイジン センスタイム テクノロジー デベロップメント シーオー.,エルティーディー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】チェン,グァンリャン
(72)【発明者】
【氏名】ウェン,トゥオプー
(72)【発明者】
【氏名】シー,ジャンピン
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056AA01
5B056BB26
5B056HH03
(57)【要約】
画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステムであって、前記方法は、演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表された、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む、ネットワークパラメータに対して固定小数点処理を行うステップ(S101)と、処理対象の画像を取得するステップ(S102)と、前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて前記画像を処理するように制御して、前記画像の処理結果を得るステップ(S103)と、を含む。
【特許請求の範囲】
【請求項1】
演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表された、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む、ネットワークパラメータに対して固定小数点処理を行うステップと、
処理対象の画像を取得するステップと、
前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて前記画像を処理するように制御して、前記画像の処理結果を得るステップと、を含む、ことを特徴とする画像処理方法。
【請求項2】
演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに対して固定小数点処理を行う前記ステップは、
前記畳み込みニューラルネットワークにおける浮動小数点で表された層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得るステップと、
前記クラスタリング結果、前記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の前記畳み込みニューラルネットワークを得るステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに対して固定小数点処理を行う前記ステップは、
畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに基づいて、前記ネットワークパラメータに対応する固定小数点数の小数点以下の桁数を識別する固定小数点パラメータを決定するステップと、
前記固定小数点パラメータ、所定の固定小数点関数及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得るステップと、を含み、前記固定小数点関数は、0より大きい所定の勾配を有する一次関数である、ことを特徴とする請求項1に記載の方法。
【請求項4】
前記第1の固定小数点後の畳み込みニューラルネットワークにおける前記層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得るステップと、
前記クラスタリング結果、前記第1の固定小数点後の畳み込みニューラルネットワークにおける前記畳み込みパラメータ及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の前記畳み込みニューラルネットワークを得るステップと、をさらに含む、ことを特徴とする請求項3に記載の方法。
【請求項5】
畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに基づいて固定小数点パラメータを決定する前記ステップは、
前記畳み込みパラメータの小数点以下の桁数及び前記層出力パラメータの小数点以下の桁数に基づいて、前記固定小数点パラメータを決定するステップを含む、ことを特徴とする請求項3又は4に記載の方法。
【請求項6】
前記畳み込みパラメータの桁数及び前記層出力パラメータの桁数に基づいて、前記固定小数点パラメータを決定する前記ステップは、
前記畳み込みパラメータの小数点以下の桁数と前記層出力パラメータの小数点以下の桁数のうちの最大の小数点以下の桁数を、前記固定小数点パラメータに対応する小数点以下の桁数とするステップを含む、ことを特徴とする請求項5に記載の方法。
【請求項7】
前記固定小数点パラメータ、所定の固定小数点関数及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る前記ステップは、
前記固定小数点ビット幅のハードウェアリソース量のビット桁数及び前記固定小数点パラメータに基づいて、前記ネットワークパラメータの固定小数点レベルを決定するステップと、
前記固定小数点レベル及び前記固定小数点関数に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得るステップと、を含む、ことを特徴とする請求項3~6のいずれか一項に記載の方法。
【請求項8】
前記固定小数点レベル及び前記固定小数点関数に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行う前記ステップは、
前記ネットワークパラメータの値と、前記ネットワークパラメータの値に最も近い前記固定小数点レベルである目標レベルとの差分値を決定するステップと、
前記差分値及び前記目標レベルを前記固定小数点関数に入力して、前記ネットワークパラメータに対して前記第1の固定小数点を行った結果を得るステップと、を含む、ことを特徴とする請求項7に記載の方法。
【請求項9】
クラスタリングして、所定数のクラスタリング結果を得る前記ステップは、
前記層出力パラメータから前記所定数の層出力パラメータを初期クラスタリング中心として選択するステップと、
前記初期クラスタリング中心に基づいてクラスタリング繰り返し処理を行って、前記所定数のクラスタリング結果を得るステップと、を含む、ことを特徴とする請求項2又は4に記載の方法。
【請求項10】
第2の固定小数点を行う前記ステップは、
前記クラスタリング結果のクラスタリング中心を決定するステップと、
前記クラスタリング中心及び前記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ、又は、前記クラスタリング中心及び第1の固定小数点後の畳み込みニューラルネットワークにおける前記畳み込みパラメータに基づいて、前記固定小数点ビット幅のハードウェアリソース量に基づいて第2の固定小数点を行って、第2の固定小数点結果を得るステップと、を含み、前記第2の固定小数点は、前記クラスタリング中心を前記クラスタリング中心に最も近い固定小数点レベルに固定小数点する、ことを特徴とする請求項2又は4に記載の方法。
【請求項11】
前記固定小数点関数と目標階段関数の差異が所定の差異より大きいことに応答して、前記固定小数点関数の勾配を修正するステップと、
勾配が修正された固定小数点関数に基づいて新たな第1の固定小数点を行うステップと、をさらに含む、ことを特徴とする請求項3~8のいずれか一項に記載の方法。
【請求項12】
前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて前記画像を処理するように制御する前記ステップは、
前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて、前記画像に対して固定小数点乗算演算、固定小数点加算演算、シフト演算のうちの少なくとも1つの処理を行うように制御するステップを含む、ことを特徴とする請求項1~11のいずれか一項に記載の方法。
【請求項13】
前記画像の処理結果は、
特徴抽出結果、分割結果、分類結果、オブジェクト検出/追跡結果のうちの少なくとも1つを含む、ことを特徴とする請求項1~12のいずれか一項に記載の方法。
【請求項14】
演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表された、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む、ネットワークパラメータに対して固定小数点処理を行う第1の処理モジュールと、
処理対象の画像を取得する取得モジュールと、
前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて前記画像を処理するように制御して、前記画像の処理結果を得る第2の処理モジュールと、を含む、ことを特徴とする画像処理装置。
【請求項15】
前記第1の処理モジュールは、
前記畳み込みニューラルネットワークにおける浮動小数点で表された層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得るクラスタリングユニットと、
前記クラスタリング結果、前記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の前記畳み込みニューラルネットワークを得る第2の固定小数点ユニットと、を含む、ことを特徴とする請求項14に記載の装置。
【請求項16】
前記第1の処理モジュールは、
畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに基づいて、前記ネットワークパラメータに対応する固定小数点数の小数点以下の桁数を識別する固定小数点パラメータを決定する決定ユニットと、
前記固定小数点パラメータ、所定の固定小数点関数及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る第1の固定小数点ユニットと、をさらに含み、前記固定小数点関数は、0より大きい所定の勾配を有する一次関数である、ことを特徴とする請求項14に記載の装置。
【請求項17】
前記第1の処理モジュールは、
前記第1の固定小数点後の畳み込みニューラルネットワークにおける前記層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得て、
前記クラスタリング結果、前記第1の固定小数点後の畳み込みニューラルネットワークにおける前記畳み込みパラメータ及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の前記畳み込みニューラルネットワークを得る、ことを特徴とする請求項16に記載の装置。
【請求項18】
前記決定ユニットは、
前記畳み込みパラメータの小数点以下の桁数及び前記層出力パラメータの小数点以下の桁数に基づいて、前記固定小数点パラメータを決定する、ことを特徴とする請求項16又は17に記載の装置。
【請求項19】
前記決定ユニットは、
前記畳み込みパラメータの小数点以下の桁数と前記層出力パラメータの小数点以下の桁数のうちの最大の小数点以下の桁数を、前記固定小数点パラメータに対応する小数点以下の桁数とする、ことを特徴とする請求項18に記載の装置。
【請求項20】
前記第1の固定小数点ユニットは、
前記固定小数点ビット幅のハードウェアリソース量のビット桁数及び前記固定小数点パラメータに基づいて、前記ネットワークパラメータの固定小数点レベルを決定し、
前記固定小数点レベル及び前記固定小数点関数に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る、ことを特徴とする請求項16~19のいずれか一項に記載の装置。
【請求項21】
前記第1の固定小数点ユニットは、
前記ネットワークパラメータの値と、前記ネットワークパラメータの値に最も近い前記固定小数点レベルである目標レベルとの差分値を決定し、
そして、
前記差分値及び前記目標レベルを前記固定小数点関数に入力して、前記ネットワークパラメータに対して前記第1の固定小数点を行った結果を得る、ことを特徴とする請求項20に記載の装置。
【請求項22】
前記第1の処理モジュールは、
前記層出力パラメータから前記所定数の層出力パラメータを初期クラスタリング中心として選択し、
前記初期クラスタリング中心に基づいてクラスタリング繰り返し処理を行って、前記所定数のクラスタリング結果を得る、ことを特徴とする請求項15又は17に記載の装置。
【請求項23】
前記第1の処理モジュールは、
前記クラスタリング結果のクラスタリング中心を決定し、
前記クラスタリング中心及び前記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ、又は、前記クラスタリング中心及び第1の固定小数点後の畳み込みニューラルネットワークにおける前記畳み込みパラメータに基づいて、前記固定小数点ビット幅のハードウェアリソース量に基づいて第2の固定小数点を行って、第2の固定小数点結果を得て、前記第2の固定小数点は、前記クラスタリング中心を前記クラスタリング中心に最も近い固定小数点レベルに固定小数点する、ことを特徴とする請求項15又は17に記載の装置。
【請求項24】
前記固定小数点関数と目標階段関数の差異が所定の差異より大きい場合、前記固定小数点関数の勾配を修正し、そして、勾配が修正された固定小数点関数に基づいて新たな第1の固定小数点を行う更新モジュールをさらに含む、ことを特徴とする請求項16~21のいずれか一項に記載の装置。
【請求項25】
第2の処理モジュールは、
前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて、前記画像に対して固定小数点乗算演算、固定小数点加算演算、シフト演算のうちの少なくとも1つの処理を行うように制御する、ことを特徴とする請求項14~24のいずれか一項に記載の装置。
【請求項26】
前記画像の処理結果は、
特徴抽出結果、分割結果、分類結果、オブジェクト検出/追跡結果のうちの少なくとも1つを含む、ことを特徴とする請求項14~25のいずれか一項に記載の装置。
【請求項27】
プロセッサ、外部メモリ、内部メモリ及びFPGA演算ユニットを含み、
前記外部メモリには、畳み込みニューラルネットワークの固定小数点処理後の、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含むネットワークパラメータが記憶されており、
前記プロセッサは、前記畳み込みニューラルネットワークの固定小数点処理後のネットワークパラメータを前記内部メモリに読み込み、前記内部メモリのデータ及び処理対象の画像を前記FPGA演算ユニットに入力し、
前記FPGA演算ユニットは、固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて、前記処理対象の画像に対して演算処理を行って、前記画像の処理結果を得る、ことを特徴とするフィールドプログラマブルゲートアレイFPGAに基づく車載演算プラットフォーム。
【請求項28】
前記プロセッサは、
前記畳み込みニューラルネットワークにおける層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得て、
前記クラスタリング結果、前記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の前記畳み込みニューラルネットワークを得る、ことを特徴とする請求項27に記載のプラットフォーム。
【請求項29】
前記プロセッサは、
畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに基づいて、前記ネットワークパラメータに対応する固定小数点数の小数点以下の桁数を識別する固定小数点パラメータを決定し、
前記固定小数点パラメータ、所定の固定小数点関数及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得て、前記固定小数点関数は、0より大きい所定の勾配を有する一次関数である、ことを特徴とする請求項27に記載のプラットフォーム。
【請求項30】
前記プロセッサは、
前記第1の固定小数点後の畳み込みニューラルネットワークにおける前記層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得て、
前記クラスタリング結果、前記第1の固定小数点後の畳み込みニューラルネットワークにおける前記畳み込みパラメータ及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の前記畳み込みニューラルネットワークを得る、ことを特徴とする請求項29に記載のプラットフォーム。
【請求項31】
前記プロセッサは、
前記畳み込みパラメータの小数点以下の桁数及び前記層出力パラメータの小数点以下の桁数に基づいて、前記固定小数点パラメータを決定する、ことを特徴とする請求項29又は30に記載のプラットフォーム。
【請求項32】
前記プロセッサは、
前記畳み込みパラメータの小数点以下の桁数と前記層出力パラメータの小数点以下の桁数のうちの最大の小数点以下の桁数を、前記固定小数点パラメータに対応する小数点以下の桁数とする、ことを特徴とする請求項31に記載のプラットフォーム。
【請求項33】
前記プロセッサは、
前記固定小数点ビット幅のハードウェアリソース量のビット桁数及び前記固定小数点パラメータに基づいて、前記ネットワークパラメータの固定小数点レベルを決定し、
前記固定小数点レベル及び前記固定小数点関数に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る、ことを特徴とする請求項29~32のいずれか一項に記載のプラットフォーム。
【請求項34】
前記プロセッサは、
前記ネットワークパラメータの値と、前記ネットワークパラメータの値に最も近い前記固定小数点レベルである目標レベルとの差分値を決定し、
前記差分値及び前記目標レベルを前記固定小数点関数に入力して、前記ネットワークパラメータに対して前記第1の固定小数点を行った結果を得る、ことを特徴とする請求項33に記載のプラットフォーム。
【請求項35】
前記プロセッサは、
前記層出力パラメータから前記所定数の層出力パラメータを初期クラスタリング中心として選択し、
前記初期クラスタリング中心に基づいてクラスタリング繰り返し処理を行って、前記所定数のクラスタリング結果を得る、ことを特徴とする請求項28又は30に記載のプラットフォーム。
【請求項36】
前記プロセッサは、
前記クラスタリング結果のクラスタリング中心を決定し、
前記クラスタリング中心及び前記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ、又は、前記クラスタリング中心及び第1の固定小数点後の畳み込みニューラルネットワークにおける前記畳み込みパラメータに基づいて、前記固定小数点ビット幅のハードウェアリソース量に基づいて第2の固定小数点を行って、第2の固定小数点結果を得て、前記第2の固定小数点は、前記クラスタリング中心を前記クラスタリング中心に最も近い固定小数点レベルに固定小数点する、ことを特徴とする請求項28又は30に記載のプラットフォーム。
【請求項37】
前記プロセッサは、
前記固定小数点関数と目標階段関数の差異が所定の差異より大きいことに応答して、前記固定小数点関数の勾配を修正し、
勾配が修正された固定小数点関数に基づいて新たな第1の固定小数点を行う、ことを特徴とする請求項29~34のいずれか一項に記載のプラットフォーム。
【請求項38】
前記プロセッサは、
前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて、前記画像に対して固定小数点乗算演算、固定小数点加算演算、シフト演算のうちの少なくとも1つの処理を行うように制御する、ことを特徴とする請求項27~37のいずれか一項に記載のプラットフォーム。
【請求項39】
前記画像の処理結果は、
特徴抽出結果、分割結果、分類結果、オブジェクト検出/追跡結果のうちの少なくとも1つを含む、ことを特徴とする請求項27~38のいずれか一項に記載のプラットフォーム。
【請求項40】
プロセッサと、
請求項1~13のいずれか一項に記載の画像処理方法に対応する動作を前記プロセッサに実行させる少なくとも1つの実行可能な命令を記憶するメモリと、を含む、ことを特徴とする電子機器。
【請求項41】
プロセッサと、請求項14~26のいずれか一項に記載の画像処理装置とを含み、プロセッサが前記画像処理装置を実行する場合、請求項14~26のいずれか一項に記載の画像処理装置におけるモジュールが実行される、ことを特徴とする電子機器。
【請求項42】
請求項40又は41に記載の電子機器を含む、ことを特徴とするスマート運転システム。
【請求項43】
請求項1~13のいずれか一項に記載の画像処理方法を実行するコンピュータプログラムが記憶されている、ことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2018年12月29日に中国特許庁に提出された、出願番号CN201811647408.2、発明の名称「画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム」の中国特許出願の優先権を主張するものであり、その全ての内容は、参照により本願に組み込まれるものとする。
【0002】
本願の実施例は、コンピュータ技術に関し、特に画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステムに関する。
【背景技術】
【0003】
畳み込みニューラルネットワークは、コンピュータビジョンタスクに関する分野において重要な役割を果たす。例えば、スマート運転の分野において、畳み込みニューラルネットワークに基づいて車線区画線検出、車線区画線フィッティングなどを行うことができる。畳み込みニューラルネットワークに対して、ハードウェアリソースの限られたプラットフォームで実行される前、一般的に固定小数点動作を行う必要がある。固定小数点動作は、浮動小数点数で表された畳み込みニューラルネットワークにおける畳み込みパラメータ及び中間層結果を固定小数点数で表すように固定小数点することである。
【発明の概要】
【0004】
本願の実施例は、画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステムを提供し、前記技術的解決手段は、以下のとおりである。
【0005】
本願の実施例の一態様に係る画像処理方法は、演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表された、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む、ネットワークパラメータに対して固定小数点処理を行うステップと、処理対象の画像を取得するステップと、前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて前記画像を処理するように制御して、前記画像の処理結果を得るステップと、を含む。
【0006】
本願の実施例の他の態様に係る画像処理装置は、演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表された、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む、ネットワークパラメータに対して固定小数点処理を行う第1の処理モジュールと、処理対象の画像を取得する取得モジュールと、前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて前記画像を処理するように制御して、前記画像の処理結果を得る第2の処理モジュールと、を含む。
【0007】
本願の実施例次に別の態様に係るフィールドプログラマブルゲートアレイFPGAに基づく車載演算プラットフォームは、プロセッサ、外部メモリ、内部メモリ及びFPGA演算ユニットを含み、前記外部メモリには、畳み込みニューラルネットワークの固定小数点処理後の、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含むネットワークパラメータが記憶されており、前記プロセッサは、前記畳み込みニューラルネットワークの固定小数点処理後のネットワークパラメータを前記内部メモリに読み込み、前記内部メモリのデータ及び処理対象の画像を前記FPGA演算ユニットに入力し、前記FPGA演算ユニットは、固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて、前記処理対象の画像に対して演算処理を行って、前記画像の処理結果を得る。
【0008】
本願の実施例のまた別の態様に係る電子機器は、プロセッサと、いずれか1つの実施例に記載の画像処理方法に対応する動作を前記プロセッサに実行させる少なくとも1つの実行可能な命令を記憶するメモリと、を含む。
【0009】
本願の実施例のさらに別の態様に係る電子機器は、プロセッサと、いずれか1つの実施例に記載の画像処理装置とを含み、プロセッサが前記画像処理装置を実行する場合、いずれか1つの実施例に記載の画像処理装置のモジュールが実行される。
【0010】
本願の実施例のさらに別の態様に係るスマート運転システムは、上記いずれか1つの実施例に記載の電子機器を含む。
【0011】
本願の実施例のさらに別の態様に係るコンピュータ可読記憶媒体には、上記いずれか1つの実施例に記載の画像処理方法を実行するコンピュータプログラムが記憶されている。
【0012】
本願の実施例に係る画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステムは、まず、演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて畳み込みニューラルネットワークに対して固定小数点処理を行い、かつ処理対象の画像を取得した後、演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて画像を処理するように制御することにより、ハードウェアリソースの限られたプラットフォームで畳み込みニューラルネットワークを用いて効率的な画像処理を行うことを実現する。
【0013】
以下、図面及び実施例により、本願の技術的解決手段をさらに詳細に説明する。
【図面の簡単な説明】
【0014】
明細書の一部である図面は、本願の実施例を説明し、かつ説明と共に本願の原理を解釈するためのものである。図面を参照しながら、以下の詳細な説明に基づいて、本願をより明確に理解することができる。
図1】本願の実施例に係る画像処理方法のフローチャートである。
図2】本願の実施例に係る画像処理方法の別のフローチャートである。
図3】本願の実施例に係る画像処理方法の次に別のフローチャートである。
図4】本願の実施例に係る画像処理方法のまた別のフローチャートである。
図5】本願の実施例に係る画像処理方法のさらに別のフローチャートである。
図6】本願の実施例に係る画像処理方法のさらにまた別のフローチャートである。
図7】本願の実施例に係る画像処理方法のもう一つ別のフローチャートである。
図8】本願の実施例に係る画像処理装置の概略構成図である。
図9】本願の実施例に係る画像処理装置の別の概略構成図である。
図10】本願の実施例に係る画像処理装置の次に別の概略構成図である。
図11】本願の実施例に係る画像処理装置のまた別の概略構成図である。
図12】本願の実施例に係る、FPGAに基づく車載演算プラットフォームの概略構成図である。
図13】本願の実施例に係る電子機器1300のエンティティのブロック図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本願の様々な例示的な実施例を詳細に説明する。特に具体的に説明しない限り、これらの実施例において記載された部品及びステップの相対的配置、数字表現式及び数値は、本願の範囲を限定するものではないことに留意されたい。
同時に、説明の便宜上、図面に示された各部分の寸法は、実際の比例関係に従って描いたものではないことを理解されたい。
【0016】
以下、少なくとも1つの例示的な実施例についての説明は、本質的に例示的なものに過ぎず、決して本願及びその適用又は使用を限定するものではない。
【0017】
当業者に知られている技術、方法及び機器について詳細に検討しない場合があるが、適切な場合に、上記技術、方法及び機器は、明細書の一部と見なすべきである。
【0018】
類似の符号及び文字が以下の図面において類似のものを表すため、あるものが1つの図面において定義されれば、後の図面においてそれをさらに検討する必要がないことに留意されたい。
【0019】
本願の実施例は、コンピュータシステム/サーバに適用されてよく、多数の他の汎用又は専用のコンピューティングシステム環境又は構成と共に動作可能である。コンピュータシステム/サーバと共に使用するのに適する周知のコンピューティングシステム、環境及び/又は構成の例は、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、ファットクライアント、ハンドヘルド又はラップトップ機器、マイクロプロセッサに基づくシステム、セットトップボックス、プログラマブル消費電子製品、ネットワークパーソナルコンピュータ、小型コンピュータシステム、大型コンピュータシステム、及び上記任意のシステムを含む分散型クラウドコンピューティング技術環境などを含むが、これらに限定されない。
【0020】
コンピュータシステム/サーバについて、コンピュータシステムにより実行されるコンピュータシステム実行可能命令(例えば、プログラムモジュール)の一般的なコンテキストで説明してよい。一般的に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データ型を実現するルーチン、プログラム、目標プログラム、コンポーネント、ロジック及びデータ構造などを含んでよい。コンピュータシステム/サーバは、分散型クラウドコンピューティング環境において実施されてよく、分散型クラウドコンピューティング環境において、タスクは、通信ネットワークを介して接続された遠隔処理機器によって実行される。分散型クラウドコンピューティング環境において、プログラムモジュールは、記憶機器を含むローカル又は遠隔コンピューティングシステムの記憶媒体に位置してよい。
【0021】
本願の実施例に係る画像処理方法は、畳み込みニューラルネットワークを用いて画像処理を行う様々なシーンに適用することができる。例示的には、本願の実施例は、スマート運転の分野、例えば、自動運転及び運転支援技術に適用することができる。スマート運転の分野において、畳み込みニューラルネットワークに基づいて車線区画線検出、車線区画線フィッティングなどを行うことができるため、スマート運転の分野における畳み込みニューラルネットワークに対して、本願の実施例に記載の方法を用いて固定小数点動作を行うことができる。
【0022】
図1は、本願の実施例に係る画像処理方法のフローチャートであり、該方法の実行主体は、画像処理を行う電子機器の、中央処理装置(Central Processing Unit、CPUと略称する)のようなプロセッサなどであってよい。図1に示すように、該方法は、以下のステップS101~S103を含む。
【0023】
S101では、演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに対して固定小数点処理を行う。
【0024】
該ネットワークパラメータは、畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む。
【0025】
好ましくは、上記演算ユニットは、固定小数点演算をサポートする計算ユニットであってよい。フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array、FPGAと略称する)を例として、演算ユニットは、FPGAにおけるデジタル信号プロセッサ(Digital Signal Processor、DSPと略称する)であってよい。
【0026】
畳み込みニューラルネットワークに対して、ハードウェアリソースの限られたプラットフォームで実行される前、固定小数点動作を行う必要がある。例示的には、FPGAは、安価で安定した計算プラットフォームであり、畳み込みニューラルネットワークを実行することができる。FPGAなどのハードウェアプラットフォームの低消費電力、演算加速などの面での総合的な強みを発揮させるために、演算ユニットの固定小数点ビット幅のハードウェアリソース量は一般的に限られる。いくつかの場合、より低い消費電力を実現するために、できるだけ少ない固定小数点ビット幅のハードウェアリソース量、例えば、8ビット又は4ビット又はそれ以下のビット幅ハードウェアリソース量を選択して固定小数点演算を実現する。しかしながら、固定小数点ビット幅のハードウェアリソース量が少ないと演算速度に影響を与えることが多いため、高速応答さらにリアルタイムな応答が求められるプラットフォーム、例えば、自動運転用の車載演算プラットフォームなどの場合、畳み込みニューラルネットワークに対して適応ハードウェアの固定小数点ビット幅のハードウェアリソース量の最適化を行うことにより、リソースが限られたプラットフォームでの演算加速を実現する。上記需要のために、畳み込みニューラルネットワークがFPGAなどの、ハードウェアリソースが限られたプラットフォームで動作する前、まず、ハードウェア固定小数点ビット幅リソース量に適合するようにそれに固定小数点動作を行うことにより、演算プラットフォームの低消費電力及び高速応答に対する要件を同時に満たすことができる。好ましくは、畳み込みニューラルネットワークの畳み込みパラメータ及び中間層結果を固定小数点で表すように固定小数点する。固定小数点動作を行った後、浮動小数点数の乗算加算を固定小数点数の乗算加算に変換することができる。FPGAなどのプラットフォームについて、固定小数点数の乗算、加算などの演算が直接DSPによって実行されてよいため、畳み込みニューラルネットワークのネットワークパラメータに対して固定小数点動作を行うと、FPGAなどのプラットフォームのハードウェア消費を低減することができる。
【0027】
畳み込みニューラルネットワークは、画像処理プロセスに適用することができ、本願の実施例に係る畳み込みニューラルネットワークに基づく画像処理方法は、まず、演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークに対して固定小数点処理を行い、かつ処理対象の画像を取得した後、演算ユニットがネットワークパラメータの固定小数点処理後の畳み込みニューラルネットワークに基づいて画像を処理するように制御することにより、ハードウェアリソースの限られたプラットフォームで畳み込みニューラルネットワークを用いて効率的な画像処理を行うことを実現する。
【0028】
上記演算ユニットでは、固定小数点ビット幅のハードウェアリソース量を用いてデータ処理を行う。例示的には、FPGAのDSPの固定小数点ビット幅のハードウェアリソース量は、4ビット~8ビットであってよく、すなわちFPGAのDSPは、4ビット~8ビットの固定小数点数の計算をサポートすることができる。それに応じて、固定小数点処理を行う場合、浮動小数点数を4ビット~8ビットの固定小数点数に固定小数点する必要がある。
【0029】
好ましい例では、該ステップS101は、プロセッサがメモリに記憶されている、対応する命令を呼び出すことにより実行されてもよく、プロセッサにより実行される第1の処理モジュール801により実行されてもよい。
【0030】
S102では、処理対象の画像を取得する。
【0031】
例示的には、車線区画線検出、車線区画線フィッティングなどのシーンで、スマート運転車両のカメラにより路面画像を取得することができ、プロセッサは、カメラにより取得された路面画像を取得することができ、該路面画像は処理対象の画像である。
好ましい例では、該ステップS102は、プロセッサがメモリに記憶されている、対応する命令を呼び出すことにより実行されてもよく、プロセッサにより実行される取得モジュール802により実行されてもよい。
【0032】
S103では、上記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて上記画像を処理するように制御して、上記画像の処理結果を得る。
好ましい例では、該ステップS103は、プロセッサがメモリに記憶されている、対応する命令を呼び出すことにより実行されてもよく、プロセッサにより実行される第2の処理モジュール803により実行されてもよい。
【0033】
好ましくは、上記画像を処理するプロセスは、固定小数点乗算演算、固定小数点加算演算、シフト演算のうちの少なくとも1つを含むが、これらに限定されない。
【0034】
異なるシーンによって、異なる画像処理結果を得ることができる。得ることができる画像処理結果は、特徴抽出結果、分割結果、分類結果、オブジェクト検出/追跡結果のうちの少なくとも1つを含むが、これらに限定されない。
【0035】
例示的には、上記オブジェクト検出結果は、車線区画線に対する検出結果であってよい。
【0036】
本実施例では、まず、演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークに対して固定小数点処理を行い、かつ処理対象の画像を取得した後、演算ユニットがネットワークパラメータの固定小数点処理後の畳み込みニューラルネットワークに基づいて画像を処理するように制御することにより、ハードウェアリソースの限られたプラットフォームで畳み込みニューラルネットワークを用いて効率的な画像処理を行うことを実現する。畳み込みニューラルネットワークに対して固定小数点処理を行うことにより、ハードウェアリソースの限られたプラットフォームで演算加速を実現することができるため、演算プラットフォームに対する低消費電力及び高速応答の需要を同時に満たす。
【0037】
上記ステップS101において固定小数点処理を行う場合、段階的な近似式固定小数点方式を使用したり、畳み込みニューラルネットワークの層出力パラメータをクラスタリングする混合固定小数点方式を使用したり、上記両者を組み合わせた方式を使用したりしてよい。
【0038】
上記段階的な近似式固定小数点方式の使用場合に、まず、畳み込みニューラルネットワークのネットワークパラメータに基づいて固定小数点パラメータを決定し、さらに、固定小数点パラメータ、所定の固定小数点関数及び固定小数点ビット幅のハードウェアリソース量に基づいて、ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る。
【0039】
上記畳み込みニューラルネットワークの層出力パラメータをクラスタリングする混合固定小数点方式において、まず、畳み込みニューラルネットワークにおける層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得て、さらに、クラスタリング結果、畳み込みニューラルネットワークにおける畳み込みパラメータ及び固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の畳み込みニューラルネットワークを得る。
【0040】
上記両者を組み合わせった方式では、段階的な近似式固定小数点を行ってから、段階的な近似式固定小数点の結果に対して上記混合固定小数点方式を使用することができる。
【0041】
以下、実施例を個別に説明する。
【0042】
図2は、本願の実施例に係る画像処理方法の別のフローチャートであり、図2に示すように、上記段階的な近似式固定小数点のプロセスは、以下のステップS201~S202を含む。
【0043】
S201では、畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに基づいて固定小数点パラメータを決定する。
【0044】
該固定小数点パラメータは、該ネットワークパラメータに対応する固定小数点数の小数点以下の桁数を識別する。
【0045】
好ましくは、本願の実施例の入力は、完全精度の浮動小数点の畳み込みニューラルネットワークであり、すなわち、本願の実施例の方法を実行する前、畳み込みニューラルネットワークにおけるネットワークパラメータは、浮動小数点で表される。
【0046】
好ましくは、上記ネットワークパラメータは、畳み込みパラメータ及び層出力パラメータを含んでよい。層出力パラメータは、畳み込みニューラルネットワークの中間層出力結果、例えば、中間層特徴マップなどである。
【0047】
好ましくは、上記固定小数点パラメータは、上記ネットワークパラメータに対応する固定小数点数の小数点以下の桁数を識別する。一次関数を用いて固定小数点を行う前、畳み込みニューラルネットワークにおけるネットワークパラメータに基づいて、固定小数点後の固定小数点数の小数点以下の桁数を決定することができる。
【0048】
S202では、上記固定小数点パラメータ、所定の固定小数点関数及び上記固定小数点ビット幅のハードウェアリソース量に基づいて、上記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る。
【0049】
該固定小数点関数は、0より大きい所定の勾配を有する一次関数である。
【0050】
好ましくは、上記固定小数点パラメータを決定した後、上記固定小数点パラメータ、固定小数点関数及び演算ユニットの固定小数点ビット幅のハードウェアリソース量と組み合わせて第1の固定小数点を行うことができる。
【0051】
以下の式(1)は、固定小数点関数の一例である。
【0052】
【数1】
【0053】
【数2】
【0054】
好ましくは、実施過程において、本ステップは、段階的に複数回実行することができる。各段階において、まず、上記固定小数点関数に1つの勾配を割り当て、かつ勾配に基づいて第1の固定小数点を行うことができる。本段階の第1の固定小数点を完了した後、勾配を修正し、かつ該修正された勾配に基づいて、新たな第1の固定小数点を行い、固定小数点関数の勾配が階段関数の勾配に近似するまで、順次繰り返し実行することができる。例えば、畳み込みニューラルネットワークのトレーニングプロセスにおいて、毎回のトレーニングにおいて、所定の勾配を用いて第1の固定小数点を行い、次回のトレーニングにおいて、好ましくは、固定小数点関数と目標階段関数の差異が所定の差異より大きいことに応答して、固定小数点関数の勾配を修正し、勾配が修正された固定小数点関数に基づいて新たな第1の固定小数点を行い、例えば、固定小数点関数と目標階段関数の差異が所定の差異より大きいか否か、例えば、勾配の差分値が所定の差分値より大きいか否かを判断し、そうであれば、新たな勾配を用いて第1の固定小数点を継続し、固定小数点関数の勾配が階段関数の勾配に近似するまで、順次繰り返し実行する。
【0055】
例示的には、階段関数を勾配が0の一次関数と見なすと仮定すると、実施過程において、初期段階で固定小数点関数に1の勾配を割り当て、かつ該固定小数点関数に基づいて上記ネットワークパラメータに対して固定小数点を行うことができる。順次繰り返し実行し、後続の段階で勾配値を徐々に減少させ、勾配が0に近似するまで、それぞれ各段階に割り当てられた勾配に基づいて固定小数点を行う。
【0056】
畳み込みニューラルネットワークのトレーニングプロセスにおいて固定小数点を実行することを例として、トレーニングプロセスにおいて固定小数点を行うプロセスは、以下を含む:初期段階で固定小数点関数に初期勾配を割り当て、該固定小数点関数に基づいて、ネットワークパラメータに対して固定小数点を行い、さらに、固定小数点後の固定小数点ネットワークパラメータに基づいて畳み込みニューラルネットワークをトレーニングし、トレーニング結果が予想に合致した後現在得られる畳み込みニューラルネットワークに基づいて、第2の段階の勾配の割り当て、固定小数点及びニューラルネットワークトのレーニングを実行し、勾配が0に近似するまで、順次繰り返し実行する。該プロセスにより、固定小数点関数の結果は段階的に完全固定小数点の結果に徐々に近似することができる。
【0057】
本実施例では、特定の勾配を有する固定小数点関数を用いて畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータに対して固定小数点を行うことにより、固定小数点結果が完全固定小数点の結果に徐々に近似することができるため、固定小数点の精度損失を低減し、固定小数点の誤差を低減し、固定小数点の精度を向上させる。
【0058】
以下、畳み込みニューラルネットワークの層出力パラメータをクラスタリングする混合固定小数点方式を説明し、上記2種類の方式を組み合わせるプロセスを説明する。
【0059】
図3は、本願の実施例に係る画像処理方法の次に別のフローチャートであり、図3に示すように、上記畳み込みニューラルネットワークの層出力パラメータをクラスタリングする混合固定小数点方式は、以下のステップS301~S302を含む。
【0060】
S301では、畳み込みニューラルネットワークにおける浮動小数点で表された層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得る。
【0061】
上記2種類の方式を組み合わせた方式を使用すれば、本ステップに記載の畳み込みニューラルネットワークは、上記第1の固定小数点を行った後の畳み込みニューラルネットワークである。
【0062】
本実施例では、畳み込みニューラルネットワークが第1の固定小数点後の畳み込みニューラルネットワークであることを例として説明する。
【0063】
好ましくは、K平均値クラスタリング(Kmeans)方式を使用して上記層出力パラメータをクラスタリングすることができる。
【0064】
好ましくは、上記第1の固定小数点を行った後、得られた上記層出力パラメータに対応する小数点以下の桁数は、上記固定小数点パラメータにより識別された小数点以下の桁数である。その上で、これらの層出力パラメータをクラスタリングする。
【0065】
例示的には、上記層出力パラメータがk+2ビットの固定小数点数であると仮定すると、Kmeans方式を使用して上記層出力パラメータに対してkビットのクラスタリングを行うことができる。kは0より大きい整数である。
【0066】
S302では、上記クラスタリング結果、上記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ及び固定小数点ビット幅のハードウェアリソース量に基づいて第2の固定小数点を行って、第2の固定小数点後の畳み込みニューラルネットワークを得る。
【0067】
上記2種類の方式を組み合わせた方式を使用すれば、本ステップに記載の畳み込みニューラルネットワークは、上記第1の固定小数点を行った後の畳み込みニューラルネットワークである。
【0068】
好ましくは、上記第2の固定小数点は、階段関数を用いる固定小数点であってよい。
【0069】
本実施例では、畳み込みニューラルネットワークの層出力パラメータをクラスタリングし、かつクラスタリング結果に対して第2の固定小数点を行うことにより、固定小数点の精度を保証する前提の下で固定小数点化ビット幅を低下させ、さらに帯域幅占用を減少させることができる。例示的には、本願の実施例に係る畳み込みニューラルネットワークがFPGAに適用される場合、層出力パラメータをクラスタリングして表して、層出力パラメータを低いビット数で表すことができるため、1つの対応ラベルを生成することができる。例えば、K平均値でクラスタリングして16個のクラスタリングされた数を得ると、各層出力パラメータは、4ビットで表すことができる。さらに、FPGAは、データを読み取る場合、4ビットのみを読み取ることができ、すなわち、クラスタリング前より少ないビット数を読み取れればよく、さらにテーブル検索の方式で実際のデータを取得することにより、FPGAの帯域幅を低下させることができる。
【0070】
上記実施例を基礎として、本実施例は、畳み込みニューラルネットワークのネットワークパラメータに基づいて固定小数点パラメータを決定するプロセスに関する。
【0071】
好ましくは、上記ステップS201は、上記畳み込みパラメータの小数点以下の桁数及び上記層出力パラメータの小数点以下の桁数に基づいて、上記固定小数点パラメータを決定することを含む。
好ましくは、本願の実施例の方法を実行する前、上記畳み込みニューラルネットワークにおける畳み込みパラメータと層出力パラメータは、それぞれ浮動小数点数であり、これらの浮動小数点数について、本実施例では、これらの浮動小数点数に対応する小数点以下の桁数に基づいて、上記固定小数点パラメータを決定することができる。
【0072】
好ましい実施形態では、上記畳み込みパラメータの小数点以下の桁数と上記層出力パラメータの小数点以下の桁数のうちの最大の小数点以下の桁数を、上記固定小数点パラメータに対応する小数点以下の桁数とする。
【0073】
例示的には、畳み込みニューラルネットワークにおいて値が1.1の畳み込みパラメータがあり、値がそれぞれ1.23と3.354の層出力パラメータがあると仮定すると、最大の小数点以下の桁数は3であるため、上記固定小数点パラメータに対応する小数点以下の桁数が3であると決定することができる。
【0074】
別の好ましい実施形態では、上記畳み込みパラメータの小数点以下の桁数と上記層出力パラメータの小数点以下の桁数のうちの、割合が最大の小数点以下の桁数を、上記固定小数点化パラメータに対応する小数点以下の桁数とすることができる。
【0075】
例示的には、畳み込みニューラルネットワークにおいて値がそれぞれ1.1と1.2の畳み込みパラメータがあり、値がそれぞれ1.23と3.354の層出力パラメータがあると仮定すると、割合が最大の小数点以下の桁数は1であるため、上記固定小数点パラメータに対応する小数点以下の桁数が1であると決定することができる。
【0076】
上記実施例を基礎として、本実施例は、上記ネットワークパラメータに対して第1の固定小数点を行うプロセスに関する。
【0077】
図4は、本願の実施例に係る画像処理方法のまた別のフローチャートであり、図4に示すように、上記ステップS202は、以下のステップS401~S402を含む。
【0078】
S401では、固定小数点ビット幅のハードウェアリソース量のビット桁数及び上記固定小数点パラメータに基づいて、上記ネットワークパラメータの固定小数点レベルを決定する。
【0079】
上記プロセスにより上記固定小数点パラメータを取得した後、固定小数点ビット幅のハードウェアリソース量のビット桁数及び上記固定小数点パラメータに基づいて、上記ネットワークパラメータの固定小数点レベルを決定する。
【0080】
例示的には、固定小数点ビット幅のハードウェアリソース量のビット桁数が2であると仮定し、上記プロセスにより固定小数点パラメータに対応する小数点以下の桁数が0であると決定すれば、上記ネットワークパラメータの固定小数点レベルが-2、-1、0及び1を含むと決定することができる。
【0081】
S402では、上記固定小数点レベル及び上記固定小数点関数に基づいて、上記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る。
【0082】
好ましい実施形態として、以下の方式で上記ネットワークパラメータに対して第1の固定小数点を行うことができる。
【0083】
図5は、本願の実施例に係る画像処理方法のさらに別のフローチャートであり、図5に示すように、上記ステップS402は、以下のステップS501~S502を含む。
【0084】
S501では、上記ネットワークパラメータの値と目標レベルとの差分値を決定する。
【0085】
目標レベルは、上記ネットワークパラメータの値に最も近い固定小数点レベルである。
【0086】
S502では、上記差分値及び固定小数点レベルを上記固定小数点関数に入力して、上記ネットワークパラメータに対して上記第1の固定小数点を行った結果を得る。
【0087】
好ましくは、ネットワークパラメータの固定小数点レベルを決定した後、本実施例では、そのうちの1つのネットワークパラメータAを例として、以下の方式で該ネットワークパラメータAに対して第1の固定小数点を行うことができ、残りのネットワークパラメータに対して第1の固定小数点を行う方式は、いずれも該ネットワークパラメータAと同じである。
【0088】
上記ネットワークパラメータAが畳み込みカーネルパラメータであると仮定すると、まず、該畳み込みカーネルパラメータに最も近い固定小数点レベルを決定する。好ましくは、該畳み込みカーネルパラメータと固定小数点レベルとの差分値を計算することにより、該畳み込みカーネルパラメータに最も近い固定小数点レベルを決定することができ、例えば、固定小数点レベルから該畳み込みカーネルパラメータとの差分値が最も小さい固定小数点レベルを最も近い固定小数点レベル(例えば、目標レベル)として選択する。
【0089】
例示的には、上記ステップにより該畳み込みカーネルパラメータの固定小数点レベルが-2、-1、0及び1であると決定し、該畳み込みカーネルパラメータの値が-1.2であると仮定すると、該畳み込みカーネルパラメータと固定小数点レベルとの差分値を計算することにより、該畳み込みカーネルパラメータに最も近い固定小数点レベルが-1であると決定することができる。
【0090】
さらに、上記ネットワークパラメータの値と固定小数点レベルとの差分値及び固定小数点レベルを上記固定小数点関数に入力して、ネットワークパラメータAに対して第1の固定小数点を行った結果を得る。
【0091】
好ましくは、上記固定小数点化関数が以下の式(2)で表されると仮定する。
【0092】
【数3】
【0093】
ここで、Lは固定小数点レベル(例えば、目標レベル)であり、SはネットワークパラメータAと目標レベルとの差分値であり、kは現在の段階に対応する勾配であり、上記プロセスで決定された目標レベル及び差分値を上記式(2)に入力すれば、ネットワークパラメータAの第1の固定小数点の結果を得ることができる。
【0094】
なお、上記固定小数点関数は、1つの実現形態に過ぎず、当業者であれば実際の必要に応じて目標レベル、及びネットワークパラメータと目標レベルとの差分値に関連する関数を該固定小数点関数として決定することができる。
【0095】
上記実施例を基礎として、本実施例は、上記層出力パラメータをクラスタリングするプロセスに関する。
【0096】
図6は、本願の実施例に係る画像処理方法のさらにまた別のフローチャートであり、図6に示すように、上記ステップS301におけるクラスタリングプロセスは、以下のステップS601~S602を含む。
S601では、上記層出力パラメータから上記所定数の層出力パラメータを初期クラスタリング中心として選択する。
【0097】
S602では、上記初期クラスタリング中心に基づいてクラスタリング繰り返し処理を行って、上記所定数のクラスタリング結果を得る。
【0098】
例示的には、上記所定のビット桁数が6であり、すなわち、ネットワークパラメータが6ビットで表されると仮定すると、本実施例では、上記層出力パラメータに対して4ビットのクラスタリングを行うことができ、該4ビットが16個の数を識別することができるため、上記所定数は16個であってよい。
【0099】
初期に、特定の原則に従って上記層出力パラメータから16個の層出力パラメータを選択し、該16個の層出力パラメータを初期クラスタリング中心とし、さらに、残りの層出力パラメータとこれらの初期クラスタリング中心との類似度、すなわち、差分値(一般的に差分値が小さいほど、類似度が高いことを示す)に基づいて、それぞれ残りの層出力関数をこれらのクラスタリング中心に割り当てて、複数のクラスタを形成する。さらに、各クラスタリングの新たなクラスタリング中心を計算し、かつ各クラスタリングにおける層出力パラメータの差分値が収束条件を満たすまで、新たなクラスタリング中心に基づいてクラスタリング繰り返し処理を継続することにより、16個のクラスタリング結果を得る。
【0100】
上記実施例を基礎として、本実施例は、上記クラスタリング結果に対して第2の固定小数点を行うプロセスに関する。
【0101】
図7は、本願の実施例に係る画像処理方法のもう一つ別のフローチャートであり、図7に示すように、上記ステップS302は、以下のステップS701~S702を含む。
【0102】
S701では、上記クラスタリング結果のクラスタリング中心を決定する。
【0103】
上記処理を行って、複数のクラスタリングを得ることができ、そのうちの各クラスタリングに対して、いずれも本実施例S701~S703のプロセスに従って第2の固定小数点結果を決定することができる。
【0104】
複数のクラスタリングのうちの1つのクラスタリングがクラスタリング1であると仮定すると、本ステップでは、まず該クラスタリング1のクラスタリング中心を決定する。
【0105】
好ましくは、該クラスタリング中心は、クラスタリング1に含まれる複数の層出力パラメータの平均値であってよい。
【0106】
S702では、上記クラスタリング中心に対して第2の固定小数点を行って、上記クラスタリング中心の第2の固定小数点結果を得る。
【0107】
該第2の固定小数点は、上記クラスタリング中心を上記クラスタリング中心に最も近い固定小数点レベルに固定小数点する。
【0108】
好ましくは、上記クラスタリング中心に対して第2の固定小数点を行うことは、クラスタリング中心及び畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ、又は、クラスタリング中心及び第1の固定小数点後の畳み込みニューラルネットワークにおける畳み込みパラメータに基づいて、固定小数点ビット幅のハードウェアリソース量に基づいて第2の固定小数点を行うことを含んでよい。
【0109】
上記クラスタリング1のクラスタリング中心を決定した場合、該クラスタリング中心に対して第2の固定小数点を行うことができる。該第2の固定小数点に対して、階段関数を用いて固定小数点を行い、すなわち、階段関数により、該クラスタリング中心を該クラスタリング中心に最も近い固定小数点レベルに固定小数点することができる。
【0110】
例示的には、クラスタリング1のクラスタリング中心が1.2であると仮定し、階段関数を用いて第2の固定小数点を行った後、該クラスタリング中心を1に固定小数点することができる。
S703では、上記クラスタリング中心の第2の固定小数点結果を上記クラスタリング結果の第2の固定小数点結果とする。
【0111】
クラスタリング1のクラスタリング中心の第2の固定小数点結果を決定すれば、該第2の固定小数点結果をクラスタリング1に含まれる各層出力パラメータの第2の固定小数点結果とすることができる。
【0112】
クラスタリングする場合、出力層パラメータより小さい、ビット数を表すビット(例えば、層出力パラメータが6ビットで表されると、4ビットのクラスタリングを行う)を選択してクラスタリングするため、最終的に第2の固定小数点を完了した後、少ないビット数を用いるだけで全ての層出力パラメータを表すことができるため、クラスタリングにより固定小数点の精度を保証する前提の下で固定小数点ビット幅を低下させることにより、帯域幅占用を減少させるという目的を達成する。
【0113】
当業者であれば理解できるように、上記方法の実施例の全部又は一部のステップの実現は、プログラムにより関連するハードウェアを命令して完了してよく、前述のプログラムは、コンピュータ可読記憶媒体に記憶されてよく、該プログラムが実行される場合、上記方法の実施例を含むステップを実行し、前述の記憶媒体は、ROM、RAM、磁気ディスク又は光ディスクなどの、プログラムコードを記憶可能な様々な媒体を含む。
【0114】
図8は、本願の実施例に係る画像処理装置の概略構成図である。図8に示すように、該装置は、以下の801~803を含む。
【0115】
第1の処理モジュール801は、演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに対して固定小数点処理を行う。
【0116】
ネットワークパラメータは、畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む。
【0117】
取得モジュール802は、処理対象の画像を取得する。
【0118】
第2の処理モジュール803は、演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて画像を処理するように制御して、画像の処理結果を得る。
【0119】
該装置は、前述の方法の実施例を実現し、その実現原理及び技術的効果は類似するため、ここでは説明を省略する。
【0120】
図9は、本願の実施例に係る画像処理装置の別の概略構成図である。図9に示すように、第1の処理モジュール801は、以下の8011~8012を含む。
【0121】
クラスタリングユニット8011は、畳み込みニューラルネットワークにおける浮動小数点で表された層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得る。
【0122】
第2の固定小数点ユニット8012は、クラスタリング結果、畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ及び固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の畳み込みニューラルネットワークを得る。
【0123】
図10は、本願の実施例に係る画像処理装置の次に別の概略構成図である。図10に示すように、第1の処理モジュール801は、以下の8013~8014をさらに含む。
【0124】
決定ユニット8013は、畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに基づいて、ネットワークパラメータに対応する固定小数点数の小数点以下の桁数を識別する固定小数点パラメータを決定する。
【0125】
第1の固定小数点ユニット8014は、固定小数点パラメータ、所定の固定小数点関数及び固定小数点ビット幅のハードウェアリソース量に基づいて、ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る。
【0126】
固定小数点関数は、0より大きい所定の勾配を有する一次関数である。
【0127】
他の実施例では、第1の処理モジュール801は、第1の固定小数点後の畳み込みニューラルネットワークにおける層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得て、クラスタリング結果、第1の固定小数点後の畳み込みニューラルネットワークにおける畳み込みパラメータ及び固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の畳み込みニューラルネットワークを得る。
【0128】
他の実施例では、決定ユニット8013は、畳み込みパラメータの小数点以下の桁数及び層出力パラメータの小数点以下の桁数に基づいて、固定小数点パラメータを決定する。
【0129】
他の実施例では、決定ユニット8013は、畳み込みパラメータの小数点以下の桁数と層出力パラメータの小数点以下の桁数のうちの最大の小数点以下の桁数を、固定小数点パラメータに対応する小数点以下の桁数とする。
【0130】
他の実施例では、第1の固定小数点ユニット8014は、固定小数点ビット幅のハードウェアリソース量のビット桁数及び固定小数点パラメータに基づいて、ネットワークパラメータの固定小数点レベルを決定し、固定小数点レベル及び固定小数点関数に基づいて、ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る。
【0131】
他の実施例では、第1の固定小数点ユニット8014は、ネットワークパラメータの値と、ネットワークパラメータの値に最も近い固定小数点化レベルである目標レベルとの差分値を決定し、そして、差分値及び目標レベルを固定小数点関数に入力して、ネットワークパラメータに対して第1の固定小数点を行った結果を得る。
【0132】
別の実施例では、第1の処理モジュール801は、層出力パラメータから所定数の層出力パラメータを初期クラスタリング中心として選択し、初期クラスタリング中心に基づいてクラスタリング繰り返し処理を行って、所定数のクラスタリング結果を得る。
【0133】
別の実施例では、第1の処理モジュール801は、クラスタリング結果のクラスタリング中心を決定し、クラスタリング中心及び畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ、又は、クラスタリング中心及び第1の固定小数点後の畳み込みニューラルネットワークにおける畳み込みパラメータに基づいて、固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点結果を得て、第2の固定小数点は、クラスタリング中心をクラスタリング中心に最も近い固定小数点レベルに固定小数点する。
【0134】
図11は、本願の実施例に係る画像処理装置のまた別の概略構成図である。図11に示すように、該装置は、固定小数点関数と目標階段関数の差異が所定の差異より大きい場合、上記固定小数点関数の勾配を修正し、そして、勾配が修正された固定小数点関数に基づいて新たな第1の固定小数点を行う更新モジュール804をさらに含む。
【0135】
別の実施例では、第2の処理モジュール803は、演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて、画像に対して固定小数点乗算演算、固定小数点加算演算、シフト演算のうちの少なくとも1つの処理を行うように制御する。
【0136】
別の実施例では、上記画像の処理結果は、特徴抽出結果、分割結果、分類結果、オブジェクト検出/追跡結果のうちの少なくとも1つを含む。
【0137】
本開示の実施例に係る画像処理装置のいずれか1つの実施例の動作プロセス、設定方式及び対応する技術的効果は、いずれも本開示の上記対応する方法の実施例の具体的な説明を参照することができ、紙幅の都合上、ここでは説明を省略する。
【0138】
図12は、本願の実施例に係る、FPGAに基づく車載演算プラットフォームの概略構成図である。図12に示すように、FPGAに基づく車載演算プラットフォームは、プロセッサ1201、外部メモリ1202、内部メモリ1203及びFPGA演算ユニット1204を含み、外部メモリ1202には、畳み込みニューラルネットワークの固定小数点処理後の、畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含むネットワークパラメータが記憶されている。
【0139】
プロセッサ1201は、畳み込みニューラルネットワークの固定小数点処理後のネットワークパラメータを内部メモリ1203に読み込み、内部メモリ1203のデータ及び処理対象の画像をFPGA演算ユニットに入力する。
【0140】
FPGA演算ユニット1204は、固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて、処理対象の画像に対して演算処理を行って、画像の処理結果を得る。
【0141】
プロセッサ1201は、上記いずれか1つの実施例に係る画像処理方法におけるステップをさらに実行することができ、前述の方法の実施例を参照することができるため、ここでは説明を省略する。
【0142】
図13は、本願の実施例に係る電子機器1300のエンティティのブロック図であり、図13に示すように、該電子機器1300は、プロセッサ1302及びメモリ1301を含み、メモリ1301は、上記いずれか1つの実施例に係る画像処理方法に対応する動作をプロセッサ1302に実行させる少なくとも1つの実行可能な命令を記憶する。
【0143】
本願の実施例に係る電子機器は、プロセッサと、上記いずれか1つの実施例に係る画像処理装置とを含み、プロセッサが画像処理装置を実行する場合、上記いずれか1つの実施例に係る画像処理装置におけるモジュールが実行される。
【0144】
本願の実施例に係るスマート運転システムは、上記いずれか1つの実施例に係る電子機器を含む。
【0145】
本願の実施例に係るコンピュータ可読記憶媒体には、上記いずれか1つの実施例に係る画像処理方法を実行するコンピュータプログラムが記憶されている。
【0146】
本明細書における各実施例は、いずれもプログレッシブな方式で説明され、各実施例について重点的に説明されるのは、いずれも他の実施例との相違点であり、各実施例間の同一又は類似の部分については互いに参照すればよい。システムの実施例については、方法の実施例に基本的に対応するため、簡単に説明し、関連部分については方法の実施例の説明を参照すればよい。
【0147】
本願の方法及び装置は、様々な形態で実現されてよい。例えば、ソフトウェア、ハードウェア、ファームウェア、又はソフトウェア、ハードウェア、ファームウェアの任意の組み合わせによって本願の方法及び装置を実現することができる。上記方法のステップのための上記順序は、説明するためのものに過ぎず、本願の方法のステップは、他の方式で特に説明しない限り、以上具体的に説明された順序に限定されない。また、いくつかの実施例では、さらに本願は、記録媒体に記録されたプログラムとして実施することができ、これらのプログラムは、本願に係る方法を実現するための機械可読命令を含む。したがって、本願は、本願に係る方法を実行するプログラムを記憶する記録媒体をさらに含む。
【0148】
本願の説明は、例示及び説明のために与えられるものであり、網羅的なものであり、若しくは本願を開示されている形態に限定するものではない。多くの修正及び変形は、当業者にとって明らかである。実施例は、本願の原理及び実際の適用をよりよく説明し、かつ当業者が本願を理解して特定の用途に適した様々な修正付きの様々な実施例を設計可能にするように選択し説明されたものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
【手続補正書】
【提出日】2021-06-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータにより実行される画像処理方法であって、
演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表された、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む、ネットワークパラメータに対して固定小数点処理を行うステップと、
処理対象の画像を取得するステップと、
前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて前記画像を処理するように制御して、前記画像の処理結果を得るステップと、を含む、ことを特徴とする画像処理方法。
【請求項2】
演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに対して固定小数点処理を行う前記ステップは、
前記畳み込みニューラルネットワークにおける浮動小数点で表された層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得るステップと、
前記クラスタリング結果、前記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の前記畳み込みニューラルネットワークを得るステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに対して固定小数点処理を行う前記ステップは、
畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに基づいて、前記ネットワークパラメータに対応する固定小数点数の小数点以下の桁数を識別する固定小数点パラメータを決定するステップと、
前記固定小数点パラメータ、所定の固定小数点関数及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得るステップと、を含み、
前記固定小数点関数は、0より大きい所定の勾配を有する一次関数である、ことを特徴とする請求項1に記載の方法。
【請求項4】
前記第1の固定小数点後の畳み込みニューラルネットワークにおける前記層出力パラメータをクラスタリングして、所定数のクラスタリング結果を得るステップと、
前記クラスタリング結果、前記第1の固定小数点後の畳み込みニューラルネットワークにおける前記畳み込みパラメータ及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、第2の固定小数点を行って、第2の固定小数点後の前記畳み込みニューラルネットワークを得るステップと、をさらに含む、ことを特徴とする請求項3に記載の方法。
【請求項5】
畳み込みニューラルネットワークにおける浮動小数点で表されたネットワークパラメータに基づいて固定小数点パラメータを決定する前記ステップは、
前記畳み込みパラメータの小数点以下の桁数及び前記層出力パラメータの小数点以下の桁数に基づいて、前記固定小数点パラメータを決定するステップを含む、ことを特徴とする請求項3又は4に記載の方法。
【請求項6】
前記畳み込みパラメータの桁数及び前記層出力パラメータの桁数に基づいて、前記固定小数点パラメータを決定する前記ステップは、
前記畳み込みパラメータの小数点以下の桁数と前記層出力パラメータの小数点以下の桁数のうちの最大の小数点以下の桁数を、前記固定小数点パラメータに対応する小数点以下の桁数とするステップを含む、ことを特徴とする請求項5に記載の方法。
【請求項7】
前記固定小数点パラメータ、所定の固定小数点関数及び前記固定小数点ビット幅のハードウェアリソース量に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得る前記ステップは、
前記固定小数点ビット幅のハードウェアリソース量のビット桁数及び前記固定小数点パラメータに基づいて、前記ネットワークパラメータの固定小数点レベルを決定するステップと、
前記固定小数点レベル及び前記固定小数点関数に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行って、第1の固定小数点後の畳み込みニューラルネットワークを得るステップと、を含む、ことを特徴とする請求項3~6のいずれか一項に記載の方法。
【請求項8】
前記固定小数点レベル及び前記固定小数点関数に基づいて、前記ネットワークパラメータに対して第1の固定小数点を行う前記ステップは、
前記ネットワークパラメータの値と、前記ネットワークパラメータの値に最も近い前記固定小数点レベルである目標レベルとの差分値を決定するステップと、
前記差分値及び前記目標レベルを前記固定小数点関数に入力して、前記ネットワークパラメータに対して前記第1の固定小数点を行った結果を得るステップと、を含む、ことを特徴とする請求項7に記載の方法。
【請求項9】
クラスタリングして、所定数のクラスタリング結果を得る前記ステップは、
前記層出力パラメータから前記所定数の層出力パラメータを初期クラスタリング中心として選択するステップと、
前記初期クラスタリング中心に基づいてクラスタリング繰り返し処理を行って、前記所定数のクラスタリング結果を得るステップと、を含む、ことを特徴とする請求項2又は4に記載の方法。
【請求項10】
第2の固定小数点を行う前記ステップは、
前記クラスタリング結果のクラスタリング中心を決定するステップと、
前記クラスタリング中心及び前記畳み込みニューラルネットワークにおける浮動小数点で表された畳み込みパラメータ、又は、前記クラスタリング中心及び第1の固定小数点後の畳み込みニューラルネットワークにおける前記畳み込みパラメータに基づいて、前記固定小数点ビット幅のハードウェアリソース量に基づいて第2の固定小数点を行って、第2の固定小数点結果を得るステップと、を含み、
前記第2の固定小数点は、前記クラスタリング中心を前記クラスタリング中心に最も近い固定小数点レベルに固定小数点する、ことを特徴とする請求項2又は4に記載の方法。
【請求項11】
前記固定小数点関数と目標階段関数の差異が所定の差異より大きいことに応答して、前記固定小数点関数の勾配を修正するステップと、
勾配が修正された固定小数点関数に基づいて新たな第1の固定小数点を行うステップと、をさらに含む、ことを特徴とする請求項3~8のいずれか一項に記載の方法。
【請求項12】
演算ユニットの固定小数点ビット幅のハードウェアリソース量に基づいて、畳み込みニューラルネットワークにおける浮動小数点で表された、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含む、ネットワークパラメータに対して固定小数点処理を行う第1の処理モジュールと、
処理対象の画像を取得する取得モジュールと、
前記演算ユニットが固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて前記画像を処理するように制御して、前記画像の処理結果を得る第2の処理モジュールと、を含む、ことを特徴とする画像処理装置。
【請求項13】
プロセッサ、外部メモリ、内部メモリ及びFPGA演算ユニットを含み、
前記外部メモリには、畳み込みニューラルネットワークの固定小数点処理後の、前記畳み込みニューラルネットワークの畳み込みパラメータ及び層出力パラメータを含むネットワークパラメータが記憶されており、
前記プロセッサは、前記畳み込みニューラルネットワークの固定小数点処理後のネットワークパラメータを前記内部メモリに読み込み、前記内部メモリのデータ及び処理対象の画像を前記FPGA演算ユニットに入力し、
前記FPGA演算ユニットは、固定小数点処理後の畳み込みニューラルネットワークのネットワークパラメータに基づいて、前記処理対象の画像に対して演算処理を行って、前記画像の処理結果を得る、ことを特徴とするフィールドプログラマブルゲートアレイFPGAに基づく車載演算プラットフォーム。
【請求項14】
プロセッサと、
請求項1~11のいずれか一項に記載の画像処理方法に対応する動作を前記プロセッサに実行させる少なくとも1つの実行可能な命令を記憶するメモリと、を含む、ことを特徴とする電子機器。
【請求項15】
プロセッサと、請求項12に記載の画像処理装置とを含み、
プロセッサが前記画像処理装置を実行する場合、請求項12に記載の画像処理装置におけるモジュールが実行される、ことを特徴とする電子機器。
【請求項16】
請求項14又は15に記載の電子機器を含む、ことを特徴とするスマート運転システム。
【請求項17】
請求項1~11のいずれか一項に記載の画像処理方法を実行するコンピュータプログラムが記憶されている、ことを特徴とするコンピュータ可読記憶媒体。
【国際調査報告】