コラム「北斗七星」
2025年1月21日の公明新聞のコラム「北斗七星」を読んで、「できない」ではなく「やってみよう」と考える習慣が大事と思いました。
コラム「北斗七星」2025.1.21
立春の時刻に卵が立つという・・・
卵が立つのは不思議でない
「何百年の間、世界中で卵が立たなかったのは、皆が立たないと思っていたから」(・・・ 中略 ・・・)
できなかったのは、できないと思っていたから--
これは何事にも通じる。
難題を前に「無理だ」と諦めるのか。
「やってみよう」と踏み出すのか。
解決の糸口を「突破口」という。
糸の端のような小さなところから物事は動く(・・・ 中略 ・・・)
(直)
「できない」を「やってみよう」へ
このコラムの『立春の卵』という話から、「できない」と思い込むのではなく「やってみよう」と挑戦することが大事だと思いました。
このコラムから、とても困難だった画像認識の最適化実装を思い出しました。
2011年、静止画から特定の物体を検知する静止画物体検知の最適化実装をしました。
画像認識アルゴリズム屋さんの開発した要素技術の静止画物体検知アルゴリズムは、C言語で書いたパソコンで動作するプログラムです。それは、商品化する組み込みシステムのプロセッサに特化していません。そのまま、組み込んだところ画像認識部の処理時間が「52ms」も必要として、30fpsで動作するシステムを実現できない状態でした。システムを実現するためには、画像認識部の処理時間を20ms以下にしなければなりませんでした。
そこで、私がプロセッサのアーキテクチャに合わせてソフトウェアを再構成する最適化実装を担当しました。すなわち、要素技術を理解して具体的な製品開発に最適な形にして組み込むのです。
組み込み機器のターゲットのマイクロプロセッサはPower PCです。一般的に最適化実装するときに高速化の最も効果の高い手段として、SIMD命令の活用があります。しかし、このプロセッサにはSIMD命令がありません。最適化実装で処理時間を短縮する手法はいくつかありますが、経験的にSIMD命令が使えないと画期的な高速化は難しいものです。
ここで普通は「無理だよ できない」と考えます。
しかし、私は「やってみよう」と考え、知恵を絞って夢のアイデアを考えだしました。
その結果、画像認識部は「52ms」→「17ms」と約3倍に高速化することができ、目標の20ms以下を達成してカメラで物体を検知するシステムを無事に商品化できました。
知的好奇心を持ち学んだ知識とキャリアを重ねた経験が素晴らしい知恵を産みます。これが、成功の方程式です。
この最適化実装の話は、『電卓からMSX3、技術者たちのパシュート マイコン物語』で私の経験として紹介しています。
第7章「技術の進化 昨日・今日・明日」-「7.4 経験はきっと役に立つ」- コラム「アイデアが光る最適化実装」