Please provide the bounding box coordinate of the region this sentence describes: ミャクミャク.
「ミャクミャク」は認識していませんが、「大きな青い『ミスター・ポテトヘッド』風の彫刻」を囲む矩形の座標が返されています。視覚的な情報から、このアート作品は、大きな青い胴体を持ち、一般的に「ミスター・ポテトヘッド」として知られるキャラクターに似ていることで明確に識別できます。青い体と赤い風船が組み合わさっており、視覚的に非常に印象的で記憶に残るデザインとなっています。さらに、足元、もしくは階段のように見える部分も青く縁取られており、彫刻全体のデザインをより際立たせています。
このタスクでは、画像内でこのアート作品を特定し、その位置を見つけ出す必要があります。作品は黒と赤のプラットフォーム上に目立って配置されており、地面とのコントラストがはっきりしているため、その存在を明確に認識できます。彫刻自体はかなり高い台座の上に置かれており、独特で目を引くデザインによって、見る者の視線を上方へと導きます。
鮮やかな色使い、精緻なデザイン、台座上の配置といった視覚的手がかりを踏まえると、このアート作品は大きな青い「ミスター・ポテトヘッド」風のフィギュアを中心に構成されていることは明らかです。この分析は、指定された座標情報とも一致しており、この彫刻がシーンの中心的存在であることを裏付けています。したがって、視覚的観察と空間的推論に基づいた結論として、このアート作品は「大きな青い『ミスター・ポテトヘッド』風の彫刻」であると断定できます。
実際には、temperatureとして0.7を指定しているせいか、または、FastAPIでSimpleInferenceを呼び出しているせいか、レスポンスが安定しません。レスポンスに含まれる推論や座標が途中で切れたり、推論中に例外が発生したりします。そのため実用性はまったくありませんが、「こんなレスポンスを返すLLMがある」ということを知ることはできます。
% uv init -p 3.10 RoboBrain
Initialized project `robobrain` at `/Users/ynakakoshi/Documents/RoboBrain`
% cd RoboBrain
RoboBrain %
inputs = inputs.to("cuda")
本記事はmacOSで作業をしているためNVIDIA GPUの指定であるcudaを、以下のようにApple Siliconの指定であるmpsに変更しています。
inputs = inputs.to("mps")
cudaの代わりにcpuを指定することにより、NVIDIA GPUおよびApple Silicon以外でも動作するかもしれませんが、確認はできていません(Apple SiliconのMacでcpuを指定すると、mpsを使ってください、というエラーが発生するため)。
RoboBrain % uv sync
Using CPython 3.10.15 interpreter at: /opt/homebrew/opt/python@3.10/bin/python3.10
Creating virtual environment at: .venv
Resolved 61 packages in 162ms
Installed 44 packages in 372ms
+ accelerate==1.7.0
+ annotated-types==0.7.0
+ anyio==4.9.0
+ av==14.4.0
+ certifi==2025.6.15
+ charset-normalizer==3.4.2
+ click==8.2.1
+ exceptiongroup==1.3.0
+ fastapi==0.115.12
+ filelock==3.18.0
+ fsspec==2025.5.1
+ h11==0.16.0
+ hf-xet==1.1.4
+ huggingface-hub==0.33.0
+ idna==3.10
+ jinja2==3.1.6
+ markupsafe==3.0.2
+ mpmath==1.3.0
+ networkx==3.4.2
+ numpy==2.2.6
+ opencv-python==4.11.0.86
+ packaging==25.0
+ pillow==11.2.1
+ psutil==7.0.0
+ pydantic==2.11.7
+ pydantic-core==2.33.2
+ pyyaml==6.0.2
+ qwen-vl-utils==0.0.11
+ regex==2024.11.6
+ requests==2.32.4
+ safetensors==0.5.3
+ setuptools==80.9.0
+ sniffio==1.3.1
+ starlette==0.46.2
+ sympy==1.14.0
+ tokenizers==0.21.1
+ torch==2.7.1
+ torchvision==0.22.1
+ tqdm==4.67.1
+ transformers==4.52.4
+ typing-extensions==4.14.0
+ typing-inspection==0.4.1
+ urllib3==2.4.0
+ uvicorn==0.34.3
RoboBrain %
RoboBrain % uv run main.py
INFO: Started server process [29096]
INFO: Waiting for application startup.
Initializing model...
Loading Checkpoint ...
Loading checkpoint shards: 100%|█████████████████████| 4/4 [00:07<00:00, 1.96s/it]
Using a slow image processor as `use_fast` is unset and a slow processor was saved with this model. `use_fast=True` will be the default behavior in v4.52, even if the model was saved with a slow processor. This will result in minor differences in outputs. You'll still be able to use a slow processor with `use_fast=False`.
You have video processor config saved in `preprocessor.json` file which is deprecated. Video processor configs should be saved in their own `video_preprocessor.json` file. You can rename the file or load and save the processor back which renames it automatically. Loading from `preprocessor.json` will be removed in v5.0.
Model initialized successfully
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
Uvicornがhttp://0.0.0.0:8000で実行されているとメッセージが表示されれば、RoboBrain2.0を呼び出せる状態です。
def inference(self, text:str, image: Union[list,str], task="general", plot=False, enable_thinking=True, do_sample=True, temperature=0.7):
意図した結果ではないかもしれませんが、thinkingに推論の過程が説明されているため、なぜそうなったのかを確認できます。
ファンクションrenderは静的アプリケーション・ファイルとして作成したapp.jsに記述しています。Taskがpointingであれば点、trajectoryであれば折れ線、affordanceまたはgroundingであれば矩形を表示します。それぞれの図形は、画像にDIV要素を重ね合わせて表示しています。
APEXアプリケーションの実装についての説明は以上です。
視覚入力には、2人の人物が互いに近くに座っている様子が映し出されています。1人は赤い帽子をかぶっており、バナナを食べているもう1人の人物と何らかの活動に関わっているように見えます。赤い帽子はその鮮やかな色のために目立ち、衣服の一部として容易に識別できます。このタスクでは、その人物が身につけている特定のアイテムを識別することが求められています。シーンを観察すると、私は赤い帽子をかぶった人物に注目し、視野内ではっきりと帽子をかぶっていることを確認します。この分析により、赤い帽子が識別対象の物体であると結論づけられます。