Armadilloフォーラム

podmanコンテナ内で 物体検出で取得した値が全て0になる現象につきまして

yuki.shigefuji

2025年1月7日 15時25分

お世話になっております。

標題の件につきまして過去にそのような事例やそちらでの対処法などが御座いましたらご教授願いたく存じます。症状は以下です
・pythonプログラムで稼働している物体検出と画像分類を用いたプログラムが、エラーは発生せず、カメラの映像も出力されている。
・物体検出は全く動いておらず、設定されている矩形も出てこない。
・podmanのコンテナを再起動しても治らないが、本体の電源を直接抜いた際は動き出し矩形も現れる。
・これらは即時発生はせず、数カ月単位に一度くらい起こる時がある。

これらに近い、又は該当する事象が御座いましたら共有、ご教授願いたく存じます。
以上、ご確認お願い致します。

コメント

佐藤です。

発生するまでに時間がかかり、本体を再起動しないと治らないということから、
少しずつメモリリークしていってるのかもしれません。

次に現象発生した祭、以下のコマンドを実行した結果を確認してもらえますでしょうか。

armadillo:~# free
armadillo:~# cat /proc/buddyinfo
armadillo:~# grep Cma /proc/meminfo

yuki.shigefuji

2025年1月8日 8時56分

ありがとうございます。次回発生時そちらを実行し同ページにて添付いたします。
またこの現象について追加でご質問なのですが、コマンドでrebootを打った際には状態は変わらず電源を直接抜き差しをした際には解消しました。
rebootによる再起動と物理的な再起動にはどのような違いがあり、なぜ前者ではメモリリークが治っていなかったのでしょうか。
顧客より本件の事象の説明を求められているためその再起動処理の差についてお教えいただきたく存じます。

以上、ご確認よろしくお願い致します。

> 佐藤です。
>
> 発生するまでに時間がかかり、本体を再起動しないと治らないということから、
> 少しずつメモリリークしていってるのかもしれません。
>
> 次に現象発生した祭、以下のコマンドを実行した結果を確認してもらえますでしょうか。
>

> armadillo:~# free
> 

>

> armadillo:~# cat /proc/buddyinfo
> 

>

> armadillo:~# grep Cma /proc/meminfo
> 

佐藤です。

> ありがとうございます。次回発生時そちらを実行し同ページにて添付いたします。
> またこの現象について追加でご質問なのですが、コマンドでrebootを打った際には状態は変わらず電源を直接抜き差しをした際には解消しました。
> rebootによる再起動と物理的な再起動にはどのような違いがあり、なぜ前者ではメモリリークが治っていなかったのでしょうか。
rebootでは治らないとなると、原因はメモリリークではないかもしれません。
現在はカメラから入力された映像に対して物体検出を行っているとのことですが、
特定のカメラでしか発生しないのかどうかや、
カメラからの映像ではなく保存済みのビデオファイルを入力としても発生するかどうかなど、
少しずつ切り分けをしていくしかないかもしれません。

本件の調査状況を共有致します。

【事象】
2025年1月7日の8時40分頃、AI検出機能が動作不全を起こしていることを確認した。

設置したAIカメラシステムが機能していない疑いが発生。
現場に据え付けたモニタで作業者が確認したところAIが動作しておらず、
AI検出矩形が表示されていなかった。

【原因】
物体検出AIの推論が出来ていない状態がOSの再起動をしても続いていたから
根本の原因については不明のため現状調査中

【暫定対処】
AIカメラシステムの電源を抜き差しし、物理的に再起動を掛けることで復帰
ソフトウェアの不良が無いか、自社にて調査中
ハードウェアの不良についてはエッジ端末のアットマークテクノ社へ問い合わせ中(本問い合わせ)

【調査詳細】
①AIカメラシステムの動作状況の確認
AIカメラシステムのメインプログラムの構造を以下に示す。
 ❶動画取得
 ❷物体検出AI処理
 ❸画像分類AI処理
 ❹検出結果をもとに不安全行動を判定
 ❺動画保存
このうち❶~❺までの全てのプログラムで以上は発生しておらず、異常停止ログが発生していないことを確認した。
⇒これによりシステムの異常停止ではないことを確認

