ক্যামেরা আইটিএস ওভারভিউ,ক্যামেরা আইটিএস ওভারভিউ

ক্যামেরা ইমেজ টেস্ট স্যুট (ITS) হল একটি অ্যান্ড্রয়েড ক্যামেরা দ্বারা তৈরি ছবিগুলির উপর পরীক্ষা চালানোর জন্য একটি কাঠামো। ITS-এর প্রতিটি পরীক্ষার সাধারণ লক্ষ্য হল ক্যামেরাটিকে একটি নির্দিষ্ট পদ্ধতিতে কনফিগার করা, এক বা একাধিক শট নেওয়া এবং শটগুলি পরীক্ষা করে দেখা যে এতে প্রত্যাশিত চিত্রের ডেটা রয়েছে কিনা। অনেক পরীক্ষার জন্য ক্যামেরাটিকে একটি নির্দিষ্ট লক্ষ্য চার্টের দিকে নির্দেশ করা বা একটি নির্দিষ্ট তীব্রতায় আলোকিত করা প্রয়োজন।

ITS cts/apps/CameraITS এর CTS Verifier পরীক্ষার হারনেসে অবস্থিত। ডিভাইসগুলিকে CTS-এর একটি উপসেট হিসাবে তৃতীয় পক্ষের অ্যাপের জন্য ক্যামেরা ফ্রেমওয়ার্ক দ্বারা বিজ্ঞাপিত সমর্থিত বৈশিষ্ট্যগুলির সাথে সম্পর্কিত ITS পরীক্ষায় উত্তীর্ণ হতে হবে।

সেটআপ

ITS পরীক্ষা চালানোর জন্য, নিম্নলিখিতগুলি সেট আপ করতে হবে:

  • পরীক্ষাধীন একটি ডিভাইস (DUT)
  • একটি হোস্ট মেশিন (উদাহরণস্বরূপ, একটি লিনাক্স ডেস্কটপ বা ল্যাপটপ)
  • ক্যামেরায় তোলা একটি দৃশ্য

ডিভাইসটি পরীক্ষামূলক (DUT) সেটআপের অধীনে রয়েছে

একটি DUT সেট আপ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. USB এর মাধ্যমে DUT কে একটি হোস্ট মেশিনের সাথে সংযুক্ত করুন।
  2. হোস্টকে ADB এর মাধ্যমে DUT অ্যাক্সেস করার অনুমতি দিন।
  3. ডিভাইসে CTS Verifier অ্যাপ ( CtsVerifier.apk ) ইনস্টল করুন। আরও তথ্যের জন্য, CTS Verifier ব্যবহার দেখুন।

    extract root/out/host/linux-x86/cts-verfier/android-cts-verifier.zip
    cd android-cts-verifier
    adb install -r -g CtsVerifier.apk
  4. DUT-তে, ডিফল্ট ক্যামেরা অ্যাপটি চালু করুন এবং পরীক্ষার সময় হস্তক্ষেপ এড়াতে লঞ্চের সময় প্রদর্শিত সমস্ত উইন্ডো সাফ করুন।

হোস্ট সেটআপ

এর জন্য হোস্ট মেশিনটিকে USB এর মাধ্যমে DUT-এর সাথে সংযুক্ত থাকতে হবে, ডিভাইস নিয়ন্ত্রণ এবং যোগাযোগের জন্য ADB ব্যবহার করতে সক্ষম হতে হবে এবং প্রয়োজনীয় সফ্টওয়্যার ইনস্টল থাকতে হবে।

আপনার হোস্ট মেশিন সেট আপ করতে, নিম্নলিখিত সফ্টওয়্যারটি ইনস্টল করা আছে কিনা তা নিশ্চিত করুন।

অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম টুলস

অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম টুলগুলি অবশ্যই ইনস্টল করা থাকতে হবে এবং হোস্ট মেশিনে চলমান শেল বা টার্মিনালের এক্সিকিউটেবল পাথে ADB থাকতে হবে। অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম টুলের পাবলিক রিলিজ সংস্করণের জন্য, এসডিকে প্ল্যাটফর্ম টুল রিলিজ নোট দেখুন।

পাইথন

হোস্ট মেশিনে পাইথন ইনস্টল করা আবশ্যক। সামঞ্জস্যপূর্ণ সংস্করণগুলির জন্য সমর্থন নিশ্চিত করার জন্য আমরা একটি বান্ডেলড পাইথন ডিস্ট্রিবিউশন ব্যবহার করার পরামর্শ দিচ্ছি। একটি নির্দিষ্ট রিলিজের জন্য কোন পাইথন এবং প্যাকেজ সংস্করণ ইনস্টল করতে হবে তার বিশদ জানতে, সংশ্লিষ্ট রিলিজের জন্য ক্যামেরা আইটিএস রিলিজ নোট দেখুন।

জনতা

অ্যান্ড্রয়েড ১২ এবং উচ্চতর সংস্করণের জন্য, Mobly টেস্ট ফ্রেমওয়ার্ক ইনস্টল করুন। Mobly আপনাকে its_base_test ক্লাসে একটি DUT এবং চার্ট ট্যাবলেট সেট আপ করতে দেয়। Mobly টেস্ট ফ্রেমওয়ার্ক ইনস্টল করতে, চালান:

pip install mobly

পরিবেশ সেটআপ

পরীক্ষার পরিবেশ সেট আপ করতে, চালান:

cd CameraITS
source build/envsetup.sh