②AI・プログラムの検出確認
AIカメラシステムを回収し、
録画映像に対し、AIカメラシステムを使用し判定させた結果、不安全行動を検出できた。
⇒これによりAIまたはプログラムの劣化ではないことを確認

③OSの再起動
調査によって❷の物体検出AIの検出結果が正常に動作していないことを確認し、
システムの再起動を行った(OSの再起動)
⇒OSの再起動では物体検出AIの異常が解決しなかった

④システムのロールバック
現在動作しているシステムの1世代前のシステムに切り替えて動作させたが物体検出AIが検出しなかった。
さらにもう1世代まえのシステムに切り替えて動作させたがこちらも物体検出AIが検出しなかった。
⇒システムのロールバックを行っても物体検出AIの異常が解決しなかった

⑤電源を抜き差しして再起動
電源を抜き差しして再起動を行ったところ、
物体検出AIの検出が正常になり、不安全行動を検出することが出来るようになった。
⇒対処できた原因が不明。ソフトウェア、ハードウェアの双方に何かしらの不具合があったとして現状調査中

⑥影響調査
AIカメラのシステムから過去の動作ログを収集し、
1月4日の13時45分まで正常に物体検出AIが動作していることを確認
その後1月4日17時~1月7日の12時まで、物体検出のログがなく、
その間に本件の物体検出AIの異常が発生したと推測する

佐藤です。

詳細な情報ありがとうございます。

②で録画映像では問題ないということですと、
カメラ側の問題という可能性もあるかと思います。

USBカメラを使用しているという前提になりますが、
次回発生した際、カメラの電源だけをOFF/ONしてみる(あるいは単純にUSBを抜き差ししてみる)で
正常に戻るか試してみてもらえますでしょうか。
USBカメラの電源だけをOFF/ONする場合は以下のコマンドでできるかと思います。

armadillo:~# echo regulator-usb1-vbus > /sys/bus/platform/drivers/reg-fixed-voltage/unbind 
armadillo:~# gpioget 0 9
1
armadillo:~# gpioset 0 9=0  //電源OFF
ここで数秒そのままにする
armadillo:~# gpioset 0 9=1  //電源ON

承知いたしました、次回発生時トライしてみます。
顧客への説明のためお尋ねしたいのですが、映像の録画自体は出来ている中何故カメラの問題として捉えているのか、そして本問題からAIが推論できなくなるという事象に何故繋がるのか。
その根拠や本現象と似た過去の事例などがありましたらお教えいただけるとありがたく存じます。

以上、ご確認よろしくお願い致します。

佐藤です。

あくまでも可能性があるということなのですが、
例えば微妙にピントがズレた状態になり、録画は問題ないが物体検出には支障がでてしまった、
あるいは何かノイズが乗るようになってしまい、物体検出に支障がでてしまったなどがあるかと思います。
現象発生中に録画された映像は、人間の目で見る限りは正常動作中のものと画質等は変わっていないでしょうか?

横から申し訳ありません。
岩崎です。

> またこの現象について追加でご質問なのですが、コマンドでrebootを打った際には状態は変わらず電源を直接抜き差しをした際には解消しました。
> rebootによる再起動と物理的な再起動にはどのような違いがあり、なぜ前者ではメモリリークが治っていなかったのでしょうか。
SoC(CPU)から見るとrebootも物理的な再起動も違いはございません。
rebootコマンドを実行するとSoCの電源制御ICの出力が一時的にOFFになり、
約200msecの間SoCへの電源供給が止まります。
よって、rebootコマンドと物理的な再起動した場合で挙動が異なるという点が不可解です。

1点確認させていただきたいのですが、
・G4上の拡張コネクタ(CON11)に何かアットマークテクノ製ではない拡張基板などを接続しておりませんでしょうか?
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

拡張コネクタ(CON11)にはSoCと共有している電源VDD_1V8が出ており、
そこに外部から電圧が入っていた場合にはrebootコマンドと物理的な再起動した場合で挙動が異なることも説明がつきます。
お教え頂ければ幸いです。

以上、どうぞよろしくお願いいたします。

お世話になっております。
拡張基盤など使用しておりませんのでCON11にも何も着けていません。
以上、ご確認よろしくお願い致します。