এই কমান্ডটি পাইথন ইনস্টলেশন পরীক্ষা করে, PYTHONPATH এনভায়রনমেন্ট ভেরিয়েবল সেট আপ করে এবং utils/*.py মডিউলগুলিতে ইউনিট পরীক্ষা চালায়। যদি টার্মিনালে কোনও ত্রুটি প্রিন্ট না করা হয়, তাহলে পরিবেশটি ITS পরীক্ষা চালানোর জন্য প্রস্তুত।

দৃশ্য সেটআপ

দৃশ্যগুলি সেট আপ করার জন্য, আমরা অটোমেশন, নির্ভরযোগ্যতা এবং পরীক্ষার দক্ষতার জন্য ক্যামেরা আইটিএস-ইন-এ-বক্স সেটআপ ব্যবহার করার পরামর্শ দিচ্ছি। আইটিএস-ইন-এ-বক্স টেস্ট রিগগুলি আইটিএসের জন্য সমস্ত আলো, কেন্দ্রীকরণ এবং চার্ট পরিবর্তনের প্রয়োজনীয়তা সমর্থন করে। এছাড়াও, ক্যামেরা এক্সটেনশন পরীক্ষার জন্য আইটিএস-ইন-এ-বক্স প্রয়োজন।

ম্যানুয়াল পরীক্ষার জন্য, নিম্নলিখিতগুলি নিশ্চিত করুন:

  • DUT একটি ট্রাইপডে আছে
  • প্রতিটি পরীক্ষার জন্য DUT সঠিক দৃশ্যের দিকে নির্দেশিত হয়। (ITS পরীক্ষার স্ক্রিপ্টটি নতুন দৃশ্যে পরীক্ষা শুরু করার আগে দৃশ্যের সেটআপ পরিবর্তন করার জন্য প্রম্পট প্রদান করে।)
  • DUT USB এর মাধ্যমে হোস্ট মেশিনের সাথে সংযুক্ত।
  • পরীক্ষামূলক রানের সময় DUT নড়ে না।
  • দৃশ্যটি একটি স্থির, অ-অস্থির আলোর উৎস দ্বারা আলোকিত। (ফ্লুরোসেন্ট আলো ব্যবহার করবেন না কারণ এটি ঝিকিমিকি করে।)

ITS পরীক্ষার স্ক্রিপ্টটি একটি প্রম্পট প্রদর্শন করে যা ব্যবহারকারীকে নতুন দৃশ্যে পরীক্ষা শুরু করার আগে দৃশ্য সেটআপ পরিবর্তন করতে বলে।

ফোনের ওরিয়েন্টেশন এমনভাবে সেট করতে হবে যাতে ক্যামেরা কোনও ঘূর্ণন ছাড়াই ছবি তোলে। এটি পরীক্ষা করার সবচেয়ে সহজ উপায় হল scene2-এ মুখের দৃশ্যগুলি ব্যবহার করা। বেশিরভাগ ফোনে ফোনটি ল্যান্ডস্কেপ ওরিয়েন্টেশনে থাকে যেখানে পিছনের ক্যামেরার জন্য ফোনটি ঘড়ির কাঁটার বিপরীত দিকে ঘোরানো হয় এবং সামনের ক্যামেরার জন্য ঘড়ির কাঁটার দিকে ঘোরানো হয়।

কনফিগারেশন ফাইল

Mobly ফ্রেমওয়ার্ক ব্যবহার করে, Mobly testbed সংজ্ঞায়িত করার জন্য আপনাকে একটি config.yml কনফিগারেশন ফাইল তৈরি করতে হবে। বিভিন্ন ব্যবহারের ক্ষেত্রে নিম্নলিখিত উদাহরণ দেওয়া হল।

ট্যাবলেট-ভিত্তিক দৃশ্য config.yml ফাইল

ট্যাবলেট-ভিত্তিক দৃশ্যের জন্য config.yml ফাইলের একটি উদাহরণ নিচে দেওয়া হল। ট্যাবলেট-ভিত্তিক পরীক্ষার জন্য, TABLET কীওয়ার্ডটি testbed নামে থাকা আবশ্যক। ইনিশিয়ালাইজেশনের সময়, Mobly টেস্ট রানার ফাইলের প্যারামিটারগুলি ইনিশিয়ালাইজ করে এবং সেগুলিকে পৃথক পরীক্ষায় পাস করে।

TestBeds:
  - Name: TEST_BED_TABLET_SCENES
    # Test configuration for scenes[0:4, 6, _change]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"  # "True" or "False"; quotes needed
      lighting_cntl: <controller-type>  # "arduino" or "None"; quotes needed
      lighting_ch: <controller-channel>
      camera: 0
      foldable_device: "False". # set "True" if testing foldable
      scene: <scene-name>  # if <scene-name> runs all scenes

টেস্ট বেড চালু করতে, tools/run_all_tests.py চালান। যদি ক্যামেরা বা দৃশ্যের জন্য কোন কমান্ড লাইন মান নির্দিষ্ট না থাকে, তাহলে config.yml ফাইলের মান দিয়ে পরীক্ষা চালানো হয়। যদি ক্যামেরা বা দৃশ্যের জন্য কমান্ড লাইন মান থাকে, তাহলে config.yml ফাইলের TestParams বিভাগের মানগুলিকে ওভাররাইড করে। উদাহরণস্বরূপ:

python tools/run_all_tests.py
python tools/run_all_tests.py camera=1
python tools/run_all_tests.py scenes=2,1,0
python tools/run_all_tests.py camera=0 scenes=scene_tele
python tools/run_all_tests.py camera=0.4 scenes=4,scene6_tele

সেন্সর_ফিউশন দৃশ্য config.yml ফাইল

sensor_fusion পরীক্ষার জন্য config_yml ফাইলের একটি উদাহরণ নিচে দেওয়া হল। sensor_fusion পরীক্ষার জন্য, SENSOR_FUSION কীওয়ার্ডটি টেস্টবেডের নামে থাকা আবশ্যক। প্রিভিউ এবং ভিডিও স্ট্যাবিলাইজেশন পরীক্ষার কারণে অ্যান্ড্রয়েড ১৩ এবং উচ্চতর সংস্করণগুলি কেবল সেন্সর ফিউশনের জন্য আরডুইনো কন্ট্রোলার সমর্থন করে। অ্যান্ড্রয়েড ১২ আরডুইনো এবং ক্যানাকিট কন্ট্রোলার সমর্থন করে।

Testbeds
  - Name: TEST_BED_SENSOR_FUSION
    # Test configuration for sensor_fusion/test_sensor_fusion.py
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      fps: 30
      img_size: 640,480
      test_length: 7
      debug_mode: "False"
      chart_distance: 25
      rotator_cntl: arduino
      rotator_ch: 1
      camera: 0

সেন্সর ফিউশন বক্স দিয়ে sensor_fusion পরীক্ষা চালানোর জন্য, চালান:

python tools/run_all_tests.py scenes=sensor_fusion
python tools/run_all_tests.py scenes=sensor_fusion camera=0
python tools/run_all_tests.py scenes=scene_flash,feature_combination
python tools/run_all_tests.py scenes=checkerboard camera=1

একাধিক testbeds config.yml ফাইল

নিচে config.yml ফাইলের একটি উদাহরণ দেওয়া হল যেখানে একাধিক টেস্টবেড, একটি ট্যাবলেট টেস্টবেড এবং একটি sensor_fusion টেস্টবেড রয়েছে। পরীক্ষিত দৃশ্যের উপর ভিত্তি করে সঠিক টেস্টবেড নির্ধারণ করা হয়।

Testbeds
  - Name: TEST_BED_TABLET_SCENES
    # Test configuration for scenes[0:4, 6, _change]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"
      chart_loc_arg: ""
      camera: 0
      scene: <scene-name>           # if <scene-name> runs all scenes

  - Name: TEST_BED_SENSOR_FUSION
    # Test configuration for sensor_fusion/test_sensor_fusion.py
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      fps: 30
      img_size: 640,480
      test_length: 7
      debug_mode: "False"
      chart_distance: 25
      rotator_cntl: arduino         # cntl can be arduino or canakit
      rotator_ch: 1
      camera: 0

ম্যানুয়াল টেস্টিং config.yml ফাইল

ম্যানুয়াল পরীক্ষার জন্য config.yml ফাইলের একটি উদাহরণ নিচে দেওয়া হল। Android 14 এবং উচ্চতর সংস্করণগুলি scene_extensions পরীক্ষা ব্যতীত সকল পরীক্ষার জন্য ম্যানুয়াল পরীক্ষা সমর্থন করে। ম্যানুয়াল পরীক্ষার জন্য, MANUAL কীওয়ার্ডটি testbed নামে থাকা আবশ্যক। এছাড়াও, AndroidDevice বিভাগে ট্যাবলেটের জন্য সিরিয়াল বা লেবেল বিভাগ অন্তর্ভুক্ত করা যাবে না।

TestBeds:
  - Name: TEST_BED_MANUAL
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut

    TestParams:
      debug_mode: "False"
      camera: 0
      scene: 1

Gen2 রিগ টেস্টিং config.yml ফাইল

নিচে একটি TEST_BED_GEN2 টেস্টবেডের config.yml ফাইলের উদাহরণ দেওয়া হল। এই টেস্টবেডটি scene_ip পরীক্ষার জন্য ব্যবহৃত হয়, যা একটি Gen2 rig](/docs/compatibility/cts/camera-its-box-gen2 ব্যবহার করে। নিম্নলিখিত উদাহরণটি testbed প্যারামিটারগুলি দেখায় যখন Gen2 রিগ উপলব্ধ থাকে এবং scene_ip পরীক্ষাগুলি এড়িয়ে যাওয়া হয় না।

Testbeds
  - Name: TEST_BED_GEN2
    # Test configuration for scene_ip/test_default_jca_ip.py
    Controllers:
        AndroidDevice:
          - serial: <device-id>  # quotes needed if serial id entirely numeric
            label: dut
    TestParams:
      debug_mode: "False"  # quotes are needed here
      chart_distance: 30
      rotator_cntl: gen2_rotator   # gen2 rig specific. "None" if gen2 rig not available
      rotator_ch: 0
      camera: <camera-id>
      foldable_device: "False"  # "True" if testing foldable device
      tablet_device: "False"  # "True" if testing tablet device
      lighting_cntl: gen2_lights  # gen2 rig specific. "None" if gen2 rig not available
      lighting_ch: 1
      scene: scene_ip

যখন Gen2 রিগ উপলব্ধ না থাকে এবং scene_ip পরীক্ষাগুলি এড়িয়ে যায়, তখন নিম্নলিখিত উদাহরণটি টেস্টবেড প্যারামিটারগুলি দেখায়।

Testbeds
  - Name: TEST_BED_GEN2
    # Test configuration for scene_ip/test_default_jca_ip.py
    Controllers:
        AndroidDevice:
          - serial: <device-id>  # quotes needed if serial id entirely numeric
            label: dut
    TestParams:
      debug_mode: "False"  # quotes are needed here
      chart_distance: 30
      rotator_cntl: "None"   # gen2 rig specific. "None" if gen2 rig not available
      rotator_ch: <controller-channel>
      camera: <camera-id>
      foldable_device: "False"  # "True" if testing foldable device
      tablet_device: "False"  # "True" if testing tablet device
      lighting_cntl: "None"  # gen2 rig specific. "None" if gen2 rig not available
      lighting_ch: <controller-channel>
      scene: scene_ip

scene_ip পরীক্ষা চালানোর জন্য, নিম্নলিখিত কমান্ডগুলির মধ্যে একটি ব্যবহার করুন:

python tests/scene_ip/test_default_jca_ip.py -c config.yml
python tools/run_all_tests.py camera=<camera-id> scenes=scene_ip

এর পরীক্ষা চালানো হচ্ছে

এই বিভাগে ITS পরীক্ষাগুলি কীভাবে চালানো যায় তা বর্ণনা করা হয়েছে।

পরীক্ষা আহ্বান করা হচ্ছে

ডিভাইস, হোস্ট মেশিন (পরিবেশ সহ) এবং ভৌত দৃশ্য সেট আপ হওয়ার পরে, নিম্নলিখিত প্রক্রিয়াটি ব্যবহার করে ITS পরীক্ষা চালান।

  1. CTS Verifer অ্যাপটি খুলুন। পরীক্ষা মেনুতে, Camera ITS Test নির্বাচন করুন।

  2. হোস্ট মেশিন থেকে, CameraITS/ ডিরেক্টরি থেকে ITS পরীক্ষাগুলি চালান। উদাহরণস্বরূপ, সামনের এবং পিছনের ক্যামেরা সহ একটি ডিভাইসের জন্য, নিম্নলিখিত কমান্ডটি চালান:

    python tools/run_all_tests.py

    config.yml ফাইলের উপর ভিত্তি করে স্ক্রিপ্টটি ক্যামেরা এবং টেস্ট দৃশ্যের মাধ্যমে পুনরাবৃত্তি করে। ডিবাগিং সেটআপের জন্য, আমরা দ্রুততম টার্নঅ্যারাউন্ডের জন্য একটি একক পরীক্ষা সহ scene2 দৃশ্যের একটি চালানোর পরামর্শ দিই।

    ম্যানুয়াল পরীক্ষার জন্য, প্রতিটি দৃশ্যে ITS পরীক্ষার সেট চালানো শুরু করার আগে, স্ক্রিপ্টটি বর্তমান দৃশ্যের একটি ছবি তোলে, এটি JPEG হিসাবে সংরক্ষণ করে, কনসোলে JPEG-এর পথ প্রিন্ট করে এবং ব্যবহারকারীকে ছবিটি ঠিক আছে কিনা তা নিশ্চিত করতে বলে। এই ক্যাপচার এবং কনফার্ম ফ্লো লুপগুলি ব্যবহারকারী নিশ্চিত না হওয়া পর্যন্ত চলে। এই ফ্লোতে নিম্নলিখিত বার্তাগুলি রয়েছে।

    Preparing to run ITS on camera 0
    Start running ITS on camera:  0
    Press Enter after placing camera 0 to frame the test scene:
    scene1_1
    The scene setup should be: A grey card covering at least the   middle 30% of the scene
    Running vendor 3A on device
    Capture an image to check the test scene
    Capturing 1 frame with 1 format [yuv]
    Please check scene setup in /tmp/tmpwBOA7g/0/scene1_1.jpg
    Is the image okay for ITS scene1_1? (Y/N)
    

    স্ক্রিপ্টের প্রতিটি রান প্রতিটি ITS পরীক্ষার জন্য PASS , FAIL , FAIL* অথবা SKIP দেখানো একটি লগ প্রিন্ট করে। FAIL* নির্দেশ করে যে পরীক্ষাটি ব্যর্থ হয়েছে কিন্তু যেহেতু পরীক্ষাটি এখনও বাধ্যতামূলক নয়, পরীক্ষাটি CtsVerifier-এর কাছে PASS হিসাবে রিপোর্ট করবে। SKIP নির্দেশ করে যে পরীক্ষাটি পাস করা হয়েছে কারণ ডিভাইসটি পরীক্ষা করা অন্তর্নিহিত ক্ষমতার বিজ্ঞাপন দেয়নি। উদাহরণস্বরূপ, যদি কোনও ডিভাইস ক্যামেরা ইন্টারফেসের মাধ্যমে বিজ্ঞাপন না দেয় যে এটি DNG সমর্থন করে, তাহলে DNG ফাইল ক্যাপচার সম্পর্কিত পরীক্ষাগুলি এড়িয়ে যাওয়া হয় এবং PASS হিসাবে গণনা করা হয়।

  3. পরীক্ষাগুলি পরীক্ষার প্রয়োজনীয়তা পূরণ করেছে তা স্বীকার করতে, সবুজ চেক চিহ্ন বোতামটি আলতো চাপুন। CTS যাচাইকারী পরীক্ষা মেনুতে ক্যামেরা ITS টেস্ট এন্ট্রিটি তখন সবুজ হয়ে যায় এবং বোঝায় যে ফোনটি ক্যামেরা ITS পাস করেছে।

সমান্তরাল DUT পরীক্ষা

Android 14 বা তার পরবর্তী ভার্সনে চলমান ডিভাইসগুলি সমান্তরাল DUT পরীক্ষা সমর্থন করে। এটি আপনাকে একাধিক রিগের সাথে সমান্তরালভাবে DUT পরীক্ষা করতে দেয় যাতে সামগ্রিক পরীক্ষার গতি বৃদ্ধি পায়। উদাহরণস্বরূপ, সমান্তরাল পরীক্ষা আপনাকে একই সময়ে একটি রিগে ক্যামেরা 0 এবং অন্য রিগে ক্যামেরা 1 পরীক্ষা করতে দেয়। সমান্তরাল পরীক্ষার সেশনের জন্য সমস্ত পরীক্ষা রেফারেন্স DUT-তে CTS যাচাইকারী সেশনে একত্রিত করা হয়। আপনাকে Arduino লাইটিং কন্ট্রোলের সাথে সমান্তরাল পরীক্ষা চালাতে হবে, কারণ ম্যানুয়াল লাইটিং কন্ট্রোল সমর্থিত নয়। নিশ্চিত করুন যে একই Arduino কন্ট্রোলারের একটি ভিন্ন চ্যানেল প্রতিটি রিগের জন্য আলো নিয়ন্ত্রণ করে।

নিচে একটি নমুনা config.yml ফাইল দেওয়া হল যা সমান্তরালভাবে চালানোর জন্য তিনটি টেস্টবেড সংজ্ঞায়িত করে।

TestBeds:
  - Name: TEST_BED_TABLET_SCENES_INDEX_0
    Controllers:
        AndroidDevice:
          - serial: <device-id-0>
            label: dut
          - serial: <tablet-id-0>
            label: tablet
    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"
      lighting_cntl: "arduino"
      lighting_ch: <controller-channel-0>
      camera: 0
      scene: <scene-name>  # if <scene-name> left as-is runs all scenes
      foldable_device: "False"

  - Name: TEST_BED_TABLET_SCENES_INDEX_1
    Controllers:
        AndroidDevice:
          - serial: <device-id-1>
            label: dut
          - serial: <tablet-id-1>
            label: tablet
    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"
      lighting_cntl: "arduino"
      lighting_ch: <controller-channel-1>
      camera: 1
      scene: <scene-name>  # if <scene-name> left as-is runs all scenes
      foldable_device: "False"

  # TEST_BED_SENSOR_FUSION represents testbed index 2
  # Parallel sensor_fusion is currently unsupported due to Arduino requirements
  - Name: TEST_BED_SENSOR_FUSION
    # Test configuration for sensor_fusion
    Controllers:
        AndroidDevice:
          - serial: <device-id>
            label: dut
    TestParams:
      fps: 30
      img_size: 640,480
      test_length: 7
      debug_mode: "False"
      chart_distance: 25
      rotator_cntl: "arduino"
      rotator_ch: <controller-channel-2>
      camera: <camera-id>
      foldable_device: "False"
      tablet_device: "False"
      lighting_cntl: "None"
      lighting_ch: <controller-channel>
      scene: "sensor_fusion"

সমান্তরালভাবে টেস্টবেড চালানোর জন্য, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

for i in 0 1 2; do python3 tools/run_all_tests.py testbed_index=$i num_testbeds=3 & done; wait

ডিএনজি নয়েজ মডেল

যেসব ডিভাইস RAW বা DNG ক্যাপচার করার ক্ষমতার বিজ্ঞাপন দেয়, তাদের প্রতিটি র শটের ক্যাপচার ফলাফল মেটাডেটায় একটি নয়েজ মডেল প্রদান করতে হবে। এই নয়েজ মডেলটি সমর্থন দাবি করে এমন ডিভাইসের প্রতিটি ক্যামেরার (উদাহরণস্বরূপ, সামনের এবং পিছনের ক্যামেরা) জন্য ক্যামেরা HAL-এ এমবেড করতে হবে।

নয়েজ মডেল বাস্তবায়ন

একটি নয়েজ মডেল বাস্তবায়ন করতে, একটি নয়েজ মডেল তৈরি করতে এবং মডেলটিকে ক্যামেরা HAL-এ এম্বেড করতে এই পদক্ষেপগুলি অনুসরণ করুন।

  1. প্রতিটি ক্যামেরার জন্য একটি নয়েজ মডেল তৈরি করতে, tools ডিরেক্টরিতে dng_noise_model.py স্ক্রিপ্টটি চালান। এটি একটি C কোড স্নিপেট আউটপুট করে। ক্যামেরা এবং ক্যাপচার এনভায়রনমেন্ট কীভাবে সেট আপ করবেন সে সম্পর্কে আরও তথ্যের জন্য, tools ডিরেক্টরিতে DngNoiseModel.pdf ডকুমেন্টটি দেখুন।

  2. ডিভাইসের জন্য নয়েজ মডেল বাস্তবায়ন করতে, C কোড স্নিপেটটি কেটে ক্যামেরা HAL-এ পেস্ট করুন।

নয়েজ মডেল যাচাইকরণ

tests/scene1_1/test_dng_noise_model.py স্বয়ংক্রিয় ITS পরীক্ষা ক্যামেরা ডেটাতে প্রদত্ত শট এক্সপোজার এবং লাভের জন্য নয়েজ মান সঠিক কিনা তা যাচাই করে নয়েজ মডেলটিকে যাচাই করে।